]> git.wh0rd.org - ICEs.git/blobdiff - 394889/s_triangle.i.0
more
[ICEs.git] / 394889 / s_triangle.i.0
diff --git a/394889/s_triangle.i.0 b/394889/s_triangle.i.0
new file mode 100644 (file)
index 0000000..79dcb74
--- /dev/null
@@ -0,0 +1,21465 @@
+# 1 "swrast/s_triangle.c"
+# 1 "/mnt/alt/portage/media-libs/mesa-7.11/work/Mesa-7.11/src/mesa//"
+# 1 "<built-in>"
+# 1 "<command-line>"
+# 1 "swrast/s_triangle.c"
+# 32 "swrast/s_triangle.c"
+# 1 "../../src/mesa/main/glheader.h" 1
+# 53 "../../src/mesa/main/glheader.h"
+# 1 "../../include/GL/gl.h" 1
+# 155 "../../include/GL/gl.h"
+typedef unsigned int GLenum;
+typedef unsigned char GLboolean;
+typedef unsigned int GLbitfield;
+typedef void GLvoid;
+typedef signed char GLbyte;
+typedef short GLshort;
+typedef int GLint;
+typedef unsigned char GLubyte;
+typedef unsigned short GLushort;
+typedef unsigned int GLuint;
+typedef int GLsizei;
+typedef float GLfloat;
+typedef float GLclampf;
+typedef double GLdouble;
+typedef double GLclampd;
+# 782 "../../include/GL/gl.h"
+__attribute__((visibility("default"))) void glClearIndex( GLfloat c );
+
+__attribute__((visibility("default"))) void glClearColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );
+
+__attribute__((visibility("default"))) void glClear( GLbitfield mask );
+
+__attribute__((visibility("default"))) void glIndexMask( GLuint mask );
+
+__attribute__((visibility("default"))) void glColorMask( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha );
+
+__attribute__((visibility("default"))) void glAlphaFunc( GLenum func, GLclampf ref );
+
+__attribute__((visibility("default"))) void glBlendFunc( GLenum sfactor, GLenum dfactor );
+
+__attribute__((visibility("default"))) void glLogicOp( GLenum opcode );
+
+__attribute__((visibility("default"))) void glCullFace( GLenum mode );
+
+__attribute__((visibility("default"))) void glFrontFace( GLenum mode );
+
+__attribute__((visibility("default"))) void glPointSize( GLfloat size );
+
+__attribute__((visibility("default"))) void glLineWidth( GLfloat width );
+
+__attribute__((visibility("default"))) void glLineStipple( GLint factor, GLushort pattern );
+
+__attribute__((visibility("default"))) void glPolygonMode( GLenum face, GLenum mode );
+
+__attribute__((visibility("default"))) void glPolygonOffset( GLfloat factor, GLfloat units );
+
+__attribute__((visibility("default"))) void glPolygonStipple( const GLubyte *mask );
+
+__attribute__((visibility("default"))) void glGetPolygonStipple( GLubyte *mask );
+
+__attribute__((visibility("default"))) void glEdgeFlag( GLboolean flag );
+
+__attribute__((visibility("default"))) void glEdgeFlagv( const GLboolean *flag );
+
+__attribute__((visibility("default"))) void glScissor( GLint x, GLint y, GLsizei width, GLsizei height);
+
+__attribute__((visibility("default"))) void glClipPlane( GLenum plane, const GLdouble *equation );
+
+__attribute__((visibility("default"))) void glGetClipPlane( GLenum plane, GLdouble *equation );
+
+__attribute__((visibility("default"))) void glDrawBuffer( GLenum mode );
+
+__attribute__((visibility("default"))) void glReadBuffer( GLenum mode );
+
+__attribute__((visibility("default"))) void glEnable( GLenum cap );
+
+__attribute__((visibility("default"))) void glDisable( GLenum cap );
+
+__attribute__((visibility("default"))) GLboolean glIsEnabled( GLenum cap );
+
+
+__attribute__((visibility("default"))) void glEnableClientState( GLenum cap );
+
+__attribute__((visibility("default"))) void glDisableClientState( GLenum cap );
+
+
+__attribute__((visibility("default"))) void glGetBooleanv( GLenum pname, GLboolean *params );
+
+__attribute__((visibility("default"))) void glGetDoublev( GLenum pname, GLdouble *params );
+
+__attribute__((visibility("default"))) void glGetFloatv( GLenum pname, GLfloat *params );
+
+__attribute__((visibility("default"))) void glGetIntegerv( GLenum pname, GLint *params );
+
+
+__attribute__((visibility("default"))) void glPushAttrib( GLbitfield mask );
+
+__attribute__((visibility("default"))) void glPopAttrib( void );
+
+
+__attribute__((visibility("default"))) void glPushClientAttrib( GLbitfield mask );
+
+__attribute__((visibility("default"))) void glPopClientAttrib( void );
+
+
+__attribute__((visibility("default"))) GLint glRenderMode( GLenum mode );
+
+__attribute__((visibility("default"))) GLenum glGetError( void );
+
+__attribute__((visibility("default"))) const GLubyte * glGetString( GLenum name );
+
+__attribute__((visibility("default"))) void glFinish( void );
+
+__attribute__((visibility("default"))) void glFlush( void );
+
+__attribute__((visibility("default"))) void glHint( GLenum target, GLenum mode );
+
+
+
+
+
+
+__attribute__((visibility("default"))) void glClearDepth( GLclampd depth );
+
+__attribute__((visibility("default"))) void glDepthFunc( GLenum func );
+
+__attribute__((visibility("default"))) void glDepthMask( GLboolean flag );
+
+__attribute__((visibility("default"))) void glDepthRange( GLclampd near_val, GLclampd far_val );
+
+
+
+
+
+
+__attribute__((visibility("default"))) void glClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
+
+__attribute__((visibility("default"))) void glAccum( GLenum op, GLfloat value );
+
+
+
+
+
+
+__attribute__((visibility("default"))) void glMatrixMode( GLenum mode );
+
+__attribute__((visibility("default"))) void glOrtho( GLdouble left, GLdouble right,
+                                 GLdouble bottom, GLdouble top,
+                                 GLdouble near_val, GLdouble far_val );
+
+__attribute__((visibility("default"))) void glFrustum( GLdouble left, GLdouble right,
+                                   GLdouble bottom, GLdouble top,
+                                   GLdouble near_val, GLdouble far_val );
+
+__attribute__((visibility("default"))) void glViewport( GLint x, GLint y,
+                                    GLsizei width, GLsizei height );
+
+__attribute__((visibility("default"))) void glPushMatrix( void );
+
+__attribute__((visibility("default"))) void glPopMatrix( void );
+
+__attribute__((visibility("default"))) void glLoadIdentity( void );
+
+__attribute__((visibility("default"))) void glLoadMatrixd( const GLdouble *m );
+__attribute__((visibility("default"))) void glLoadMatrixf( const GLfloat *m );
+
+__attribute__((visibility("default"))) void glMultMatrixd( const GLdouble *m );
+__attribute__((visibility("default"))) void glMultMatrixf( const GLfloat *m );
+
+__attribute__((visibility("default"))) void glRotated( GLdouble angle,
+                                   GLdouble x, GLdouble y, GLdouble z );
+__attribute__((visibility("default"))) void glRotatef( GLfloat angle,
+                                   GLfloat x, GLfloat y, GLfloat z );
+
+__attribute__((visibility("default"))) void glScaled( GLdouble x, GLdouble y, GLdouble z );
+__attribute__((visibility("default"))) void glScalef( GLfloat x, GLfloat y, GLfloat z );
+
+__attribute__((visibility("default"))) void glTranslated( GLdouble x, GLdouble y, GLdouble z );
+__attribute__((visibility("default"))) void glTranslatef( GLfloat x, GLfloat y, GLfloat z );
+
+
+
+
+
+
+__attribute__((visibility("default"))) GLboolean glIsList( GLuint list );
+
+__attribute__((visibility("default"))) void glDeleteLists( GLuint list, GLsizei range );
+
+__attribute__((visibility("default"))) GLuint glGenLists( GLsizei range );
+
+__attribute__((visibility("default"))) void glNewList( GLuint list, GLenum mode );
+
+__attribute__((visibility("default"))) void glEndList( void );
+
+__attribute__((visibility("default"))) void glCallList( GLuint list );
+
+__attribute__((visibility("default"))) void glCallLists( GLsizei n, GLenum type,
+                                     const GLvoid *lists );
+
+__attribute__((visibility("default"))) void glListBase( GLuint base );
+
+
+
+
+
+
+__attribute__((visibility("default"))) void glBegin( GLenum mode );
+
+__attribute__((visibility("default"))) void glEnd( void );
+
+
+__attribute__((visibility("default"))) void glVertex2d( GLdouble x, GLdouble y );
+__attribute__((visibility("default"))) void glVertex2f( GLfloat x, GLfloat y );
+__attribute__((visibility("default"))) void glVertex2i( GLint x, GLint y );
+__attribute__((visibility("default"))) void glVertex2s( GLshort x, GLshort y );
+
+__attribute__((visibility("default"))) void glVertex3d( GLdouble x, GLdouble y, GLdouble z );
+__attribute__((visibility("default"))) void glVertex3f( GLfloat x, GLfloat y, GLfloat z );
+__attribute__((visibility("default"))) void glVertex3i( GLint x, GLint y, GLint z );
+__attribute__((visibility("default"))) void glVertex3s( GLshort x, GLshort y, GLshort z );
+
+__attribute__((visibility("default"))) void glVertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
+__attribute__((visibility("default"))) void glVertex4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
+__attribute__((visibility("default"))) void glVertex4i( GLint x, GLint y, GLint z, GLint w );
+__attribute__((visibility("default"))) void glVertex4s( GLshort x, GLshort y, GLshort z, GLshort w );
+
+__attribute__((visibility("default"))) void glVertex2dv( const GLdouble *v );
+__attribute__((visibility("default"))) void glVertex2fv( const GLfloat *v );
+__attribute__((visibility("default"))) void glVertex2iv( const GLint *v );
+__attribute__((visibility("default"))) void glVertex2sv( const GLshort *v );
+
+__attribute__((visibility("default"))) void glVertex3dv( const GLdouble *v );
+__attribute__((visibility("default"))) void glVertex3fv( const GLfloat *v );
+__attribute__((visibility("default"))) void glVertex3iv( const GLint *v );
+__attribute__((visibility("default"))) void glVertex3sv( const GLshort *v );
+
+__attribute__((visibility("default"))) void glVertex4dv( const GLdouble *v );
+__attribute__((visibility("default"))) void glVertex4fv( const GLfloat *v );
+__attribute__((visibility("default"))) void glVertex4iv( const GLint *v );
+__attribute__((visibility("default"))) void glVertex4sv( const GLshort *v );
+
+
+__attribute__((visibility("default"))) void glNormal3b( GLbyte nx, GLbyte ny, GLbyte nz );
+__attribute__((visibility("default"))) void glNormal3d( GLdouble nx, GLdouble ny, GLdouble nz );
+__attribute__((visibility("default"))) void glNormal3f( GLfloat nx, GLfloat ny, GLfloat nz );
+__attribute__((visibility("default"))) void glNormal3i( GLint nx, GLint ny, GLint nz );
+__attribute__((visibility("default"))) void glNormal3s( GLshort nx, GLshort ny, GLshort nz );
+
+__attribute__((visibility("default"))) void glNormal3bv( const GLbyte *v );
+__attribute__((visibility("default"))) void glNormal3dv( const GLdouble *v );
+__attribute__((visibility("default"))) void glNormal3fv( const GLfloat *v );
+__attribute__((visibility("default"))) void glNormal3iv( const GLint *v );
+__attribute__((visibility("default"))) void glNormal3sv( const GLshort *v );
+
+
+__attribute__((visibility("default"))) void glIndexd( GLdouble c );
+__attribute__((visibility("default"))) void glIndexf( GLfloat c );
+__attribute__((visibility("default"))) void glIndexi( GLint c );
+__attribute__((visibility("default"))) void glIndexs( GLshort c );
+__attribute__((visibility("default"))) void glIndexub( GLubyte c );
+
+__attribute__((visibility("default"))) void glIndexdv( const GLdouble *c );
+__attribute__((visibility("default"))) void glIndexfv( const GLfloat *c );
+__attribute__((visibility("default"))) void glIndexiv( const GLint *c );
+__attribute__((visibility("default"))) void glIndexsv( const GLshort *c );
+__attribute__((visibility("default"))) void glIndexubv( const GLubyte *c );
+
+__attribute__((visibility("default"))) void glColor3b( GLbyte red, GLbyte green, GLbyte blue );
+__attribute__((visibility("default"))) void glColor3d( GLdouble red, GLdouble green, GLdouble blue );
+__attribute__((visibility("default"))) void glColor3f( GLfloat red, GLfloat green, GLfloat blue );
+__attribute__((visibility("default"))) void glColor3i( GLint red, GLint green, GLint blue );
+__attribute__((visibility("default"))) void glColor3s( GLshort red, GLshort green, GLshort blue );
+__attribute__((visibility("default"))) void glColor3ub( GLubyte red, GLubyte green, GLubyte blue );
+__attribute__((visibility("default"))) void glColor3ui( GLuint red, GLuint green, GLuint blue );
+__attribute__((visibility("default"))) void glColor3us( GLushort red, GLushort green, GLushort blue );
+
+__attribute__((visibility("default"))) void glColor4b( GLbyte red, GLbyte green,
+                                   GLbyte blue, GLbyte alpha );
+__attribute__((visibility("default"))) void glColor4d( GLdouble red, GLdouble green,
+                                   GLdouble blue, GLdouble alpha );
+__attribute__((visibility("default"))) void glColor4f( GLfloat red, GLfloat green,
+                                   GLfloat blue, GLfloat alpha );
+__attribute__((visibility("default"))) void glColor4i( GLint red, GLint green,
+                                   GLint blue, GLint alpha );
+__attribute__((visibility("default"))) void glColor4s( GLshort red, GLshort green,
+                                   GLshort blue, GLshort alpha );
+__attribute__((visibility("default"))) void glColor4ub( GLubyte red, GLubyte green,
+                                    GLubyte blue, GLubyte alpha );
+__attribute__((visibility("default"))) void glColor4ui( GLuint red, GLuint green,
+                                    GLuint blue, GLuint alpha );
+__attribute__((visibility("default"))) void glColor4us( GLushort red, GLushort green,
+                                    GLushort blue, GLushort alpha );
+
+
+__attribute__((visibility("default"))) void glColor3bv( const GLbyte *v );
+__attribute__((visibility("default"))) void glColor3dv( const GLdouble *v );
+__attribute__((visibility("default"))) void glColor3fv( const GLfloat *v );
+__attribute__((visibility("default"))) void glColor3iv( const GLint *v );
+__attribute__((visibility("default"))) void glColor3sv( const GLshort *v );
+__attribute__((visibility("default"))) void glColor3ubv( const GLubyte *v );
+__attribute__((visibility("default"))) void glColor3uiv( const GLuint *v );
+__attribute__((visibility("default"))) void glColor3usv( const GLushort *v );
+
+__attribute__((visibility("default"))) void glColor4bv( const GLbyte *v );
+__attribute__((visibility("default"))) void glColor4dv( const GLdouble *v );
+__attribute__((visibility("default"))) void glColor4fv( const GLfloat *v );
+__attribute__((visibility("default"))) void glColor4iv( const GLint *v );
+__attribute__((visibility("default"))) void glColor4sv( const GLshort *v );
+__attribute__((visibility("default"))) void glColor4ubv( const GLubyte *v );
+__attribute__((visibility("default"))) void glColor4uiv( const GLuint *v );
+__attribute__((visibility("default"))) void glColor4usv( const GLushort *v );
+
+
+__attribute__((visibility("default"))) void glTexCoord1d( GLdouble s );
+__attribute__((visibility("default"))) void glTexCoord1f( GLfloat s );
+__attribute__((visibility("default"))) void glTexCoord1i( GLint s );
+__attribute__((visibility("default"))) void glTexCoord1s( GLshort s );
+
+__attribute__((visibility("default"))) void glTexCoord2d( GLdouble s, GLdouble t );
+__attribute__((visibility("default"))) void glTexCoord2f( GLfloat s, GLfloat t );
+__attribute__((visibility("default"))) void glTexCoord2i( GLint s, GLint t );
+__attribute__((visibility("default"))) void glTexCoord2s( GLshort s, GLshort t );
+
+__attribute__((visibility("default"))) void glTexCoord3d( GLdouble s, GLdouble t, GLdouble r );
+__attribute__((visibility("default"))) void glTexCoord3f( GLfloat s, GLfloat t, GLfloat r );
+__attribute__((visibility("default"))) void glTexCoord3i( GLint s, GLint t, GLint r );
+__attribute__((visibility("default"))) void glTexCoord3s( GLshort s, GLshort t, GLshort r );
+
+__attribute__((visibility("default"))) void glTexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q );
+__attribute__((visibility("default"))) void glTexCoord4f( GLfloat s, GLfloat t, GLfloat r, GLfloat q );
+__attribute__((visibility("default"))) void glTexCoord4i( GLint s, GLint t, GLint r, GLint q );
+__attribute__((visibility("default"))) void glTexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q );
+
+__attribute__((visibility("default"))) void glTexCoord1dv( const GLdouble *v );
+__attribute__((visibility("default"))) void glTexCoord1fv( const GLfloat *v );
+__attribute__((visibility("default"))) void glTexCoord1iv( const GLint *v );
+__attribute__((visibility("default"))) void glTexCoord1sv( const GLshort *v );
+
+__attribute__((visibility("default"))) void glTexCoord2dv( const GLdouble *v );
+__attribute__((visibility("default"))) void glTexCoord2fv( const GLfloat *v );
+__attribute__((visibility("default"))) void glTexCoord2iv( const GLint *v );
+__attribute__((visibility("default"))) void glTexCoord2sv( const GLshort *v );
+
+__attribute__((visibility("default"))) void glTexCoord3dv( const GLdouble *v );
+__attribute__((visibility("default"))) void glTexCoord3fv( const GLfloat *v );
+__attribute__((visibility("default"))) void glTexCoord3iv( const GLint *v );
+__attribute__((visibility("default"))) void glTexCoord3sv( const GLshort *v );
+
+__attribute__((visibility("default"))) void glTexCoord4dv( const GLdouble *v );
+__attribute__((visibility("default"))) void glTexCoord4fv( const GLfloat *v );
+__attribute__((visibility("default"))) void glTexCoord4iv( const GLint *v );
+__attribute__((visibility("default"))) void glTexCoord4sv( const GLshort *v );
+
+
+__attribute__((visibility("default"))) void glRasterPos2d( GLdouble x, GLdouble y );
+__attribute__((visibility("default"))) void glRasterPos2f( GLfloat x, GLfloat y );
+__attribute__((visibility("default"))) void glRasterPos2i( GLint x, GLint y );
+__attribute__((visibility("default"))) void glRasterPos2s( GLshort x, GLshort y );
+
+__attribute__((visibility("default"))) void glRasterPos3d( GLdouble x, GLdouble y, GLdouble z );
+__attribute__((visibility("default"))) void glRasterPos3f( GLfloat x, GLfloat y, GLfloat z );
+__attribute__((visibility("default"))) void glRasterPos3i( GLint x, GLint y, GLint z );
+__attribute__((visibility("default"))) void glRasterPos3s( GLshort x, GLshort y, GLshort z );
+
+__attribute__((visibility("default"))) void glRasterPos4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
+__attribute__((visibility("default"))) void glRasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
+__attribute__((visibility("default"))) void glRasterPos4i( GLint x, GLint y, GLint z, GLint w );
+__attribute__((visibility("default"))) void glRasterPos4s( GLshort x, GLshort y, GLshort z, GLshort w );
+
+__attribute__((visibility("default"))) void glRasterPos2dv( const GLdouble *v );
+__attribute__((visibility("default"))) void glRasterPos2fv( const GLfloat *v );
+__attribute__((visibility("default"))) void glRasterPos2iv( const GLint *v );
+__attribute__((visibility("default"))) void glRasterPos2sv( const GLshort *v );
+
+__attribute__((visibility("default"))) void glRasterPos3dv( const GLdouble *v );
+__attribute__((visibility("default"))) void glRasterPos3fv( const GLfloat *v );
+__attribute__((visibility("default"))) void glRasterPos3iv( const GLint *v );
+__attribute__((visibility("default"))) void glRasterPos3sv( const GLshort *v );
+
+__attribute__((visibility("default"))) void glRasterPos4dv( const GLdouble *v );
+__attribute__((visibility("default"))) void glRasterPos4fv( const GLfloat *v );
+__attribute__((visibility("default"))) void glRasterPos4iv( const GLint *v );
+__attribute__((visibility("default"))) void glRasterPos4sv( const GLshort *v );
+
+
+__attribute__((visibility("default"))) void glRectd( GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 );
+__attribute__((visibility("default"))) void glRectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 );
+__attribute__((visibility("default"))) void glRecti( GLint x1, GLint y1, GLint x2, GLint y2 );
+__attribute__((visibility("default"))) void glRects( GLshort x1, GLshort y1, GLshort x2, GLshort y2 );
+
+
+__attribute__((visibility("default"))) void glRectdv( const GLdouble *v1, const GLdouble *v2 );
+__attribute__((visibility("default"))) void glRectfv( const GLfloat *v1, const GLfloat *v2 );
+__attribute__((visibility("default"))) void glRectiv( const GLint *v1, const GLint *v2 );
+__attribute__((visibility("default"))) void glRectsv( const GLshort *v1, const GLshort *v2 );
+
+
+
+
+
+
+__attribute__((visibility("default"))) void glVertexPointer( GLint size, GLenum type,
+                                       GLsizei stride, const GLvoid *ptr );
+
+__attribute__((visibility("default"))) void glNormalPointer( GLenum type, GLsizei stride,
+                                       const GLvoid *ptr );
+
+__attribute__((visibility("default"))) void glColorPointer( GLint size, GLenum type,
+                                      GLsizei stride, const GLvoid *ptr );
+
+__attribute__((visibility("default"))) void glIndexPointer( GLenum type, GLsizei stride,
+                                      const GLvoid *ptr );
+
+__attribute__((visibility("default"))) void glTexCoordPointer( GLint size, GLenum type,
+                                         GLsizei stride, const GLvoid *ptr );
+
+__attribute__((visibility("default"))) void glEdgeFlagPointer( GLsizei stride, const GLvoid *ptr );
+
+__attribute__((visibility("default"))) void glGetPointerv( GLenum pname, GLvoid **params );
+
+__attribute__((visibility("default"))) void glArrayElement( GLint i );
+
+__attribute__((visibility("default"))) void glDrawArrays( GLenum mode, GLint first, GLsizei count );
+
+__attribute__((visibility("default"))) void glDrawElements( GLenum mode, GLsizei count,
+                                      GLenum type, const GLvoid *indices );
+
+__attribute__((visibility("default"))) void glInterleavedArrays( GLenum format, GLsizei stride,
+                                           const GLvoid *pointer );
+
+
+
+
+
+__attribute__((visibility("default"))) void glShadeModel( GLenum mode );
+
+__attribute__((visibility("default"))) void glLightf( GLenum light, GLenum pname, GLfloat param );
+__attribute__((visibility("default"))) void glLighti( GLenum light, GLenum pname, GLint param );
+__attribute__((visibility("default"))) void glLightfv( GLenum light, GLenum pname,
+                                 const GLfloat *params );
+__attribute__((visibility("default"))) void glLightiv( GLenum light, GLenum pname,
+                                 const GLint *params );
+
+__attribute__((visibility("default"))) void glGetLightfv( GLenum light, GLenum pname,
+                                    GLfloat *params );
+__attribute__((visibility("default"))) void glGetLightiv( GLenum light, GLenum pname,
+                                    GLint *params );
+
+__attribute__((visibility("default"))) void glLightModelf( GLenum pname, GLfloat param );
+__attribute__((visibility("default"))) void glLightModeli( GLenum pname, GLint param );
+__attribute__((visibility("default"))) void glLightModelfv( GLenum pname, const GLfloat *params );
+__attribute__((visibility("default"))) void glLightModeliv( GLenum pname, const GLint *params );
+
+__attribute__((visibility("default"))) void glMaterialf( GLenum face, GLenum pname, GLfloat param );
+__attribute__((visibility("default"))) void glMateriali( GLenum face, GLenum pname, GLint param );
+__attribute__((visibility("default"))) void glMaterialfv( GLenum face, GLenum pname, const GLfloat *params );
+__attribute__((visibility("default"))) void glMaterialiv( GLenum face, GLenum pname, const GLint *params );
+
+__attribute__((visibility("default"))) void glGetMaterialfv( GLenum face, GLenum pname, GLfloat *params );
+__attribute__((visibility("default"))) void glGetMaterialiv( GLenum face, GLenum pname, GLint *params );
+
+__attribute__((visibility("default"))) void glColorMaterial( GLenum face, GLenum mode );
+
+
+
+
+
+
+__attribute__((visibility("default"))) void glPixelZoom( GLfloat xfactor, GLfloat yfactor );
+
+__attribute__((visibility("default"))) void glPixelStoref( GLenum pname, GLfloat param );
+__attribute__((visibility("default"))) void glPixelStorei( GLenum pname, GLint param );
+
+__attribute__((visibility("default"))) void glPixelTransferf( GLenum pname, GLfloat param );
+__attribute__((visibility("default"))) void glPixelTransferi( GLenum pname, GLint param );
+
+__attribute__((visibility("default"))) void glPixelMapfv( GLenum map, GLsizei mapsize,
+                                    const GLfloat *values );
+__attribute__((visibility("default"))) void glPixelMapuiv( GLenum map, GLsizei mapsize,
+                                     const GLuint *values );
+__attribute__((visibility("default"))) void glPixelMapusv( GLenum map, GLsizei mapsize,
+                                     const GLushort *values );
+
+__attribute__((visibility("default"))) void glGetPixelMapfv( GLenum map, GLfloat *values );
+__attribute__((visibility("default"))) void glGetPixelMapuiv( GLenum map, GLuint *values );
+__attribute__((visibility("default"))) void glGetPixelMapusv( GLenum map, GLushort *values );
+
+__attribute__((visibility("default"))) void glBitmap( GLsizei width, GLsizei height,
+                                GLfloat xorig, GLfloat yorig,
+                                GLfloat xmove, GLfloat ymove,
+                                const GLubyte *bitmap );
+
+__attribute__((visibility("default"))) void glReadPixels( GLint x, GLint y,
+                                    GLsizei width, GLsizei height,
+                                    GLenum format, GLenum type,
+                                    GLvoid *pixels );
+
+__attribute__((visibility("default"))) void glDrawPixels( GLsizei width, GLsizei height,
+                                    GLenum format, GLenum type,
+                                    const GLvoid *pixels );
+
+__attribute__((visibility("default"))) void glCopyPixels( GLint x, GLint y,
+                                    GLsizei width, GLsizei height,
+                                    GLenum type );
+
+
+
+
+
+__attribute__((visibility("default"))) void glStencilFunc( GLenum func, GLint ref, GLuint mask );
+
+__attribute__((visibility("default"))) void glStencilMask( GLuint mask );
+
+__attribute__((visibility("default"))) void glStencilOp( GLenum fail, GLenum zfail, GLenum zpass );
+
+__attribute__((visibility("default"))) void glClearStencil( GLint s );
+
+
+
+
+
+
+
+__attribute__((visibility("default"))) void glTexGend( GLenum coord, GLenum pname, GLdouble param );
+__attribute__((visibility("default"))) void glTexGenf( GLenum coord, GLenum pname, GLfloat param );
+__attribute__((visibility("default"))) void glTexGeni( GLenum coord, GLenum pname, GLint param );
+
+__attribute__((visibility("default"))) void glTexGendv( GLenum coord, GLenum pname, const GLdouble *params );
+__attribute__((visibility("default"))) void glTexGenfv( GLenum coord, GLenum pname, const GLfloat *params );
+__attribute__((visibility("default"))) void glTexGeniv( GLenum coord, GLenum pname, const GLint *params );
+
+__attribute__((visibility("default"))) void glGetTexGendv( GLenum coord, GLenum pname, GLdouble *params );
+__attribute__((visibility("default"))) void glGetTexGenfv( GLenum coord, GLenum pname, GLfloat *params );
+__attribute__((visibility("default"))) void glGetTexGeniv( GLenum coord, GLenum pname, GLint *params );
+
+
+__attribute__((visibility("default"))) void glTexEnvf( GLenum target, GLenum pname, GLfloat param );
+__attribute__((visibility("default"))) void glTexEnvi( GLenum target, GLenum pname, GLint param );
+
+__attribute__((visibility("default"))) void glTexEnvfv( GLenum target, GLenum pname, const GLfloat *params );
+__attribute__((visibility("default"))) void glTexEnviv( GLenum target, GLenum pname, const GLint *params );
+
+__attribute__((visibility("default"))) void glGetTexEnvfv( GLenum target, GLenum pname, GLfloat *params );
+__attribute__((visibility("default"))) void glGetTexEnviv( GLenum target, GLenum pname, GLint *params );
+
+
+__attribute__((visibility("default"))) void glTexParameterf( GLenum target, GLenum pname, GLfloat param );
+__attribute__((visibility("default"))) void glTexParameteri( GLenum target, GLenum pname, GLint param );
+
+__attribute__((visibility("default"))) void glTexParameterfv( GLenum target, GLenum pname,
+                                          const GLfloat *params );
+__attribute__((visibility("default"))) void glTexParameteriv( GLenum target, GLenum pname,
+                                          const GLint *params );
+
+__attribute__((visibility("default"))) void glGetTexParameterfv( GLenum target,
+                                           GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetTexParameteriv( GLenum target,
+                                           GLenum pname, GLint *params );
+
+__attribute__((visibility("default"))) void glGetTexLevelParameterfv( GLenum target, GLint level,
+                                                GLenum pname, GLfloat *params );
+__attribute__((visibility("default"))) void glGetTexLevelParameteriv( GLenum target, GLint level,
+                                                GLenum pname, GLint *params );
+
+
+__attribute__((visibility("default"))) void glTexImage1D( GLenum target, GLint level,
+                                    GLint internalFormat,
+                                    GLsizei width, GLint border,
+                                    GLenum format, GLenum type,
+                                    const GLvoid *pixels );
+
+__attribute__((visibility("default"))) void glTexImage2D( GLenum target, GLint level,
+                                    GLint internalFormat,
+                                    GLsizei width, GLsizei height,
+                                    GLint border, GLenum format, GLenum type,
+                                    const GLvoid *pixels );
+
+__attribute__((visibility("default"))) void glGetTexImage( GLenum target, GLint level,
+                                     GLenum format, GLenum type,
+                                     GLvoid *pixels );
+
+
+
+
+__attribute__((visibility("default"))) void glGenTextures( GLsizei n, GLuint *textures );
+
+__attribute__((visibility("default"))) void glDeleteTextures( GLsizei n, const GLuint *textures);
+
+__attribute__((visibility("default"))) void glBindTexture( GLenum target, GLuint texture );
+
+__attribute__((visibility("default"))) void glPrioritizeTextures( GLsizei n,
+                                            const GLuint *textures,
+                                            const GLclampf *priorities );
+
+__attribute__((visibility("default"))) GLboolean glAreTexturesResident( GLsizei n,
+                                                  const GLuint *textures,
+                                                  GLboolean *residences );
+
+__attribute__((visibility("default"))) GLboolean glIsTexture( GLuint texture );
+
+
+__attribute__((visibility("default"))) void glTexSubImage1D( GLenum target, GLint level,
+                                       GLint xoffset,
+                                       GLsizei width, GLenum format,
+                                       GLenum type, const GLvoid *pixels );
+
+
+__attribute__((visibility("default"))) void glTexSubImage2D( GLenum target, GLint level,
+                                       GLint xoffset, GLint yoffset,
+                                       GLsizei width, GLsizei height,
+                                       GLenum format, GLenum type,
+                                       const GLvoid *pixels );
+
+
+__attribute__((visibility("default"))) void glCopyTexImage1D( GLenum target, GLint level,
+                                        GLenum internalformat,
+                                        GLint x, GLint y,
+                                        GLsizei width, GLint border );
+
+
+__attribute__((visibility("default"))) void glCopyTexImage2D( GLenum target, GLint level,
+                                        GLenum internalformat,
+                                        GLint x, GLint y,
+                                        GLsizei width, GLsizei height,
+                                        GLint border );
+
+
+__attribute__((visibility("default"))) void glCopyTexSubImage1D( GLenum target, GLint level,
+                                           GLint xoffset, GLint x, GLint y,
+                                           GLsizei width );
+
+
+__attribute__((visibility("default"))) void glCopyTexSubImage2D( GLenum target, GLint level,
+                                           GLint xoffset, GLint yoffset,
+                                           GLint x, GLint y,
+                                           GLsizei width, GLsizei height );
+
+
+
+
+
+
+__attribute__((visibility("default"))) void glMap1d( GLenum target, GLdouble u1, GLdouble u2,
+                               GLint stride,
+                               GLint order, const GLdouble *points );
+__attribute__((visibility("default"))) void glMap1f( GLenum target, GLfloat u1, GLfloat u2,
+                               GLint stride,
+                               GLint order, const GLfloat *points );
+
+__attribute__((visibility("default"))) void glMap2d( GLenum target,
+       GLdouble u1, GLdouble u2, GLint ustride, GLint uorder,
+       GLdouble v1, GLdouble v2, GLint vstride, GLint vorder,
+       const GLdouble *points );
+__attribute__((visibility("default"))) void glMap2f( GLenum target,
+       GLfloat u1, GLfloat u2, GLint ustride, GLint uorder,
+       GLfloat v1, GLfloat v2, GLint vstride, GLint vorder,
+       const GLfloat *points );
+
+__attribute__((visibility("default"))) void glGetMapdv( GLenum target, GLenum query, GLdouble *v );
+__attribute__((visibility("default"))) void glGetMapfv( GLenum target, GLenum query, GLfloat *v );
+__attribute__((visibility("default"))) void glGetMapiv( GLenum target, GLenum query, GLint *v );
+
+__attribute__((visibility("default"))) void glEvalCoord1d( GLdouble u );
+__attribute__((visibility("default"))) void glEvalCoord1f( GLfloat u );
+
+__attribute__((visibility("default"))) void glEvalCoord1dv( const GLdouble *u );
+__attribute__((visibility("default"))) void glEvalCoord1fv( const GLfloat *u );
+
+__attribute__((visibility("default"))) void glEvalCoord2d( GLdouble u, GLdouble v );
+__attribute__((visibility("default"))) void glEvalCoord2f( GLfloat u, GLfloat v );
+
+__attribute__((visibility("default"))) void glEvalCoord2dv( const GLdouble *u );
+__attribute__((visibility("default"))) void glEvalCoord2fv( const GLfloat *u );
+
+__attribute__((visibility("default"))) void glMapGrid1d( GLint un, GLdouble u1, GLdouble u2 );
+__attribute__((visibility("default"))) void glMapGrid1f( GLint un, GLfloat u1, GLfloat u2 );
+
+__attribute__((visibility("default"))) void glMapGrid2d( GLint un, GLdouble u1, GLdouble u2,
+                                   GLint vn, GLdouble v1, GLdouble v2 );
+__attribute__((visibility("default"))) void glMapGrid2f( GLint un, GLfloat u1, GLfloat u2,
+                                   GLint vn, GLfloat v1, GLfloat v2 );
+
+__attribute__((visibility("default"))) void glEvalPoint1( GLint i );
+
+__attribute__((visibility("default"))) void glEvalPoint2( GLint i, GLint j );
+
+__attribute__((visibility("default"))) void glEvalMesh1( GLenum mode, GLint i1, GLint i2 );
+
+__attribute__((visibility("default"))) void glEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
+
+
+
+
+
+
+__attribute__((visibility("default"))) void glFogf( GLenum pname, GLfloat param );
+
+__attribute__((visibility("default"))) void glFogi( GLenum pname, GLint param );
+
+__attribute__((visibility("default"))) void glFogfv( GLenum pname, const GLfloat *params );
+
+__attribute__((visibility("default"))) void glFogiv( GLenum pname, const GLint *params );
+
+
+
+
+
+
+__attribute__((visibility("default"))) void glFeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer );
+
+__attribute__((visibility("default"))) void glPassThrough( GLfloat token );
+
+__attribute__((visibility("default"))) void glSelectBuffer( GLsizei size, GLuint *buffer );
+
+__attribute__((visibility("default"))) void glInitNames( void );
+
+__attribute__((visibility("default"))) void glLoadName( GLuint name );
+
+__attribute__((visibility("default"))) void glPushName( GLuint name );
+
+__attribute__((visibility("default"))) void glPopName( void );
+# 1527 "../../include/GL/gl.h"
+__attribute__((visibility("default"))) void glDrawRangeElements( GLenum mode, GLuint start,
+ GLuint end, GLsizei count, GLenum type, const GLvoid *indices );
+
+__attribute__((visibility("default"))) void glTexImage3D( GLenum target, GLint level,
+                                      GLint internalFormat,
+                                      GLsizei width, GLsizei height,
+                                      GLsizei depth, GLint border,
+                                      GLenum format, GLenum type,
+                                      const GLvoid *pixels );
+
+__attribute__((visibility("default"))) void glTexSubImage3D( GLenum target, GLint level,
+                                         GLint xoffset, GLint yoffset,
+                                         GLint zoffset, GLsizei width,
+                                         GLsizei height, GLsizei depth,
+                                         GLenum format,
+                                         GLenum type, const GLvoid *pixels);
+
+__attribute__((visibility("default"))) void glCopyTexSubImage3D( GLenum target, GLint level,
+                                             GLint xoffset, GLint yoffset,
+                                             GLint zoffset, GLint x,
+                                             GLint y, GLsizei width,
+                                             GLsizei height );
+
+typedef void ( * PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
+typedef void ( * PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void ( * PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void ( * PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+# 1637 "../../include/GL/gl.h"
+__attribute__((visibility("default"))) void glColorTable( GLenum target, GLenum internalformat,
+                                    GLsizei width, GLenum format,
+                                    GLenum type, const GLvoid *table );
+
+__attribute__((visibility("default"))) void glColorSubTable( GLenum target,
+                                       GLsizei start, GLsizei count,
+                                       GLenum format, GLenum type,
+                                       const GLvoid *data );
+
+__attribute__((visibility("default"))) void glColorTableParameteriv(GLenum target, GLenum pname,
+                                              const GLint *params);
+
+__attribute__((visibility("default"))) void glColorTableParameterfv(GLenum target, GLenum pname,
+                                              const GLfloat *params);
+
+__attribute__((visibility("default"))) void glCopyColorSubTable( GLenum target, GLsizei start,
+                                           GLint x, GLint y, GLsizei width );
+
+__attribute__((visibility("default"))) void glCopyColorTable( GLenum target, GLenum internalformat,
+                                        GLint x, GLint y, GLsizei width );
+
+__attribute__((visibility("default"))) void glGetColorTable( GLenum target, GLenum format,
+                                       GLenum type, GLvoid *table );
+
+__attribute__((visibility("default"))) void glGetColorTableParameterfv( GLenum target, GLenum pname,
+                                                  GLfloat *params );
+
+__attribute__((visibility("default"))) void glGetColorTableParameteriv( GLenum target, GLenum pname,
+                                                  GLint *params );
+
+__attribute__((visibility("default"))) void glBlendEquation( GLenum mode );
+
+__attribute__((visibility("default"))) void glBlendColor( GLclampf red, GLclampf green,
+                                    GLclampf blue, GLclampf alpha );
+
+__attribute__((visibility("default"))) void glHistogram( GLenum target, GLsizei width,
+       GLenum internalformat, GLboolean sink );
+
+__attribute__((visibility("default"))) void glResetHistogram( GLenum target );
+
+__attribute__((visibility("default"))) void glGetHistogram( GLenum target, GLboolean reset,
+          GLenum format, GLenum type,
+          GLvoid *values );
+
+__attribute__((visibility("default"))) void glGetHistogramParameterfv( GLenum target, GLenum pname,
+       GLfloat *params );
+
+__attribute__((visibility("default"))) void glGetHistogramParameteriv( GLenum target, GLenum pname,
+       GLint *params );
+
+__attribute__((visibility("default"))) void glMinmax( GLenum target, GLenum internalformat,
+    GLboolean sink );
+
+__attribute__((visibility("default"))) void glResetMinmax( GLenum target );
+
+__attribute__((visibility("default"))) void glGetMinmax( GLenum target, GLboolean reset,
+                                   GLenum format, GLenum types,
+                                   GLvoid *values );
+
+__attribute__((visibility("default"))) void glGetMinmaxParameterfv( GLenum target, GLenum pname,
+           GLfloat *params );
+
+__attribute__((visibility("default"))) void glGetMinmaxParameteriv( GLenum target, GLenum pname,
+           GLint *params );
+
+__attribute__((visibility("default"))) void glConvolutionFilter1D( GLenum target,
+ GLenum internalformat, GLsizei width, GLenum format, GLenum type,
+ const GLvoid *image );
+
+__attribute__((visibility("default"))) void glConvolutionFilter2D( GLenum target,
+ GLenum internalformat, GLsizei width, GLsizei height, GLenum format,
+ GLenum type, const GLvoid *image );
+
+__attribute__((visibility("default"))) void glConvolutionParameterf( GLenum target, GLenum pname,
+ GLfloat params );
+
+__attribute__((visibility("default"))) void glConvolutionParameterfv( GLenum target, GLenum pname,
+ const GLfloat *params );
+
+__attribute__((visibility("default"))) void glConvolutionParameteri( GLenum target, GLenum pname,
+ GLint params );
+
+__attribute__((visibility("default"))) void glConvolutionParameteriv( GLenum target, GLenum pname,
+ const GLint *params );
+
+__attribute__((visibility("default"))) void glCopyConvolutionFilter1D( GLenum target,
+ GLenum internalformat, GLint x, GLint y, GLsizei width );
+
+__attribute__((visibility("default"))) void glCopyConvolutionFilter2D( GLenum target,
+ GLenum internalformat, GLint x, GLint y, GLsizei width,
+ GLsizei height);
+
+__attribute__((visibility("default"))) void glGetConvolutionFilter( GLenum target, GLenum format,
+ GLenum type, GLvoid *image );
+
+__attribute__((visibility("default"))) void glGetConvolutionParameterfv( GLenum target, GLenum pname,
+ GLfloat *params );
+
+__attribute__((visibility("default"))) void glGetConvolutionParameteriv( GLenum target, GLenum pname,
+ GLint *params );
+
+__attribute__((visibility("default"))) void glSeparableFilter2D( GLenum target,
+ GLenum internalformat, GLsizei width, GLsizei height, GLenum format,
+ GLenum type, const GLvoid *row, const GLvoid *column );
+
+__attribute__((visibility("default"))) void glGetSeparableFilter( GLenum target, GLenum format,
+ GLenum type, GLvoid *row, GLvoid *column, GLvoid *span );
+
+typedef void ( * PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
+typedef void ( * PFNGLBLENDEQUATIONPROC) (GLenum mode);
+# 1859 "../../include/GL/gl.h"
+__attribute__((visibility("default"))) void glActiveTexture( GLenum texture );
+
+__attribute__((visibility("default"))) void glClientActiveTexture( GLenum texture );
+
+__attribute__((visibility("default"))) void glCompressedTexImage1D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data );
+
+__attribute__((visibility("default"))) void glCompressedTexImage2D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data );
+
+__attribute__((visibility("default"))) void glCompressedTexImage3D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data );
+
+__attribute__((visibility("default"))) void glCompressedTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data );
+
+__attribute__((visibility("default"))) void glCompressedTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data );
+
+__attribute__((visibility("default"))) void glCompressedTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data );
+
+__attribute__((visibility("default"))) void glGetCompressedTexImage( GLenum target, GLint lod, GLvoid *img );
+
+__attribute__((visibility("default"))) void glMultiTexCoord1d( GLenum target, GLdouble s );
+
+__attribute__((visibility("default"))) void glMultiTexCoord1dv( GLenum target, const GLdouble *v );
+
+__attribute__((visibility("default"))) void glMultiTexCoord1f( GLenum target, GLfloat s );
+
+__attribute__((visibility("default"))) void glMultiTexCoord1fv( GLenum target, const GLfloat *v );
+
+__attribute__((visibility("default"))) void glMultiTexCoord1i( GLenum target, GLint s );
+
+__attribute__((visibility("default"))) void glMultiTexCoord1iv( GLenum target, const GLint *v );
+
+__attribute__((visibility("default"))) void glMultiTexCoord1s( GLenum target, GLshort s );
+
+__attribute__((visibility("default"))) void glMultiTexCoord1sv( GLenum target, const GLshort *v );
+
+__attribute__((visibility("default"))) void glMultiTexCoord2d( GLenum target, GLdouble s, GLdouble t );
+
+__attribute__((visibility("default"))) void glMultiTexCoord2dv( GLenum target, const GLdouble *v );
+
+__attribute__((visibility("default"))) void glMultiTexCoord2f( GLenum target, GLfloat s, GLfloat t );
+
+__attribute__((visibility("default"))) void glMultiTexCoord2fv( GLenum target, const GLfloat *v );
+
+__attribute__((visibility("default"))) void glMultiTexCoord2i( GLenum target, GLint s, GLint t );
+
+__attribute__((visibility("default"))) void glMultiTexCoord2iv( GLenum target, const GLint *v );
+
+__attribute__((visibility("default"))) void glMultiTexCoord2s( GLenum target, GLshort s, GLshort t );
+
+__attribute__((visibility("default"))) void glMultiTexCoord2sv( GLenum target, const GLshort *v );
+
+__attribute__((visibility("default"))) void glMultiTexCoord3d( GLenum target, GLdouble s, GLdouble t, GLdouble r );
+
+__attribute__((visibility("default"))) void glMultiTexCoord3dv( GLenum target, const GLdouble *v );
+
+__attribute__((visibility("default"))) void glMultiTexCoord3f( GLenum target, GLfloat s, GLfloat t, GLfloat r );
+
+__attribute__((visibility("default"))) void glMultiTexCoord3fv( GLenum target, const GLfloat *v );
+
+__attribute__((visibility("default"))) void glMultiTexCoord3i( GLenum target, GLint s, GLint t, GLint r );
+
+__attribute__((visibility("default"))) void glMultiTexCoord3iv( GLenum target, const GLint *v );
+
+__attribute__((visibility("default"))) void glMultiTexCoord3s( GLenum target, GLshort s, GLshort t, GLshort r );
+
+__attribute__((visibility("default"))) void glMultiTexCoord3sv( GLenum target, const GLshort *v );
+
+__attribute__((visibility("default"))) void glMultiTexCoord4d( GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q );
+
+__attribute__((visibility("default"))) void glMultiTexCoord4dv( GLenum target, const GLdouble *v );
+
+__attribute__((visibility("default"))) void glMultiTexCoord4f( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q );
+
+__attribute__((visibility("default"))) void glMultiTexCoord4fv( GLenum target, const GLfloat *v );
+
+__attribute__((visibility("default"))) void glMultiTexCoord4i( GLenum target, GLint s, GLint t, GLint r, GLint q );
+
+__attribute__((visibility("default"))) void glMultiTexCoord4iv( GLenum target, const GLint *v );
+
+__attribute__((visibility("default"))) void glMultiTexCoord4s( GLenum target, GLshort s, GLshort t, GLshort r, GLshort q );
+
+__attribute__((visibility("default"))) void glMultiTexCoord4sv( GLenum target, const GLshort *v );
+
+
+__attribute__((visibility("default"))) void glLoadTransposeMatrixd( const GLdouble m[16] );
+
+__attribute__((visibility("default"))) void glLoadTransposeMatrixf( const GLfloat m[16] );
+
+__attribute__((visibility("default"))) void glMultTransposeMatrixd( const GLdouble m[16] );
+
+__attribute__((visibility("default"))) void glMultTransposeMatrixf( const GLfloat m[16] );
+
+__attribute__((visibility("default"))) void glSampleCoverage( GLclampf value, GLboolean invert );
+
+
+typedef void ( * PFNGLACTIVETEXTUREPROC) (GLenum texture);
+typedef void ( * PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert);
+typedef void ( * PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
+typedef void ( * PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
+typedef void ( * PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
+typedef void ( * PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
+typedef void ( * PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
+typedef void ( * PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
+typedef void ( * PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, GLvoid *img);
+# 2007 "../../include/GL/gl.h"
+__attribute__((visibility("default"))) void glActiveTextureARB(GLenum texture);
+__attribute__((visibility("default"))) void glClientActiveTextureARB(GLenum texture);
+__attribute__((visibility("default"))) void glMultiTexCoord1dARB(GLenum target, GLdouble s);
+__attribute__((visibility("default"))) void glMultiTexCoord1dvARB(GLenum target, const GLdouble *v);
+__attribute__((visibility("default"))) void glMultiTexCoord1fARB(GLenum target, GLfloat s);
+__attribute__((visibility("default"))) void glMultiTexCoord1fvARB(GLenum target, const GLfloat *v);
+__attribute__((visibility("default"))) void glMultiTexCoord1iARB(GLenum target, GLint s);
+__attribute__((visibility("default"))) void glMultiTexCoord1ivARB(GLenum target, const GLint *v);
+__attribute__((visibility("default"))) void glMultiTexCoord1sARB(GLenum target, GLshort s);
+__attribute__((visibility("default"))) void glMultiTexCoord1svARB(GLenum target, const GLshort *v);
+__attribute__((visibility("default"))) void glMultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t);
+__attribute__((visibility("default"))) void glMultiTexCoord2dvARB(GLenum target, const GLdouble *v);
+__attribute__((visibility("default"))) void glMultiTexCoord2fARB(GLenum target, GLfloat s, GLfloat t);
+__attribute__((visibility("default"))) void glMultiTexCoord2fvARB(GLenum target, const GLfloat *v);
+__attribute__((visibility("default"))) void glMultiTexCoord2iARB(GLenum target, GLint s, GLint t);
+__attribute__((visibility("default"))) void glMultiTexCoord2ivARB(GLenum target, const GLint *v);
+__attribute__((visibility("default"))) void glMultiTexCoord2sARB(GLenum target, GLshort s, GLshort t);
+__attribute__((visibility("default"))) void glMultiTexCoord2svARB(GLenum target, const GLshort *v);
+__attribute__((visibility("default"))) void glMultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r);
+__attribute__((visibility("default"))) void glMultiTexCoord3dvARB(GLenum target, const GLdouble *v);
+__attribute__((visibility("default"))) void glMultiTexCoord3fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r);
+__attribute__((visibility("default"))) void glMultiTexCoord3fvARB(GLenum target, const GLfloat *v);
+__attribute__((visibility("default"))) void glMultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r);
+__attribute__((visibility("default"))) void glMultiTexCoord3ivARB(GLenum target, const GLint *v);
+__attribute__((visibility("default"))) void glMultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r);
+__attribute__((visibility("default"))) void glMultiTexCoord3svARB(GLenum target, const GLshort *v);
+__attribute__((visibility("default"))) void glMultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
+__attribute__((visibility("default"))) void glMultiTexCoord4dvARB(GLenum target, const GLdouble *v);
+__attribute__((visibility("default"))) void glMultiTexCoord4fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
+__attribute__((visibility("default"))) void glMultiTexCoord4fvARB(GLenum target, const GLfloat *v);
+__attribute__((visibility("default"))) void glMultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q);
+__attribute__((visibility("default"))) void glMultiTexCoord4ivARB(GLenum target, const GLint *v);
+__attribute__((visibility("default"))) void glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
+__attribute__((visibility("default"))) void glMultiTexCoord4svARB(GLenum target, const GLshort *v);
+
+typedef void ( * PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
+typedef void ( * PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
+typedef void ( * PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);
+typedef void ( * PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);
+typedef void ( * PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
+typedef void ( * PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
+typedef void ( * PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);
+typedef void ( * PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);
+typedef void ( * PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);
+typedef void ( * PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);
+typedef void ( * PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);
+typedef void ( * PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);
+typedef void ( * PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
+typedef void ( * PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
+typedef void ( * PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);
+typedef void ( * PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);
+typedef void ( * PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);
+typedef void ( * PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
+typedef void ( * PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
+typedef void ( * PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);
+typedef void ( * PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
+typedef void ( * PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
+typedef void ( * PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);
+typedef void ( * PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);
+typedef void ( * PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
+typedef void ( * PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);
+typedef void ( * PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
+typedef void ( * PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);
+typedef void ( * PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
+typedef void ( * PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
+typedef void ( * PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
+typedef void ( * PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);
+typedef void ( * PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
+typedef void ( * PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
+# 2091 "../../include/GL/gl.h"
+# 1 "../../include/GL/glext.h" 1
+# 5064 "../../include/GL/glext.h"
+# 1 "/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.5.3/include/stddef.h" 1 3 4
+# 149 "/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.5.3/include/stddef.h" 3 4
+typedef int ptrdiff_t;
+# 211 "/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.5.3/include/stddef.h" 3 4
+typedef unsigned int size_t;
+# 323 "/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.5.3/include/stddef.h" 3 4
+typedef long int wchar_t;
+# 5065 "../../include/GL/glext.h" 2
+
+
+typedef char GLchar;
+
+
+
+
+typedef ptrdiff_t GLintptr;
+typedef ptrdiff_t GLsizeiptr;
+
+
+
+
+typedef ptrdiff_t GLintptrARB;
+typedef ptrdiff_t GLsizeiptrARB;
+
+
+
+
+typedef char GLcharARB;
+typedef unsigned int GLhandleARB;
+
+
+
+
+typedef unsigned short GLhalfARB;
+
+
+
+typedef unsigned short GLhalfNV;
+# 5103 "../../include/GL/glext.h"
+# 1 "/usr/include/inttypes.h" 1 3 4
+# 26 "/usr/include/inttypes.h" 3 4
+# 1 "/usr/include/features.h" 1 3 4
+# 357 "/usr/include/features.h" 3 4
+# 1 "/usr/include/sys/cdefs.h" 1 3 4
+# 353 "/usr/include/sys/cdefs.h" 3 4
+# 1 "/usr/include/bits/wordsize.h" 1 3 4
+# 354 "/usr/include/sys/cdefs.h" 2 3 4
+# 358 "/usr/include/features.h" 2 3 4
+# 381 "/usr/include/features.h" 3 4
+# 1 "/usr/include/gnu/stubs.h" 1 3 4
+# 382 "/usr/include/features.h" 2 3 4
+# 27 "/usr/include/inttypes.h" 2 3 4
+
+# 1 "/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.5.3/include/stdint.h" 1 3 4
+
+
+# 1 "/usr/include/stdint.h" 1 3 4
+# 27 "/usr/include/stdint.h" 3 4
+# 1 "/usr/include/bits/wchar.h" 1 3 4
+# 28 "/usr/include/stdint.h" 2 3 4
+# 1 "/usr/include/bits/wordsize.h" 1 3 4
+# 29 "/usr/include/stdint.h" 2 3 4
+# 37 "/usr/include/stdint.h" 3 4
+typedef signed char int8_t;
+typedef short int int16_t;
+typedef int int32_t;
+
+
+
+__extension__
+typedef long long int int64_t;
+
+
+
+
+typedef unsigned char uint8_t;
+typedef unsigned short int uint16_t;
+
+typedef unsigned int uint32_t;
+
+
+
+
+
+__extension__
+typedef unsigned long long int uint64_t;
+
+
+
+
+
+
+typedef signed char int_least8_t;
+typedef short int int_least16_t;
+typedef int int_least32_t;
+
+
+
+__extension__
+typedef long long int int_least64_t;
+
+
+
+typedef unsigned char uint_least8_t;
+typedef unsigned short int uint_least16_t;
+typedef unsigned int uint_least32_t;
+
+
+
+__extension__
+typedef unsigned long long int uint_least64_t;
+
+
+
+
+
+
+typedef signed char int_fast8_t;
+
+
+
+
+
+typedef int int_fast16_t;
+typedef int int_fast32_t;
+__extension__
+typedef long long int int_fast64_t;
+
+
+
+typedef unsigned char uint_fast8_t;
+
+
+
+
+
+typedef unsigned int uint_fast16_t;
+typedef unsigned int uint_fast32_t;
+__extension__
+typedef unsigned long long int uint_fast64_t;
+# 126 "/usr/include/stdint.h" 3 4
+typedef int intptr_t;
+
+
+typedef unsigned int uintptr_t;
+# 138 "/usr/include/stdint.h" 3 4
+__extension__
+typedef long long int intmax_t;
+__extension__
+typedef unsigned long long int uintmax_t;
+# 4 "/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.5.3/include/stdint.h" 2 3 4
+# 29 "/usr/include/inttypes.h" 2 3 4
+
+
+
+
+
+
+typedef long int __gwchar_t;
+# 274 "/usr/include/inttypes.h" 3 4
+
+# 288 "/usr/include/inttypes.h" 3 4
+typedef struct
+  {
+    long long int quot;
+    long long int rem;
+  } imaxdiv_t;
+
+
+
+
+
+extern intmax_t imaxabs (intmax_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom)
+      __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+extern intmax_t strtoimax (__const char *__restrict __nptr,
+      char **__restrict __endptr, int __base) __attribute__ ((__nothrow__));
+
+
+extern uintmax_t strtoumax (__const char *__restrict __nptr,
+       char ** __restrict __endptr, int __base) __attribute__ ((__nothrow__));
+
+
+extern intmax_t wcstoimax (__const __gwchar_t *__restrict __nptr,
+      __gwchar_t **__restrict __endptr, int __base)
+     __attribute__ ((__nothrow__));
+
+
+extern uintmax_t wcstoumax (__const __gwchar_t *__restrict __nptr,
+       __gwchar_t ** __restrict __endptr, int __base)
+     __attribute__ ((__nothrow__));
+# 379 "/usr/include/inttypes.h" 3 4
+__extension__
+extern long long int __strtoll_internal (__const char *__restrict __nptr,
+      char **__restrict __endptr,
+      int __base, int __group)
+  __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+extern __inline __attribute__ ((__gnu_inline__)) intmax_t
+__attribute__ ((__nothrow__)) strtoimax (__const char *__restrict nptr, char **__restrict endptr, int base)
+
+{
+  return __strtoll_internal (nptr, endptr, base, 0);
+}
+
+__extension__
+extern unsigned long long int __strtoull_internal (__const char *
+         __restrict __nptr,
+         char **
+         __restrict __endptr,
+         int __base,
+         int __group)
+  __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+extern __inline __attribute__ ((__gnu_inline__)) uintmax_t
+__attribute__ ((__nothrow__)) strtoumax (__const char *__restrict nptr, char **__restrict endptr, int base)
+
+{
+  return __strtoull_internal (nptr, endptr, base, 0);
+}
+
+__extension__
+extern long long int __wcstoll_internal (__const __gwchar_t *
+      __restrict __nptr,
+      __gwchar_t **__restrict __endptr,
+      int __base, int __group)
+  __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+extern __inline __attribute__ ((__gnu_inline__)) intmax_t
+__attribute__ ((__nothrow__)) wcstoimax (__const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr, int base)
+
+{
+  return __wcstoll_internal (nptr, endptr, base, 0);
+}
+
+
+__extension__
+extern unsigned long long int __wcstoull_internal (__const __gwchar_t *
+         __restrict __nptr,
+         __gwchar_t **
+         __restrict __endptr,
+         int __base,
+         int __group)
+  __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+extern __inline __attribute__ ((__gnu_inline__)) uintmax_t
+__attribute__ ((__nothrow__)) wcstoumax (__const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr, int base)
+
+{
+  return __wcstoull_internal (nptr, endptr, base, 0);
+}
+
+
+
+
+
+# 5104 "../../include/GL/glext.h" 2
+# 5136 "../../include/GL/glext.h"
+typedef int64_t GLint64EXT;
+typedef uint64_t GLuint64EXT;
+
+
+
+typedef int64_t GLint64;
+typedef uint64_t GLuint64;
+typedef struct __GLsync *GLsync;
+
+
+
+
+struct _cl_context;
+struct _cl_event;
+
+
+
+typedef void ( *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
+
+
+
+typedef void ( *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
+
+
+
+typedef GLintptr GLvdpauSurfaceNV;
+# 5185 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glColorTable (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
+__attribute__((visibility("default"))) void glColorTableParameterfv (GLenum target, GLenum pname, const GLfloat *params);
+__attribute__((visibility("default"))) void glColorTableParameteriv (GLenum target, GLenum pname, const GLint *params);
+__attribute__((visibility("default"))) void glCopyColorTable (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+__attribute__((visibility("default"))) void glGetColorTable (GLenum target, GLenum format, GLenum type, GLvoid *table);
+__attribute__((visibility("default"))) void glGetColorTableParameterfv (GLenum target, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetColorTableParameteriv (GLenum target, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glColorSubTable (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
+__attribute__((visibility("default"))) void glCopyColorSubTable (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
+__attribute__((visibility("default"))) void glConvolutionFilter1D (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
+__attribute__((visibility("default"))) void glConvolutionFilter2D (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
+__attribute__((visibility("default"))) void glConvolutionParameterf (GLenum target, GLenum pname, GLfloat params);
+__attribute__((visibility("default"))) void glConvolutionParameterfv (GLenum target, GLenum pname, const GLfloat *params);
+__attribute__((visibility("default"))) void glConvolutionParameteri (GLenum target, GLenum pname, GLint params);
+__attribute__((visibility("default"))) void glConvolutionParameteriv (GLenum target, GLenum pname, const GLint *params);
+__attribute__((visibility("default"))) void glCopyConvolutionFilter1D (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+__attribute__((visibility("default"))) void glCopyConvolutionFilter2D (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
+__attribute__((visibility("default"))) void glGetConvolutionFilter (GLenum target, GLenum format, GLenum type, GLvoid *image);
+__attribute__((visibility("default"))) void glGetConvolutionParameterfv (GLenum target, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetConvolutionParameteriv (GLenum target, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetSeparableFilter (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
+__attribute__((visibility("default"))) void glSeparableFilter2D (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
+__attribute__((visibility("default"))) void glGetHistogram (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
+__attribute__((visibility("default"))) void glGetHistogramParameterfv (GLenum target, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetHistogramParameteriv (GLenum target, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetMinmax (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
+__attribute__((visibility("default"))) void glGetMinmaxParameterfv (GLenum target, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetMinmaxParameteriv (GLenum target, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glHistogram (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
+__attribute__((visibility("default"))) void glMinmax (GLenum target, GLenum internalformat, GLboolean sink);
+__attribute__((visibility("default"))) void glResetHistogram (GLenum target);
+__attribute__((visibility("default"))) void glResetMinmax (GLenum target);
+
+typedef void ( * PFNGLCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
+typedef void ( * PFNGLCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
+typedef void ( * PFNGLCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
+typedef void ( * PFNGLCOPYCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+typedef void ( * PFNGLGETCOLORTABLEPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table);
+typedef void ( * PFNGLGETCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void ( * PFNGLCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
+typedef void ( * PFNGLCOPYCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
+typedef void ( * PFNGLCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
+typedef void ( * PFNGLCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
+typedef void ( * PFNGLCONVOLUTIONPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat params);
+typedef void ( * PFNGLCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
+typedef void ( * PFNGLCONVOLUTIONPARAMETERIPROC) (GLenum target, GLenum pname, GLint params);
+typedef void ( * PFNGLCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
+typedef void ( * PFNGLCOPYCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+typedef void ( * PFNGLCOPYCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void ( * PFNGLGETCONVOLUTIONFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image);
+typedef void ( * PFNGLGETCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETSEPARABLEFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
+typedef void ( * PFNGLSEPARABLEFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
+typedef void ( * PFNGLGETHISTOGRAMPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
+typedef void ( * PFNGLGETHISTOGRAMPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETHISTOGRAMPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETMINMAXPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
+typedef void ( * PFNGLGETMINMAXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETMINMAXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void ( * PFNGLHISTOGRAMPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
+typedef void ( * PFNGLMINMAXPROC) (GLenum target, GLenum internalformat, GLboolean sink);
+typedef void ( * PFNGLRESETHISTOGRAMPROC) (GLenum target);
+typedef void ( * PFNGLRESETMINMAXPROC) (GLenum target);
+# 5279 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glClientActiveTexture (GLenum texture);
+__attribute__((visibility("default"))) void glMultiTexCoord1d (GLenum target, GLdouble s);
+__attribute__((visibility("default"))) void glMultiTexCoord1dv (GLenum target, const GLdouble *v);
+__attribute__((visibility("default"))) void glMultiTexCoord1f (GLenum target, GLfloat s);
+__attribute__((visibility("default"))) void glMultiTexCoord1fv (GLenum target, const GLfloat *v);
+__attribute__((visibility("default"))) void glMultiTexCoord1i (GLenum target, GLint s);
+__attribute__((visibility("default"))) void glMultiTexCoord1iv (GLenum target, const GLint *v);
+__attribute__((visibility("default"))) void glMultiTexCoord1s (GLenum target, GLshort s);
+__attribute__((visibility("default"))) void glMultiTexCoord1sv (GLenum target, const GLshort *v);
+__attribute__((visibility("default"))) void glMultiTexCoord2d (GLenum target, GLdouble s, GLdouble t);
+__attribute__((visibility("default"))) void glMultiTexCoord2dv (GLenum target, const GLdouble *v);
+__attribute__((visibility("default"))) void glMultiTexCoord2f (GLenum target, GLfloat s, GLfloat t);
+__attribute__((visibility("default"))) void glMultiTexCoord2fv (GLenum target, const GLfloat *v);
+__attribute__((visibility("default"))) void glMultiTexCoord2i (GLenum target, GLint s, GLint t);
+__attribute__((visibility("default"))) void glMultiTexCoord2iv (GLenum target, const GLint *v);
+__attribute__((visibility("default"))) void glMultiTexCoord2s (GLenum target, GLshort s, GLshort t);
+__attribute__((visibility("default"))) void glMultiTexCoord2sv (GLenum target, const GLshort *v);
+__attribute__((visibility("default"))) void glMultiTexCoord3d (GLenum target, GLdouble s, GLdouble t, GLdouble r);
+__attribute__((visibility("default"))) void glMultiTexCoord3dv (GLenum target, const GLdouble *v);
+__attribute__((visibility("default"))) void glMultiTexCoord3f (GLenum target, GLfloat s, GLfloat t, GLfloat r);
+__attribute__((visibility("default"))) void glMultiTexCoord3fv (GLenum target, const GLfloat *v);
+__attribute__((visibility("default"))) void glMultiTexCoord3i (GLenum target, GLint s, GLint t, GLint r);
+__attribute__((visibility("default"))) void glMultiTexCoord3iv (GLenum target, const GLint *v);
+__attribute__((visibility("default"))) void glMultiTexCoord3s (GLenum target, GLshort s, GLshort t, GLshort r);
+__attribute__((visibility("default"))) void glMultiTexCoord3sv (GLenum target, const GLshort *v);
+__attribute__((visibility("default"))) void glMultiTexCoord4d (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
+__attribute__((visibility("default"))) void glMultiTexCoord4dv (GLenum target, const GLdouble *v);
+__attribute__((visibility("default"))) void glMultiTexCoord4f (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
+__attribute__((visibility("default"))) void glMultiTexCoord4fv (GLenum target, const GLfloat *v);
+__attribute__((visibility("default"))) void glMultiTexCoord4i (GLenum target, GLint s, GLint t, GLint r, GLint q);
+__attribute__((visibility("default"))) void glMultiTexCoord4iv (GLenum target, const GLint *v);
+__attribute__((visibility("default"))) void glMultiTexCoord4s (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
+__attribute__((visibility("default"))) void glMultiTexCoord4sv (GLenum target, const GLshort *v);
+__attribute__((visibility("default"))) void glLoadTransposeMatrixf (const GLfloat *m);
+__attribute__((visibility("default"))) void glLoadTransposeMatrixd (const GLdouble *m);
+__attribute__((visibility("default"))) void glMultTransposeMatrixf (const GLfloat *m);
+__attribute__((visibility("default"))) void glMultTransposeMatrixd (const GLdouble *m);
+
+typedef void ( * PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture);
+typedef void ( * PFNGLMULTITEXCOORD1DPROC) (GLenum target, GLdouble s);
+typedef void ( * PFNGLMULTITEXCOORD1DVPROC) (GLenum target, const GLdouble *v);
+typedef void ( * PFNGLMULTITEXCOORD1FPROC) (GLenum target, GLfloat s);
+typedef void ( * PFNGLMULTITEXCOORD1FVPROC) (GLenum target, const GLfloat *v);
+typedef void ( * PFNGLMULTITEXCOORD1IPROC) (GLenum target, GLint s);
+typedef void ( * PFNGLMULTITEXCOORD1IVPROC) (GLenum target, const GLint *v);
+typedef void ( * PFNGLMULTITEXCOORD1SPROC) (GLenum target, GLshort s);
+typedef void ( * PFNGLMULTITEXCOORD1SVPROC) (GLenum target, const GLshort *v);
+typedef void ( * PFNGLMULTITEXCOORD2DPROC) (GLenum target, GLdouble s, GLdouble t);
+typedef void ( * PFNGLMULTITEXCOORD2DVPROC) (GLenum target, const GLdouble *v);
+typedef void ( * PFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t);
+typedef void ( * PFNGLMULTITEXCOORD2FVPROC) (GLenum target, const GLfloat *v);
+typedef void ( * PFNGLMULTITEXCOORD2IPROC) (GLenum target, GLint s, GLint t);
+typedef void ( * PFNGLMULTITEXCOORD2IVPROC) (GLenum target, const GLint *v);
+typedef void ( * PFNGLMULTITEXCOORD2SPROC) (GLenum target, GLshort s, GLshort t);
+typedef void ( * PFNGLMULTITEXCOORD2SVPROC) (GLenum target, const GLshort *v);
+typedef void ( * PFNGLMULTITEXCOORD3DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
+typedef void ( * PFNGLMULTITEXCOORD3DVPROC) (GLenum target, const GLdouble *v);
+typedef void ( * PFNGLMULTITEXCOORD3FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
+typedef void ( * PFNGLMULTITEXCOORD3FVPROC) (GLenum target, const GLfloat *v);
+typedef void ( * PFNGLMULTITEXCOORD3IPROC) (GLenum target, GLint s, GLint t, GLint r);
+typedef void ( * PFNGLMULTITEXCOORD3IVPROC) (GLenum target, const GLint *v);
+typedef void ( * PFNGLMULTITEXCOORD3SPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
+typedef void ( * PFNGLMULTITEXCOORD3SVPROC) (GLenum target, const GLshort *v);
+typedef void ( * PFNGLMULTITEXCOORD4DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
+typedef void ( * PFNGLMULTITEXCOORD4DVPROC) (GLenum target, const GLdouble *v);
+typedef void ( * PFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
+typedef void ( * PFNGLMULTITEXCOORD4FVPROC) (GLenum target, const GLfloat *v);
+typedef void ( * PFNGLMULTITEXCOORD4IPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
+typedef void ( * PFNGLMULTITEXCOORD4IVPROC) (GLenum target, const GLint *v);
+typedef void ( * PFNGLMULTITEXCOORD4SPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
+typedef void ( * PFNGLMULTITEXCOORD4SVPROC) (GLenum target, const GLshort *v);
+typedef void ( * PFNGLLOADTRANSPOSEMATRIXFPROC) (const GLfloat *m);
+typedef void ( * PFNGLLOADTRANSPOSEMATRIXDPROC) (const GLdouble *m);
+typedef void ( * PFNGLMULTTRANSPOSEMATRIXFPROC) (const GLfloat *m);
+typedef void ( * PFNGLMULTTRANSPOSEMATRIXDPROC) (const GLdouble *m);
+
+
+
+
+
+__attribute__((visibility("default"))) void glBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
+__attribute__((visibility("default"))) void glMultiDrawArrays (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
+__attribute__((visibility("default"))) void glMultiDrawElements (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
+__attribute__((visibility("default"))) void glPointParameterf (GLenum pname, GLfloat param);
+__attribute__((visibility("default"))) void glPointParameterfv (GLenum pname, const GLfloat *params);
+__attribute__((visibility("default"))) void glPointParameteri (GLenum pname, GLint param);
+__attribute__((visibility("default"))) void glPointParameteriv (GLenum pname, const GLint *params);
+
+typedef void ( * PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
+typedef void ( * PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
+typedef void ( * PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
+typedef void ( * PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param);
+typedef void ( * PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params);
+typedef void ( * PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param);
+typedef void ( * PFNGLPOINTPARAMETERIVPROC) (GLenum pname, const GLint *params);
+
+
+
+
+
+__attribute__((visibility("default"))) void glFogCoordf (GLfloat coord);
+__attribute__((visibility("default"))) void glFogCoordfv (const GLfloat *coord);
+__attribute__((visibility("default"))) void glFogCoordd (GLdouble coord);
+__attribute__((visibility("default"))) void glFogCoorddv (const GLdouble *coord);
+__attribute__((visibility("default"))) void glFogCoordPointer (GLenum type, GLsizei stride, const GLvoid *pointer);
+__attribute__((visibility("default"))) void glSecondaryColor3b (GLbyte red, GLbyte green, GLbyte blue);
+__attribute__((visibility("default"))) void glSecondaryColor3bv (const GLbyte *v);
+__attribute__((visibility("default"))) void glSecondaryColor3d (GLdouble red, GLdouble green, GLdouble blue);
+__attribute__((visibility("default"))) void glSecondaryColor3dv (const GLdouble *v);
+__attribute__((visibility("default"))) void glSecondaryColor3f (GLfloat red, GLfloat green, GLfloat blue);
+__attribute__((visibility("default"))) void glSecondaryColor3fv (const GLfloat *v);
+__attribute__((visibility("default"))) void glSecondaryColor3i (GLint red, GLint green, GLint blue);
+__attribute__((visibility("default"))) void glSecondaryColor3iv (const GLint *v);
+__attribute__((visibility("default"))) void glSecondaryColor3s (GLshort red, GLshort green, GLshort blue);
+__attribute__((visibility("default"))) void glSecondaryColor3sv (const GLshort *v);
+__attribute__((visibility("default"))) void glSecondaryColor3ub (GLubyte red, GLubyte green, GLubyte blue);
+__attribute__((visibility("default"))) void glSecondaryColor3ubv (const GLubyte *v);
+__attribute__((visibility("default"))) void glSecondaryColor3ui (GLuint red, GLuint green, GLuint blue);
+__attribute__((visibility("default"))) void glSecondaryColor3uiv (const GLuint *v);
+__attribute__((visibility("default"))) void glSecondaryColor3us (GLushort red, GLushort green, GLushort blue);
+__attribute__((visibility("default"))) void glSecondaryColor3usv (const GLushort *v);
+__attribute__((visibility("default"))) void glSecondaryColorPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+__attribute__((visibility("default"))) void glWindowPos2d (GLdouble x, GLdouble y);
+__attribute__((visibility("default"))) void glWindowPos2dv (const GLdouble *v);
+__attribute__((visibility("default"))) void glWindowPos2f (GLfloat x, GLfloat y);
+__attribute__((visibility("default"))) void glWindowPos2fv (const GLfloat *v);
+__attribute__((visibility("default"))) void glWindowPos2i (GLint x, GLint y);
+__attribute__((visibility("default"))) void glWindowPos2iv (const GLint *v);
+__attribute__((visibility("default"))) void glWindowPos2s (GLshort x, GLshort y);
+__attribute__((visibility("default"))) void glWindowPos2sv (const GLshort *v);
+__attribute__((visibility("default"))) void glWindowPos3d (GLdouble x, GLdouble y, GLdouble z);
+__attribute__((visibility("default"))) void glWindowPos3dv (const GLdouble *v);
+__attribute__((visibility("default"))) void glWindowPos3f (GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glWindowPos3fv (const GLfloat *v);
+__attribute__((visibility("default"))) void glWindowPos3i (GLint x, GLint y, GLint z);
+__attribute__((visibility("default"))) void glWindowPos3iv (const GLint *v);
+__attribute__((visibility("default"))) void glWindowPos3s (GLshort x, GLshort y, GLshort z);
+__attribute__((visibility("default"))) void glWindowPos3sv (const GLshort *v);
+
+typedef void ( * PFNGLFOGCOORDFPROC) (GLfloat coord);
+typedef void ( * PFNGLFOGCOORDFVPROC) (const GLfloat *coord);
+typedef void ( * PFNGLFOGCOORDDPROC) (GLdouble coord);
+typedef void ( * PFNGLFOGCOORDDVPROC) (const GLdouble *coord);
+typedef void ( * PFNGLFOGCOORDPOINTERPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void ( * PFNGLSECONDARYCOLOR3BPROC) (GLbyte red, GLbyte green, GLbyte blue);
+typedef void ( * PFNGLSECONDARYCOLOR3BVPROC) (const GLbyte *v);
+typedef void ( * PFNGLSECONDARYCOLOR3DPROC) (GLdouble red, GLdouble green, GLdouble blue);
+typedef void ( * PFNGLSECONDARYCOLOR3DVPROC) (const GLdouble *v);
+typedef void ( * PFNGLSECONDARYCOLOR3FPROC) (GLfloat red, GLfloat green, GLfloat blue);
+typedef void ( * PFNGLSECONDARYCOLOR3FVPROC) (const GLfloat *v);
+typedef void ( * PFNGLSECONDARYCOLOR3IPROC) (GLint red, GLint green, GLint blue);
+typedef void ( * PFNGLSECONDARYCOLOR3IVPROC) (const GLint *v);
+typedef void ( * PFNGLSECONDARYCOLOR3SPROC) (GLshort red, GLshort green, GLshort blue);
+typedef void ( * PFNGLSECONDARYCOLOR3SVPROC) (const GLshort *v);
+typedef void ( * PFNGLSECONDARYCOLOR3UBPROC) (GLubyte red, GLubyte green, GLubyte blue);
+typedef void ( * PFNGLSECONDARYCOLOR3UBVPROC) (const GLubyte *v);
+typedef void ( * PFNGLSECONDARYCOLOR3UIPROC) (GLuint red, GLuint green, GLuint blue);
+typedef void ( * PFNGLSECONDARYCOLOR3UIVPROC) (const GLuint *v);
+typedef void ( * PFNGLSECONDARYCOLOR3USPROC) (GLushort red, GLushort green, GLushort blue);
+typedef void ( * PFNGLSECONDARYCOLOR3USVPROC) (const GLushort *v);
+typedef void ( * PFNGLSECONDARYCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void ( * PFNGLWINDOWPOS2DPROC) (GLdouble x, GLdouble y);
+typedef void ( * PFNGLWINDOWPOS2DVPROC) (const GLdouble *v);
+typedef void ( * PFNGLWINDOWPOS2FPROC) (GLfloat x, GLfloat y);
+typedef void ( * PFNGLWINDOWPOS2FVPROC) (const GLfloat *v);
+typedef void ( * PFNGLWINDOWPOS2IPROC) (GLint x, GLint y);
+typedef void ( * PFNGLWINDOWPOS2IVPROC) (const GLint *v);
+typedef void ( * PFNGLWINDOWPOS2SPROC) (GLshort x, GLshort y);
+typedef void ( * PFNGLWINDOWPOS2SVPROC) (const GLshort *v);
+typedef void ( * PFNGLWINDOWPOS3DPROC) (GLdouble x, GLdouble y, GLdouble z);
+typedef void ( * PFNGLWINDOWPOS3DVPROC) (const GLdouble *v);
+typedef void ( * PFNGLWINDOWPOS3FPROC) (GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLWINDOWPOS3FVPROC) (const GLfloat *v);
+typedef void ( * PFNGLWINDOWPOS3IPROC) (GLint x, GLint y, GLint z);
+typedef void ( * PFNGLWINDOWPOS3IVPROC) (const GLint *v);
+typedef void ( * PFNGLWINDOWPOS3SPROC) (GLshort x, GLshort y, GLshort z);
+typedef void ( * PFNGLWINDOWPOS3SVPROC) (const GLshort *v);
+
+
+
+
+
+__attribute__((visibility("default"))) void glGenQueries (GLsizei n, GLuint *ids);
+__attribute__((visibility("default"))) void glDeleteQueries (GLsizei n, const GLuint *ids);
+__attribute__((visibility("default"))) GLboolean glIsQuery (GLuint id);
+__attribute__((visibility("default"))) void glBeginQuery (GLenum target, GLuint id);
+__attribute__((visibility("default"))) void glEndQuery (GLenum target);
+__attribute__((visibility("default"))) void glGetQueryiv (GLenum target, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetQueryObjectiv (GLuint id, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetQueryObjectuiv (GLuint id, GLenum pname, GLuint *params);
+__attribute__((visibility("default"))) void glBindBuffer (GLenum target, GLuint buffer);
+__attribute__((visibility("default"))) void glDeleteBuffers (GLsizei n, const GLuint *buffers);
+__attribute__((visibility("default"))) void glGenBuffers (GLsizei n, GLuint *buffers);
+__attribute__((visibility("default"))) GLboolean glIsBuffer (GLuint buffer);
+__attribute__((visibility("default"))) void glBufferData (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
+__attribute__((visibility("default"))) void glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
+__attribute__((visibility("default"))) void glGetBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
+__attribute__((visibility("default"))) GLvoid* glMapBuffer (GLenum target, GLenum access);
+__attribute__((visibility("default"))) GLboolean glUnmapBuffer (GLenum target);
+__attribute__((visibility("default"))) void glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetBufferPointerv (GLenum target, GLenum pname, GLvoid* *params);
+
+typedef void ( * PFNGLGENQUERIESPROC) (GLsizei n, GLuint *ids);
+typedef void ( * PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint *ids);
+typedef GLboolean ( * PFNGLISQUERYPROC) (GLuint id);
+typedef void ( * PFNGLBEGINQUERYPROC) (GLenum target, GLuint id);
+typedef void ( * PFNGLENDQUERYPROC) (GLenum target);
+typedef void ( * PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint *params);
+typedef void ( * PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
+typedef void ( * PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);
+typedef void ( * PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);
+typedef GLboolean ( * PFNGLISBUFFERPROC) (GLuint buffer);
+typedef void ( * PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
+typedef void ( * PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
+typedef void ( * PFNGLGETBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
+typedef GLvoid* ( * PFNGLMAPBUFFERPROC) (GLenum target, GLenum access);
+typedef GLboolean ( * PFNGLUNMAPBUFFERPROC) (GLenum target);
+typedef void ( * PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, GLvoid* *params);
+
+
+
+
+
+__attribute__((visibility("default"))) void glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);
+__attribute__((visibility("default"))) void glDrawBuffers (GLsizei n, const GLenum *bufs);
+__attribute__((visibility("default"))) void glStencilOpSeparate (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
+__attribute__((visibility("default"))) void glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
+__attribute__((visibility("default"))) void glStencilMaskSeparate (GLenum face, GLuint mask);
+__attribute__((visibility("default"))) void glAttachShader (GLuint program, GLuint shader);
+__attribute__((visibility("default"))) void glBindAttribLocation (GLuint program, GLuint index, const GLchar *name);
+__attribute__((visibility("default"))) void glCompileShader (GLuint shader);
+__attribute__((visibility("default"))) GLuint glCreateProgram (void);
+__attribute__((visibility("default"))) GLuint glCreateShader (GLenum type);
+__attribute__((visibility("default"))) void glDeleteProgram (GLuint program);
+__attribute__((visibility("default"))) void glDeleteShader (GLuint shader);
+__attribute__((visibility("default"))) void glDetachShader (GLuint program, GLuint shader);
+__attribute__((visibility("default"))) void glDisableVertexAttribArray (GLuint index);
+__attribute__((visibility("default"))) void glEnableVertexAttribArray (GLuint index);
+__attribute__((visibility("default"))) void glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
+__attribute__((visibility("default"))) void glGetActiveUniform (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
+__attribute__((visibility("default"))) void glGetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj);
+__attribute__((visibility("default"))) GLint glGetAttribLocation (GLuint program, const GLchar *name);
+__attribute__((visibility("default"))) void glGetProgramiv (GLuint program, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
+__attribute__((visibility("default"))) void glGetShaderiv (GLuint shader, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
+__attribute__((visibility("default"))) void glGetShaderSource (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
+__attribute__((visibility("default"))) GLint glGetUniformLocation (GLuint program, const GLchar *name);
+__attribute__((visibility("default"))) void glGetUniformfv (GLuint program, GLint location, GLfloat *params);
+__attribute__((visibility("default"))) void glGetUniformiv (GLuint program, GLint location, GLint *params);
+__attribute__((visibility("default"))) void glGetVertexAttribdv (GLuint index, GLenum pname, GLdouble *params);
+__attribute__((visibility("default"))) void glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetVertexAttribiv (GLuint index, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetVertexAttribPointerv (GLuint index, GLenum pname, GLvoid* *pointer);
+__attribute__((visibility("default"))) GLboolean glIsProgram (GLuint program);
+__attribute__((visibility("default"))) GLboolean glIsShader (GLuint shader);
+__attribute__((visibility("default"))) void glLinkProgram (GLuint program);
+__attribute__((visibility("default"))) void glShaderSource (GLuint shader, GLsizei count, const GLchar* *string, const GLint *length);
+__attribute__((visibility("default"))) void glUseProgram (GLuint program);
+__attribute__((visibility("default"))) void glUniform1f (GLint location, GLfloat v0);
+__attribute__((visibility("default"))) void glUniform2f (GLint location, GLfloat v0, GLfloat v1);
+__attribute__((visibility("default"))) void glUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+__attribute__((visibility("default"))) void glUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+__attribute__((visibility("default"))) void glUniform1i (GLint location, GLint v0);
+__attribute__((visibility("default"))) void glUniform2i (GLint location, GLint v0, GLint v1);
+__attribute__((visibility("default"))) void glUniform3i (GLint location, GLint v0, GLint v1, GLint v2);
+__attribute__((visibility("default"))) void glUniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+__attribute__((visibility("default"))) void glUniform1fv (GLint location, GLsizei count, const GLfloat *value);
+__attribute__((visibility("default"))) void glUniform2fv (GLint location, GLsizei count, const GLfloat *value);
+__attribute__((visibility("default"))) void glUniform3fv (GLint location, GLsizei count, const GLfloat *value);
+__attribute__((visibility("default"))) void glUniform4fv (GLint location, GLsizei count, const GLfloat *value);
+__attribute__((visibility("default"))) void glUniform1iv (GLint location, GLsizei count, const GLint *value);
+__attribute__((visibility("default"))) void glUniform2iv (GLint location, GLsizei count, const GLint *value);
+__attribute__((visibility("default"))) void glUniform3iv (GLint location, GLsizei count, const GLint *value);
+__attribute__((visibility("default"))) void glUniform4iv (GLint location, GLsizei count, const GLint *value);
+__attribute__((visibility("default"))) void glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glValidateProgram (GLuint program);
+__attribute__((visibility("default"))) void glVertexAttrib1d (GLuint index, GLdouble x);
+__attribute__((visibility("default"))) void glVertexAttrib1dv (GLuint index, const GLdouble *v);
+__attribute__((visibility("default"))) void glVertexAttrib1f (GLuint index, GLfloat x);
+__attribute__((visibility("default"))) void glVertexAttrib1fv (GLuint index, const GLfloat *v);
+__attribute__((visibility("default"))) void glVertexAttrib1s (GLuint index, GLshort x);
+__attribute__((visibility("default"))) void glVertexAttrib1sv (GLuint index, const GLshort *v);
+__attribute__((visibility("default"))) void glVertexAttrib2d (GLuint index, GLdouble x, GLdouble y);
+__attribute__((visibility("default"))) void glVertexAttrib2dv (GLuint index, const GLdouble *v);
+__attribute__((visibility("default"))) void glVertexAttrib2f (GLuint index, GLfloat x, GLfloat y);
+__attribute__((visibility("default"))) void glVertexAttrib2fv (GLuint index, const GLfloat *v);
+__attribute__((visibility("default"))) void glVertexAttrib2s (GLuint index, GLshort x, GLshort y);
+__attribute__((visibility("default"))) void glVertexAttrib2sv (GLuint index, const GLshort *v);
+__attribute__((visibility("default"))) void glVertexAttrib3d (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+__attribute__((visibility("default"))) void glVertexAttrib3dv (GLuint index, const GLdouble *v);
+__attribute__((visibility("default"))) void glVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glVertexAttrib3fv (GLuint index, const GLfloat *v);
+__attribute__((visibility("default"))) void glVertexAttrib3s (GLuint index, GLshort x, GLshort y, GLshort z);
+__attribute__((visibility("default"))) void glVertexAttrib3sv (GLuint index, const GLshort *v);
+__attribute__((visibility("default"))) void glVertexAttrib4Nbv (GLuint index, const GLbyte *v);
+__attribute__((visibility("default"))) void glVertexAttrib4Niv (GLuint index, const GLint *v);
+__attribute__((visibility("default"))) void glVertexAttrib4Nsv (GLuint index, const GLshort *v);
+__attribute__((visibility("default"))) void glVertexAttrib4Nub (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
+__attribute__((visibility("default"))) void glVertexAttrib4Nubv (GLuint index, const GLubyte *v);
+__attribute__((visibility("default"))) void glVertexAttrib4Nuiv (GLuint index, const GLuint *v);
+__attribute__((visibility("default"))) void glVertexAttrib4Nusv (GLuint index, const GLushort *v);
+__attribute__((visibility("default"))) void glVertexAttrib4bv (GLuint index, const GLbyte *v);
+__attribute__((visibility("default"))) void glVertexAttrib4d (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+__attribute__((visibility("default"))) void glVertexAttrib4dv (GLuint index, const GLdouble *v);
+__attribute__((visibility("default"))) void glVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+__attribute__((visibility("default"))) void glVertexAttrib4fv (GLuint index, const GLfloat *v);
+__attribute__((visibility("default"))) void glVertexAttrib4iv (GLuint index, const GLint *v);
+__attribute__((visibility("default"))) void glVertexAttrib4s (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
+__attribute__((visibility("default"))) void glVertexAttrib4sv (GLuint index, const GLshort *v);
+__attribute__((visibility("default"))) void glVertexAttrib4ubv (GLuint index, const GLubyte *v);
+__attribute__((visibility("default"))) void glVertexAttrib4uiv (GLuint index, const GLuint *v);
+__attribute__((visibility("default"))) void glVertexAttrib4usv (GLuint index, const GLushort *v);
+__attribute__((visibility("default"))) void glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
+
+typedef void ( * PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha);
+typedef void ( * PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum *bufs);
+typedef void ( * PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
+typedef void ( * PFNGLSTENCILFUNCSEPARATEPROC) (GLenum face, GLenum func, GLint ref, GLuint mask);
+typedef void ( * PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask);
+typedef void ( * PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
+typedef void ( * PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name);
+typedef void ( * PFNGLCOMPILESHADERPROC) (GLuint shader);
+typedef GLuint ( * PFNGLCREATEPROGRAMPROC) (void);
+typedef GLuint ( * PFNGLCREATESHADERPROC) (GLenum type);
+typedef void ( * PFNGLDELETEPROGRAMPROC) (GLuint program);
+typedef void ( * PFNGLDELETESHADERPROC) (GLuint shader);
+typedef void ( * PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader);
+typedef void ( * PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index);
+typedef void ( * PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index);
+typedef void ( * PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
+typedef void ( * PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
+typedef void ( * PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj);
+typedef GLint ( * PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name);
+typedef void ( * PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
+typedef void ( * PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
+typedef void ( * PFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
+typedef GLint ( * PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name);
+typedef void ( * PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params);
+typedef void ( * PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params);
+typedef void ( * PFNGLGETVERTEXATTRIBDVPROC) (GLuint index, GLenum pname, GLdouble *params);
+typedef void ( * PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
+typedef GLboolean ( * PFNGLISPROGRAMPROC) (GLuint program);
+typedef GLboolean ( * PFNGLISSHADERPROC) (GLuint shader);
+typedef void ( * PFNGLLINKPROGRAMPROC) (GLuint program);
+typedef void ( * PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar* *string, const GLint *length);
+typedef void ( * PFNGLUSEPROGRAMPROC) (GLuint program);
+typedef void ( * PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0);
+typedef void ( * PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);
+typedef void ( * PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+typedef void ( * PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+typedef void ( * PFNGLUNIFORM1IPROC) (GLint location, GLint v0);
+typedef void ( * PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);
+typedef void ( * PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);
+typedef void ( * PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+typedef void ( * PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value);
+typedef void ( * PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value);
+typedef void ( * PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value);
+typedef void ( * PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value);
+typedef void ( * PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value);
+typedef void ( * PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value);
+typedef void ( * PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value);
+typedef void ( * PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value);
+typedef void ( * PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLVALIDATEPROGRAMPROC) (GLuint program);
+typedef void ( * PFNGLVERTEXATTRIB1DPROC) (GLuint index, GLdouble x);
+typedef void ( * PFNGLVERTEXATTRIB1DVPROC) (GLuint index, const GLdouble *v);
+typedef void ( * PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);
+typedef void ( * PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v);
+typedef void ( * PFNGLVERTEXATTRIB1SPROC) (GLuint index, GLshort x);
+typedef void ( * PFNGLVERTEXATTRIB1SVPROC) (GLuint index, const GLshort *v);
+typedef void ( * PFNGLVERTEXATTRIB2DPROC) (GLuint index, GLdouble x, GLdouble y);
+typedef void ( * PFNGLVERTEXATTRIB2DVPROC) (GLuint index, const GLdouble *v);
+typedef void ( * PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);
+typedef void ( * PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v);
+typedef void ( * PFNGLVERTEXATTRIB2SPROC) (GLuint index, GLshort x, GLshort y);
+typedef void ( * PFNGLVERTEXATTRIB2SVPROC) (GLuint index, const GLshort *v);
+typedef void ( * PFNGLVERTEXATTRIB3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+typedef void ( * PFNGLVERTEXATTRIB3DVPROC) (GLuint index, const GLdouble *v);
+typedef void ( * PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v);
+typedef void ( * PFNGLVERTEXATTRIB3SPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
+typedef void ( * PFNGLVERTEXATTRIB3SVPROC) (GLuint index, const GLshort *v);
+typedef void ( * PFNGLVERTEXATTRIB4NBVPROC) (GLuint index, const GLbyte *v);
+typedef void ( * PFNGLVERTEXATTRIB4NIVPROC) (GLuint index, const GLint *v);
+typedef void ( * PFNGLVERTEXATTRIB4NSVPROC) (GLuint index, const GLshort *v);
+typedef void ( * PFNGLVERTEXATTRIB4NUBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
+typedef void ( * PFNGLVERTEXATTRIB4NUBVPROC) (GLuint index, const GLubyte *v);
+typedef void ( * PFNGLVERTEXATTRIB4NUIVPROC) (GLuint index, const GLuint *v);
+typedef void ( * PFNGLVERTEXATTRIB4NUSVPROC) (GLuint index, const GLushort *v);
+typedef void ( * PFNGLVERTEXATTRIB4BVPROC) (GLuint index, const GLbyte *v);
+typedef void ( * PFNGLVERTEXATTRIB4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void ( * PFNGLVERTEXATTRIB4DVPROC) (GLuint index, const GLdouble *v);
+typedef void ( * PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void ( * PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v);
+typedef void ( * PFNGLVERTEXATTRIB4IVPROC) (GLuint index, const GLint *v);
+typedef void ( * PFNGLVERTEXATTRIB4SPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
+typedef void ( * PFNGLVERTEXATTRIB4SVPROC) (GLuint index, const GLshort *v);
+typedef void ( * PFNGLVERTEXATTRIB4UBVPROC) (GLuint index, const GLubyte *v);
+typedef void ( * PFNGLVERTEXATTRIB4UIVPROC) (GLuint index, const GLuint *v);
+typedef void ( * PFNGLVERTEXATTRIB4USVPROC) (GLuint index, const GLushort *v);
+typedef void ( * PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
+
+
+
+
+
+__attribute__((visibility("default"))) void glUniformMatrix2x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glUniformMatrix3x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glUniformMatrix2x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glUniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glUniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glUniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+
+typedef void ( * PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+# 5719 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glColorMaski (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
+__attribute__((visibility("default"))) void glGetBooleani_v (GLenum target, GLuint index, GLboolean *data);
+__attribute__((visibility("default"))) void glGetIntegeri_v (GLenum target, GLuint index, GLint *data);
+__attribute__((visibility("default"))) void glEnablei (GLenum target, GLuint index);
+__attribute__((visibility("default"))) void glDisablei (GLenum target, GLuint index);
+__attribute__((visibility("default"))) GLboolean glIsEnabledi (GLenum target, GLuint index);
+__attribute__((visibility("default"))) void glBeginTransformFeedback (GLenum primitiveMode);
+__attribute__((visibility("default"))) void glEndTransformFeedback (void);
+__attribute__((visibility("default"))) void glBindBufferRange (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
+__attribute__((visibility("default"))) void glBindBufferBase (GLenum target, GLuint index, GLuint buffer);
+__attribute__((visibility("default"))) void glTransformFeedbackVaryings (GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode);
+__attribute__((visibility("default"))) void glGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
+__attribute__((visibility("default"))) void glClampColor (GLenum target, GLenum clamp);
+__attribute__((visibility("default"))) void glBeginConditionalRender (GLuint id, GLenum mode);
+__attribute__((visibility("default"))) void glEndConditionalRender (void);
+__attribute__((visibility("default"))) void glVertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+__attribute__((visibility("default"))) void glGetVertexAttribIiv (GLuint index, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetVertexAttribIuiv (GLuint index, GLenum pname, GLuint *params);
+__attribute__((visibility("default"))) void glVertexAttribI1i (GLuint index, GLint x);
+__attribute__((visibility("default"))) void glVertexAttribI2i (GLuint index, GLint x, GLint y);
+__attribute__((visibility("default"))) void glVertexAttribI3i (GLuint index, GLint x, GLint y, GLint z);
+__attribute__((visibility("default"))) void glVertexAttribI4i (GLuint index, GLint x, GLint y, GLint z, GLint w);
+__attribute__((visibility("default"))) void glVertexAttribI1ui (GLuint index, GLuint x);
+__attribute__((visibility("default"))) void glVertexAttribI2ui (GLuint index, GLuint x, GLuint y);
+__attribute__((visibility("default"))) void glVertexAttribI3ui (GLuint index, GLuint x, GLuint y, GLuint z);
+__attribute__((visibility("default"))) void glVertexAttribI4ui (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+__attribute__((visibility("default"))) void glVertexAttribI1iv (GLuint index, const GLint *v);
+__attribute__((visibility("default"))) void glVertexAttribI2iv (GLuint index, const GLint *v);
+__attribute__((visibility("default"))) void glVertexAttribI3iv (GLuint index, const GLint *v);
+__attribute__((visibility("default"))) void glVertexAttribI4iv (GLuint index, const GLint *v);
+__attribute__((visibility("default"))) void glVertexAttribI1uiv (GLuint index, const GLuint *v);
+__attribute__((visibility("default"))) void glVertexAttribI2uiv (GLuint index, const GLuint *v);
+__attribute__((visibility("default"))) void glVertexAttribI3uiv (GLuint index, const GLuint *v);
+__attribute__((visibility("default"))) void glVertexAttribI4uiv (GLuint index, const GLuint *v);
+__attribute__((visibility("default"))) void glVertexAttribI4bv (GLuint index, const GLbyte *v);
+__attribute__((visibility("default"))) void glVertexAttribI4sv (GLuint index, const GLshort *v);
+__attribute__((visibility("default"))) void glVertexAttribI4ubv (GLuint index, const GLubyte *v);
+__attribute__((visibility("default"))) void glVertexAttribI4usv (GLuint index, const GLushort *v);
+__attribute__((visibility("default"))) void glGetUniformuiv (GLuint program, GLint location, GLuint *params);
+__attribute__((visibility("default"))) void glBindFragDataLocation (GLuint program, GLuint color, const GLchar *name);
+__attribute__((visibility("default"))) GLint glGetFragDataLocation (GLuint program, const GLchar *name);
+__attribute__((visibility("default"))) void glUniform1ui (GLint location, GLuint v0);
+__attribute__((visibility("default"))) void glUniform2ui (GLint location, GLuint v0, GLuint v1);
+__attribute__((visibility("default"))) void glUniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2);
+__attribute__((visibility("default"))) void glUniform4ui (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+__attribute__((visibility("default"))) void glUniform1uiv (GLint location, GLsizei count, const GLuint *value);
+__attribute__((visibility("default"))) void glUniform2uiv (GLint location, GLsizei count, const GLuint *value);
+__attribute__((visibility("default"))) void glUniform3uiv (GLint location, GLsizei count, const GLuint *value);
+__attribute__((visibility("default"))) void glUniform4uiv (GLint location, GLsizei count, const GLuint *value);
+__attribute__((visibility("default"))) void glTexParameterIiv (GLenum target, GLenum pname, const GLint *params);
+__attribute__((visibility("default"))) void glTexParameterIuiv (GLenum target, GLenum pname, const GLuint *params);
+__attribute__((visibility("default"))) void glGetTexParameterIiv (GLenum target, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetTexParameterIuiv (GLenum target, GLenum pname, GLuint *params);
+__attribute__((visibility("default"))) void glClearBufferiv (GLenum buffer, GLint drawbuffer, const GLint *value);
+__attribute__((visibility("default"))) void glClearBufferuiv (GLenum buffer, GLint drawbuffer, const GLuint *value);
+__attribute__((visibility("default"))) void glClearBufferfv (GLenum buffer, GLint drawbuffer, const GLfloat *value);
+__attribute__((visibility("default"))) void glClearBufferfi (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
+__attribute__((visibility("default"))) const GLubyte * glGetStringi (GLenum name, GLuint index);
+
+typedef void ( * PFNGLCOLORMASKIPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
+typedef void ( * PFNGLGETBOOLEANI_VPROC) (GLenum target, GLuint index, GLboolean *data);
+typedef void ( * PFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint *data);
+typedef void ( * PFNGLENABLEIPROC) (GLenum target, GLuint index);
+typedef void ( * PFNGLDISABLEIPROC) (GLenum target, GLuint index);
+typedef GLboolean ( * PFNGLISENABLEDIPROC) (GLenum target, GLuint index);
+typedef void ( * PFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum primitiveMode);
+typedef void ( * PFNGLENDTRANSFORMFEEDBACKPROC) (void);
+typedef void ( * PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
+typedef void ( * PFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer);
+typedef void ( * PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode);
+typedef void ( * PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
+typedef void ( * PFNGLCLAMPCOLORPROC) (GLenum target, GLenum clamp);
+typedef void ( * PFNGLBEGINCONDITIONALRENDERPROC) (GLuint id, GLenum mode);
+typedef void ( * PFNGLENDCONDITIONALRENDERPROC) (void);
+typedef void ( * PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void ( * PFNGLGETVERTEXATTRIBIIVPROC) (GLuint index, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint index, GLenum pname, GLuint *params);
+typedef void ( * PFNGLVERTEXATTRIBI1IPROC) (GLuint index, GLint x);
+typedef void ( * PFNGLVERTEXATTRIBI2IPROC) (GLuint index, GLint x, GLint y);
+typedef void ( * PFNGLVERTEXATTRIBI3IPROC) (GLuint index, GLint x, GLint y, GLint z);
+typedef void ( * PFNGLVERTEXATTRIBI4IPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w);
+typedef void ( * PFNGLVERTEXATTRIBI1UIPROC) (GLuint index, GLuint x);
+typedef void ( * PFNGLVERTEXATTRIBI2UIPROC) (GLuint index, GLuint x, GLuint y);
+typedef void ( * PFNGLVERTEXATTRIBI3UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z);
+typedef void ( * PFNGLVERTEXATTRIBI4UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+typedef void ( * PFNGLVERTEXATTRIBI1IVPROC) (GLuint index, const GLint *v);
+typedef void ( * PFNGLVERTEXATTRIBI2IVPROC) (GLuint index, const GLint *v);
+typedef void ( * PFNGLVERTEXATTRIBI3IVPROC) (GLuint index, const GLint *v);
+typedef void ( * PFNGLVERTEXATTRIBI4IVPROC) (GLuint index, const GLint *v);
+typedef void ( * PFNGLVERTEXATTRIBI1UIVPROC) (GLuint index, const GLuint *v);
+typedef void ( * PFNGLVERTEXATTRIBI2UIVPROC) (GLuint index, const GLuint *v);
+typedef void ( * PFNGLVERTEXATTRIBI3UIVPROC) (GLuint index, const GLuint *v);
+typedef void ( * PFNGLVERTEXATTRIBI4UIVPROC) (GLuint index, const GLuint *v);
+typedef void ( * PFNGLVERTEXATTRIBI4BVPROC) (GLuint index, const GLbyte *v);
+typedef void ( * PFNGLVERTEXATTRIBI4SVPROC) (GLuint index, const GLshort *v);
+typedef void ( * PFNGLVERTEXATTRIBI4UBVPROC) (GLuint index, const GLubyte *v);
+typedef void ( * PFNGLVERTEXATTRIBI4USVPROC) (GLuint index, const GLushort *v);
+typedef void ( * PFNGLGETUNIFORMUIVPROC) (GLuint program, GLint location, GLuint *params);
+typedef void ( * PFNGLBINDFRAGDATALOCATIONPROC) (GLuint program, GLuint color, const GLchar *name);
+typedef GLint ( * PFNGLGETFRAGDATALOCATIONPROC) (GLuint program, const GLchar *name);
+typedef void ( * PFNGLUNIFORM1UIPROC) (GLint location, GLuint v0);
+typedef void ( * PFNGLUNIFORM2UIPROC) (GLint location, GLuint v0, GLuint v1);
+typedef void ( * PFNGLUNIFORM3UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2);
+typedef void ( * PFNGLUNIFORM4UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+typedef void ( * PFNGLUNIFORM1UIVPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void ( * PFNGLUNIFORM2UIVPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void ( * PFNGLUNIFORM3UIVPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void ( * PFNGLUNIFORM4UIVPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void ( * PFNGLTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, const GLint *params);
+typedef void ( * PFNGLTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, const GLuint *params);
+typedef void ( * PFNGLGETTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, GLuint *params);
+typedef void ( * PFNGLCLEARBUFFERIVPROC) (GLenum buffer, GLint drawbuffer, const GLint *value);
+typedef void ( * PFNGLCLEARBUFFERUIVPROC) (GLenum buffer, GLint drawbuffer, const GLuint *value);
+typedef void ( * PFNGLCLEARBUFFERFVPROC) (GLenum buffer, GLint drawbuffer, const GLfloat *value);
+typedef void ( * PFNGLCLEARBUFFERFIPROC) (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
+typedef const GLubyte * ( * PFNGLGETSTRINGIPROC) (GLenum name, GLuint index);
+# 5844 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glDrawArraysInstanced (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
+__attribute__((visibility("default"))) void glDrawElementsInstanced (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
+__attribute__((visibility("default"))) void glTexBuffer (GLenum target, GLenum internalformat, GLuint buffer);
+__attribute__((visibility("default"))) void glPrimitiveRestartIndex (GLuint index);
+
+typedef void ( * PFNGLDRAWARRAYSINSTANCEDPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
+typedef void ( * PFNGLDRAWELEMENTSINSTANCEDPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
+typedef void ( * PFNGLTEXBUFFERPROC) (GLenum target, GLenum internalformat, GLuint buffer);
+typedef void ( * PFNGLPRIMITIVERESTARTINDEXPROC) (GLuint index);
+# 5863 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glGetInteger64i_v (GLenum target, GLuint index, GLint64 *data);
+__attribute__((visibility("default"))) void glGetBufferParameteri64v (GLenum target, GLenum pname, GLint64 *params);
+__attribute__((visibility("default"))) void glFramebufferTexture (GLenum target, GLenum attachment, GLuint texture, GLint level);
+
+typedef void ( * PFNGLGETINTEGER64I_VPROC) (GLenum target, GLuint index, GLint64 *data);
+typedef void ( * PFNGLGETBUFFERPARAMETERI64VPROC) (GLenum target, GLenum pname, GLint64 *params);
+typedef void ( * PFNGLFRAMEBUFFERTEXTUREPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
+# 5885 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glVertexAttribDivisor (GLuint index, GLuint divisor);
+
+typedef void ( * PFNGLVERTEXATTRIBDIVISORPROC) (GLuint index, GLuint divisor);
+# 5905 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glMinSampleShading (GLclampf value);
+__attribute__((visibility("default"))) void glBlendEquationi (GLuint buf, GLenum mode);
+__attribute__((visibility("default"))) void glBlendEquationSeparatei (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
+__attribute__((visibility("default"))) void glBlendFunci (GLuint buf, GLenum src, GLenum dst);
+__attribute__((visibility("default"))) void glBlendFuncSeparatei (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
+
+typedef void ( * PFNGLMINSAMPLESHADINGPROC) (GLclampf value);
+typedef void ( * PFNGLBLENDEQUATIONIPROC) (GLuint buf, GLenum mode);
+typedef void ( * PFNGLBLENDEQUATIONSEPARATEIPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
+typedef void ( * PFNGLBLENDFUNCIPROC) (GLuint buf, GLenum src, GLenum dst);
+typedef void ( * PFNGLBLENDFUNCSEPARATEIPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
+# 6006 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glLoadTransposeMatrixfARB (const GLfloat *m);
+__attribute__((visibility("default"))) void glLoadTransposeMatrixdARB (const GLdouble *m);
+__attribute__((visibility("default"))) void glMultTransposeMatrixfARB (const GLfloat *m);
+__attribute__((visibility("default"))) void glMultTransposeMatrixdARB (const GLdouble *m);
+
+typedef void ( * PFNGLLOADTRANSPOSEMATRIXFARBPROC) (const GLfloat *m);
+typedef void ( * PFNGLLOADTRANSPOSEMATRIXDARBPROC) (const GLdouble *m);
+typedef void ( * PFNGLMULTTRANSPOSEMATRIXFARBPROC) (const GLfloat *m);
+typedef void ( * PFNGLMULTTRANSPOSEMATRIXDARBPROC) (const GLdouble *m);
+
+
+
+
+
+__attribute__((visibility("default"))) void glSampleCoverageARB (GLclampf value, GLboolean invert);
+
+typedef void ( * PFNGLSAMPLECOVERAGEARBPROC) (GLclampf value, GLboolean invert);
+# 6036 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glCompressedTexImage3DARB (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
+__attribute__((visibility("default"))) void glCompressedTexImage2DARB (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
+__attribute__((visibility("default"))) void glCompressedTexImage1DARB (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
+__attribute__((visibility("default"))) void glCompressedTexSubImage3DARB (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
+__attribute__((visibility("default"))) void glCompressedTexSubImage2DARB (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
+__attribute__((visibility("default"))) void glCompressedTexSubImage1DARB (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
+__attribute__((visibility("default"))) void glGetCompressedTexImageARB (GLenum target, GLint level, GLvoid *img);
+
+typedef void ( * PFNGLCOMPRESSEDTEXIMAGE3DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
+typedef void ( * PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
+typedef void ( * PFNGLCOMPRESSEDTEXIMAGE1DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
+typedef void ( * PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
+typedef void ( * PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
+typedef void ( * PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
+typedef void ( * PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint level, GLvoid *img);
+# 6060 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glPointParameterfARB (GLenum pname, GLfloat param);
+__attribute__((visibility("default"))) void glPointParameterfvARB (GLenum pname, const GLfloat *params);
+
+typedef void ( * PFNGLPOINTPARAMETERFARBPROC) (GLenum pname, GLfloat param);
+typedef void ( * PFNGLPOINTPARAMETERFVARBPROC) (GLenum pname, const GLfloat *params);
+
+
+
+
+
+__attribute__((visibility("default"))) void glWeightbvARB (GLint size, const GLbyte *weights);
+__attribute__((visibility("default"))) void glWeightsvARB (GLint size, const GLshort *weights);
+__attribute__((visibility("default"))) void glWeightivARB (GLint size, const GLint *weights);
+__attribute__((visibility("default"))) void glWeightfvARB (GLint size, const GLfloat *weights);
+__attribute__((visibility("default"))) void glWeightdvARB (GLint size, const GLdouble *weights);
+__attribute__((visibility("default"))) void glWeightubvARB (GLint size, const GLubyte *weights);
+__attribute__((visibility("default"))) void glWeightusvARB (GLint size, const GLushort *weights);
+__attribute__((visibility("default"))) void glWeightuivARB (GLint size, const GLuint *weights);
+__attribute__((visibility("default"))) void glWeightPointerARB (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+__attribute__((visibility("default"))) void glVertexBlendARB (GLint count);
+
+typedef void ( * PFNGLWEIGHTBVARBPROC) (GLint size, const GLbyte *weights);
+typedef void ( * PFNGLWEIGHTSVARBPROC) (GLint size, const GLshort *weights);
+typedef void ( * PFNGLWEIGHTIVARBPROC) (GLint size, const GLint *weights);
+typedef void ( * PFNGLWEIGHTFVARBPROC) (GLint size, const GLfloat *weights);
+typedef void ( * PFNGLWEIGHTDVARBPROC) (GLint size, const GLdouble *weights);
+typedef void ( * PFNGLWEIGHTUBVARBPROC) (GLint size, const GLubyte *weights);
+typedef void ( * PFNGLWEIGHTUSVARBPROC) (GLint size, const GLushort *weights);
+typedef void ( * PFNGLWEIGHTUIVARBPROC) (GLint size, const GLuint *weights);
+typedef void ( * PFNGLWEIGHTPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void ( * PFNGLVERTEXBLENDARBPROC) (GLint count);
+
+
+
+
+
+__attribute__((visibility("default"))) void glCurrentPaletteMatrixARB (GLint index);
+__attribute__((visibility("default"))) void glMatrixIndexubvARB (GLint size, const GLubyte *indices);
+__attribute__((visibility("default"))) void glMatrixIndexusvARB (GLint size, const GLushort *indices);
+__attribute__((visibility("default"))) void glMatrixIndexuivARB (GLint size, const GLuint *indices);
+__attribute__((visibility("default"))) void glMatrixIndexPointerARB (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+
+typedef void ( * PFNGLCURRENTPALETTEMATRIXARBPROC) (GLint index);
+typedef void ( * PFNGLMATRIXINDEXUBVARBPROC) (GLint size, const GLubyte *indices);
+typedef void ( * PFNGLMATRIXINDEXUSVARBPROC) (GLint size, const GLushort *indices);
+typedef void ( * PFNGLMATRIXINDEXUIVARBPROC) (GLint size, const GLuint *indices);
+typedef void ( * PFNGLMATRIXINDEXPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+# 6140 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glWindowPos2dARB (GLdouble x, GLdouble y);
+__attribute__((visibility("default"))) void glWindowPos2dvARB (const GLdouble *v);
+__attribute__((visibility("default"))) void glWindowPos2fARB (GLfloat x, GLfloat y);
+__attribute__((visibility("default"))) void glWindowPos2fvARB (const GLfloat *v);
+__attribute__((visibility("default"))) void glWindowPos2iARB (GLint x, GLint y);
+__attribute__((visibility("default"))) void glWindowPos2ivARB (const GLint *v);
+__attribute__((visibility("default"))) void glWindowPos2sARB (GLshort x, GLshort y);
+__attribute__((visibility("default"))) void glWindowPos2svARB (const GLshort *v);
+__attribute__((visibility("default"))) void glWindowPos3dARB (GLdouble x, GLdouble y, GLdouble z);
+__attribute__((visibility("default"))) void glWindowPos3dvARB (const GLdouble *v);
+__attribute__((visibility("default"))) void glWindowPos3fARB (GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glWindowPos3fvARB (const GLfloat *v);
+__attribute__((visibility("default"))) void glWindowPos3iARB (GLint x, GLint y, GLint z);
+__attribute__((visibility("default"))) void glWindowPos3ivARB (const GLint *v);
+__attribute__((visibility("default"))) void glWindowPos3sARB (GLshort x, GLshort y, GLshort z);
+__attribute__((visibility("default"))) void glWindowPos3svARB (const GLshort *v);
+
+typedef void ( * PFNGLWINDOWPOS2DARBPROC) (GLdouble x, GLdouble y);
+typedef void ( * PFNGLWINDOWPOS2DVARBPROC) (const GLdouble *v);
+typedef void ( * PFNGLWINDOWPOS2FARBPROC) (GLfloat x, GLfloat y);
+typedef void ( * PFNGLWINDOWPOS2FVARBPROC) (const GLfloat *v);
+typedef void ( * PFNGLWINDOWPOS2IARBPROC) (GLint x, GLint y);
+typedef void ( * PFNGLWINDOWPOS2IVARBPROC) (const GLint *v);
+typedef void ( * PFNGLWINDOWPOS2SARBPROC) (GLshort x, GLshort y);
+typedef void ( * PFNGLWINDOWPOS2SVARBPROC) (const GLshort *v);
+typedef void ( * PFNGLWINDOWPOS3DARBPROC) (GLdouble x, GLdouble y, GLdouble z);
+typedef void ( * PFNGLWINDOWPOS3DVARBPROC) (const GLdouble *v);
+typedef void ( * PFNGLWINDOWPOS3FARBPROC) (GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLWINDOWPOS3FVARBPROC) (const GLfloat *v);
+typedef void ( * PFNGLWINDOWPOS3IARBPROC) (GLint x, GLint y, GLint z);
+typedef void ( * PFNGLWINDOWPOS3IVARBPROC) (const GLint *v);
+typedef void ( * PFNGLWINDOWPOS3SARBPROC) (GLshort x, GLshort y, GLshort z);
+typedef void ( * PFNGLWINDOWPOS3SVARBPROC) (const GLshort *v);
+
+
+
+
+
+__attribute__((visibility("default"))) void glVertexAttrib1dARB (GLuint index, GLdouble x);
+__attribute__((visibility("default"))) void glVertexAttrib1dvARB (GLuint index, const GLdouble *v);
+__attribute__((visibility("default"))) void glVertexAttrib1fARB (GLuint index, GLfloat x);
+__attribute__((visibility("default"))) void glVertexAttrib1fvARB (GLuint index, const GLfloat *v);
+__attribute__((visibility("default"))) void glVertexAttrib1sARB (GLuint index, GLshort x);
+__attribute__((visibility("default"))) void glVertexAttrib1svARB (GLuint index, const GLshort *v);
+__attribute__((visibility("default"))) void glVertexAttrib2dARB (GLuint index, GLdouble x, GLdouble y);
+__attribute__((visibility("default"))) void glVertexAttrib2dvARB (GLuint index, const GLdouble *v);
+__attribute__((visibility("default"))) void glVertexAttrib2fARB (GLuint index, GLfloat x, GLfloat y);
+__attribute__((visibility("default"))) void glVertexAttrib2fvARB (GLuint index, const GLfloat *v);
+__attribute__((visibility("default"))) void glVertexAttrib2sARB (GLuint index, GLshort x, GLshort y);
+__attribute__((visibility("default"))) void glVertexAttrib2svARB (GLuint index, const GLshort *v);
+__attribute__((visibility("default"))) void glVertexAttrib3dARB (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+__attribute__((visibility("default"))) void glVertexAttrib3dvARB (GLuint index, const GLdouble *v);
+__attribute__((visibility("default"))) void glVertexAttrib3fARB (GLuint index, GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glVertexAttrib3fvARB (GLuint index, const GLfloat *v);
+__attribute__((visibility("default"))) void glVertexAttrib3sARB (GLuint index, GLshort x, GLshort y, GLshort z);
+__attribute__((visibility("default"))) void glVertexAttrib3svARB (GLuint index, const GLshort *v);
+__attribute__((visibility("default"))) void glVertexAttrib4NbvARB (GLuint index, const GLbyte *v);
+__attribute__((visibility("default"))) void glVertexAttrib4NivARB (GLuint index, const GLint *v);
+__attribute__((visibility("default"))) void glVertexAttrib4NsvARB (GLuint index, const GLshort *v);
+__attribute__((visibility("default"))) void glVertexAttrib4NubARB (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
+__attribute__((visibility("default"))) void glVertexAttrib4NubvARB (GLuint index, const GLubyte *v);
+__attribute__((visibility("default"))) void glVertexAttrib4NuivARB (GLuint index, const GLuint *v);
+__attribute__((visibility("default"))) void glVertexAttrib4NusvARB (GLuint index, const GLushort *v);
+__attribute__((visibility("default"))) void glVertexAttrib4bvARB (GLuint index, const GLbyte *v);
+__attribute__((visibility("default"))) void glVertexAttrib4dARB (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+__attribute__((visibility("default"))) void glVertexAttrib4dvARB (GLuint index, const GLdouble *v);
+__attribute__((visibility("default"))) void glVertexAttrib4fARB (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+__attribute__((visibility("default"))) void glVertexAttrib4fvARB (GLuint index, const GLfloat *v);
+__attribute__((visibility("default"))) void glVertexAttrib4ivARB (GLuint index, const GLint *v);
+__attribute__((visibility("default"))) void glVertexAttrib4sARB (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
+__attribute__((visibility("default"))) void glVertexAttrib4svARB (GLuint index, const GLshort *v);
+__attribute__((visibility("default"))) void glVertexAttrib4ubvARB (GLuint index, const GLubyte *v);
+__attribute__((visibility("default"))) void glVertexAttrib4uivARB (GLuint index, const GLuint *v);
+__attribute__((visibility("default"))) void glVertexAttrib4usvARB (GLuint index, const GLushort *v);
+__attribute__((visibility("default"))) void glVertexAttribPointerARB (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
+__attribute__((visibility("default"))) void glEnableVertexAttribArrayARB (GLuint index);
+__attribute__((visibility("default"))) void glDisableVertexAttribArrayARB (GLuint index);
+__attribute__((visibility("default"))) void glProgramStringARB (GLenum target, GLenum format, GLsizei len, const GLvoid *string);
+__attribute__((visibility("default"))) void glBindProgramARB (GLenum target, GLuint program);
+__attribute__((visibility("default"))) void glDeleteProgramsARB (GLsizei n, const GLuint *programs);
+__attribute__((visibility("default"))) void glGenProgramsARB (GLsizei n, GLuint *programs);
+__attribute__((visibility("default"))) void glProgramEnvParameter4dARB (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+__attribute__((visibility("default"))) void glProgramEnvParameter4dvARB (GLenum target, GLuint index, const GLdouble *params);
+__attribute__((visibility("default"))) void glProgramEnvParameter4fARB (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+__attribute__((visibility("default"))) void glProgramEnvParameter4fvARB (GLenum target, GLuint index, const GLfloat *params);
+__attribute__((visibility("default"))) void glProgramLocalParameter4dARB (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+__attribute__((visibility("default"))) void glProgramLocalParameter4dvARB (GLenum target, GLuint index, const GLdouble *params);
+__attribute__((visibility("default"))) void glProgramLocalParameter4fARB (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+__attribute__((visibility("default"))) void glProgramLocalParameter4fvARB (GLenum target, GLuint index, const GLfloat *params);
+__attribute__((visibility("default"))) void glGetProgramEnvParameterdvARB (GLenum target, GLuint index, GLdouble *params);
+__attribute__((visibility("default"))) void glGetProgramEnvParameterfvARB (GLenum target, GLuint index, GLfloat *params);
+__attribute__((visibility("default"))) void glGetProgramLocalParameterdvARB (GLenum target, GLuint index, GLdouble *params);
+__attribute__((visibility("default"))) void glGetProgramLocalParameterfvARB (GLenum target, GLuint index, GLfloat *params);
+__attribute__((visibility("default"))) void glGetProgramivARB (GLenum target, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetProgramStringARB (GLenum target, GLenum pname, GLvoid *string);
+__attribute__((visibility("default"))) void glGetVertexAttribdvARB (GLuint index, GLenum pname, GLdouble *params);
+__attribute__((visibility("default"))) void glGetVertexAttribfvARB (GLuint index, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetVertexAttribivARB (GLuint index, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetVertexAttribPointervARB (GLuint index, GLenum pname, GLvoid* *pointer);
+__attribute__((visibility("default"))) GLboolean glIsProgramARB (GLuint program);
+
+typedef void ( * PFNGLVERTEXATTRIB1DARBPROC) (GLuint index, GLdouble x);
+typedef void ( * PFNGLVERTEXATTRIB1DVARBPROC) (GLuint index, const GLdouble *v);
+typedef void ( * PFNGLVERTEXATTRIB1FARBPROC) (GLuint index, GLfloat x);
+typedef void ( * PFNGLVERTEXATTRIB1FVARBPROC) (GLuint index, const GLfloat *v);
+typedef void ( * PFNGLVERTEXATTRIB1SARBPROC) (GLuint index, GLshort x);
+typedef void ( * PFNGLVERTEXATTRIB1SVARBPROC) (GLuint index, const GLshort *v);
+typedef void ( * PFNGLVERTEXATTRIB2DARBPROC) (GLuint index, GLdouble x, GLdouble y);
+typedef void ( * PFNGLVERTEXATTRIB2DVARBPROC) (GLuint index, const GLdouble *v);
+typedef void ( * PFNGLVERTEXATTRIB2FARBPROC) (GLuint index, GLfloat x, GLfloat y);
+typedef void ( * PFNGLVERTEXATTRIB2FVARBPROC) (GLuint index, const GLfloat *v);
+typedef void ( * PFNGLVERTEXATTRIB2SARBPROC) (GLuint index, GLshort x, GLshort y);
+typedef void ( * PFNGLVERTEXATTRIB2SVARBPROC) (GLuint index, const GLshort *v);
+typedef void ( * PFNGLVERTEXATTRIB3DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+typedef void ( * PFNGLVERTEXATTRIB3DVARBPROC) (GLuint index, const GLdouble *v);
+typedef void ( * PFNGLVERTEXATTRIB3FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLVERTEXATTRIB3FVARBPROC) (GLuint index, const GLfloat *v);
+typedef void ( * PFNGLVERTEXATTRIB3SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
+typedef void ( * PFNGLVERTEXATTRIB3SVARBPROC) (GLuint index, const GLshort *v);
+typedef void ( * PFNGLVERTEXATTRIB4NBVARBPROC) (GLuint index, const GLbyte *v);
+typedef void ( * PFNGLVERTEXATTRIB4NIVARBPROC) (GLuint index, const GLint *v);
+typedef void ( * PFNGLVERTEXATTRIB4NSVARBPROC) (GLuint index, const GLshort *v);
+typedef void ( * PFNGLVERTEXATTRIB4NUBARBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
+typedef void ( * PFNGLVERTEXATTRIB4NUBVARBPROC) (GLuint index, const GLubyte *v);
+typedef void ( * PFNGLVERTEXATTRIB4NUIVARBPROC) (GLuint index, const GLuint *v);
+typedef void ( * PFNGLVERTEXATTRIB4NUSVARBPROC) (GLuint index, const GLushort *v);
+typedef void ( * PFNGLVERTEXATTRIB4BVARBPROC) (GLuint index, const GLbyte *v);
+typedef void ( * PFNGLVERTEXATTRIB4DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void ( * PFNGLVERTEXATTRIB4DVARBPROC) (GLuint index, const GLdouble *v);
+typedef void ( * PFNGLVERTEXATTRIB4FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void ( * PFNGLVERTEXATTRIB4FVARBPROC) (GLuint index, const GLfloat *v);
+typedef void ( * PFNGLVERTEXATTRIB4IVARBPROC) (GLuint index, const GLint *v);
+typedef void ( * PFNGLVERTEXATTRIB4SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
+typedef void ( * PFNGLVERTEXATTRIB4SVARBPROC) (GLuint index, const GLshort *v);
+typedef void ( * PFNGLVERTEXATTRIB4UBVARBPROC) (GLuint index, const GLubyte *v);
+typedef void ( * PFNGLVERTEXATTRIB4UIVARBPROC) (GLuint index, const GLuint *v);
+typedef void ( * PFNGLVERTEXATTRIB4USVARBPROC) (GLuint index, const GLushort *v);
+typedef void ( * PFNGLVERTEXATTRIBPOINTERARBPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
+typedef void ( * PFNGLENABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);
+typedef void ( * PFNGLDISABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);
+typedef void ( * PFNGLPROGRAMSTRINGARBPROC) (GLenum target, GLenum format, GLsizei len, const GLvoid *string);
+typedef void ( * PFNGLBINDPROGRAMARBPROC) (GLenum target, GLuint program);
+typedef void ( * PFNGLDELETEPROGRAMSARBPROC) (GLsizei n, const GLuint *programs);
+typedef void ( * PFNGLGENPROGRAMSARBPROC) (GLsizei n, GLuint *programs);
+typedef void ( * PFNGLPROGRAMENVPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void ( * PFNGLPROGRAMENVPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble *params);
+typedef void ( * PFNGLPROGRAMENVPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void ( * PFNGLPROGRAMENVPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params);
+typedef void ( * PFNGLPROGRAMLOCALPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void ( * PFNGLPROGRAMLOCALPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble *params);
+typedef void ( * PFNGLPROGRAMLOCALPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void ( * PFNGLPROGRAMLOCALPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params);
+typedef void ( * PFNGLGETPROGRAMENVPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble *params);
+typedef void ( * PFNGLGETPROGRAMENVPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params);
+typedef void ( * PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble *params);
+typedef void ( * PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params);
+typedef void ( * PFNGLGETPROGRAMIVARBPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETPROGRAMSTRINGARBPROC) (GLenum target, GLenum pname, GLvoid *string);
+typedef void ( * PFNGLGETVERTEXATTRIBDVARBPROC) (GLuint index, GLenum pname, GLdouble *params);
+typedef void ( * PFNGLGETVERTEXATTRIBFVARBPROC) (GLuint index, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETVERTEXATTRIBIVARBPROC) (GLuint index, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETVERTEXATTRIBPOINTERVARBPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
+typedef GLboolean ( * PFNGLISPROGRAMARBPROC) (GLuint program);
+# 6313 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glBindBufferARB (GLenum target, GLuint buffer);
+__attribute__((visibility("default"))) void glDeleteBuffersARB (GLsizei n, const GLuint *buffers);
+__attribute__((visibility("default"))) void glGenBuffersARB (GLsizei n, GLuint *buffers);
+__attribute__((visibility("default"))) GLboolean glIsBufferARB (GLuint buffer);
+__attribute__((visibility("default"))) void glBufferDataARB (GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage);
+__attribute__((visibility("default"))) void glBufferSubDataARB (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data);
+__attribute__((visibility("default"))) void glGetBufferSubDataARB (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data);
+__attribute__((visibility("default"))) GLvoid* glMapBufferARB (GLenum target, GLenum access);
+__attribute__((visibility("default"))) GLboolean glUnmapBufferARB (GLenum target);
+__attribute__((visibility("default"))) void glGetBufferParameterivARB (GLenum target, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetBufferPointervARB (GLenum target, GLenum pname, GLvoid* *params);
+
+typedef void ( * PFNGLBINDBUFFERARBPROC) (GLenum target, GLuint buffer);
+typedef void ( * PFNGLDELETEBUFFERSARBPROC) (GLsizei n, const GLuint *buffers);
+typedef void ( * PFNGLGENBUFFERSARBPROC) (GLsizei n, GLuint *buffers);
+typedef GLboolean ( * PFNGLISBUFFERARBPROC) (GLuint buffer);
+typedef void ( * PFNGLBUFFERDATAARBPROC) (GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage);
+typedef void ( * PFNGLBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data);
+typedef void ( * PFNGLGETBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data);
+typedef GLvoid* ( * PFNGLMAPBUFFERARBPROC) (GLenum target, GLenum access);
+typedef GLboolean ( * PFNGLUNMAPBUFFERARBPROC) (GLenum target);
+typedef void ( * PFNGLGETBUFFERPARAMETERIVARBPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETBUFFERPOINTERVARBPROC) (GLenum target, GLenum pname, GLvoid* *params);
+
+
+
+
+
+__attribute__((visibility("default"))) void glGenQueriesARB (GLsizei n, GLuint *ids);
+__attribute__((visibility("default"))) void glDeleteQueriesARB (GLsizei n, const GLuint *ids);
+__attribute__((visibility("default"))) GLboolean glIsQueryARB (GLuint id);
+__attribute__((visibility("default"))) void glBeginQueryARB (GLenum target, GLuint id);
+__attribute__((visibility("default"))) void glEndQueryARB (GLenum target);
+__attribute__((visibility("default"))) void glGetQueryivARB (GLenum target, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetQueryObjectivARB (GLuint id, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetQueryObjectuivARB (GLuint id, GLenum pname, GLuint *params);
+
+typedef void ( * PFNGLGENQUERIESARBPROC) (GLsizei n, GLuint *ids);
+typedef void ( * PFNGLDELETEQUERIESARBPROC) (GLsizei n, const GLuint *ids);
+typedef GLboolean ( * PFNGLISQUERYARBPROC) (GLuint id);
+typedef void ( * PFNGLBEGINQUERYARBPROC) (GLenum target, GLuint id);
+typedef void ( * PFNGLENDQUERYARBPROC) (GLenum target);
+typedef void ( * PFNGLGETQUERYIVARBPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETQUERYOBJECTIVARBPROC) (GLuint id, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETQUERYOBJECTUIVARBPROC) (GLuint id, GLenum pname, GLuint *params);
+
+
+
+
+
+__attribute__((visibility("default"))) void glDeleteObjectARB (GLhandleARB obj);
+__attribute__((visibility("default"))) GLhandleARB glGetHandleARB (GLenum pname);
+__attribute__((visibility("default"))) void glDetachObjectARB (GLhandleARB containerObj, GLhandleARB attachedObj);
+__attribute__((visibility("default"))) GLhandleARB glCreateShaderObjectARB (GLenum shaderType);
+__attribute__((visibility("default"))) void glShaderSourceARB (GLhandleARB shaderObj, GLsizei count, const GLcharARB* *string, const GLint *length);
+__attribute__((visibility("default"))) void glCompileShaderARB (GLhandleARB shaderObj);
+__attribute__((visibility("default"))) GLhandleARB glCreateProgramObjectARB (void);
+__attribute__((visibility("default"))) void glAttachObjectARB (GLhandleARB containerObj, GLhandleARB obj);
+__attribute__((visibility("default"))) void glLinkProgramARB (GLhandleARB programObj);
+__attribute__((visibility("default"))) void glUseProgramObjectARB (GLhandleARB programObj);
+__attribute__((visibility("default"))) void glValidateProgramARB (GLhandleARB programObj);
+__attribute__((visibility("default"))) void glUniform1fARB (GLint location, GLfloat v0);
+__attribute__((visibility("default"))) void glUniform2fARB (GLint location, GLfloat v0, GLfloat v1);
+__attribute__((visibility("default"))) void glUniform3fARB (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+__attribute__((visibility("default"))) void glUniform4fARB (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+__attribute__((visibility("default"))) void glUniform1iARB (GLint location, GLint v0);
+__attribute__((visibility("default"))) void glUniform2iARB (GLint location, GLint v0, GLint v1);
+__attribute__((visibility("default"))) void glUniform3iARB (GLint location, GLint v0, GLint v1, GLint v2);
+__attribute__((visibility("default"))) void glUniform4iARB (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+__attribute__((visibility("default"))) void glUniform1fvARB (GLint location, GLsizei count, const GLfloat *value);
+__attribute__((visibility("default"))) void glUniform2fvARB (GLint location, GLsizei count, const GLfloat *value);
+__attribute__((visibility("default"))) void glUniform3fvARB (GLint location, GLsizei count, const GLfloat *value);
+__attribute__((visibility("default"))) void glUniform4fvARB (GLint location, GLsizei count, const GLfloat *value);
+__attribute__((visibility("default"))) void glUniform1ivARB (GLint location, GLsizei count, const GLint *value);
+__attribute__((visibility("default"))) void glUniform2ivARB (GLint location, GLsizei count, const GLint *value);
+__attribute__((visibility("default"))) void glUniform3ivARB (GLint location, GLsizei count, const GLint *value);
+__attribute__((visibility("default"))) void glUniform4ivARB (GLint location, GLsizei count, const GLint *value);
+__attribute__((visibility("default"))) void glUniformMatrix2fvARB (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glUniformMatrix3fvARB (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glUniformMatrix4fvARB (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glGetObjectParameterfvARB (GLhandleARB obj, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetObjectParameterivARB (GLhandleARB obj, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetInfoLogARB (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);
+__attribute__((visibility("default"))) void glGetAttachedObjectsARB (GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj);
+__attribute__((visibility("default"))) GLint glGetUniformLocationARB (GLhandleARB programObj, const GLcharARB *name);
+__attribute__((visibility("default"))) void glGetActiveUniformARB (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);
+__attribute__((visibility("default"))) void glGetUniformfvARB (GLhandleARB programObj, GLint location, GLfloat *params);
+__attribute__((visibility("default"))) void glGetUniformivARB (GLhandleARB programObj, GLint location, GLint *params);
+__attribute__((visibility("default"))) void glGetShaderSourceARB (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);
+
+typedef void ( * PFNGLDELETEOBJECTARBPROC) (GLhandleARB obj);
+typedef GLhandleARB ( * PFNGLGETHANDLEARBPROC) (GLenum pname);
+typedef void ( * PFNGLDETACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB attachedObj);
+typedef GLhandleARB ( * PFNGLCREATESHADEROBJECTARBPROC) (GLenum shaderType);
+typedef void ( * PFNGLSHADERSOURCEARBPROC) (GLhandleARB shaderObj, GLsizei count, const GLcharARB* *string, const GLint *length);
+typedef void ( * PFNGLCOMPILESHADERARBPROC) (GLhandleARB shaderObj);
+typedef GLhandleARB ( * PFNGLCREATEPROGRAMOBJECTARBPROC) (void);
+typedef void ( * PFNGLATTACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB obj);
+typedef void ( * PFNGLLINKPROGRAMARBPROC) (GLhandleARB programObj);
+typedef void ( * PFNGLUSEPROGRAMOBJECTARBPROC) (GLhandleARB programObj);
+typedef void ( * PFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB programObj);
+typedef void ( * PFNGLUNIFORM1FARBPROC) (GLint location, GLfloat v0);
+typedef void ( * PFNGLUNIFORM2FARBPROC) (GLint location, GLfloat v0, GLfloat v1);
+typedef void ( * PFNGLUNIFORM3FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+typedef void ( * PFNGLUNIFORM4FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+typedef void ( * PFNGLUNIFORM1IARBPROC) (GLint location, GLint v0);
+typedef void ( * PFNGLUNIFORM2IARBPROC) (GLint location, GLint v0, GLint v1);
+typedef void ( * PFNGLUNIFORM3IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2);
+typedef void ( * PFNGLUNIFORM4IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+typedef void ( * PFNGLUNIFORM1FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
+typedef void ( * PFNGLUNIFORM2FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
+typedef void ( * PFNGLUNIFORM3FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
+typedef void ( * PFNGLUNIFORM4FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
+typedef void ( * PFNGLUNIFORM1IVARBPROC) (GLint location, GLsizei count, const GLint *value);
+typedef void ( * PFNGLUNIFORM2IVARBPROC) (GLint location, GLsizei count, const GLint *value);
+typedef void ( * PFNGLUNIFORM3IVARBPROC) (GLint location, GLsizei count, const GLint *value);
+typedef void ( * PFNGLUNIFORM4IVARBPROC) (GLint location, GLsizei count, const GLint *value);
+typedef void ( * PFNGLUNIFORMMATRIX2FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLUNIFORMMATRIX3FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLUNIFORMMATRIX4FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLGETOBJECTPARAMETERFVARBPROC) (GLhandleARB obj, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETOBJECTPARAMETERIVARBPROC) (GLhandleARB obj, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETINFOLOGARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);
+typedef void ( * PFNGLGETATTACHEDOBJECTSARBPROC) (GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj);
+typedef GLint ( * PFNGLGETUNIFORMLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name);
+typedef void ( * PFNGLGETACTIVEUNIFORMARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);
+typedef void ( * PFNGLGETUNIFORMFVARBPROC) (GLhandleARB programObj, GLint location, GLfloat *params);
+typedef void ( * PFNGLGETUNIFORMIVARBPROC) (GLhandleARB programObj, GLint location, GLint *params);
+typedef void ( * PFNGLGETSHADERSOURCEARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);
+
+
+
+
+
+__attribute__((visibility("default"))) void glBindAttribLocationARB (GLhandleARB programObj, GLuint index, const GLcharARB *name);
+__attribute__((visibility("default"))) void glGetActiveAttribARB (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);
+__attribute__((visibility("default"))) GLint glGetAttribLocationARB (GLhandleARB programObj, const GLcharARB *name);
+
+typedef void ( * PFNGLBINDATTRIBLOCATIONARBPROC) (GLhandleARB programObj, GLuint index, const GLcharARB *name);
+typedef void ( * PFNGLGETACTIVEATTRIBARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);
+typedef GLint ( * PFNGLGETATTRIBLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name);
+# 6479 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glDrawBuffersARB (GLsizei n, const GLenum *bufs);
+
+typedef void ( * PFNGLDRAWBUFFERSARBPROC) (GLsizei n, const GLenum *bufs);
+# 6491 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glClampColorARB (GLenum target, GLenum clamp);
+
+typedef void ( * PFNGLCLAMPCOLORARBPROC) (GLenum target, GLenum clamp);
+# 6515 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glDrawArraysInstancedARB (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
+__attribute__((visibility("default"))) void glDrawElementsInstancedARB (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
+
+typedef void ( * PFNGLDRAWARRAYSINSTANCEDARBPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
+typedef void ( * PFNGLDRAWELEMENTSINSTANCEDARBPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
+
+
+
+
+
+__attribute__((visibility("default"))) GLboolean glIsRenderbuffer (GLuint renderbuffer);
+__attribute__((visibility("default"))) void glBindRenderbuffer (GLenum target, GLuint renderbuffer);
+__attribute__((visibility("default"))) void glDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers);
+__attribute__((visibility("default"))) void glGenRenderbuffers (GLsizei n, GLuint *renderbuffers);
+__attribute__((visibility("default"))) void glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
+__attribute__((visibility("default"))) void glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) GLboolean glIsFramebuffer (GLuint framebuffer);
+__attribute__((visibility("default"))) void glBindFramebuffer (GLenum target, GLuint framebuffer);
+__attribute__((visibility("default"))) void glDeleteFramebuffers (GLsizei n, const GLuint *framebuffers);
+__attribute__((visibility("default"))) void glGenFramebuffers (GLsizei n, GLuint *framebuffers);
+__attribute__((visibility("default"))) GLenum glCheckFramebufferStatus (GLenum target);
+__attribute__((visibility("default"))) void glFramebufferTexture1D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+__attribute__((visibility("default"))) void glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+__attribute__((visibility("default"))) void glFramebufferTexture3D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+__attribute__((visibility("default"))) void glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+__attribute__((visibility("default"))) void glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGenerateMipmap (GLenum target);
+__attribute__((visibility("default"))) void glBlitFramebuffer (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+__attribute__((visibility("default"))) void glRenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+__attribute__((visibility("default"))) void glFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+
+typedef GLboolean ( * PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer);
+typedef void ( * PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer);
+typedef void ( * PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint *renderbuffers);
+typedef void ( * PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers);
+typedef void ( * PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void ( * PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef GLboolean ( * PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer);
+typedef void ( * PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer);
+typedef void ( * PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint *framebuffers);
+typedef void ( * PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers);
+typedef GLenum ( * PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target);
+typedef void ( * PFNGLFRAMEBUFFERTEXTURE1DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void ( * PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void ( * PFNGLFRAMEBUFFERTEXTURE3DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+typedef void ( * PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+typedef void ( * PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
+typedef void ( * PFNGLGENERATEMIPMAPPROC) (GLenum target);
+typedef void ( * PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+typedef void ( * PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void ( * PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+# 6575 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glProgramParameteriARB (GLuint program, GLenum pname, GLint value);
+__attribute__((visibility("default"))) void glFramebufferTextureARB (GLenum target, GLenum attachment, GLuint texture, GLint level);
+__attribute__((visibility("default"))) void glFramebufferTextureLayerARB (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+__attribute__((visibility("default"))) void glFramebufferTextureFaceARB (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
+
+typedef void ( * PFNGLPROGRAMPARAMETERIARBPROC) (GLuint program, GLenum pname, GLint value);
+typedef void ( * PFNGLFRAMEBUFFERTEXTUREARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
+typedef void ( * PFNGLFRAMEBUFFERTEXTURELAYERARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+typedef void ( * PFNGLFRAMEBUFFERTEXTUREFACEARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
+# 6593 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glVertexAttribDivisorARB (GLuint index, GLuint divisor);
+
+typedef void ( * PFNGLVERTEXATTRIBDIVISORARBPROC) (GLuint index, GLuint divisor);
+
+
+
+
+
+__attribute__((visibility("default"))) GLvoid* glMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
+__attribute__((visibility("default"))) void glFlushMappedBufferRange (GLenum target, GLintptr offset, GLsizeiptr length);
+
+typedef GLvoid* ( * PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
+typedef void ( * PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
+
+
+
+
+
+__attribute__((visibility("default"))) void glTexBufferARB (GLenum target, GLenum internalformat, GLuint buffer);
+
+typedef void ( * PFNGLTEXBUFFERARBPROC) (GLenum target, GLenum internalformat, GLuint buffer);
+# 6627 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glBindVertexArray (GLuint array);
+__attribute__((visibility("default"))) void glDeleteVertexArrays (GLsizei n, const GLuint *arrays);
+__attribute__((visibility("default"))) void glGenVertexArrays (GLsizei n, GLuint *arrays);
+__attribute__((visibility("default"))) GLboolean glIsVertexArray (GLuint array);
+
+typedef void ( * PFNGLBINDVERTEXARRAYPROC) (GLuint array);
+typedef void ( * PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint *arrays);
+typedef void ( * PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint *arrays);
+typedef GLboolean ( * PFNGLISVERTEXARRAYPROC) (GLuint array);
+
+
+
+
+
+__attribute__((visibility("default"))) void glGetUniformIndices (GLuint program, GLsizei uniformCount, const GLchar* *uniformNames, GLuint *uniformIndices);
+__attribute__((visibility("default"))) void glGetActiveUniformsiv (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetActiveUniformName (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);
+__attribute__((visibility("default"))) GLuint glGetUniformBlockIndex (GLuint program, const GLchar *uniformBlockName);
+__attribute__((visibility("default"))) void glGetActiveUniformBlockiv (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetActiveUniformBlockName (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
+__attribute__((visibility("default"))) void glUniformBlockBinding (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
+
+typedef void ( * PFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, const GLchar* *uniformNames, GLuint *uniformIndices);
+typedef void ( * PFNGLGETACTIVEUNIFORMSIVPROC) (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETACTIVEUNIFORMNAMEPROC) (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);
+typedef GLuint ( * PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const GLchar *uniformBlockName);
+typedef void ( * PFNGLGETACTIVEUNIFORMBLOCKIVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
+typedef void ( * PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
+# 6665 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glCopyBufferSubData (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
+
+typedef void ( * PFNGLCOPYBUFFERSUBDATAPROC) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
+# 6681 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glDrawElementsBaseVertex (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
+__attribute__((visibility("default"))) void glDrawRangeElementsBaseVertex (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
+__attribute__((visibility("default"))) void glDrawElementsInstancedBaseVertex (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex);
+__attribute__((visibility("default"))) void glMultiDrawElementsBaseVertex (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount, const GLint *basevertex);
+
+typedef void ( * PFNGLDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
+typedef void ( * PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
+typedef void ( * PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex);
+typedef void ( * PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount, const GLint *basevertex);
+# 6699 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glProvokingVertex (GLenum mode);
+
+typedef void ( * PFNGLPROVOKINGVERTEXPROC) (GLenum mode);
+# 6711 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) GLsync glFenceSync (GLenum condition, GLbitfield flags);
+__attribute__((visibility("default"))) GLboolean glIsSync (GLsync sync);
+__attribute__((visibility("default"))) void glDeleteSync (GLsync sync);
+__attribute__((visibility("default"))) GLenum glClientWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);
+__attribute__((visibility("default"))) void glWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);
+__attribute__((visibility("default"))) void glGetInteger64v (GLenum pname, GLint64 *params);
+__attribute__((visibility("default"))) void glGetSynciv (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
+
+typedef GLsync ( * PFNGLFENCESYNCPROC) (GLenum condition, GLbitfield flags);
+typedef GLboolean ( * PFNGLISSYNCPROC) (GLsync sync);
+typedef void ( * PFNGLDELETESYNCPROC) (GLsync sync);
+typedef GLenum ( * PFNGLCLIENTWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
+typedef void ( * PFNGLWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
+typedef void ( * PFNGLGETINTEGER64VPROC) (GLenum pname, GLint64 *params);
+typedef void ( * PFNGLGETSYNCIVPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
+
+
+
+
+
+__attribute__((visibility("default"))) void glTexImage2DMultisample (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
+__attribute__((visibility("default"))) void glTexImage3DMultisample (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
+__attribute__((visibility("default"))) void glGetMultisamplefv (GLenum pname, GLuint index, GLfloat *val);
+__attribute__((visibility("default"))) void glSampleMaski (GLuint index, GLbitfield mask);
+
+typedef void ( * PFNGLTEXIMAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
+typedef void ( * PFNGLTEXIMAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
+typedef void ( * PFNGLGETMULTISAMPLEFVPROC) (GLenum pname, GLuint index, GLfloat *val);
+typedef void ( * PFNGLSAMPLEMASKIPROC) (GLuint index, GLbitfield mask);
+# 6749 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glBlendEquationiARB (GLuint buf, GLenum mode);
+__attribute__((visibility("default"))) void glBlendEquationSeparateiARB (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
+__attribute__((visibility("default"))) void glBlendFunciARB (GLuint buf, GLenum src, GLenum dst);
+__attribute__((visibility("default"))) void glBlendFuncSeparateiARB (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
+
+typedef void ( * PFNGLBLENDEQUATIONIARBPROC) (GLuint buf, GLenum mode);
+typedef void ( * PFNGLBLENDEQUATIONSEPARATEIARBPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
+typedef void ( * PFNGLBLENDFUNCIARBPROC) (GLuint buf, GLenum src, GLenum dst);
+typedef void ( * PFNGLBLENDFUNCSEPARATEIARBPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
+
+
+
+
+
+__attribute__((visibility("default"))) void glMinSampleShadingARB (GLclampf value);
+
+typedef void ( * PFNGLMINSAMPLESHADINGARBPROC) (GLclampf value);
+# 6783 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glNamedStringARB (GLenum type, GLint namelen, const GLchar *name, GLint stringlen, const GLchar *string);
+__attribute__((visibility("default"))) void glDeleteNamedStringARB (GLint namelen, const GLchar *name);
+__attribute__((visibility("default"))) void glCompileShaderIncludeARB (GLuint shader, GLsizei count, const GLchar* *path, const GLint *length);
+__attribute__((visibility("default"))) GLboolean glIsNamedStringARB (GLint namelen, const GLchar *name);
+__attribute__((visibility("default"))) void glGetNamedStringARB (GLint namelen, const GLchar *name, GLsizei bufSize, GLint *stringlen, GLchar *string);
+__attribute__((visibility("default"))) void glGetNamedStringivARB (GLint namelen, const GLchar *name, GLenum pname, GLint *params);
+
+typedef void ( * PFNGLNAMEDSTRINGARBPROC) (GLenum type, GLint namelen, const GLchar *name, GLint stringlen, const GLchar *string);
+typedef void ( * PFNGLDELETENAMEDSTRINGARBPROC) (GLint namelen, const GLchar *name);
+typedef void ( * PFNGLCOMPILESHADERINCLUDEARBPROC) (GLuint shader, GLsizei count, const GLchar* *path, const GLint *length);
+typedef GLboolean ( * PFNGLISNAMEDSTRINGARBPROC) (GLint namelen, const GLchar *name);
+typedef void ( * PFNGLGETNAMEDSTRINGARBPROC) (GLint namelen, const GLchar *name, GLsizei bufSize, GLint *stringlen, GLchar *string);
+typedef void ( * PFNGLGETNAMEDSTRINGIVARBPROC) (GLint namelen, const GLchar *name, GLenum pname, GLint *params);
+# 6805 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glBindFragDataLocationIndexed (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);
+__attribute__((visibility("default"))) GLint glGetFragDataIndex (GLuint program, const GLchar *name);
+
+typedef void ( * PFNGLBINDFRAGDATALOCATIONINDEXEDPROC) (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);
+typedef GLint ( * PFNGLGETFRAGDATAINDEXPROC) (GLuint program, const GLchar *name);
+# 6823 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glGenSamplers (GLsizei count, GLuint *samplers);
+__attribute__((visibility("default"))) void glDeleteSamplers (GLsizei count, const GLuint *samplers);
+__attribute__((visibility("default"))) GLboolean glIsSampler (GLuint sampler);
+__attribute__((visibility("default"))) void glBindSampler (GLuint unit, GLuint sampler);
+__attribute__((visibility("default"))) void glSamplerParameteri (GLuint sampler, GLenum pname, GLint param);
+__attribute__((visibility("default"))) void glSamplerParameteriv (GLuint sampler, GLenum pname, const GLint *param);
+__attribute__((visibility("default"))) void glSamplerParameterf (GLuint sampler, GLenum pname, GLfloat param);
+__attribute__((visibility("default"))) void glSamplerParameterfv (GLuint sampler, GLenum pname, const GLfloat *param);
+__attribute__((visibility("default"))) void glSamplerParameterIiv (GLuint sampler, GLenum pname, const GLint *param);
+__attribute__((visibility("default"))) void glSamplerParameterIuiv (GLuint sampler, GLenum pname, const GLuint *param);
+__attribute__((visibility("default"))) void glGetSamplerParameteriv (GLuint sampler, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetSamplerParameterIiv (GLuint sampler, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetSamplerParameterfv (GLuint sampler, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetSamplerParameterIuiv (GLuint sampler, GLenum pname, GLuint *params);
+
+typedef void ( * PFNGLGENSAMPLERSPROC) (GLsizei count, GLuint *samplers);
+typedef void ( * PFNGLDELETESAMPLERSPROC) (GLsizei count, const GLuint *samplers);
+typedef GLboolean ( * PFNGLISSAMPLERPROC) (GLuint sampler);
+typedef void ( * PFNGLBINDSAMPLERPROC) (GLuint unit, GLuint sampler);
+typedef void ( * PFNGLSAMPLERPARAMETERIPROC) (GLuint sampler, GLenum pname, GLint param);
+typedef void ( * PFNGLSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, const GLint *param);
+typedef void ( * PFNGLSAMPLERPARAMETERFPROC) (GLuint sampler, GLenum pname, GLfloat param);
+typedef void ( * PFNGLSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, const GLfloat *param);
+typedef void ( * PFNGLSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, const GLint *param);
+typedef void ( * PFNGLSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, const GLuint *param);
+typedef void ( * PFNGLGETSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, GLuint *params);
+# 6865 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glQueryCounter (GLuint id, GLenum target);
+__attribute__((visibility("default"))) void glGetQueryObjecti64v (GLuint id, GLenum pname, GLint64 *params);
+__attribute__((visibility("default"))) void glGetQueryObjectui64v (GLuint id, GLenum pname, GLuint64 *params);
+
+typedef void ( * PFNGLQUERYCOUNTERPROC) (GLuint id, GLenum target);
+typedef void ( * PFNGLGETQUERYOBJECTI64VPROC) (GLuint id, GLenum pname, GLint64 *params);
+typedef void ( * PFNGLGETQUERYOBJECTUI64VPROC) (GLuint id, GLenum pname, GLuint64 *params);
+
+
+
+
+
+__attribute__((visibility("default"))) void glVertexP2ui (GLenum type, GLuint value);
+__attribute__((visibility("default"))) void glVertexP2uiv (GLenum type, const GLuint *value);
+__attribute__((visibility("default"))) void glVertexP3ui (GLenum type, GLuint value);
+__attribute__((visibility("default"))) void glVertexP3uiv (GLenum type, const GLuint *value);
+__attribute__((visibility("default"))) void glVertexP4ui (GLenum type, GLuint value);
+__attribute__((visibility("default"))) void glVertexP4uiv (GLenum type, const GLuint *value);
+__attribute__((visibility("default"))) void glTexCoordP1ui (GLenum type, GLuint coords);
+__attribute__((visibility("default"))) void glTexCoordP1uiv (GLenum type, const GLuint *coords);
+__attribute__((visibility("default"))) void glTexCoordP2ui (GLenum type, GLuint coords);
+__attribute__((visibility("default"))) void glTexCoordP2uiv (GLenum type, const GLuint *coords);
+__attribute__((visibility("default"))) void glTexCoordP3ui (GLenum type, GLuint coords);
+__attribute__((visibility("default"))) void glTexCoordP3uiv (GLenum type, const GLuint *coords);
+__attribute__((visibility("default"))) void glTexCoordP4ui (GLenum type, GLuint coords);
+__attribute__((visibility("default"))) void glTexCoordP4uiv (GLenum type, const GLuint *coords);
+__attribute__((visibility("default"))) void glMultiTexCoordP1ui (GLenum texture, GLenum type, GLuint coords);
+__attribute__((visibility("default"))) void glMultiTexCoordP1uiv (GLenum texture, GLenum type, const GLuint *coords);
+__attribute__((visibility("default"))) void glMultiTexCoordP2ui (GLenum texture, GLenum type, GLuint coords);
+__attribute__((visibility("default"))) void glMultiTexCoordP2uiv (GLenum texture, GLenum type, const GLuint *coords);
+__attribute__((visibility("default"))) void glMultiTexCoordP3ui (GLenum texture, GLenum type, GLuint coords);
+__attribute__((visibility("default"))) void glMultiTexCoordP3uiv (GLenum texture, GLenum type, const GLuint *coords);
+__attribute__((visibility("default"))) void glMultiTexCoordP4ui (GLenum texture, GLenum type, GLuint coords);
+__attribute__((visibility("default"))) void glMultiTexCoordP4uiv (GLenum texture, GLenum type, const GLuint *coords);
+__attribute__((visibility("default"))) void glNormalP3ui (GLenum type, GLuint coords);
+__attribute__((visibility("default"))) void glNormalP3uiv (GLenum type, const GLuint *coords);
+__attribute__((visibility("default"))) void glColorP3ui (GLenum type, GLuint color);
+__attribute__((visibility("default"))) void glColorP3uiv (GLenum type, const GLuint *color);
+__attribute__((visibility("default"))) void glColorP4ui (GLenum type, GLuint color);
+__attribute__((visibility("default"))) void glColorP4uiv (GLenum type, const GLuint *color);
+__attribute__((visibility("default"))) void glSecondaryColorP3ui (GLenum type, GLuint color);
+__attribute__((visibility("default"))) void glSecondaryColorP3uiv (GLenum type, const GLuint *color);
+__attribute__((visibility("default"))) void glVertexAttribP1ui (GLuint index, GLenum type, GLboolean normalized, GLuint value);
+__attribute__((visibility("default"))) void glVertexAttribP1uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
+__attribute__((visibility("default"))) void glVertexAttribP2ui (GLuint index, GLenum type, GLboolean normalized, GLuint value);
+__attribute__((visibility("default"))) void glVertexAttribP2uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
+__attribute__((visibility("default"))) void glVertexAttribP3ui (GLuint index, GLenum type, GLboolean normalized, GLuint value);
+__attribute__((visibility("default"))) void glVertexAttribP3uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
+__attribute__((visibility("default"))) void glVertexAttribP4ui (GLuint index, GLenum type, GLboolean normalized, GLuint value);
+__attribute__((visibility("default"))) void glVertexAttribP4uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
+
+typedef void ( * PFNGLVERTEXP2UIPROC) (GLenum type, GLuint value);
+typedef void ( * PFNGLVERTEXP2UIVPROC) (GLenum type, const GLuint *value);
+typedef void ( * PFNGLVERTEXP3UIPROC) (GLenum type, GLuint value);
+typedef void ( * PFNGLVERTEXP3UIVPROC) (GLenum type, const GLuint *value);
+typedef void ( * PFNGLVERTEXP4UIPROC) (GLenum type, GLuint value);
+typedef void ( * PFNGLVERTEXP4UIVPROC) (GLenum type, const GLuint *value);
+typedef void ( * PFNGLTEXCOORDP1UIPROC) (GLenum type, GLuint coords);
+typedef void ( * PFNGLTEXCOORDP1UIVPROC) (GLenum type, const GLuint *coords);
+typedef void ( * PFNGLTEXCOORDP2UIPROC) (GLenum type, GLuint coords);
+typedef void ( * PFNGLTEXCOORDP2UIVPROC) (GLenum type, const GLuint *coords);
+typedef void ( * PFNGLTEXCOORDP3UIPROC) (GLenum type, GLuint coords);
+typedef void ( * PFNGLTEXCOORDP3UIVPROC) (GLenum type, const GLuint *coords);
+typedef void ( * PFNGLTEXCOORDP4UIPROC) (GLenum type, GLuint coords);
+typedef void ( * PFNGLTEXCOORDP4UIVPROC) (GLenum type, const GLuint *coords);
+typedef void ( * PFNGLMULTITEXCOORDP1UIPROC) (GLenum texture, GLenum type, GLuint coords);
+typedef void ( * PFNGLMULTITEXCOORDP1UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);
+typedef void ( * PFNGLMULTITEXCOORDP2UIPROC) (GLenum texture, GLenum type, GLuint coords);
+typedef void ( * PFNGLMULTITEXCOORDP2UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);
+typedef void ( * PFNGLMULTITEXCOORDP3UIPROC) (GLenum texture, GLenum type, GLuint coords);
+typedef void ( * PFNGLMULTITEXCOORDP3UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);
+typedef void ( * PFNGLMULTITEXCOORDP4UIPROC) (GLenum texture, GLenum type, GLuint coords);
+typedef void ( * PFNGLMULTITEXCOORDP4UIVPROC) (GLenum texture, GLenum type, const GLuint *coords);
+typedef void ( * PFNGLNORMALP3UIPROC) (GLenum type, GLuint coords);
+typedef void ( * PFNGLNORMALP3UIVPROC) (GLenum type, const GLuint *coords);
+typedef void ( * PFNGLCOLORP3UIPROC) (GLenum type, GLuint color);
+typedef void ( * PFNGLCOLORP3UIVPROC) (GLenum type, const GLuint *color);
+typedef void ( * PFNGLCOLORP4UIPROC) (GLenum type, GLuint color);
+typedef void ( * PFNGLCOLORP4UIVPROC) (GLenum type, const GLuint *color);
+typedef void ( * PFNGLSECONDARYCOLORP3UIPROC) (GLenum type, GLuint color);
+typedef void ( * PFNGLSECONDARYCOLORP3UIVPROC) (GLenum type, const GLuint *color);
+typedef void ( * PFNGLVERTEXATTRIBP1UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
+typedef void ( * PFNGLVERTEXATTRIBP1UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
+typedef void ( * PFNGLVERTEXATTRIBP2UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
+typedef void ( * PFNGLVERTEXATTRIBP2UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
+typedef void ( * PFNGLVERTEXATTRIBP3UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
+typedef void ( * PFNGLVERTEXATTRIBP3UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
+typedef void ( * PFNGLVERTEXATTRIBP4UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
+typedef void ( * PFNGLVERTEXATTRIBP4UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
+
+
+
+
+
+__attribute__((visibility("default"))) void glDrawArraysIndirect (GLenum mode, const GLvoid *indirect);
+__attribute__((visibility("default"))) void glDrawElementsIndirect (GLenum mode, GLenum type, const GLvoid *indirect);
+
+typedef void ( * PFNGLDRAWARRAYSINDIRECTPROC) (GLenum mode, const GLvoid *indirect);
+typedef void ( * PFNGLDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type, const GLvoid *indirect);
+# 6973 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glUniform1d (GLint location, GLdouble x);
+__attribute__((visibility("default"))) void glUniform2d (GLint location, GLdouble x, GLdouble y);
+__attribute__((visibility("default"))) void glUniform3d (GLint location, GLdouble x, GLdouble y, GLdouble z);
+__attribute__((visibility("default"))) void glUniform4d (GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+__attribute__((visibility("default"))) void glUniform1dv (GLint location, GLsizei count, const GLdouble *value);
+__attribute__((visibility("default"))) void glUniform2dv (GLint location, GLsizei count, const GLdouble *value);
+__attribute__((visibility("default"))) void glUniform3dv (GLint location, GLsizei count, const GLdouble *value);
+__attribute__((visibility("default"))) void glUniform4dv (GLint location, GLsizei count, const GLdouble *value);
+__attribute__((visibility("default"))) void glUniformMatrix2dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+__attribute__((visibility("default"))) void glUniformMatrix3dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+__attribute__((visibility("default"))) void glUniformMatrix4dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+__attribute__((visibility("default"))) void glUniformMatrix2x3dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+__attribute__((visibility("default"))) void glUniformMatrix2x4dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+__attribute__((visibility("default"))) void glUniformMatrix3x2dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+__attribute__((visibility("default"))) void glUniformMatrix3x4dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+__attribute__((visibility("default"))) void glUniformMatrix4x2dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+__attribute__((visibility("default"))) void glUniformMatrix4x3dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+__attribute__((visibility("default"))) void glGetUniformdv (GLuint program, GLint location, GLdouble *params);
+
+typedef void ( * PFNGLUNIFORM1DPROC) (GLint location, GLdouble x);
+typedef void ( * PFNGLUNIFORM2DPROC) (GLint location, GLdouble x, GLdouble y);
+typedef void ( * PFNGLUNIFORM3DPROC) (GLint location, GLdouble x, GLdouble y, GLdouble z);
+typedef void ( * PFNGLUNIFORM4DPROC) (GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void ( * PFNGLUNIFORM1DVPROC) (GLint location, GLsizei count, const GLdouble *value);
+typedef void ( * PFNGLUNIFORM2DVPROC) (GLint location, GLsizei count, const GLdouble *value);
+typedef void ( * PFNGLUNIFORM3DVPROC) (GLint location, GLsizei count, const GLdouble *value);
+typedef void ( * PFNGLUNIFORM4DVPROC) (GLint location, GLsizei count, const GLdouble *value);
+typedef void ( * PFNGLUNIFORMMATRIX2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void ( * PFNGLUNIFORMMATRIX3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void ( * PFNGLUNIFORMMATRIX4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void ( * PFNGLUNIFORMMATRIX2X3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void ( * PFNGLUNIFORMMATRIX2X4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void ( * PFNGLUNIFORMMATRIX3X2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void ( * PFNGLUNIFORMMATRIX3X4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void ( * PFNGLUNIFORMMATRIX4X2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void ( * PFNGLUNIFORMMATRIX4X3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void ( * PFNGLGETUNIFORMDVPROC) (GLuint program, GLint location, GLdouble *params);
+
+
+
+
+
+__attribute__((visibility("default"))) GLint glGetSubroutineUniformLocation (GLuint program, GLenum shadertype, const GLchar *name);
+__attribute__((visibility("default"))) GLuint glGetSubroutineIndex (GLuint program, GLenum shadertype, const GLchar *name);
+__attribute__((visibility("default"))) void glGetActiveSubroutineUniformiv (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);
+__attribute__((visibility("default"))) void glGetActiveSubroutineUniformName (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
+__attribute__((visibility("default"))) void glGetActiveSubroutineName (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
+__attribute__((visibility("default"))) void glUniformSubroutinesuiv (GLenum shadertype, GLsizei count, const GLuint *indices);
+__attribute__((visibility("default"))) void glGetUniformSubroutineuiv (GLenum shadertype, GLint location, GLuint *params);
+__attribute__((visibility("default"))) void glGetProgramStageiv (GLuint program, GLenum shadertype, GLenum pname, GLint *values);
+
+typedef GLint ( * PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) (GLuint program, GLenum shadertype, const GLchar *name);
+typedef GLuint ( * PFNGLGETSUBROUTINEINDEXPROC) (GLuint program, GLenum shadertype, const GLchar *name);
+typedef void ( * PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC) (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);
+typedef void ( * PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
+typedef void ( * PFNGLGETACTIVESUBROUTINENAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
+typedef void ( * PFNGLUNIFORMSUBROUTINESUIVPROC) (GLenum shadertype, GLsizei count, const GLuint *indices);
+typedef void ( * PFNGLGETUNIFORMSUBROUTINEUIVPROC) (GLenum shadertype, GLint location, GLuint *params);
+typedef void ( * PFNGLGETPROGRAMSTAGEIVPROC) (GLuint program, GLenum shadertype, GLenum pname, GLint *values);
+
+
+
+
+
+__attribute__((visibility("default"))) void glPatchParameteri (GLenum pname, GLint value);
+__attribute__((visibility("default"))) void glPatchParameterfv (GLenum pname, const GLfloat *values);
+
+typedef void ( * PFNGLPATCHPARAMETERIPROC) (GLenum pname, GLint value);
+typedef void ( * PFNGLPATCHPARAMETERFVPROC) (GLenum pname, const GLfloat *values);
+# 7051 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glBindTransformFeedback (GLenum target, GLuint id);
+__attribute__((visibility("default"))) void glDeleteTransformFeedbacks (GLsizei n, const GLuint *ids);
+__attribute__((visibility("default"))) void glGenTransformFeedbacks (GLsizei n, GLuint *ids);
+__attribute__((visibility("default"))) GLboolean glIsTransformFeedback (GLuint id);
+__attribute__((visibility("default"))) void glPauseTransformFeedback (void);
+__attribute__((visibility("default"))) void glResumeTransformFeedback (void);
+__attribute__((visibility("default"))) void glDrawTransformFeedback (GLenum mode, GLuint id);
+
+typedef void ( * PFNGLBINDTRANSFORMFEEDBACKPROC) (GLenum target, GLuint id);
+typedef void ( * PFNGLDELETETRANSFORMFEEDBACKSPROC) (GLsizei n, const GLuint *ids);
+typedef void ( * PFNGLGENTRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint *ids);
+typedef GLboolean ( * PFNGLISTRANSFORMFEEDBACKPROC) (GLuint id);
+typedef void ( * PFNGLPAUSETRANSFORMFEEDBACKPROC) (void);
+typedef void ( * PFNGLRESUMETRANSFORMFEEDBACKPROC) (void);
+typedef void ( * PFNGLDRAWTRANSFORMFEEDBACKPROC) (GLenum mode, GLuint id);
+
+
+
+
+
+__attribute__((visibility("default"))) void glDrawTransformFeedbackStream (GLenum mode, GLuint id, GLuint stream);
+__attribute__((visibility("default"))) void glBeginQueryIndexed (GLenum target, GLuint index, GLuint id);
+__attribute__((visibility("default"))) void glEndQueryIndexed (GLenum target, GLuint index);
+__attribute__((visibility("default"))) void glGetQueryIndexediv (GLenum target, GLuint index, GLenum pname, GLint *params);
+
+typedef void ( * PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC) (GLenum mode, GLuint id, GLuint stream);
+typedef void ( * PFNGLBEGINQUERYINDEXEDPROC) (GLenum target, GLuint index, GLuint id);
+typedef void ( * PFNGLENDQUERYINDEXEDPROC) (GLenum target, GLuint index);
+typedef void ( * PFNGLGETQUERYINDEXEDIVPROC) (GLenum target, GLuint index, GLenum pname, GLint *params);
+
+
+
+
+
+__attribute__((visibility("default"))) void glReleaseShaderCompiler (void);
+__attribute__((visibility("default"))) void glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length);
+__attribute__((visibility("default"))) void glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
+__attribute__((visibility("default"))) void glDepthRangef (GLclampf n, GLclampf f);
+__attribute__((visibility("default"))) void glClearDepthf (GLclampf d);
+
+typedef void ( * PFNGLRELEASESHADERCOMPILERPROC) (void);
+typedef void ( * PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length);
+typedef void ( * PFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
+typedef void ( * PFNGLDEPTHRANGEFPROC) (GLclampf n, GLclampf f);
+typedef void ( * PFNGLCLEARDEPTHFPROC) (GLclampf d);
+
+
+
+
+
+__attribute__((visibility("default"))) void glGetProgramBinary (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
+__attribute__((visibility("default"))) void glProgramBinary (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length);
+__attribute__((visibility("default"))) void glProgramParameteri (GLuint program, GLenum pname, GLint value);
+
+typedef void ( * PFNGLGETPROGRAMBINARYPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
+typedef void ( * PFNGLPROGRAMBINARYPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length);
+typedef void ( * PFNGLPROGRAMPARAMETERIPROC) (GLuint program, GLenum pname, GLint value);
+
+
+
+
+
+__attribute__((visibility("default"))) void glUseProgramStages (GLuint pipeline, GLbitfield stages, GLuint program);
+__attribute__((visibility("default"))) void glActiveShaderProgram (GLuint pipeline, GLuint program);
+__attribute__((visibility("default"))) GLuint glCreateShaderProgramv (GLenum type, GLsizei count, const GLchar* *strings);
+__attribute__((visibility("default"))) void glBindProgramPipeline (GLuint pipeline);
+__attribute__((visibility("default"))) void glDeleteProgramPipelines (GLsizei n, const GLuint *pipelines);
+__attribute__((visibility("default"))) void glGenProgramPipelines (GLsizei n, GLuint *pipelines);
+__attribute__((visibility("default"))) GLboolean glIsProgramPipeline (GLuint pipeline);
+__attribute__((visibility("default"))) void glGetProgramPipelineiv (GLuint pipeline, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glProgramUniform1i (GLuint program, GLint location, GLint v0);
+__attribute__((visibility("default"))) void glProgramUniform1iv (GLuint program, GLint location, GLsizei count, const GLint *value);
+__attribute__((visibility("default"))) void glProgramUniform1f (GLuint program, GLint location, GLfloat v0);
+__attribute__((visibility("default"))) void glProgramUniform1fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+__attribute__((visibility("default"))) void glProgramUniform1d (GLuint program, GLint location, GLdouble v0);
+__attribute__((visibility("default"))) void glProgramUniform1dv (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+__attribute__((visibility("default"))) void glProgramUniform1ui (GLuint program, GLint location, GLuint v0);
+__attribute__((visibility("default"))) void glProgramUniform1uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
+__attribute__((visibility("default"))) void glProgramUniform2i (GLuint program, GLint location, GLint v0, GLint v1);
+__attribute__((visibility("default"))) void glProgramUniform2iv (GLuint program, GLint location, GLsizei count, const GLint *value);
+__attribute__((visibility("default"))) void glProgramUniform2f (GLuint program, GLint location, GLfloat v0, GLfloat v1);
+__attribute__((visibility("default"))) void glProgramUniform2fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+__attribute__((visibility("default"))) void glProgramUniform2d (GLuint program, GLint location, GLdouble v0, GLdouble v1);
+__attribute__((visibility("default"))) void glProgramUniform2dv (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+__attribute__((visibility("default"))) void glProgramUniform2ui (GLuint program, GLint location, GLuint v0, GLuint v1);
+__attribute__((visibility("default"))) void glProgramUniform2uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
+__attribute__((visibility("default"))) void glProgramUniform3i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
+__attribute__((visibility("default"))) void glProgramUniform3iv (GLuint program, GLint location, GLsizei count, const GLint *value);
+__attribute__((visibility("default"))) void glProgramUniform3f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+__attribute__((visibility("default"))) void glProgramUniform3fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+__attribute__((visibility("default"))) void glProgramUniform3d (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);
+__attribute__((visibility("default"))) void glProgramUniform3dv (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+__attribute__((visibility("default"))) void glProgramUniform3ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
+__attribute__((visibility("default"))) void glProgramUniform3uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
+__attribute__((visibility("default"))) void glProgramUniform4i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+__attribute__((visibility("default"))) void glProgramUniform4iv (GLuint program, GLint location, GLsizei count, const GLint *value);
+__attribute__((visibility("default"))) void glProgramUniform4f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+__attribute__((visibility("default"))) void glProgramUniform4fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+__attribute__((visibility("default"))) void glProgramUniform4d (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);
+__attribute__((visibility("default"))) void glProgramUniform4dv (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+__attribute__((visibility("default"))) void glProgramUniform4ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+__attribute__((visibility("default"))) void glProgramUniform4uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix2x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix3x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix2x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix4x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix3x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix4x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix2x3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix3x2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix2x4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix4x2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix3x4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix4x3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+__attribute__((visibility("default"))) void glValidateProgramPipeline (GLuint pipeline);
+__attribute__((visibility("default"))) void glGetProgramPipelineInfoLog (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
+
+typedef void ( * PFNGLUSEPROGRAMSTAGESPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
+typedef void ( * PFNGLACTIVESHADERPROGRAMPROC) (GLuint pipeline, GLuint program);
+typedef GLuint ( * PFNGLCREATESHADERPROGRAMVPROC) (GLenum type, GLsizei count, const GLchar* *strings);
+typedef void ( * PFNGLBINDPROGRAMPIPELINEPROC) (GLuint pipeline);
+typedef void ( * PFNGLDELETEPROGRAMPIPELINESPROC) (GLsizei n, const GLuint *pipelines);
+typedef void ( * PFNGLGENPROGRAMPIPELINESPROC) (GLsizei n, GLuint *pipelines);
+typedef GLboolean ( * PFNGLISPROGRAMPIPELINEPROC) (GLuint pipeline);
+typedef void ( * PFNGLGETPROGRAMPIPELINEIVPROC) (GLuint pipeline, GLenum pname, GLint *params);
+typedef void ( * PFNGLPROGRAMUNIFORM1IPROC) (GLuint program, GLint location, GLint v0);
+typedef void ( * PFNGLPROGRAMUNIFORM1IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
+typedef void ( * PFNGLPROGRAMUNIFORM1FPROC) (GLuint program, GLint location, GLfloat v0);
+typedef void ( * PFNGLPROGRAMUNIFORM1FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+typedef void ( * PFNGLPROGRAMUNIFORM1DPROC) (GLuint program, GLint location, GLdouble v0);
+typedef void ( * PFNGLPROGRAMUNIFORM1DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+typedef void ( * PFNGLPROGRAMUNIFORM1UIPROC) (GLuint program, GLint location, GLuint v0);
+typedef void ( * PFNGLPROGRAMUNIFORM1UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
+typedef void ( * PFNGLPROGRAMUNIFORM2IPROC) (GLuint program, GLint location, GLint v0, GLint v1);
+typedef void ( * PFNGLPROGRAMUNIFORM2IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
+typedef void ( * PFNGLPROGRAMUNIFORM2FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1);
+typedef void ( * PFNGLPROGRAMUNIFORM2FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+typedef void ( * PFNGLPROGRAMUNIFORM2DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1);
+typedef void ( * PFNGLPROGRAMUNIFORM2DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+typedef void ( * PFNGLPROGRAMUNIFORM2UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1);
+typedef void ( * PFNGLPROGRAMUNIFORM2UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
+typedef void ( * PFNGLPROGRAMUNIFORM3IPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
+typedef void ( * PFNGLPROGRAMUNIFORM3IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
+typedef void ( * PFNGLPROGRAMUNIFORM3FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+typedef void ( * PFNGLPROGRAMUNIFORM3FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+typedef void ( * PFNGLPROGRAMUNIFORM3DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);
+typedef void ( * PFNGLPROGRAMUNIFORM3DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+typedef void ( * PFNGLPROGRAMUNIFORM3UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
+typedef void ( * PFNGLPROGRAMUNIFORM3UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
+typedef void ( * PFNGLPROGRAMUNIFORM4IPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+typedef void ( * PFNGLPROGRAMUNIFORM4IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
+typedef void ( * PFNGLPROGRAMUNIFORM4FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+typedef void ( * PFNGLPROGRAMUNIFORM4FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+typedef void ( * PFNGLPROGRAMUNIFORM4DPROC) (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);
+typedef void ( * PFNGLPROGRAMUNIFORM4DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+typedef void ( * PFNGLPROGRAMUNIFORM4UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+typedef void ( * PFNGLPROGRAMUNIFORM4UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void ( * PFNGLVALIDATEPROGRAMPIPELINEPROC) (GLuint pipeline);
+typedef void ( * PFNGLGETPROGRAMPIPELINEINFOLOGPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
+
+
+
+
+
+__attribute__((visibility("default"))) void glVertexAttribL1d (GLuint index, GLdouble x);
+__attribute__((visibility("default"))) void glVertexAttribL2d (GLuint index, GLdouble x, GLdouble y);
+__attribute__((visibility("default"))) void glVertexAttribL3d (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+__attribute__((visibility("default"))) void glVertexAttribL4d (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+__attribute__((visibility("default"))) void glVertexAttribL1dv (GLuint index, const GLdouble *v);
+__attribute__((visibility("default"))) void glVertexAttribL2dv (GLuint index, const GLdouble *v);
+__attribute__((visibility("default"))) void glVertexAttribL3dv (GLuint index, const GLdouble *v);
+__attribute__((visibility("default"))) void glVertexAttribL4dv (GLuint index, const GLdouble *v);
+__attribute__((visibility("default"))) void glVertexAttribLPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+__attribute__((visibility("default"))) void glGetVertexAttribLdv (GLuint index, GLenum pname, GLdouble *params);
+
+typedef void ( * PFNGLVERTEXATTRIBL1DPROC) (GLuint index, GLdouble x);
+typedef void ( * PFNGLVERTEXATTRIBL2DPROC) (GLuint index, GLdouble x, GLdouble y);
+typedef void ( * PFNGLVERTEXATTRIBL3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+typedef void ( * PFNGLVERTEXATTRIBL4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void ( * PFNGLVERTEXATTRIBL1DVPROC) (GLuint index, const GLdouble *v);
+typedef void ( * PFNGLVERTEXATTRIBL2DVPROC) (GLuint index, const GLdouble *v);
+typedef void ( * PFNGLVERTEXATTRIBL3DVPROC) (GLuint index, const GLdouble *v);
+typedef void ( * PFNGLVERTEXATTRIBL4DVPROC) (GLuint index, const GLdouble *v);
+typedef void ( * PFNGLVERTEXATTRIBLPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void ( * PFNGLGETVERTEXATTRIBLDVPROC) (GLuint index, GLenum pname, GLdouble *params);
+
+
+
+
+
+__attribute__((visibility("default"))) void glViewportArrayv (GLuint first, GLsizei count, const GLfloat *v);
+__attribute__((visibility("default"))) void glViewportIndexedf (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
+__attribute__((visibility("default"))) void glViewportIndexedfv (GLuint index, const GLfloat *v);
+__attribute__((visibility("default"))) void glScissorArrayv (GLuint first, GLsizei count, const GLint *v);
+__attribute__((visibility("default"))) void glScissorIndexed (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
+__attribute__((visibility("default"))) void glScissorIndexedv (GLuint index, const GLint *v);
+__attribute__((visibility("default"))) void glDepthRangeArrayv (GLuint first, GLsizei count, const GLclampd *v);
+__attribute__((visibility("default"))) void glDepthRangeIndexed (GLuint index, GLclampd n, GLclampd f);
+__attribute__((visibility("default"))) void glGetFloati_v (GLenum target, GLuint index, GLfloat *data);
+__attribute__((visibility("default"))) void glGetDoublei_v (GLenum target, GLuint index, GLdouble *data);
+
+typedef void ( * PFNGLVIEWPORTARRAYVPROC) (GLuint first, GLsizei count, const GLfloat *v);
+typedef void ( * PFNGLVIEWPORTINDEXEDFPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
+typedef void ( * PFNGLVIEWPORTINDEXEDFVPROC) (GLuint index, const GLfloat *v);
+typedef void ( * PFNGLSCISSORARRAYVPROC) (GLuint first, GLsizei count, const GLint *v);
+typedef void ( * PFNGLSCISSORINDEXEDPROC) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
+typedef void ( * PFNGLSCISSORINDEXEDVPROC) (GLuint index, const GLint *v);
+typedef void ( * PFNGLDEPTHRANGEARRAYVPROC) (GLuint first, GLsizei count, const GLclampd *v);
+typedef void ( * PFNGLDEPTHRANGEINDEXEDPROC) (GLuint index, GLclampd n, GLclampd f);
+typedef void ( * PFNGLGETFLOATI_VPROC) (GLenum target, GLuint index, GLfloat *data);
+typedef void ( * PFNGLGETDOUBLEI_VPROC) (GLenum target, GLuint index, GLdouble *data);
+
+
+
+
+
+__attribute__((visibility("default"))) GLsync glCreateSyncFromCLeventARB (struct _cl_context * context, struct _cl_event * event, GLbitfield flags);
+
+typedef GLsync ( * PFNGLCREATESYNCFROMCLEVENTARBPROC) (struct _cl_context * context, struct _cl_event * event, GLbitfield flags);
+
+
+
+
+
+__attribute__((visibility("default"))) void glDebugMessageControlARB (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
+__attribute__((visibility("default"))) void glDebugMessageInsertARB (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
+__attribute__((visibility("default"))) void glDebugMessageCallbackARB (GLDEBUGPROCARB callback, const GLvoid *userParam);
+__attribute__((visibility("default"))) GLuint glGetDebugMessageLogARB (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
+
+typedef void ( * PFNGLDEBUGMESSAGECONTROLARBPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
+typedef void ( * PFNGLDEBUGMESSAGEINSERTARBPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
+typedef void ( * PFNGLDEBUGMESSAGECALLBACKARBPROC) (GLDEBUGPROCARB callback, const GLvoid *userParam);
+typedef GLuint ( * PFNGLGETDEBUGMESSAGELOGARBPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
+
+
+
+
+
+__attribute__((visibility("default"))) GLenum glGetGraphicsResetStatusARB (void);
+__attribute__((visibility("default"))) void glGetnMapdvARB (GLenum target, GLenum query, GLsizei bufSize, GLdouble *v);
+__attribute__((visibility("default"))) void glGetnMapfvARB (GLenum target, GLenum query, GLsizei bufSize, GLfloat *v);
+__attribute__((visibility("default"))) void glGetnMapivARB (GLenum target, GLenum query, GLsizei bufSize, GLint *v);
+__attribute__((visibility("default"))) void glGetnPixelMapfvARB (GLenum map, GLsizei bufSize, GLfloat *values);
+__attribute__((visibility("default"))) void glGetnPixelMapuivARB (GLenum map, GLsizei bufSize, GLuint *values);
+__attribute__((visibility("default"))) void glGetnPixelMapusvARB (GLenum map, GLsizei bufSize, GLushort *values);
+__attribute__((visibility("default"))) void glGetnPolygonStippleARB (GLsizei bufSize, GLubyte *pattern);
+__attribute__((visibility("default"))) void glGetnColorTableARB (GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *table);
+__attribute__((visibility("default"))) void glGetnConvolutionFilterARB (GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *image);
+__attribute__((visibility("default"))) void glGetnSeparableFilterARB (GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid *row, GLsizei columnBufSize, GLvoid *column, GLvoid *span);
+__attribute__((visibility("default"))) void glGetnHistogramARB (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);
+__attribute__((visibility("default"))) void glGetnMinmaxARB (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);
+__attribute__((visibility("default"))) void glGetnTexImageARB (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid *img);
+__attribute__((visibility("default"))) void glReadnPixelsARB (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);
+__attribute__((visibility("default"))) void glGetnCompressedTexImageARB (GLenum target, GLint lod, GLsizei bufSize, GLvoid *img);
+__attribute__((visibility("default"))) void glGetnUniformfvARB (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
+__attribute__((visibility("default"))) void glGetnUniformivARB (GLuint program, GLint location, GLsizei bufSize, GLint *params);
+__attribute__((visibility("default"))) void glGetnUniformuivARB (GLuint program, GLint location, GLsizei bufSize, GLuint *params);
+__attribute__((visibility("default"))) void glGetnUniformdvARB (GLuint program, GLint location, GLsizei bufSize, GLdouble *params);
+
+typedef GLenum ( * PFNGLGETGRAPHICSRESETSTATUSARBPROC) (void);
+typedef void ( * PFNGLGETNMAPDVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLdouble *v);
+typedef void ( * PFNGLGETNMAPFVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLfloat *v);
+typedef void ( * PFNGLGETNMAPIVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLint *v);
+typedef void ( * PFNGLGETNPIXELMAPFVARBPROC) (GLenum map, GLsizei bufSize, GLfloat *values);
+typedef void ( * PFNGLGETNPIXELMAPUIVARBPROC) (GLenum map, GLsizei bufSize, GLuint *values);
+typedef void ( * PFNGLGETNPIXELMAPUSVARBPROC) (GLenum map, GLsizei bufSize, GLushort *values);
+typedef void ( * PFNGLGETNPOLYGONSTIPPLEARBPROC) (GLsizei bufSize, GLubyte *pattern);
+typedef void ( * PFNGLGETNCOLORTABLEARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *table);
+typedef void ( * PFNGLGETNCONVOLUTIONFILTERARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *image);
+typedef void ( * PFNGLGETNSEPARABLEFILTERARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid *row, GLsizei columnBufSize, GLvoid *column, GLvoid *span);
+typedef void ( * PFNGLGETNHISTOGRAMARBPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);
+typedef void ( * PFNGLGETNMINMAXARBPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values);
+typedef void ( * PFNGLGETNTEXIMAGEARBPROC) (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid *img);
+typedef void ( * PFNGLREADNPIXELSARBPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);
+typedef void ( * PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint lod, GLsizei bufSize, GLvoid *img);
+typedef void ( * PFNGLGETNUNIFORMFVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
+typedef void ( * PFNGLGETNUNIFORMIVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
+typedef void ( * PFNGLGETNUNIFORMUIVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint *params);
+typedef void ( * PFNGLGETNUNIFORMDVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLdouble *params);
+# 7367 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glBlendColorEXT (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
+
+typedef void ( * PFNGLBLENDCOLOREXTPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
+
+
+
+
+
+__attribute__((visibility("default"))) void glPolygonOffsetEXT (GLfloat factor, GLfloat bias);
+
+typedef void ( * PFNGLPOLYGONOFFSETEXTPROC) (GLfloat factor, GLfloat bias);
+# 7387 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glTexImage3DEXT (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+__attribute__((visibility("default"))) void glTexSubImage3DEXT (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
+
+typedef void ( * PFNGLTEXIMAGE3DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void ( * PFNGLTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
+
+
+
+
+
+__attribute__((visibility("default"))) void glGetTexFilterFuncSGIS (GLenum target, GLenum filter, GLfloat *weights);
+__attribute__((visibility("default"))) void glTexFilterFuncSGIS (GLenum target, GLenum filter, GLsizei n, const GLfloat *weights);
+
+typedef void ( * PFNGLGETTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLfloat *weights);
+typedef void ( * PFNGLTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLsizei n, const GLfloat *weights);
+
+
+
+
+
+__attribute__((visibility("default"))) void glTexSubImage1DEXT (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
+__attribute__((visibility("default"))) void glTexSubImage2DEXT (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
+
+typedef void ( * PFNGLTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void ( * PFNGLTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
+
+
+
+
+
+__attribute__((visibility("default"))) void glCopyTexImage1DEXT (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+__attribute__((visibility("default"))) void glCopyTexImage2DEXT (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+__attribute__((visibility("default"))) void glCopyTexSubImage1DEXT (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+__attribute__((visibility("default"))) void glCopyTexSubImage2DEXT (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+__attribute__((visibility("default"))) void glCopyTexSubImage3DEXT (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+
+typedef void ( * PFNGLCOPYTEXIMAGE1DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+typedef void ( * PFNGLCOPYTEXIMAGE2DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+typedef void ( * PFNGLCOPYTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+typedef void ( * PFNGLCOPYTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void ( * PFNGLCOPYTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+
+
+
+
+
+__attribute__((visibility("default"))) void glGetHistogramEXT (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
+__attribute__((visibility("default"))) void glGetHistogramParameterfvEXT (GLenum target, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetHistogramParameterivEXT (GLenum target, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetMinmaxEXT (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
+__attribute__((visibility("default"))) void glGetMinmaxParameterfvEXT (GLenum target, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetMinmaxParameterivEXT (GLenum target, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glHistogramEXT (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
+__attribute__((visibility("default"))) void glMinmaxEXT (GLenum target, GLenum internalformat, GLboolean sink);
+__attribute__((visibility("default"))) void glResetHistogramEXT (GLenum target);
+__attribute__((visibility("default"))) void glResetMinmaxEXT (GLenum target);
+
+typedef void ( * PFNGLGETHISTOGRAMEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
+typedef void ( * PFNGLGETHISTOGRAMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETHISTOGRAMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETMINMAXEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
+typedef void ( * PFNGLGETMINMAXPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETMINMAXPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void ( * PFNGLHISTOGRAMEXTPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
+typedef void ( * PFNGLMINMAXEXTPROC) (GLenum target, GLenum internalformat, GLboolean sink);
+typedef void ( * PFNGLRESETHISTOGRAMEXTPROC) (GLenum target);
+typedef void ( * PFNGLRESETMINMAXEXTPROC) (GLenum target);
+
+
+
+
+
+__attribute__((visibility("default"))) void glConvolutionFilter1DEXT (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
+__attribute__((visibility("default"))) void glConvolutionFilter2DEXT (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
+__attribute__((visibility("default"))) void glConvolutionParameterfEXT (GLenum target, GLenum pname, GLfloat params);
+__attribute__((visibility("default"))) void glConvolutionParameterfvEXT (GLenum target, GLenum pname, const GLfloat *params);
+__attribute__((visibility("default"))) void glConvolutionParameteriEXT (GLenum target, GLenum pname, GLint params);
+__attribute__((visibility("default"))) void glConvolutionParameterivEXT (GLenum target, GLenum pname, const GLint *params);
+__attribute__((visibility("default"))) void glCopyConvolutionFilter1DEXT (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+__attribute__((visibility("default"))) void glCopyConvolutionFilter2DEXT (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
+__attribute__((visibility("default"))) void glGetConvolutionFilterEXT (GLenum target, GLenum format, GLenum type, GLvoid *image);
+__attribute__((visibility("default"))) void glGetConvolutionParameterfvEXT (GLenum target, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetConvolutionParameterivEXT (GLenum target, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetSeparableFilterEXT (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
+__attribute__((visibility("default"))) void glSeparableFilter2DEXT (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
+
+typedef void ( * PFNGLCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
+typedef void ( * PFNGLCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
+typedef void ( * PFNGLCONVOLUTIONPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat params);
+typedef void ( * PFNGLCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat *params);
+typedef void ( * PFNGLCONVOLUTIONPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint params);
+typedef void ( * PFNGLCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);
+typedef void ( * PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+typedef void ( * PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void ( * PFNGLGETCONVOLUTIONFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image);
+typedef void ( * PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETSEPARABLEFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
+typedef void ( * PFNGLSEPARABLEFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
+# 7495 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glColorTableSGI (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
+__attribute__((visibility("default"))) void glColorTableParameterfvSGI (GLenum target, GLenum pname, const GLfloat *params);
+__attribute__((visibility("default"))) void glColorTableParameterivSGI (GLenum target, GLenum pname, const GLint *params);
+__attribute__((visibility("default"))) void glCopyColorTableSGI (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+__attribute__((visibility("default"))) void glGetColorTableSGI (GLenum target, GLenum format, GLenum type, GLvoid *table);
+__attribute__((visibility("default"))) void glGetColorTableParameterfvSGI (GLenum target, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetColorTableParameterivSGI (GLenum target, GLenum pname, GLint *params);
+
+typedef void ( * PFNGLCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
+typedef void ( * PFNGLCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, const GLfloat *params);
+typedef void ( * PFNGLCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, const GLint *params);
+typedef void ( * PFNGLCOPYCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+typedef void ( * PFNGLGETCOLORTABLESGIPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table);
+typedef void ( * PFNGLGETCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, GLint *params);
+
+
+
+
+
+__attribute__((visibility("default"))) void glPixelTexGenSGIX (GLenum mode);
+
+typedef void ( * PFNGLPIXELTEXGENSGIXPROC) (GLenum mode);
+
+
+
+
+
+__attribute__((visibility("default"))) void glPixelTexGenParameteriSGIS (GLenum pname, GLint param);
+__attribute__((visibility("default"))) void glPixelTexGenParameterivSGIS (GLenum pname, const GLint *params);
+__attribute__((visibility("default"))) void glPixelTexGenParameterfSGIS (GLenum pname, GLfloat param);
+__attribute__((visibility("default"))) void glPixelTexGenParameterfvSGIS (GLenum pname, const GLfloat *params);
+__attribute__((visibility("default"))) void glGetPixelTexGenParameterivSGIS (GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetPixelTexGenParameterfvSGIS (GLenum pname, GLfloat *params);
+
+typedef void ( * PFNGLPIXELTEXGENPARAMETERISGISPROC) (GLenum pname, GLint param);
+typedef void ( * PFNGLPIXELTEXGENPARAMETERIVSGISPROC) (GLenum pname, const GLint *params);
+typedef void ( * PFNGLPIXELTEXGENPARAMETERFSGISPROC) (GLenum pname, GLfloat param);
+typedef void ( * PFNGLPIXELTEXGENPARAMETERFVSGISPROC) (GLenum pname, const GLfloat *params);
+typedef void ( * PFNGLGETPIXELTEXGENPARAMETERIVSGISPROC) (GLenum pname, GLint *params);
+typedef void ( * PFNGLGETPIXELTEXGENPARAMETERFVSGISPROC) (GLenum pname, GLfloat *params);
+
+
+
+
+
+__attribute__((visibility("default"))) void glTexImage4DSGIS (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+__attribute__((visibility("default"))) void glTexSubImage4DSGIS (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const GLvoid *pixels);
+
+typedef void ( * PFNGLTEXIMAGE4DSGISPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void ( * PFNGLTEXSUBIMAGE4DSGISPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const GLvoid *pixels);
+# 7559 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) GLboolean glAreTexturesResidentEXT (GLsizei n, const GLuint *textures, GLboolean *residences);
+__attribute__((visibility("default"))) void glBindTextureEXT (GLenum target, GLuint texture);
+__attribute__((visibility("default"))) void glDeleteTexturesEXT (GLsizei n, const GLuint *textures);
+__attribute__((visibility("default"))) void glGenTexturesEXT (GLsizei n, GLuint *textures);
+__attribute__((visibility("default"))) GLboolean glIsTextureEXT (GLuint texture);
+__attribute__((visibility("default"))) void glPrioritizeTexturesEXT (GLsizei n, const GLuint *textures, const GLclampf *priorities);
+
+typedef GLboolean ( * PFNGLARETEXTURESRESIDENTEXTPROC) (GLsizei n, const GLuint *textures, GLboolean *residences);
+typedef void ( * PFNGLBINDTEXTUREEXTPROC) (GLenum target, GLuint texture);
+typedef void ( * PFNGLDELETETEXTURESEXTPROC) (GLsizei n, const GLuint *textures);
+typedef void ( * PFNGLGENTEXTURESEXTPROC) (GLsizei n, GLuint *textures);
+typedef GLboolean ( * PFNGLISTEXTUREEXTPROC) (GLuint texture);
+typedef void ( * PFNGLPRIORITIZETEXTURESEXTPROC) (GLsizei n, const GLuint *textures, const GLclampf *priorities);
+
+
+
+
+
+__attribute__((visibility("default"))) void glDetailTexFuncSGIS (GLenum target, GLsizei n, const GLfloat *points);
+__attribute__((visibility("default"))) void glGetDetailTexFuncSGIS (GLenum target, GLfloat *points);
+
+typedef void ( * PFNGLDETAILTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat *points);
+typedef void ( * PFNGLGETDETAILTEXFUNCSGISPROC) (GLenum target, GLfloat *points);
+
+
+
+
+
+__attribute__((visibility("default"))) void glSharpenTexFuncSGIS (GLenum target, GLsizei n, const GLfloat *points);
+__attribute__((visibility("default"))) void glGetSharpenTexFuncSGIS (GLenum target, GLfloat *points);
+
+typedef void ( * PFNGLSHARPENTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat *points);
+typedef void ( * PFNGLGETSHARPENTEXFUNCSGISPROC) (GLenum target, GLfloat *points);
+# 7605 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glSampleMaskSGIS (GLclampf value, GLboolean invert);
+__attribute__((visibility("default"))) void glSamplePatternSGIS (GLenum pattern);
+
+typedef void ( * PFNGLSAMPLEMASKSGISPROC) (GLclampf value, GLboolean invert);
+typedef void ( * PFNGLSAMPLEPATTERNSGISPROC) (GLenum pattern);
+# 7619 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glArrayElementEXT (GLint i);
+__attribute__((visibility("default"))) void glColorPointerEXT (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
+__attribute__((visibility("default"))) void glDrawArraysEXT (GLenum mode, GLint first, GLsizei count);
+__attribute__((visibility("default"))) void glEdgeFlagPointerEXT (GLsizei stride, GLsizei count, const GLboolean *pointer);
+__attribute__((visibility("default"))) void glGetPointervEXT (GLenum pname, GLvoid* *params);
+__attribute__((visibility("default"))) void glIndexPointerEXT (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
+__attribute__((visibility("default"))) void glNormalPointerEXT (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
+__attribute__((visibility("default"))) void glTexCoordPointerEXT (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
+__attribute__((visibility("default"))) void glVertexPointerEXT (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
+
+typedef void ( * PFNGLARRAYELEMENTEXTPROC) (GLint i);
+typedef void ( * PFNGLCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
+typedef void ( * PFNGLDRAWARRAYSEXTPROC) (GLenum mode, GLint first, GLsizei count);
+typedef void ( * PFNGLEDGEFLAGPOINTEREXTPROC) (GLsizei stride, GLsizei count, const GLboolean *pointer);
+typedef void ( * PFNGLGETPOINTERVEXTPROC) (GLenum pname, GLvoid* *params);
+typedef void ( * PFNGLINDEXPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
+typedef void ( * PFNGLNORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
+typedef void ( * PFNGLTEXCOORDPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
+typedef void ( * PFNGLVERTEXPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
+# 7667 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glBlendEquationEXT (GLenum mode);
+
+typedef void ( * PFNGLBLENDEQUATIONEXTPROC) (GLenum mode);
+# 7695 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glSpriteParameterfSGIX (GLenum pname, GLfloat param);
+__attribute__((visibility("default"))) void glSpriteParameterfvSGIX (GLenum pname, const GLfloat *params);
+__attribute__((visibility("default"))) void glSpriteParameteriSGIX (GLenum pname, GLint param);
+__attribute__((visibility("default"))) void glSpriteParameterivSGIX (GLenum pname, const GLint *params);
+
+typedef void ( * PFNGLSPRITEPARAMETERFSGIXPROC) (GLenum pname, GLfloat param);
+typedef void ( * PFNGLSPRITEPARAMETERFVSGIXPROC) (GLenum pname, const GLfloat *params);
+typedef void ( * PFNGLSPRITEPARAMETERISGIXPROC) (GLenum pname, GLint param);
+typedef void ( * PFNGLSPRITEPARAMETERIVSGIXPROC) (GLenum pname, const GLint *params);
+# 7713 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glPointParameterfEXT (GLenum pname, GLfloat param);
+__attribute__((visibility("default"))) void glPointParameterfvEXT (GLenum pname, const GLfloat *params);
+
+typedef void ( * PFNGLPOINTPARAMETERFEXTPROC) (GLenum pname, GLfloat param);
+typedef void ( * PFNGLPOINTPARAMETERFVEXTPROC) (GLenum pname, const GLfloat *params);
+
+
+
+
+
+__attribute__((visibility("default"))) void glPointParameterfSGIS (GLenum pname, GLfloat param);
+__attribute__((visibility("default"))) void glPointParameterfvSGIS (GLenum pname, const GLfloat *params);
+
+typedef void ( * PFNGLPOINTPARAMETERFSGISPROC) (GLenum pname, GLfloat param);
+typedef void ( * PFNGLPOINTPARAMETERFVSGISPROC) (GLenum pname, const GLfloat *params);
+
+
+
+
+
+__attribute__((visibility("default"))) GLint glGetInstrumentsSGIX (void);
+__attribute__((visibility("default"))) void glInstrumentsBufferSGIX (GLsizei size, GLint *buffer);
+__attribute__((visibility("default"))) GLint glPollInstrumentsSGIX (GLint *marker_p);
+__attribute__((visibility("default"))) void glReadInstrumentsSGIX (GLint marker);
+__attribute__((visibility("default"))) void glStartInstrumentsSGIX (void);
+__attribute__((visibility("default"))) void glStopInstrumentsSGIX (GLint marker);
+
+typedef GLint ( * PFNGLGETINSTRUMENTSSGIXPROC) (void);
+typedef void ( * PFNGLINSTRUMENTSBUFFERSGIXPROC) (GLsizei size, GLint *buffer);
+typedef GLint ( * PFNGLPOLLINSTRUMENTSSGIXPROC) (GLint *marker_p);
+typedef void ( * PFNGLREADINSTRUMENTSSGIXPROC) (GLint marker);
+typedef void ( * PFNGLSTARTINSTRUMENTSSGIXPROC) (void);
+typedef void ( * PFNGLSTOPINSTRUMENTSSGIXPROC) (GLint marker);
+# 7755 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glFrameZoomSGIX (GLint factor);
+
+typedef void ( * PFNGLFRAMEZOOMSGIXPROC) (GLint factor);
+
+
+
+
+
+__attribute__((visibility("default"))) void glTagSampleBufferSGIX (void);
+
+typedef void ( * PFNGLTAGSAMPLEBUFFERSGIXPROC) (void);
+
+
+
+
+
+__attribute__((visibility("default"))) void glDeformationMap3dSGIX (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble *points);
+__attribute__((visibility("default"))) void glDeformationMap3fSGIX (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat *points);
+__attribute__((visibility("default"))) void glDeformSGIX (GLbitfield mask);
+__attribute__((visibility("default"))) void glLoadIdentityDeformationMapSGIX (GLbitfield mask);
+
+typedef void ( * PFNGLDEFORMATIONMAP3DSGIXPROC) (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble *points);
+typedef void ( * PFNGLDEFORMATIONMAP3FSGIXPROC) (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat *points);
+typedef void ( * PFNGLDEFORMSGIXPROC) (GLbitfield mask);
+typedef void ( * PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC) (GLbitfield mask);
+
+
+
+
+
+__attribute__((visibility("default"))) void glReferencePlaneSGIX (const GLdouble *equation);
+
+typedef void ( * PFNGLREFERENCEPLANESGIXPROC) (const GLdouble *equation);
+
+
+
+
+
+__attribute__((visibility("default"))) void glFlushRasterSGIX (void);
+
+typedef void ( * PFNGLFLUSHRASTERSGIXPROC) (void);
+# 7805 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glFogFuncSGIS (GLsizei n, const GLfloat *points);
+__attribute__((visibility("default"))) void glGetFogFuncSGIS (GLfloat *points);
+
+typedef void ( * PFNGLFOGFUNCSGISPROC) (GLsizei n, const GLfloat *points);
+typedef void ( * PFNGLGETFOGFUNCSGISPROC) (GLfloat *points);
+# 7819 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glImageTransformParameteriHP (GLenum target, GLenum pname, GLint param);
+__attribute__((visibility("default"))) void glImageTransformParameterfHP (GLenum target, GLenum pname, GLfloat param);
+__attribute__((visibility("default"))) void glImageTransformParameterivHP (GLenum target, GLenum pname, const GLint *params);
+__attribute__((visibility("default"))) void glImageTransformParameterfvHP (GLenum target, GLenum pname, const GLfloat *params);
+__attribute__((visibility("default"))) void glGetImageTransformParameterivHP (GLenum target, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetImageTransformParameterfvHP (GLenum target, GLenum pname, GLfloat *params);
+
+typedef void ( * PFNGLIMAGETRANSFORMPARAMETERIHPPROC) (GLenum target, GLenum pname, GLint param);
+typedef void ( * PFNGLIMAGETRANSFORMPARAMETERFHPPROC) (GLenum target, GLenum pname, GLfloat param);
+typedef void ( * PFNGLIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, const GLint *params);
+typedef void ( * PFNGLIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, const GLfloat *params);
+typedef void ( * PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, GLfloat *params);
+# 7845 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glColorSubTableEXT (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
+__attribute__((visibility("default"))) void glCopyColorSubTableEXT (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
+
+typedef void ( * PFNGLCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
+typedef void ( * PFNGLCOPYCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
+# 7859 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glHintPGI (GLenum target, GLint mode);
+
+typedef void ( * PFNGLHINTPGIPROC) (GLenum target, GLint mode);
+
+
+
+
+
+__attribute__((visibility("default"))) void glColorTableEXT (GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
+__attribute__((visibility("default"))) void glGetColorTableEXT (GLenum target, GLenum format, GLenum type, GLvoid *data);
+__attribute__((visibility("default"))) void glGetColorTableParameterivEXT (GLenum target, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetColorTableParameterfvEXT (GLenum target, GLenum pname, GLfloat *params);
+
+typedef void ( * PFNGLCOLORTABLEEXTPROC) (GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
+typedef void ( * PFNGLGETCOLORTABLEEXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *data);
+typedef void ( * PFNGLGETCOLORTABLEPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETCOLORTABLEPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
+# 7885 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glGetListParameterfvSGIX (GLuint list, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetListParameterivSGIX (GLuint list, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glListParameterfSGIX (GLuint list, GLenum pname, GLfloat param);
+__attribute__((visibility("default"))) void glListParameterfvSGIX (GLuint list, GLenum pname, const GLfloat *params);
+__attribute__((visibility("default"))) void glListParameteriSGIX (GLuint list, GLenum pname, GLint param);
+__attribute__((visibility("default"))) void glListParameterivSGIX (GLuint list, GLenum pname, const GLint *params);
+
+typedef void ( * PFNGLGETLISTPARAMETERFVSGIXPROC) (GLuint list, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETLISTPARAMETERIVSGIXPROC) (GLuint list, GLenum pname, GLint *params);
+typedef void ( * PFNGLLISTPARAMETERFSGIXPROC) (GLuint list, GLenum pname, GLfloat param);
+typedef void ( * PFNGLLISTPARAMETERFVSGIXPROC) (GLuint list, GLenum pname, const GLfloat *params);
+typedef void ( * PFNGLLISTPARAMETERISGIXPROC) (GLuint list, GLenum pname, GLint param);
+typedef void ( * PFNGLLISTPARAMETERIVSGIXPROC) (GLuint list, GLenum pname, const GLint *params);
+# 7923 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glIndexMaterialEXT (GLenum face, GLenum mode);
+
+typedef void ( * PFNGLINDEXMATERIALEXTPROC) (GLenum face, GLenum mode);
+
+
+
+
+
+__attribute__((visibility("default"))) void glIndexFuncEXT (GLenum func, GLclampf ref);
+
+typedef void ( * PFNGLINDEXFUNCEXTPROC) (GLenum func, GLclampf ref);
+# 7943 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glLockArraysEXT (GLint first, GLsizei count);
+__attribute__((visibility("default"))) void glUnlockArraysEXT (void);
+
+typedef void ( * PFNGLLOCKARRAYSEXTPROC) (GLint first, GLsizei count);
+typedef void ( * PFNGLUNLOCKARRAYSEXTPROC) (void);
+
+
+
+
+
+__attribute__((visibility("default"))) void glCullParameterdvEXT (GLenum pname, GLdouble *params);
+__attribute__((visibility("default"))) void glCullParameterfvEXT (GLenum pname, GLfloat *params);
+
+typedef void ( * PFNGLCULLPARAMETERDVEXTPROC) (GLenum pname, GLdouble *params);
+typedef void ( * PFNGLCULLPARAMETERFVEXTPROC) (GLenum pname, GLfloat *params);
+# 7967 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glFragmentColorMaterialSGIX (GLenum face, GLenum mode);
+__attribute__((visibility("default"))) void glFragmentLightfSGIX (GLenum light, GLenum pname, GLfloat param);
+__attribute__((visibility("default"))) void glFragmentLightfvSGIX (GLenum light, GLenum pname, const GLfloat *params);
+__attribute__((visibility("default"))) void glFragmentLightiSGIX (GLenum light, GLenum pname, GLint param);
+__attribute__((visibility("default"))) void glFragmentLightivSGIX (GLenum light, GLenum pname, const GLint *params);
+__attribute__((visibility("default"))) void glFragmentLightModelfSGIX (GLenum pname, GLfloat param);
+__attribute__((visibility("default"))) void glFragmentLightModelfvSGIX (GLenum pname, const GLfloat *params);
+__attribute__((visibility("default"))) void glFragmentLightModeliSGIX (GLenum pname, GLint param);
+__attribute__((visibility("default"))) void glFragmentLightModelivSGIX (GLenum pname, const GLint *params);
+__attribute__((visibility("default"))) void glFragmentMaterialfSGIX (GLenum face, GLenum pname, GLfloat param);
+__attribute__((visibility("default"))) void glFragmentMaterialfvSGIX (GLenum face, GLenum pname, const GLfloat *params);
+__attribute__((visibility("default"))) void glFragmentMaterialiSGIX (GLenum face, GLenum pname, GLint param);
+__attribute__((visibility("default"))) void glFragmentMaterialivSGIX (GLenum face, GLenum pname, const GLint *params);
+__attribute__((visibility("default"))) void glGetFragmentLightfvSGIX (GLenum light, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetFragmentLightivSGIX (GLenum light, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetFragmentMaterialfvSGIX (GLenum face, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetFragmentMaterialivSGIX (GLenum face, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glLightEnviSGIX (GLenum pname, GLint param);
+
+typedef void ( * PFNGLFRAGMENTCOLORMATERIALSGIXPROC) (GLenum face, GLenum mode);
+typedef void ( * PFNGLFRAGMENTLIGHTFSGIXPROC) (GLenum light, GLenum pname, GLfloat param);
+typedef void ( * PFNGLFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, const GLfloat *params);
+typedef void ( * PFNGLFRAGMENTLIGHTISGIXPROC) (GLenum light, GLenum pname, GLint param);
+typedef void ( * PFNGLFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, const GLint *params);
+typedef void ( * PFNGLFRAGMENTLIGHTMODELFSGIXPROC) (GLenum pname, GLfloat param);
+typedef void ( * PFNGLFRAGMENTLIGHTMODELFVSGIXPROC) (GLenum pname, const GLfloat *params);
+typedef void ( * PFNGLFRAGMENTLIGHTMODELISGIXPROC) (GLenum pname, GLint param);
+typedef void ( * PFNGLFRAGMENTLIGHTMODELIVSGIXPROC) (GLenum pname, const GLint *params);
+typedef void ( * PFNGLFRAGMENTMATERIALFSGIXPROC) (GLenum face, GLenum pname, GLfloat param);
+typedef void ( * PFNGLFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, const GLfloat *params);
+typedef void ( * PFNGLFRAGMENTMATERIALISGIXPROC) (GLenum face, GLenum pname, GLint param);
+typedef void ( * PFNGLFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint *params);
+typedef void ( * PFNGLGETFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, GLint *params);
+typedef void ( * PFNGLLIGHTENVISGIXPROC) (GLenum pname, GLint param);
+# 8017 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glDrawRangeElementsEXT (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
+
+typedef void ( * PFNGLDRAWRANGEELEMENTSEXTPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
+# 8033 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glApplyTextureEXT (GLenum mode);
+__attribute__((visibility("default"))) void glTextureLightEXT (GLenum pname);
+__attribute__((visibility("default"))) void glTextureMaterialEXT (GLenum face, GLenum mode);
+
+typedef void ( * PFNGLAPPLYTEXTUREEXTPROC) (GLenum mode);
+typedef void ( * PFNGLTEXTURELIGHTEXTPROC) (GLenum pname);
+typedef void ( * PFNGLTEXTUREMATERIALEXTPROC) (GLenum face, GLenum mode);
+# 8053 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glAsyncMarkerSGIX (GLuint marker);
+__attribute__((visibility("default"))) GLint glFinishAsyncSGIX (GLuint *markerp);
+__attribute__((visibility("default"))) GLint glPollAsyncSGIX (GLuint *markerp);
+__attribute__((visibility("default"))) GLuint glGenAsyncMarkersSGIX (GLsizei range);
+__attribute__((visibility("default"))) void glDeleteAsyncMarkersSGIX (GLuint marker, GLsizei range);
+__attribute__((visibility("default"))) GLboolean glIsAsyncMarkerSGIX (GLuint marker);
+
+typedef void ( * PFNGLASYNCMARKERSGIXPROC) (GLuint marker);
+typedef GLint ( * PFNGLFINISHASYNCSGIXPROC) (GLuint *markerp);
+typedef GLint ( * PFNGLPOLLASYNCSGIXPROC) (GLuint *markerp);
+typedef GLuint ( * PFNGLGENASYNCMARKERSSGIXPROC) (GLsizei range);
+typedef void ( * PFNGLDELETEASYNCMARKERSSGIXPROC) (GLuint marker, GLsizei range);
+typedef GLboolean ( * PFNGLISASYNCMARKERSGIXPROC) (GLuint marker);
+# 8079 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glVertexPointervINTEL (GLint size, GLenum type, const GLvoid* *pointer);
+__attribute__((visibility("default"))) void glNormalPointervINTEL (GLenum type, const GLvoid* *pointer);
+__attribute__((visibility("default"))) void glColorPointervINTEL (GLint size, GLenum type, const GLvoid* *pointer);
+__attribute__((visibility("default"))) void glTexCoordPointervINTEL (GLint size, GLenum type, const GLvoid* *pointer);
+
+typedef void ( * PFNGLVERTEXPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer);
+typedef void ( * PFNGLNORMALPOINTERVINTELPROC) (GLenum type, const GLvoid* *pointer);
+typedef void ( * PFNGLCOLORPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer);
+typedef void ( * PFNGLTEXCOORDPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer);
+# 8097 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glPixelTransformParameteriEXT (GLenum target, GLenum pname, GLint param);
+__attribute__((visibility("default"))) void glPixelTransformParameterfEXT (GLenum target, GLenum pname, GLfloat param);
+__attribute__((visibility("default"))) void glPixelTransformParameterivEXT (GLenum target, GLenum pname, const GLint *params);
+__attribute__((visibility("default"))) void glPixelTransformParameterfvEXT (GLenum target, GLenum pname, const GLfloat *params);
+
+typedef void ( * PFNGLPIXELTRANSFORMPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint param);
+typedef void ( * PFNGLPIXELTRANSFORMPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat param);
+typedef void ( * PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);
+typedef void ( * PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat *params);
+# 8123 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glSecondaryColor3bEXT (GLbyte red, GLbyte green, GLbyte blue);
+__attribute__((visibility("default"))) void glSecondaryColor3bvEXT (const GLbyte *v);
+__attribute__((visibility("default"))) void glSecondaryColor3dEXT (GLdouble red, GLdouble green, GLdouble blue);
+__attribute__((visibility("default"))) void glSecondaryColor3dvEXT (const GLdouble *v);
+__attribute__((visibility("default"))) void glSecondaryColor3fEXT (GLfloat red, GLfloat green, GLfloat blue);
+__attribute__((visibility("default"))) void glSecondaryColor3fvEXT (const GLfloat *v);
+__attribute__((visibility("default"))) void glSecondaryColor3iEXT (GLint red, GLint green, GLint blue);
+__attribute__((visibility("default"))) void glSecondaryColor3ivEXT (const GLint *v);
+__attribute__((visibility("default"))) void glSecondaryColor3sEXT (GLshort red, GLshort green, GLshort blue);
+__attribute__((visibility("default"))) void glSecondaryColor3svEXT (const GLshort *v);
+__attribute__((visibility("default"))) void glSecondaryColor3ubEXT (GLubyte red, GLubyte green, GLubyte blue);
+__attribute__((visibility("default"))) void glSecondaryColor3ubvEXT (const GLubyte *v);
+__attribute__((visibility("default"))) void glSecondaryColor3uiEXT (GLuint red, GLuint green, GLuint blue);
+__attribute__((visibility("default"))) void glSecondaryColor3uivEXT (const GLuint *v);
+__attribute__((visibility("default"))) void glSecondaryColor3usEXT (GLushort red, GLushort green, GLushort blue);
+__attribute__((visibility("default"))) void glSecondaryColor3usvEXT (const GLushort *v);
+__attribute__((visibility("default"))) void glSecondaryColorPointerEXT (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+
+typedef void ( * PFNGLSECONDARYCOLOR3BEXTPROC) (GLbyte red, GLbyte green, GLbyte blue);
+typedef void ( * PFNGLSECONDARYCOLOR3BVEXTPROC) (const GLbyte *v);
+typedef void ( * PFNGLSECONDARYCOLOR3DEXTPROC) (GLdouble red, GLdouble green, GLdouble blue);
+typedef void ( * PFNGLSECONDARYCOLOR3DVEXTPROC) (const GLdouble *v);
+typedef void ( * PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat green, GLfloat blue);
+typedef void ( * PFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat *v);
+typedef void ( * PFNGLSECONDARYCOLOR3IEXTPROC) (GLint red, GLint green, GLint blue);
+typedef void ( * PFNGLSECONDARYCOLOR3IVEXTPROC) (const GLint *v);
+typedef void ( * PFNGLSECONDARYCOLOR3SEXTPROC) (GLshort red, GLshort green, GLshort blue);
+typedef void ( * PFNGLSECONDARYCOLOR3SVEXTPROC) (const GLshort *v);
+typedef void ( * PFNGLSECONDARYCOLOR3UBEXTPROC) (GLubyte red, GLubyte green, GLubyte blue);
+typedef void ( * PFNGLSECONDARYCOLOR3UBVEXTPROC) (const GLubyte *v);
+typedef void ( * PFNGLSECONDARYCOLOR3UIEXTPROC) (GLuint red, GLuint green, GLuint blue);
+typedef void ( * PFNGLSECONDARYCOLOR3UIVEXTPROC) (const GLuint *v);
+typedef void ( * PFNGLSECONDARYCOLOR3USEXTPROC) (GLushort red, GLushort green, GLushort blue);
+typedef void ( * PFNGLSECONDARYCOLOR3USVEXTPROC) (const GLushort *v);
+typedef void ( * PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+
+
+
+
+
+__attribute__((visibility("default"))) void glTextureNormalEXT (GLenum mode);
+
+typedef void ( * PFNGLTEXTURENORMALEXTPROC) (GLenum mode);
+
+
+
+
+
+__attribute__((visibility("default"))) void glMultiDrawArraysEXT (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
+__attribute__((visibility("default"))) void glMultiDrawElementsEXT (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
+
+typedef void ( * PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
+typedef void ( * PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
+
+
+
+
+
+__attribute__((visibility("default"))) void glFogCoordfEXT (GLfloat coord);
+__attribute__((visibility("default"))) void glFogCoordfvEXT (const GLfloat *coord);
+__attribute__((visibility("default"))) void glFogCoorddEXT (GLdouble coord);
+__attribute__((visibility("default"))) void glFogCoorddvEXT (const GLdouble *coord);
+__attribute__((visibility("default"))) void glFogCoordPointerEXT (GLenum type, GLsizei stride, const GLvoid *pointer);
+
+typedef void ( * PFNGLFOGCOORDFEXTPROC) (GLfloat coord);
+typedef void ( * PFNGLFOGCOORDFVEXTPROC) (const GLfloat *coord);
+typedef void ( * PFNGLFOGCOORDDEXTPROC) (GLdouble coord);
+typedef void ( * PFNGLFOGCOORDDVEXTPROC) (const GLdouble *coord);
+typedef void ( * PFNGLFOGCOORDPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
+# 8201 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glTangent3bEXT (GLbyte tx, GLbyte ty, GLbyte tz);
+__attribute__((visibility("default"))) void glTangent3bvEXT (const GLbyte *v);
+__attribute__((visibility("default"))) void glTangent3dEXT (GLdouble tx, GLdouble ty, GLdouble tz);
+__attribute__((visibility("default"))) void glTangent3dvEXT (const GLdouble *v);
+__attribute__((visibility("default"))) void glTangent3fEXT (GLfloat tx, GLfloat ty, GLfloat tz);
+__attribute__((visibility("default"))) void glTangent3fvEXT (const GLfloat *v);
+__attribute__((visibility("default"))) void glTangent3iEXT (GLint tx, GLint ty, GLint tz);
+__attribute__((visibility("default"))) void glTangent3ivEXT (const GLint *v);
+__attribute__((visibility("default"))) void glTangent3sEXT (GLshort tx, GLshort ty, GLshort tz);
+__attribute__((visibility("default"))) void glTangent3svEXT (const GLshort *v);
+__attribute__((visibility("default"))) void glBinormal3bEXT (GLbyte bx, GLbyte by, GLbyte bz);
+__attribute__((visibility("default"))) void glBinormal3bvEXT (const GLbyte *v);
+__attribute__((visibility("default"))) void glBinormal3dEXT (GLdouble bx, GLdouble by, GLdouble bz);
+__attribute__((visibility("default"))) void glBinormal3dvEXT (const GLdouble *v);
+__attribute__((visibility("default"))) void glBinormal3fEXT (GLfloat bx, GLfloat by, GLfloat bz);
+__attribute__((visibility("default"))) void glBinormal3fvEXT (const GLfloat *v);
+__attribute__((visibility("default"))) void glBinormal3iEXT (GLint bx, GLint by, GLint bz);
+__attribute__((visibility("default"))) void glBinormal3ivEXT (const GLint *v);
+__attribute__((visibility("default"))) void glBinormal3sEXT (GLshort bx, GLshort by, GLshort bz);
+__attribute__((visibility("default"))) void glBinormal3svEXT (const GLshort *v);
+__attribute__((visibility("default"))) void glTangentPointerEXT (GLenum type, GLsizei stride, const GLvoid *pointer);
+__attribute__((visibility("default"))) void glBinormalPointerEXT (GLenum type, GLsizei stride, const GLvoid *pointer);
+
+typedef void ( * PFNGLTANGENT3BEXTPROC) (GLbyte tx, GLbyte ty, GLbyte tz);
+typedef void ( * PFNGLTANGENT3BVEXTPROC) (const GLbyte *v);
+typedef void ( * PFNGLTANGENT3DEXTPROC) (GLdouble tx, GLdouble ty, GLdouble tz);
+typedef void ( * PFNGLTANGENT3DVEXTPROC) (const GLdouble *v);
+typedef void ( * PFNGLTANGENT3FEXTPROC) (GLfloat tx, GLfloat ty, GLfloat tz);
+typedef void ( * PFNGLTANGENT3FVEXTPROC) (const GLfloat *v);
+typedef void ( * PFNGLTANGENT3IEXTPROC) (GLint tx, GLint ty, GLint tz);
+typedef void ( * PFNGLTANGENT3IVEXTPROC) (const GLint *v);
+typedef void ( * PFNGLTANGENT3SEXTPROC) (GLshort tx, GLshort ty, GLshort tz);
+typedef void ( * PFNGLTANGENT3SVEXTPROC) (const GLshort *v);
+typedef void ( * PFNGLBINORMAL3BEXTPROC) (GLbyte bx, GLbyte by, GLbyte bz);
+typedef void ( * PFNGLBINORMAL3BVEXTPROC) (const GLbyte *v);
+typedef void ( * PFNGLBINORMAL3DEXTPROC) (GLdouble bx, GLdouble by, GLdouble bz);
+typedef void ( * PFNGLBINORMAL3DVEXTPROC) (const GLdouble *v);
+typedef void ( * PFNGLBINORMAL3FEXTPROC) (GLfloat bx, GLfloat by, GLfloat bz);
+typedef void ( * PFNGLBINORMAL3FVEXTPROC) (const GLfloat *v);
+typedef void ( * PFNGLBINORMAL3IEXTPROC) (GLint bx, GLint by, GLint bz);
+typedef void ( * PFNGLBINORMAL3IVEXTPROC) (const GLint *v);
+typedef void ( * PFNGLBINORMAL3SEXTPROC) (GLshort bx, GLshort by, GLshort bz);
+typedef void ( * PFNGLBINORMAL3SVEXTPROC) (const GLshort *v);
+typedef void ( * PFNGLTANGENTPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void ( * PFNGLBINORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
+# 8267 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glFinishTextureSUNX (void);
+
+typedef void ( * PFNGLFINISHTEXTURESUNXPROC) (void);
+
+
+
+
+
+__attribute__((visibility("default"))) void glGlobalAlphaFactorbSUN (GLbyte factor);
+__attribute__((visibility("default"))) void glGlobalAlphaFactorsSUN (GLshort factor);
+__attribute__((visibility("default"))) void glGlobalAlphaFactoriSUN (GLint factor);
+__attribute__((visibility("default"))) void glGlobalAlphaFactorfSUN (GLfloat factor);
+__attribute__((visibility("default"))) void glGlobalAlphaFactordSUN (GLdouble factor);
+__attribute__((visibility("default"))) void glGlobalAlphaFactorubSUN (GLubyte factor);
+__attribute__((visibility("default"))) void glGlobalAlphaFactorusSUN (GLushort factor);
+__attribute__((visibility("default"))) void glGlobalAlphaFactoruiSUN (GLuint factor);
+
+typedef void ( * PFNGLGLOBALALPHAFACTORBSUNPROC) (GLbyte factor);
+typedef void ( * PFNGLGLOBALALPHAFACTORSSUNPROC) (GLshort factor);
+typedef void ( * PFNGLGLOBALALPHAFACTORISUNPROC) (GLint factor);
+typedef void ( * PFNGLGLOBALALPHAFACTORFSUNPROC) (GLfloat factor);
+typedef void ( * PFNGLGLOBALALPHAFACTORDSUNPROC) (GLdouble factor);
+typedef void ( * PFNGLGLOBALALPHAFACTORUBSUNPROC) (GLubyte factor);
+typedef void ( * PFNGLGLOBALALPHAFACTORUSSUNPROC) (GLushort factor);
+typedef void ( * PFNGLGLOBALALPHAFACTORUISUNPROC) (GLuint factor);
+
+
+
+
+
+__attribute__((visibility("default"))) void glReplacementCodeuiSUN (GLuint code);
+__attribute__((visibility("default"))) void glReplacementCodeusSUN (GLushort code);
+__attribute__((visibility("default"))) void glReplacementCodeubSUN (GLubyte code);
+__attribute__((visibility("default"))) void glReplacementCodeuivSUN (const GLuint *code);
+__attribute__((visibility("default"))) void glReplacementCodeusvSUN (const GLushort *code);
+__attribute__((visibility("default"))) void glReplacementCodeubvSUN (const GLubyte *code);
+__attribute__((visibility("default"))) void glReplacementCodePointerSUN (GLenum type, GLsizei stride, const GLvoid* *pointer);
+
+typedef void ( * PFNGLREPLACEMENTCODEUISUNPROC) (GLuint code);
+typedef void ( * PFNGLREPLACEMENTCODEUSSUNPROC) (GLushort code);
+typedef void ( * PFNGLREPLACEMENTCODEUBSUNPROC) (GLubyte code);
+typedef void ( * PFNGLREPLACEMENTCODEUIVSUNPROC) (const GLuint *code);
+typedef void ( * PFNGLREPLACEMENTCODEUSVSUNPROC) (const GLushort *code);
+typedef void ( * PFNGLREPLACEMENTCODEUBVSUNPROC) (const GLubyte *code);
+typedef void ( * PFNGLREPLACEMENTCODEPOINTERSUNPROC) (GLenum type, GLsizei stride, const GLvoid* *pointer);
+
+
+
+
+
+__attribute__((visibility("default"))) void glColor4ubVertex2fSUN (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y);
+__attribute__((visibility("default"))) void glColor4ubVertex2fvSUN (const GLubyte *c, const GLfloat *v);
+__attribute__((visibility("default"))) void glColor4ubVertex3fSUN (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glColor4ubVertex3fvSUN (const GLubyte *c, const GLfloat *v);
+__attribute__((visibility("default"))) void glColor3fVertex3fSUN (GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glColor3fVertex3fvSUN (const GLfloat *c, const GLfloat *v);
+__attribute__((visibility("default"))) void glNormal3fVertex3fSUN (GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glNormal3fVertex3fvSUN (const GLfloat *n, const GLfloat *v);
+__attribute__((visibility("default"))) void glColor4fNormal3fVertex3fSUN (GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glColor4fNormal3fVertex3fvSUN (const GLfloat *c, const GLfloat *n, const GLfloat *v);
+__attribute__((visibility("default"))) void glTexCoord2fVertex3fSUN (GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glTexCoord2fVertex3fvSUN (const GLfloat *tc, const GLfloat *v);
+__attribute__((visibility("default"))) void glTexCoord4fVertex4fSUN (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+__attribute__((visibility("default"))) void glTexCoord4fVertex4fvSUN (const GLfloat *tc, const GLfloat *v);
+__attribute__((visibility("default"))) void glTexCoord2fColor4ubVertex3fSUN (GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glTexCoord2fColor4ubVertex3fvSUN (const GLfloat *tc, const GLubyte *c, const GLfloat *v);
+__attribute__((visibility("default"))) void glTexCoord2fColor3fVertex3fSUN (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glTexCoord2fColor3fVertex3fvSUN (const GLfloat *tc, const GLfloat *c, const GLfloat *v);
+__attribute__((visibility("default"))) void glTexCoord2fNormal3fVertex3fSUN (GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glTexCoord2fNormal3fVertex3fvSUN (const GLfloat *tc, const GLfloat *n, const GLfloat *v);
+__attribute__((visibility("default"))) void glTexCoord2fColor4fNormal3fVertex3fSUN (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glTexCoord2fColor4fNormal3fVertex3fvSUN (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
+__attribute__((visibility("default"))) void glTexCoord4fColor4fNormal3fVertex4fSUN (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+__attribute__((visibility("default"))) void glTexCoord4fColor4fNormal3fVertex4fvSUN (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
+__attribute__((visibility("default"))) void glReplacementCodeuiVertex3fSUN (GLuint rc, GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glReplacementCodeuiVertex3fvSUN (const GLuint *rc, const GLfloat *v);
+__attribute__((visibility("default"))) void glReplacementCodeuiColor4ubVertex3fSUN (GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glReplacementCodeuiColor4ubVertex3fvSUN (const GLuint *rc, const GLubyte *c, const GLfloat *v);
+__attribute__((visibility("default"))) void glReplacementCodeuiColor3fVertex3fSUN (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glReplacementCodeuiColor3fVertex3fvSUN (const GLuint *rc, const GLfloat *c, const GLfloat *v);
+__attribute__((visibility("default"))) void glReplacementCodeuiNormal3fVertex3fSUN (GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glReplacementCodeuiNormal3fVertex3fvSUN (const GLuint *rc, const GLfloat *n, const GLfloat *v);
+__attribute__((visibility("default"))) void glReplacementCodeuiColor4fNormal3fVertex3fSUN (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glReplacementCodeuiColor4fNormal3fVertex3fvSUN (const GLuint *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
+__attribute__((visibility("default"))) void glReplacementCodeuiTexCoord2fVertex3fSUN (GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glReplacementCodeuiTexCoord2fVertex3fvSUN (const GLuint *rc, const GLfloat *tc, const GLfloat *v);
+__attribute__((visibility("default"))) void glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (const GLuint *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v);
+__attribute__((visibility("default"))) void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (const GLuint *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
+
+typedef void ( * PFNGLCOLOR4UBVERTEX2FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y);
+typedef void ( * PFNGLCOLOR4UBVERTEX2FVSUNPROC) (const GLubyte *c, const GLfloat *v);
+typedef void ( * PFNGLCOLOR4UBVERTEX3FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLCOLOR4UBVERTEX3FVSUNPROC) (const GLubyte *c, const GLfloat *v);
+typedef void ( * PFNGLCOLOR3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLCOLOR3FVERTEX3FVSUNPROC) (const GLfloat *c, const GLfloat *v);
+typedef void ( * PFNGLNORMAL3FVERTEX3FSUNPROC) (GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *n, const GLfloat *v);
+typedef void ( * PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *c, const GLfloat *n, const GLfloat *v);
+typedef void ( * PFNGLTEXCOORD2FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLTEXCOORD2FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *v);
+typedef void ( * PFNGLTEXCOORD4FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void ( * PFNGLTEXCOORD4FVERTEX4FVSUNPROC) (const GLfloat *tc, const GLfloat *v);
+typedef void ( * PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC) (const GLfloat *tc, const GLubyte *c, const GLfloat *v);
+typedef void ( * PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *v);
+typedef void ( * PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *n, const GLfloat *v);
+typedef void ( * PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
+typedef void ( * PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void ( * PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
+typedef void ( * PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC) (GLuint rc, GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *v);
+typedef void ( * PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC) (GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC) (const GLuint *rc, const GLubyte *c, const GLfloat *v);
+typedef void ( * PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *c, const GLfloat *v);
+typedef void ( * PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *n, const GLfloat *v);
+typedef void ( * PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
+typedef void ( * PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *v);
+typedef void ( * PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v);
+typedef void ( * PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
+
+
+
+
+
+__attribute__((visibility("default"))) void glBlendFuncSeparateEXT (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
+
+typedef void ( * PFNGLBLENDFUNCSEPARATEEXTPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
+
+
+
+
+
+__attribute__((visibility("default"))) void glBlendFuncSeparateINGR (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
+
+typedef void ( * PFNGLBLENDFUNCSEPARATEINGRPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
+# 8455 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glVertexWeightfEXT (GLfloat weight);
+__attribute__((visibility("default"))) void glVertexWeightfvEXT (const GLfloat *weight);
+__attribute__((visibility("default"))) void glVertexWeightPointerEXT (GLsizei size, GLenum type, GLsizei stride, const GLvoid *pointer);
+
+typedef void ( * PFNGLVERTEXWEIGHTFEXTPROC) (GLfloat weight);
+typedef void ( * PFNGLVERTEXWEIGHTFVEXTPROC) (const GLfloat *weight);
+typedef void ( * PFNGLVERTEXWEIGHTPOINTEREXTPROC) (GLsizei size, GLenum type, GLsizei stride, const GLvoid *pointer);
+# 8471 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glFlushVertexArrayRangeNV (void);
+__attribute__((visibility("default"))) void glVertexArrayRangeNV (GLsizei length, const GLvoid *pointer);
+
+typedef void ( * PFNGLFLUSHVERTEXARRAYRANGENVPROC) (void);
+typedef void ( * PFNGLVERTEXARRAYRANGENVPROC) (GLsizei length, const GLvoid *pointer);
+
+
+
+
+
+__attribute__((visibility("default"))) void glCombinerParameterfvNV (GLenum pname, const GLfloat *params);
+__attribute__((visibility("default"))) void glCombinerParameterfNV (GLenum pname, GLfloat param);
+__attribute__((visibility("default"))) void glCombinerParameterivNV (GLenum pname, const GLint *params);
+__attribute__((visibility("default"))) void glCombinerParameteriNV (GLenum pname, GLint param);
+__attribute__((visibility("default"))) void glCombinerInputNV (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
+__attribute__((visibility("default"))) void glCombinerOutputNV (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);
+__attribute__((visibility("default"))) void glFinalCombinerInputNV (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
+__attribute__((visibility("default"))) void glGetCombinerInputParameterfvNV (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetCombinerInputParameterivNV (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetCombinerOutputParameterfvNV (GLenum stage, GLenum portion, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetCombinerOutputParameterivNV (GLenum stage, GLenum portion, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetFinalCombinerInputParameterfvNV (GLenum variable, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetFinalCombinerInputParameterivNV (GLenum variable, GLenum pname, GLint *params);
+
+typedef void ( * PFNGLCOMBINERPARAMETERFVNVPROC) (GLenum pname, const GLfloat *params);
+typedef void ( * PFNGLCOMBINERPARAMETERFNVPROC) (GLenum pname, GLfloat param);
+typedef void ( * PFNGLCOMBINERPARAMETERIVNVPROC) (GLenum pname, const GLint *params);
+typedef void ( * PFNGLCOMBINERPARAMETERINVPROC) (GLenum pname, GLint param);
+typedef void ( * PFNGLCOMBINERINPUTNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
+typedef void ( * PFNGLCOMBINEROUTPUTNVPROC) (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);
+typedef void ( * PFNGLFINALCOMBINERINPUTNVPROC) (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
+typedef void ( * PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC) (GLenum variable, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC) (GLenum variable, GLenum pname, GLint *params);
+# 8529 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glResizeBuffersMESA (void);
+
+typedef void ( * PFNGLRESIZEBUFFERSMESAPROC) (void);
+
+
+
+
+
+__attribute__((visibility("default"))) void glWindowPos2dMESA (GLdouble x, GLdouble y);
+__attribute__((visibility("default"))) void glWindowPos2dvMESA (const GLdouble *v);
+__attribute__((visibility("default"))) void glWindowPos2fMESA (GLfloat x, GLfloat y);
+__attribute__((visibility("default"))) void glWindowPos2fvMESA (const GLfloat *v);
+__attribute__((visibility("default"))) void glWindowPos2iMESA (GLint x, GLint y);
+__attribute__((visibility("default"))) void glWindowPos2ivMESA (const GLint *v);
+__attribute__((visibility("default"))) void glWindowPos2sMESA (GLshort x, GLshort y);
+__attribute__((visibility("default"))) void glWindowPos2svMESA (const GLshort *v);
+__attribute__((visibility("default"))) void glWindowPos3dMESA (GLdouble x, GLdouble y, GLdouble z);
+__attribute__((visibility("default"))) void glWindowPos3dvMESA (const GLdouble *v);
+__attribute__((visibility("default"))) void glWindowPos3fMESA (GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glWindowPos3fvMESA (const GLfloat *v);
+__attribute__((visibility("default"))) void glWindowPos3iMESA (GLint x, GLint y, GLint z);
+__attribute__((visibility("default"))) void glWindowPos3ivMESA (const GLint *v);
+__attribute__((visibility("default"))) void glWindowPos3sMESA (GLshort x, GLshort y, GLshort z);
+__attribute__((visibility("default"))) void glWindowPos3svMESA (const GLshort *v);
+__attribute__((visibility("default"))) void glWindowPos4dMESA (GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+__attribute__((visibility("default"))) void glWindowPos4dvMESA (const GLdouble *v);
+__attribute__((visibility("default"))) void glWindowPos4fMESA (GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+__attribute__((visibility("default"))) void glWindowPos4fvMESA (const GLfloat *v);
+__attribute__((visibility("default"))) void glWindowPos4iMESA (GLint x, GLint y, GLint z, GLint w);
+__attribute__((visibility("default"))) void glWindowPos4ivMESA (const GLint *v);
+__attribute__((visibility("default"))) void glWindowPos4sMESA (GLshort x, GLshort y, GLshort z, GLshort w);
+__attribute__((visibility("default"))) void glWindowPos4svMESA (const GLshort *v);
+
+typedef void ( * PFNGLWINDOWPOS2DMESAPROC) (GLdouble x, GLdouble y);
+typedef void ( * PFNGLWINDOWPOS2DVMESAPROC) (const GLdouble *v);
+typedef void ( * PFNGLWINDOWPOS2FMESAPROC) (GLfloat x, GLfloat y);
+typedef void ( * PFNGLWINDOWPOS2FVMESAPROC) (const GLfloat *v);
+typedef void ( * PFNGLWINDOWPOS2IMESAPROC) (GLint x, GLint y);
+typedef void ( * PFNGLWINDOWPOS2IVMESAPROC) (const GLint *v);
+typedef void ( * PFNGLWINDOWPOS2SMESAPROC) (GLshort x, GLshort y);
+typedef void ( * PFNGLWINDOWPOS2SVMESAPROC) (const GLshort *v);
+typedef void ( * PFNGLWINDOWPOS3DMESAPROC) (GLdouble x, GLdouble y, GLdouble z);
+typedef void ( * PFNGLWINDOWPOS3DVMESAPROC) (const GLdouble *v);
+typedef void ( * PFNGLWINDOWPOS3FMESAPROC) (GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLWINDOWPOS3FVMESAPROC) (const GLfloat *v);
+typedef void ( * PFNGLWINDOWPOS3IMESAPROC) (GLint x, GLint y, GLint z);
+typedef void ( * PFNGLWINDOWPOS3IVMESAPROC) (const GLint *v);
+typedef void ( * PFNGLWINDOWPOS3SMESAPROC) (GLshort x, GLshort y, GLshort z);
+typedef void ( * PFNGLWINDOWPOS3SVMESAPROC) (const GLshort *v);
+typedef void ( * PFNGLWINDOWPOS4DMESAPROC) (GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void ( * PFNGLWINDOWPOS4DVMESAPROC) (const GLdouble *v);
+typedef void ( * PFNGLWINDOWPOS4FMESAPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void ( * PFNGLWINDOWPOS4FVMESAPROC) (const GLfloat *v);
+typedef void ( * PFNGLWINDOWPOS4IMESAPROC) (GLint x, GLint y, GLint z, GLint w);
+typedef void ( * PFNGLWINDOWPOS4IVMESAPROC) (const GLint *v);
+typedef void ( * PFNGLWINDOWPOS4SMESAPROC) (GLshort x, GLshort y, GLshort z, GLshort w);
+typedef void ( * PFNGLWINDOWPOS4SVMESAPROC) (const GLshort *v);
+# 8595 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glMultiModeDrawArraysIBM (const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride);
+__attribute__((visibility("default"))) void glMultiModeDrawElementsIBM (const GLenum *mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei primcount, GLint modestride);
+
+typedef void ( * PFNGLMULTIMODEDRAWARRAYSIBMPROC) (const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride);
+typedef void ( * PFNGLMULTIMODEDRAWELEMENTSIBMPROC) (const GLenum *mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei primcount, GLint modestride);
+
+
+
+
+
+__attribute__((visibility("default"))) void glColorPointerListIBM (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+__attribute__((visibility("default"))) void glSecondaryColorPointerListIBM (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+__attribute__((visibility("default"))) void glEdgeFlagPointerListIBM (GLint stride, const GLboolean* *pointer, GLint ptrstride);
+__attribute__((visibility("default"))) void glFogCoordPointerListIBM (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+__attribute__((visibility("default"))) void glIndexPointerListIBM (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+__attribute__((visibility("default"))) void glNormalPointerListIBM (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+__attribute__((visibility("default"))) void glTexCoordPointerListIBM (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+__attribute__((visibility("default"))) void glVertexPointerListIBM (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+
+typedef void ( * PFNGLCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+typedef void ( * PFNGLSECONDARYCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+typedef void ( * PFNGLEDGEFLAGPOINTERLISTIBMPROC) (GLint stride, const GLboolean* *pointer, GLint ptrstride);
+typedef void ( * PFNGLFOGCOORDPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+typedef void ( * PFNGLINDEXPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+typedef void ( * PFNGLNORMALPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+typedef void ( * PFNGLTEXCOORDPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+typedef void ( * PFNGLVERTEXPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
+# 8651 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glTbufferMask3DFX (GLuint mask);
+
+typedef void ( * PFNGLTBUFFERMASK3DFXPROC) (GLuint mask);
+
+
+
+
+
+__attribute__((visibility("default"))) void glSampleMaskEXT (GLclampf value, GLboolean invert);
+__attribute__((visibility("default"))) void glSamplePatternEXT (GLenum pattern);
+
+typedef void ( * PFNGLSAMPLEMASKEXTPROC) (GLclampf value, GLboolean invert);
+typedef void ( * PFNGLSAMPLEPATTERNEXTPROC) (GLenum pattern);
+# 8685 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glTextureColorMaskSGIS (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
+
+typedef void ( * PFNGLTEXTURECOLORMASKSGISPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
+
+
+
+
+
+__attribute__((visibility("default"))) void glIglooInterfaceSGIX (GLenum pname, const GLvoid *params);
+
+typedef void ( * PFNGLIGLOOINTERFACESGIXPROC) (GLenum pname, const GLvoid *params);
+# 8709 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glDeleteFencesNV (GLsizei n, const GLuint *fences);
+__attribute__((visibility("default"))) void glGenFencesNV (GLsizei n, GLuint *fences);
+__attribute__((visibility("default"))) GLboolean glIsFenceNV (GLuint fence);
+__attribute__((visibility("default"))) GLboolean glTestFenceNV (GLuint fence);
+__attribute__((visibility("default"))) void glGetFenceivNV (GLuint fence, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glFinishFenceNV (GLuint fence);
+__attribute__((visibility("default"))) void glSetFenceNV (GLuint fence, GLenum condition);
+
+typedef void ( * PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
+typedef void ( * PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
+typedef GLboolean ( * PFNGLISFENCENVPROC) (GLuint fence);
+typedef GLboolean ( * PFNGLTESTFENCENVPROC) (GLuint fence);
+typedef void ( * PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
+typedef void ( * PFNGLFINISHFENCENVPROC) (GLuint fence);
+typedef void ( * PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
+
+
+
+
+
+__attribute__((visibility("default"))) void glMapControlPointsNV (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const GLvoid *points);
+__attribute__((visibility("default"))) void glMapParameterivNV (GLenum target, GLenum pname, const GLint *params);
+__attribute__((visibility("default"))) void glMapParameterfvNV (GLenum target, GLenum pname, const GLfloat *params);
+__attribute__((visibility("default"))) void glGetMapControlPointsNV (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, GLvoid *points);
+__attribute__((visibility("default"))) void glGetMapParameterivNV (GLenum target, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetMapParameterfvNV (GLenum target, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetMapAttribParameterivNV (GLenum target, GLuint index, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetMapAttribParameterfvNV (GLenum target, GLuint index, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glEvalMapsNV (GLenum target, GLenum mode);
+
+typedef void ( * PFNGLMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const GLvoid *points);
+typedef void ( * PFNGLMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, const GLint *params);
+typedef void ( * PFNGLMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, const GLfloat *params);
+typedef void ( * PFNGLGETMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, GLvoid *points);
+typedef void ( * PFNGLGETMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETMAPATTRIBPARAMETERIVNVPROC) (GLenum target, GLuint index, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETMAPATTRIBPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLEVALMAPSNVPROC) (GLenum target, GLenum mode);
+# 8757 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glCombinerStageParameterfvNV (GLenum stage, GLenum pname, const GLfloat *params);
+__attribute__((visibility("default"))) void glGetCombinerStageParameterfvNV (GLenum stage, GLenum pname, GLfloat *params);
+
+typedef void ( * PFNGLCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, const GLfloat *params);
+typedef void ( * PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, GLfloat *params);
+# 8787 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) GLboolean glAreProgramsResidentNV (GLsizei n, const GLuint *programs, GLboolean *residences);
+__attribute__((visibility("default"))) void glBindProgramNV (GLenum target, GLuint id);
+__attribute__((visibility("default"))) void glDeleteProgramsNV (GLsizei n, const GLuint *programs);
+__attribute__((visibility("default"))) void glExecuteProgramNV (GLenum target, GLuint id, const GLfloat *params);
+__attribute__((visibility("default"))) void glGenProgramsNV (GLsizei n, GLuint *programs);
+__attribute__((visibility("default"))) void glGetProgramParameterdvNV (GLenum target, GLuint index, GLenum pname, GLdouble *params);
+__attribute__((visibility("default"))) void glGetProgramParameterfvNV (GLenum target, GLuint index, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetProgramivNV (GLuint id, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetProgramStringNV (GLuint id, GLenum pname, GLubyte *program);
+__attribute__((visibility("default"))) void glGetTrackMatrixivNV (GLenum target, GLuint address, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetVertexAttribdvNV (GLuint index, GLenum pname, GLdouble *params);
+__attribute__((visibility("default"))) void glGetVertexAttribfvNV (GLuint index, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetVertexAttribivNV (GLuint index, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetVertexAttribPointervNV (GLuint index, GLenum pname, GLvoid* *pointer);
+__attribute__((visibility("default"))) GLboolean glIsProgramNV (GLuint id);
+__attribute__((visibility("default"))) void glLoadProgramNV (GLenum target, GLuint id, GLsizei len, const GLubyte *program);
+__attribute__((visibility("default"))) void glProgramParameter4dNV (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+__attribute__((visibility("default"))) void glProgramParameter4dvNV (GLenum target, GLuint index, const GLdouble *v);
+__attribute__((visibility("default"))) void glProgramParameter4fNV (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+__attribute__((visibility("default"))) void glProgramParameter4fvNV (GLenum target, GLuint index, const GLfloat *v);
+__attribute__((visibility("default"))) void glProgramParameters4dvNV (GLenum target, GLuint index, GLsizei count, const GLdouble *v);
+__attribute__((visibility("default"))) void glProgramParameters4fvNV (GLenum target, GLuint index, GLsizei count, const GLfloat *v);
+__attribute__((visibility("default"))) void glRequestResidentProgramsNV (GLsizei n, const GLuint *programs);
+__attribute__((visibility("default"))) void glTrackMatrixNV (GLenum target, GLuint address, GLenum matrix, GLenum transform);
+__attribute__((visibility("default"))) void glVertexAttribPointerNV (GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer);
+__attribute__((visibility("default"))) void glVertexAttrib1dNV (GLuint index, GLdouble x);
+__attribute__((visibility("default"))) void glVertexAttrib1dvNV (GLuint index, const GLdouble *v);
+__attribute__((visibility("default"))) void glVertexAttrib1fNV (GLuint index, GLfloat x);
+__attribute__((visibility("default"))) void glVertexAttrib1fvNV (GLuint index, const GLfloat *v);
+__attribute__((visibility("default"))) void glVertexAttrib1sNV (GLuint index, GLshort x);
+__attribute__((visibility("default"))) void glVertexAttrib1svNV (GLuint index, const GLshort *v);
+__attribute__((visibility("default"))) void glVertexAttrib2dNV (GLuint index, GLdouble x, GLdouble y);
+__attribute__((visibility("default"))) void glVertexAttrib2dvNV (GLuint index, const GLdouble *v);
+__attribute__((visibility("default"))) void glVertexAttrib2fNV (GLuint index, GLfloat x, GLfloat y);
+__attribute__((visibility("default"))) void glVertexAttrib2fvNV (GLuint index, const GLfloat *v);
+__attribute__((visibility("default"))) void glVertexAttrib2sNV (GLuint index, GLshort x, GLshort y);
+__attribute__((visibility("default"))) void glVertexAttrib2svNV (GLuint index, const GLshort *v);
+__attribute__((visibility("default"))) void glVertexAttrib3dNV (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+__attribute__((visibility("default"))) void glVertexAttrib3dvNV (GLuint index, const GLdouble *v);
+__attribute__((visibility("default"))) void glVertexAttrib3fNV (GLuint index, GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glVertexAttrib3fvNV (GLuint index, const GLfloat *v);
+__attribute__((visibility("default"))) void glVertexAttrib3sNV (GLuint index, GLshort x, GLshort y, GLshort z);
+__attribute__((visibility("default"))) void glVertexAttrib3svNV (GLuint index, const GLshort *v);
+__attribute__((visibility("default"))) void glVertexAttrib4dNV (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+__attribute__((visibility("default"))) void glVertexAttrib4dvNV (GLuint index, const GLdouble *v);
+__attribute__((visibility("default"))) void glVertexAttrib4fNV (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+__attribute__((visibility("default"))) void glVertexAttrib4fvNV (GLuint index, const GLfloat *v);
+__attribute__((visibility("default"))) void glVertexAttrib4sNV (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
+__attribute__((visibility("default"))) void glVertexAttrib4svNV (GLuint index, const GLshort *v);
+__attribute__((visibility("default"))) void glVertexAttrib4ubNV (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
+__attribute__((visibility("default"))) void glVertexAttrib4ubvNV (GLuint index, const GLubyte *v);
+__attribute__((visibility("default"))) void glVertexAttribs1dvNV (GLuint index, GLsizei count, const GLdouble *v);
+__attribute__((visibility("default"))) void glVertexAttribs1fvNV (GLuint index, GLsizei count, const GLfloat *v);
+__attribute__((visibility("default"))) void glVertexAttribs1svNV (GLuint index, GLsizei count, const GLshort *v);
+__attribute__((visibility("default"))) void glVertexAttribs2dvNV (GLuint index, GLsizei count, const GLdouble *v);
+__attribute__((visibility("default"))) void glVertexAttribs2fvNV (GLuint index, GLsizei count, const GLfloat *v);
+__attribute__((visibility("default"))) void glVertexAttribs2svNV (GLuint index, GLsizei count, const GLshort *v);
+__attribute__((visibility("default"))) void glVertexAttribs3dvNV (GLuint index, GLsizei count, const GLdouble *v);
+__attribute__((visibility("default"))) void glVertexAttribs3fvNV (GLuint index, GLsizei count, const GLfloat *v);
+__attribute__((visibility("default"))) void glVertexAttribs3svNV (GLuint index, GLsizei count, const GLshort *v);
+__attribute__((visibility("default"))) void glVertexAttribs4dvNV (GLuint index, GLsizei count, const GLdouble *v);
+__attribute__((visibility("default"))) void glVertexAttribs4fvNV (GLuint index, GLsizei count, const GLfloat *v);
+__attribute__((visibility("default"))) void glVertexAttribs4svNV (GLuint index, GLsizei count, const GLshort *v);
+__attribute__((visibility("default"))) void glVertexAttribs4ubvNV (GLuint index, GLsizei count, const GLubyte *v);
+
+typedef GLboolean ( * PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n, const GLuint *programs, GLboolean *residences);
+typedef void ( * PFNGLBINDPROGRAMNVPROC) (GLenum target, GLuint id);
+typedef void ( * PFNGLDELETEPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);
+typedef void ( * PFNGLEXECUTEPROGRAMNVPROC) (GLenum target, GLuint id, const GLfloat *params);
+typedef void ( * PFNGLGENPROGRAMSNVPROC) (GLsizei n, GLuint *programs);
+typedef void ( * PFNGLGETPROGRAMPARAMETERDVNVPROC) (GLenum target, GLuint index, GLenum pname, GLdouble *params);
+typedef void ( * PFNGLGETPROGRAMPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETPROGRAMIVNVPROC) (GLuint id, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETPROGRAMSTRINGNVPROC) (GLuint id, GLenum pname, GLubyte *program);
+typedef void ( * PFNGLGETTRACKMATRIXIVNVPROC) (GLenum target, GLuint address, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETVERTEXATTRIBDVNVPROC) (GLuint index, GLenum pname, GLdouble *params);
+typedef void ( * PFNGLGETVERTEXATTRIBFVNVPROC) (GLuint index, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETVERTEXATTRIBIVNVPROC) (GLuint index, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETVERTEXATTRIBPOINTERVNVPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
+typedef GLboolean ( * PFNGLISPROGRAMNVPROC) (GLuint id);
+typedef void ( * PFNGLLOADPROGRAMNVPROC) (GLenum target, GLuint id, GLsizei len, const GLubyte *program);
+typedef void ( * PFNGLPROGRAMPARAMETER4DNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void ( * PFNGLPROGRAMPARAMETER4DVNVPROC) (GLenum target, GLuint index, const GLdouble *v);
+typedef void ( * PFNGLPROGRAMPARAMETER4FNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void ( * PFNGLPROGRAMPARAMETER4FVNVPROC) (GLenum target, GLuint index, const GLfloat *v);
+typedef void ( * PFNGLPROGRAMPARAMETERS4DVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLdouble *v);
+typedef void ( * PFNGLPROGRAMPARAMETERS4FVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat *v);
+typedef void ( * PFNGLREQUESTRESIDENTPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);
+typedef void ( * PFNGLTRACKMATRIXNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform);
+typedef void ( * PFNGLVERTEXATTRIBPOINTERNVPROC) (GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void ( * PFNGLVERTEXATTRIB1DNVPROC) (GLuint index, GLdouble x);
+typedef void ( * PFNGLVERTEXATTRIB1DVNVPROC) (GLuint index, const GLdouble *v);
+typedef void ( * PFNGLVERTEXATTRIB1FNVPROC) (GLuint index, GLfloat x);
+typedef void ( * PFNGLVERTEXATTRIB1FVNVPROC) (GLuint index, const GLfloat *v);
+typedef void ( * PFNGLVERTEXATTRIB1SNVPROC) (GLuint index, GLshort x);
+typedef void ( * PFNGLVERTEXATTRIB1SVNVPROC) (GLuint index, const GLshort *v);
+typedef void ( * PFNGLVERTEXATTRIB2DNVPROC) (GLuint index, GLdouble x, GLdouble y);
+typedef void ( * PFNGLVERTEXATTRIB2DVNVPROC) (GLuint index, const GLdouble *v);
+typedef void ( * PFNGLVERTEXATTRIB2FNVPROC) (GLuint index, GLfloat x, GLfloat y);
+typedef void ( * PFNGLVERTEXATTRIB2FVNVPROC) (GLuint index, const GLfloat *v);
+typedef void ( * PFNGLVERTEXATTRIB2SNVPROC) (GLuint index, GLshort x, GLshort y);
+typedef void ( * PFNGLVERTEXATTRIB2SVNVPROC) (GLuint index, const GLshort *v);
+typedef void ( * PFNGLVERTEXATTRIB3DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+typedef void ( * PFNGLVERTEXATTRIB3DVNVPROC) (GLuint index, const GLdouble *v);
+typedef void ( * PFNGLVERTEXATTRIB3FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLVERTEXATTRIB3FVNVPROC) (GLuint index, const GLfloat *v);
+typedef void ( * PFNGLVERTEXATTRIB3SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
+typedef void ( * PFNGLVERTEXATTRIB3SVNVPROC) (GLuint index, const GLshort *v);
+typedef void ( * PFNGLVERTEXATTRIB4DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void ( * PFNGLVERTEXATTRIB4DVNVPROC) (GLuint index, const GLdouble *v);
+typedef void ( * PFNGLVERTEXATTRIB4FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void ( * PFNGLVERTEXATTRIB4FVNVPROC) (GLuint index, const GLfloat *v);
+typedef void ( * PFNGLVERTEXATTRIB4SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
+typedef void ( * PFNGLVERTEXATTRIB4SVNVPROC) (GLuint index, const GLshort *v);
+typedef void ( * PFNGLVERTEXATTRIB4UBNVPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
+typedef void ( * PFNGLVERTEXATTRIB4UBVNVPROC) (GLuint index, const GLubyte *v);
+typedef void ( * PFNGLVERTEXATTRIBS1DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
+typedef void ( * PFNGLVERTEXATTRIBS1FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
+typedef void ( * PFNGLVERTEXATTRIBS1SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
+typedef void ( * PFNGLVERTEXATTRIBS2DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
+typedef void ( * PFNGLVERTEXATTRIBS2FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
+typedef void ( * PFNGLVERTEXATTRIBS2SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
+typedef void ( * PFNGLVERTEXATTRIBS3DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
+typedef void ( * PFNGLVERTEXATTRIBS3FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
+typedef void ( * PFNGLVERTEXATTRIBS3SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
+typedef void ( * PFNGLVERTEXATTRIBS4DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
+typedef void ( * PFNGLVERTEXATTRIBS4FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
+typedef void ( * PFNGLVERTEXATTRIBS4SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
+typedef void ( * PFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei count, const GLubyte *v);
+# 8945 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glTexBumpParameterivATI (GLenum pname, const GLint *param);
+__attribute__((visibility("default"))) void glTexBumpParameterfvATI (GLenum pname, const GLfloat *param);
+__attribute__((visibility("default"))) void glGetTexBumpParameterivATI (GLenum pname, GLint *param);
+__attribute__((visibility("default"))) void glGetTexBumpParameterfvATI (GLenum pname, GLfloat *param);
+
+typedef void ( * PFNGLTEXBUMPPARAMETERIVATIPROC) (GLenum pname, const GLint *param);
+typedef void ( * PFNGLTEXBUMPPARAMETERFVATIPROC) (GLenum pname, const GLfloat *param);
+typedef void ( * PFNGLGETTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param);
+typedef void ( * PFNGLGETTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param);
+
+
+
+
+
+__attribute__((visibility("default"))) GLuint glGenFragmentShadersATI (GLuint range);
+__attribute__((visibility("default"))) void glBindFragmentShaderATI (GLuint id);
+__attribute__((visibility("default"))) void glDeleteFragmentShaderATI (GLuint id);
+__attribute__((visibility("default"))) void glBeginFragmentShaderATI (void);
+__attribute__((visibility("default"))) void glEndFragmentShaderATI (void);
+__attribute__((visibility("default"))) void glPassTexCoordATI (GLuint dst, GLuint coord, GLenum swizzle);
+__attribute__((visibility("default"))) void glSampleMapATI (GLuint dst, GLuint interp, GLenum swizzle);
+__attribute__((visibility("default"))) void glColorFragmentOp1ATI (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
+__attribute__((visibility("default"))) void glColorFragmentOp2ATI (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
+__attribute__((visibility("default"))) void glColorFragmentOp3ATI (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
+__attribute__((visibility("default"))) void glAlphaFragmentOp1ATI (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
+__attribute__((visibility("default"))) void glAlphaFragmentOp2ATI (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
+__attribute__((visibility("default"))) void glAlphaFragmentOp3ATI (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
+__attribute__((visibility("default"))) void glSetFragmentShaderConstantATI (GLuint dst, const GLfloat *value);
+
+typedef GLuint ( * PFNGLGENFRAGMENTSHADERSATIPROC) (GLuint range);
+typedef void ( * PFNGLBINDFRAGMENTSHADERATIPROC) (GLuint id);
+typedef void ( * PFNGLDELETEFRAGMENTSHADERATIPROC) (GLuint id);
+typedef void ( * PFNGLBEGINFRAGMENTSHADERATIPROC) (void);
+typedef void ( * PFNGLENDFRAGMENTSHADERATIPROC) (void);
+typedef void ( * PFNGLPASSTEXCOORDATIPROC) (GLuint dst, GLuint coord, GLenum swizzle);
+typedef void ( * PFNGLSAMPLEMAPATIPROC) (GLuint dst, GLuint interp, GLenum swizzle);
+typedef void ( * PFNGLCOLORFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
+typedef void ( * PFNGLCOLORFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
+typedef void ( * PFNGLCOLORFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
+typedef void ( * PFNGLALPHAFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
+typedef void ( * PFNGLALPHAFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
+typedef void ( * PFNGLALPHAFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
+typedef void ( * PFNGLSETFRAGMENTSHADERCONSTANTATIPROC) (GLuint dst, const GLfloat *value);
+
+
+
+
+
+__attribute__((visibility("default"))) void glPNTrianglesiATI (GLenum pname, GLint param);
+__attribute__((visibility("default"))) void glPNTrianglesfATI (GLenum pname, GLfloat param);
+
+typedef void ( * PFNGLPNTRIANGLESIATIPROC) (GLenum pname, GLint param);
+typedef void ( * PFNGLPNTRIANGLESFATIPROC) (GLenum pname, GLfloat param);
+
+
+
+
+
+__attribute__((visibility("default"))) GLuint glNewObjectBufferATI (GLsizei size, const GLvoid *pointer, GLenum usage);
+__attribute__((visibility("default"))) GLboolean glIsObjectBufferATI (GLuint buffer);
+__attribute__((visibility("default"))) void glUpdateObjectBufferATI (GLuint buffer, GLuint offset, GLsizei size, const GLvoid *pointer, GLenum preserve);
+__attribute__((visibility("default"))) void glGetObjectBufferfvATI (GLuint buffer, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetObjectBufferivATI (GLuint buffer, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glFreeObjectBufferATI (GLuint buffer);
+__attribute__((visibility("default"))) void glArrayObjectATI (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
+__attribute__((visibility("default"))) void glGetArrayObjectfvATI (GLenum array, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetArrayObjectivATI (GLenum array, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glVariantArrayObjectATI (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
+__attribute__((visibility("default"))) void glGetVariantArrayObjectfvATI (GLuint id, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetVariantArrayObjectivATI (GLuint id, GLenum pname, GLint *params);
+
+typedef GLuint ( * PFNGLNEWOBJECTBUFFERATIPROC) (GLsizei size, const GLvoid *pointer, GLenum usage);
+typedef GLboolean ( * PFNGLISOBJECTBUFFERATIPROC) (GLuint buffer);
+typedef void ( * PFNGLUPDATEOBJECTBUFFERATIPROC) (GLuint buffer, GLuint offset, GLsizei size, const GLvoid *pointer, GLenum preserve);
+typedef void ( * PFNGLGETOBJECTBUFFERFVATIPROC) (GLuint buffer, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETOBJECTBUFFERIVATIPROC) (GLuint buffer, GLenum pname, GLint *params);
+typedef void ( * PFNGLFREEOBJECTBUFFERATIPROC) (GLuint buffer);
+typedef void ( * PFNGLARRAYOBJECTATIPROC) (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
+typedef void ( * PFNGLGETARRAYOBJECTFVATIPROC) (GLenum array, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETARRAYOBJECTIVATIPROC) (GLenum array, GLenum pname, GLint *params);
+typedef void ( * PFNGLVARIANTARRAYOBJECTATIPROC) (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
+typedef void ( * PFNGLGETVARIANTARRAYOBJECTFVATIPROC) (GLuint id, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETVARIANTARRAYOBJECTIVATIPROC) (GLuint id, GLenum pname, GLint *params);
+
+
+
+
+
+__attribute__((visibility("default"))) void glBeginVertexShaderEXT (void);
+__attribute__((visibility("default"))) void glEndVertexShaderEXT (void);
+__attribute__((visibility("default"))) void glBindVertexShaderEXT (GLuint id);
+__attribute__((visibility("default"))) GLuint glGenVertexShadersEXT (GLuint range);
+__attribute__((visibility("default"))) void glDeleteVertexShaderEXT (GLuint id);
+__attribute__((visibility("default"))) void glShaderOp1EXT (GLenum op, GLuint res, GLuint arg1);
+__attribute__((visibility("default"))) void glShaderOp2EXT (GLenum op, GLuint res, GLuint arg1, GLuint arg2);
+__attribute__((visibility("default"))) void glShaderOp3EXT (GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);
+__attribute__((visibility("default"))) void glSwizzleEXT (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
+__attribute__((visibility("default"))) void glWriteMaskEXT (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
+__attribute__((visibility("default"))) void glInsertComponentEXT (GLuint res, GLuint src, GLuint num);
+__attribute__((visibility("default"))) void glExtractComponentEXT (GLuint res, GLuint src, GLuint num);
+__attribute__((visibility("default"))) GLuint glGenSymbolsEXT (GLenum datatype, GLenum storagetype, GLenum range, GLuint components);
+__attribute__((visibility("default"))) void glSetInvariantEXT (GLuint id, GLenum type, const GLvoid *addr);
+__attribute__((visibility("default"))) void glSetLocalConstantEXT (GLuint id, GLenum type, const GLvoid *addr);
+__attribute__((visibility("default"))) void glVariantbvEXT (GLuint id, const GLbyte *addr);
+__attribute__((visibility("default"))) void glVariantsvEXT (GLuint id, const GLshort *addr);
+__attribute__((visibility("default"))) void glVariantivEXT (GLuint id, const GLint *addr);
+__attribute__((visibility("default"))) void glVariantfvEXT (GLuint id, const GLfloat *addr);
+__attribute__((visibility("default"))) void glVariantdvEXT (GLuint id, const GLdouble *addr);
+__attribute__((visibility("default"))) void glVariantubvEXT (GLuint id, const GLubyte *addr);
+__attribute__((visibility("default"))) void glVariantusvEXT (GLuint id, const GLushort *addr);
+__attribute__((visibility("default"))) void glVariantuivEXT (GLuint id, const GLuint *addr);
+__attribute__((visibility("default"))) void glVariantPointerEXT (GLuint id, GLenum type, GLuint stride, const GLvoid *addr);
+__attribute__((visibility("default"))) void glEnableVariantClientStateEXT (GLuint id);
+__attribute__((visibility("default"))) void glDisableVariantClientStateEXT (GLuint id);
+__attribute__((visibility("default"))) GLuint glBindLightParameterEXT (GLenum light, GLenum value);
+__attribute__((visibility("default"))) GLuint glBindMaterialParameterEXT (GLenum face, GLenum value);
+__attribute__((visibility("default"))) GLuint glBindTexGenParameterEXT (GLenum unit, GLenum coord, GLenum value);
+__attribute__((visibility("default"))) GLuint glBindTextureUnitParameterEXT (GLenum unit, GLenum value);
+__attribute__((visibility("default"))) GLuint glBindParameterEXT (GLenum value);
+__attribute__((visibility("default"))) GLboolean glIsVariantEnabledEXT (GLuint id, GLenum cap);
+__attribute__((visibility("default"))) void glGetVariantBooleanvEXT (GLuint id, GLenum value, GLboolean *data);
+__attribute__((visibility("default"))) void glGetVariantIntegervEXT (GLuint id, GLenum value, GLint *data);
+__attribute__((visibility("default"))) void glGetVariantFloatvEXT (GLuint id, GLenum value, GLfloat *data);
+__attribute__((visibility("default"))) void glGetVariantPointervEXT (GLuint id, GLenum value, GLvoid* *data);
+__attribute__((visibility("default"))) void glGetInvariantBooleanvEXT (GLuint id, GLenum value, GLboolean *data);
+__attribute__((visibility("default"))) void glGetInvariantIntegervEXT (GLuint id, GLenum value, GLint *data);
+__attribute__((visibility("default"))) void glGetInvariantFloatvEXT (GLuint id, GLenum value, GLfloat *data);
+__attribute__((visibility("default"))) void glGetLocalConstantBooleanvEXT (GLuint id, GLenum value, GLboolean *data);
+__attribute__((visibility("default"))) void glGetLocalConstantIntegervEXT (GLuint id, GLenum value, GLint *data);
+__attribute__((visibility("default"))) void glGetLocalConstantFloatvEXT (GLuint id, GLenum value, GLfloat *data);
+
+typedef void ( * PFNGLBEGINVERTEXSHADEREXTPROC) (void);
+typedef void ( * PFNGLENDVERTEXSHADEREXTPROC) (void);
+typedef void ( * PFNGLBINDVERTEXSHADEREXTPROC) (GLuint id);
+typedef GLuint ( * PFNGLGENVERTEXSHADERSEXTPROC) (GLuint range);
+typedef void ( * PFNGLDELETEVERTEXSHADEREXTPROC) (GLuint id);
+typedef void ( * PFNGLSHADEROP1EXTPROC) (GLenum op, GLuint res, GLuint arg1);
+typedef void ( * PFNGLSHADEROP2EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2);
+typedef void ( * PFNGLSHADEROP3EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);
+typedef void ( * PFNGLSWIZZLEEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
+typedef void ( * PFNGLWRITEMASKEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
+typedef void ( * PFNGLINSERTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num);
+typedef void ( * PFNGLEXTRACTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num);
+typedef GLuint ( * PFNGLGENSYMBOLSEXTPROC) (GLenum datatype, GLenum storagetype, GLenum range, GLuint components);
+typedef void ( * PFNGLSETINVARIANTEXTPROC) (GLuint id, GLenum type, const GLvoid *addr);
+typedef void ( * PFNGLSETLOCALCONSTANTEXTPROC) (GLuint id, GLenum type, const GLvoid *addr);
+typedef void ( * PFNGLVARIANTBVEXTPROC) (GLuint id, const GLbyte *addr);
+typedef void ( * PFNGLVARIANTSVEXTPROC) (GLuint id, const GLshort *addr);
+typedef void ( * PFNGLVARIANTIVEXTPROC) (GLuint id, const GLint *addr);
+typedef void ( * PFNGLVARIANTFVEXTPROC) (GLuint id, const GLfloat *addr);
+typedef void ( * PFNGLVARIANTDVEXTPROC) (GLuint id, const GLdouble *addr);
+typedef void ( * PFNGLVARIANTUBVEXTPROC) (GLuint id, const GLubyte *addr);
+typedef void ( * PFNGLVARIANTUSVEXTPROC) (GLuint id, const GLushort *addr);
+typedef void ( * PFNGLVARIANTUIVEXTPROC) (GLuint id, const GLuint *addr);
+typedef void ( * PFNGLVARIANTPOINTEREXTPROC) (GLuint id, GLenum type, GLuint stride, const GLvoid *addr);
+typedef void ( * PFNGLENABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id);
+typedef void ( * PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id);
+typedef GLuint ( * PFNGLBINDLIGHTPARAMETEREXTPROC) (GLenum light, GLenum value);
+typedef GLuint ( * PFNGLBINDMATERIALPARAMETEREXTPROC) (GLenum face, GLenum value);
+typedef GLuint ( * PFNGLBINDTEXGENPARAMETEREXTPROC) (GLenum unit, GLenum coord, GLenum value);
+typedef GLuint ( * PFNGLBINDTEXTUREUNITPARAMETEREXTPROC) (GLenum unit, GLenum value);
+typedef GLuint ( * PFNGLBINDPARAMETEREXTPROC) (GLenum value);
+typedef GLboolean ( * PFNGLISVARIANTENABLEDEXTPROC) (GLuint id, GLenum cap);
+typedef void ( * PFNGLGETVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
+typedef void ( * PFNGLGETVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
+typedef void ( * PFNGLGETVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
+typedef void ( * PFNGLGETVARIANTPOINTERVEXTPROC) (GLuint id, GLenum value, GLvoid* *data);
+typedef void ( * PFNGLGETINVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
+typedef void ( * PFNGLGETINVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
+typedef void ( * PFNGLGETINVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
+typedef void ( * PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
+typedef void ( * PFNGLGETLOCALCONSTANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
+typedef void ( * PFNGLGETLOCALCONSTANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
+
+
+
+
+
+__attribute__((visibility("default"))) void glVertexStream1sATI (GLenum stream, GLshort x);
+__attribute__((visibility("default"))) void glVertexStream1svATI (GLenum stream, const GLshort *coords);
+__attribute__((visibility("default"))) void glVertexStream1iATI (GLenum stream, GLint x);
+__attribute__((visibility("default"))) void glVertexStream1ivATI (GLenum stream, const GLint *coords);
+__attribute__((visibility("default"))) void glVertexStream1fATI (GLenum stream, GLfloat x);
+__attribute__((visibility("default"))) void glVertexStream1fvATI (GLenum stream, const GLfloat *coords);
+__attribute__((visibility("default"))) void glVertexStream1dATI (GLenum stream, GLdouble x);
+__attribute__((visibility("default"))) void glVertexStream1dvATI (GLenum stream, const GLdouble *coords);
+__attribute__((visibility("default"))) void glVertexStream2sATI (GLenum stream, GLshort x, GLshort y);
+__attribute__((visibility("default"))) void glVertexStream2svATI (GLenum stream, const GLshort *coords);
+__attribute__((visibility("default"))) void glVertexStream2iATI (GLenum stream, GLint x, GLint y);
+__attribute__((visibility("default"))) void glVertexStream2ivATI (GLenum stream, const GLint *coords);
+__attribute__((visibility("default"))) void glVertexStream2fATI (GLenum stream, GLfloat x, GLfloat y);
+__attribute__((visibility("default"))) void glVertexStream2fvATI (GLenum stream, const GLfloat *coords);
+__attribute__((visibility("default"))) void glVertexStream2dATI (GLenum stream, GLdouble x, GLdouble y);
+__attribute__((visibility("default"))) void glVertexStream2dvATI (GLenum stream, const GLdouble *coords);
+__attribute__((visibility("default"))) void glVertexStream3sATI (GLenum stream, GLshort x, GLshort y, GLshort z);
+__attribute__((visibility("default"))) void glVertexStream3svATI (GLenum stream, const GLshort *coords);
+__attribute__((visibility("default"))) void glVertexStream3iATI (GLenum stream, GLint x, GLint y, GLint z);
+__attribute__((visibility("default"))) void glVertexStream3ivATI (GLenum stream, const GLint *coords);
+__attribute__((visibility("default"))) void glVertexStream3fATI (GLenum stream, GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glVertexStream3fvATI (GLenum stream, const GLfloat *coords);
+__attribute__((visibility("default"))) void glVertexStream3dATI (GLenum stream, GLdouble x, GLdouble y, GLdouble z);
+__attribute__((visibility("default"))) void glVertexStream3dvATI (GLenum stream, const GLdouble *coords);
+__attribute__((visibility("default"))) void glVertexStream4sATI (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);
+__attribute__((visibility("default"))) void glVertexStream4svATI (GLenum stream, const GLshort *coords);
+__attribute__((visibility("default"))) void glVertexStream4iATI (GLenum stream, GLint x, GLint y, GLint z, GLint w);
+__attribute__((visibility("default"))) void glVertexStream4ivATI (GLenum stream, const GLint *coords);
+__attribute__((visibility("default"))) void glVertexStream4fATI (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+__attribute__((visibility("default"))) void glVertexStream4fvATI (GLenum stream, const GLfloat *coords);
+__attribute__((visibility("default"))) void glVertexStream4dATI (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+__attribute__((visibility("default"))) void glVertexStream4dvATI (GLenum stream, const GLdouble *coords);
+__attribute__((visibility("default"))) void glNormalStream3bATI (GLenum stream, GLbyte nx, GLbyte ny, GLbyte nz);
+__attribute__((visibility("default"))) void glNormalStream3bvATI (GLenum stream, const GLbyte *coords);
+__attribute__((visibility("default"))) void glNormalStream3sATI (GLenum stream, GLshort nx, GLshort ny, GLshort nz);
+__attribute__((visibility("default"))) void glNormalStream3svATI (GLenum stream, const GLshort *coords);
+__attribute__((visibility("default"))) void glNormalStream3iATI (GLenum stream, GLint nx, GLint ny, GLint nz);
+__attribute__((visibility("default"))) void glNormalStream3ivATI (GLenum stream, const GLint *coords);
+__attribute__((visibility("default"))) void glNormalStream3fATI (GLenum stream, GLfloat nx, GLfloat ny, GLfloat nz);
+__attribute__((visibility("default"))) void glNormalStream3fvATI (GLenum stream, const GLfloat *coords);
+__attribute__((visibility("default"))) void glNormalStream3dATI (GLenum stream, GLdouble nx, GLdouble ny, GLdouble nz);
+__attribute__((visibility("default"))) void glNormalStream3dvATI (GLenum stream, const GLdouble *coords);
+__attribute__((visibility("default"))) void glClientActiveVertexStreamATI (GLenum stream);
+__attribute__((visibility("default"))) void glVertexBlendEnviATI (GLenum pname, GLint param);
+__attribute__((visibility("default"))) void glVertexBlendEnvfATI (GLenum pname, GLfloat param);
+
+typedef void ( * PFNGLVERTEXSTREAM1SATIPROC) (GLenum stream, GLshort x);
+typedef void ( * PFNGLVERTEXSTREAM1SVATIPROC) (GLenum stream, const GLshort *coords);
+typedef void ( * PFNGLVERTEXSTREAM1IATIPROC) (GLenum stream, GLint x);
+typedef void ( * PFNGLVERTEXSTREAM1IVATIPROC) (GLenum stream, const GLint *coords);
+typedef void ( * PFNGLVERTEXSTREAM1FATIPROC) (GLenum stream, GLfloat x);
+typedef void ( * PFNGLVERTEXSTREAM1FVATIPROC) (GLenum stream, const GLfloat *coords);
+typedef void ( * PFNGLVERTEXSTREAM1DATIPROC) (GLenum stream, GLdouble x);
+typedef void ( * PFNGLVERTEXSTREAM1DVATIPROC) (GLenum stream, const GLdouble *coords);
+typedef void ( * PFNGLVERTEXSTREAM2SATIPROC) (GLenum stream, GLshort x, GLshort y);
+typedef void ( * PFNGLVERTEXSTREAM2SVATIPROC) (GLenum stream, const GLshort *coords);
+typedef void ( * PFNGLVERTEXSTREAM2IATIPROC) (GLenum stream, GLint x, GLint y);
+typedef void ( * PFNGLVERTEXSTREAM2IVATIPROC) (GLenum stream, const GLint *coords);
+typedef void ( * PFNGLVERTEXSTREAM2FATIPROC) (GLenum stream, GLfloat x, GLfloat y);
+typedef void ( * PFNGLVERTEXSTREAM2FVATIPROC) (GLenum stream, const GLfloat *coords);
+typedef void ( * PFNGLVERTEXSTREAM2DATIPROC) (GLenum stream, GLdouble x, GLdouble y);
+typedef void ( * PFNGLVERTEXSTREAM2DVATIPROC) (GLenum stream, const GLdouble *coords);
+typedef void ( * PFNGLVERTEXSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z);
+typedef void ( * PFNGLVERTEXSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords);
+typedef void ( * PFNGLVERTEXSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z);
+typedef void ( * PFNGLVERTEXSTREAM3IVATIPROC) (GLenum stream, const GLint *coords);
+typedef void ( * PFNGLVERTEXSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLVERTEXSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords);
+typedef void ( * PFNGLVERTEXSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z);
+typedef void ( * PFNGLVERTEXSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords);
+typedef void ( * PFNGLVERTEXSTREAM4SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);
+typedef void ( * PFNGLVERTEXSTREAM4SVATIPROC) (GLenum stream, const GLshort *coords);
+typedef void ( * PFNGLVERTEXSTREAM4IATIPROC) (GLenum stream, GLint x, GLint y, GLint z, GLint w);
+typedef void ( * PFNGLVERTEXSTREAM4IVATIPROC) (GLenum stream, const GLint *coords);
+typedef void ( * PFNGLVERTEXSTREAM4FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void ( * PFNGLVERTEXSTREAM4FVATIPROC) (GLenum stream, const GLfloat *coords);
+typedef void ( * PFNGLVERTEXSTREAM4DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void ( * PFNGLVERTEXSTREAM4DVATIPROC) (GLenum stream, const GLdouble *coords);
+typedef void ( * PFNGLNORMALSTREAM3BATIPROC) (GLenum stream, GLbyte nx, GLbyte ny, GLbyte nz);
+typedef void ( * PFNGLNORMALSTREAM3BVATIPROC) (GLenum stream, const GLbyte *coords);
+typedef void ( * PFNGLNORMALSTREAM3SATIPROC) (GLenum stream, GLshort nx, GLshort ny, GLshort nz);
+typedef void ( * PFNGLNORMALSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords);
+typedef void ( * PFNGLNORMALSTREAM3IATIPROC) (GLenum stream, GLint nx, GLint ny, GLint nz);
+typedef void ( * PFNGLNORMALSTREAM3IVATIPROC) (GLenum stream, const GLint *coords);
+typedef void ( * PFNGLNORMALSTREAM3FATIPROC) (GLenum stream, GLfloat nx, GLfloat ny, GLfloat nz);
+typedef void ( * PFNGLNORMALSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords);
+typedef void ( * PFNGLNORMALSTREAM3DATIPROC) (GLenum stream, GLdouble nx, GLdouble ny, GLdouble nz);
+typedef void ( * PFNGLNORMALSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords);
+typedef void ( * PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC) (GLenum stream);
+typedef void ( * PFNGLVERTEXBLENDENVIATIPROC) (GLenum pname, GLint param);
+typedef void ( * PFNGLVERTEXBLENDENVFATIPROC) (GLenum pname, GLfloat param);
+
+
+
+
+
+__attribute__((visibility("default"))) void glElementPointerATI (GLenum type, const GLvoid *pointer);
+__attribute__((visibility("default"))) void glDrawElementArrayATI (GLenum mode, GLsizei count);
+__attribute__((visibility("default"))) void glDrawRangeElementArrayATI (GLenum mode, GLuint start, GLuint end, GLsizei count);
+
+typedef void ( * PFNGLELEMENTPOINTERATIPROC) (GLenum type, const GLvoid *pointer);
+typedef void ( * PFNGLDRAWELEMENTARRAYATIPROC) (GLenum mode, GLsizei count);
+typedef void ( * PFNGLDRAWRANGEELEMENTARRAYATIPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count);
+
+
+
+
+
+__attribute__((visibility("default"))) void glDrawMeshArraysSUN (GLenum mode, GLint first, GLsizei count, GLsizei width);
+
+typedef void ( * PFNGLDRAWMESHARRAYSSUNPROC) (GLenum mode, GLint first, GLsizei count, GLsizei width);
+# 9251 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glGenOcclusionQueriesNV (GLsizei n, GLuint *ids);
+__attribute__((visibility("default"))) void glDeleteOcclusionQueriesNV (GLsizei n, const GLuint *ids);
+__attribute__((visibility("default"))) GLboolean glIsOcclusionQueryNV (GLuint id);
+__attribute__((visibility("default"))) void glBeginOcclusionQueryNV (GLuint id);
+__attribute__((visibility("default"))) void glEndOcclusionQueryNV (void);
+__attribute__((visibility("default"))) void glGetOcclusionQueryivNV (GLuint id, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetOcclusionQueryuivNV (GLuint id, GLenum pname, GLuint *params);
+
+typedef void ( * PFNGLGENOCCLUSIONQUERIESNVPROC) (GLsizei n, GLuint *ids);
+typedef void ( * PFNGLDELETEOCCLUSIONQUERIESNVPROC) (GLsizei n, const GLuint *ids);
+typedef GLboolean ( * PFNGLISOCCLUSIONQUERYNVPROC) (GLuint id);
+typedef void ( * PFNGLBEGINOCCLUSIONQUERYNVPROC) (GLuint id);
+typedef void ( * PFNGLENDOCCLUSIONQUERYNVPROC) (void);
+typedef void ( * PFNGLGETOCCLUSIONQUERYIVNVPROC) (GLuint id, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETOCCLUSIONQUERYUIVNVPROC) (GLuint id, GLenum pname, GLuint *params);
+
+
+
+
+
+__attribute__((visibility("default"))) void glPointParameteriNV (GLenum pname, GLint param);
+__attribute__((visibility("default"))) void glPointParameterivNV (GLenum pname, const GLint *params);
+
+typedef void ( * PFNGLPOINTPARAMETERINVPROC) (GLenum pname, GLint param);
+typedef void ( * PFNGLPOINTPARAMETERIVNVPROC) (GLenum pname, const GLint *params);
+# 9293 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glActiveStencilFaceEXT (GLenum face);
+
+typedef void ( * PFNGLACTIVESTENCILFACEEXTPROC) (GLenum face);
+# 9309 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glElementPointerAPPLE (GLenum type, const GLvoid *pointer);
+__attribute__((visibility("default"))) void glDrawElementArrayAPPLE (GLenum mode, GLint first, GLsizei count);
+__attribute__((visibility("default"))) void glDrawRangeElementArrayAPPLE (GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);
+__attribute__((visibility("default"))) void glMultiDrawElementArrayAPPLE (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
+__attribute__((visibility("default"))) void glMultiDrawRangeElementArrayAPPLE (GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount);
+
+typedef void ( * PFNGLELEMENTPOINTERAPPLEPROC) (GLenum type, const GLvoid *pointer);
+typedef void ( * PFNGLDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, GLint first, GLsizei count);
+typedef void ( * PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);
+typedef void ( * PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
+typedef void ( * PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount);
+
+
+
+
+
+__attribute__((visibility("default"))) void glGenFencesAPPLE (GLsizei n, GLuint *fences);
+__attribute__((visibility("default"))) void glDeleteFencesAPPLE (GLsizei n, const GLuint *fences);
+__attribute__((visibility("default"))) void glSetFenceAPPLE (GLuint fence);
+__attribute__((visibility("default"))) GLboolean glIsFenceAPPLE (GLuint fence);
+__attribute__((visibility("default"))) GLboolean glTestFenceAPPLE (GLuint fence);
+__attribute__((visibility("default"))) void glFinishFenceAPPLE (GLuint fence);
+__attribute__((visibility("default"))) GLboolean glTestObjectAPPLE (GLenum object, GLuint name);
+__attribute__((visibility("default"))) void glFinishObjectAPPLE (GLenum object, GLint name);
+
+typedef void ( * PFNGLGENFENCESAPPLEPROC) (GLsizei n, GLuint *fences);
+typedef void ( * PFNGLDELETEFENCESAPPLEPROC) (GLsizei n, const GLuint *fences);
+typedef void ( * PFNGLSETFENCEAPPLEPROC) (GLuint fence);
+typedef GLboolean ( * PFNGLISFENCEAPPLEPROC) (GLuint fence);
+typedef GLboolean ( * PFNGLTESTFENCEAPPLEPROC) (GLuint fence);
+typedef void ( * PFNGLFINISHFENCEAPPLEPROC) (GLuint fence);
+typedef GLboolean ( * PFNGLTESTOBJECTAPPLEPROC) (GLenum object, GLuint name);
+typedef void ( * PFNGLFINISHOBJECTAPPLEPROC) (GLenum object, GLint name);
+
+
+
+
+
+__attribute__((visibility("default"))) void glBindVertexArrayAPPLE (GLuint array);
+__attribute__((visibility("default"))) void glDeleteVertexArraysAPPLE (GLsizei n, const GLuint *arrays);
+__attribute__((visibility("default"))) void glGenVertexArraysAPPLE (GLsizei n, GLuint *arrays);
+__attribute__((visibility("default"))) GLboolean glIsVertexArrayAPPLE (GLuint array);
+
+typedef void ( * PFNGLBINDVERTEXARRAYAPPLEPROC) (GLuint array);
+typedef void ( * PFNGLDELETEVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint *arrays);
+typedef void ( * PFNGLGENVERTEXARRAYSAPPLEPROC) (GLsizei n, GLuint *arrays);
+typedef GLboolean ( * PFNGLISVERTEXARRAYAPPLEPROC) (GLuint array);
+
+
+
+
+
+__attribute__((visibility("default"))) void glVertexArrayRangeAPPLE (GLsizei length, GLvoid *pointer);
+__attribute__((visibility("default"))) void glFlushVertexArrayRangeAPPLE (GLsizei length, GLvoid *pointer);
+__attribute__((visibility("default"))) void glVertexArrayParameteriAPPLE (GLenum pname, GLint param);
+
+typedef void ( * PFNGLVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, GLvoid *pointer);
+typedef void ( * PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, GLvoid *pointer);
+typedef void ( * PFNGLVERTEXARRAYPARAMETERIAPPLEPROC) (GLenum pname, GLint param);
+# 9381 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glDrawBuffersATI (GLsizei n, const GLenum *bufs);
+
+typedef void ( * PFNGLDRAWBUFFERSATIPROC) (GLsizei n, const GLenum *bufs);
+# 9409 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glProgramNamedParameter4fNV (GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+__attribute__((visibility("default"))) void glProgramNamedParameter4dNV (GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+__attribute__((visibility("default"))) void glProgramNamedParameter4fvNV (GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v);
+__attribute__((visibility("default"))) void glProgramNamedParameter4dvNV (GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v);
+__attribute__((visibility("default"))) void glGetProgramNamedParameterfvNV (GLuint id, GLsizei len, const GLubyte *name, GLfloat *params);
+__attribute__((visibility("default"))) void glGetProgramNamedParameterdvNV (GLuint id, GLsizei len, const GLubyte *name, GLdouble *params);
+
+typedef void ( * PFNGLPROGRAMNAMEDPARAMETER4FNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void ( * PFNGLPROGRAMNAMEDPARAMETER4DNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void ( * PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v);
+typedef void ( * PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v);
+typedef void ( * PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLfloat *params);
+typedef void ( * PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLdouble *params);
+
+
+
+
+
+__attribute__((visibility("default"))) void glVertex2hNV (GLhalfNV x, GLhalfNV y);
+__attribute__((visibility("default"))) void glVertex2hvNV (const GLhalfNV *v);
+__attribute__((visibility("default"))) void glVertex3hNV (GLhalfNV x, GLhalfNV y, GLhalfNV z);
+__attribute__((visibility("default"))) void glVertex3hvNV (const GLhalfNV *v);
+__attribute__((visibility("default"))) void glVertex4hNV (GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);
+__attribute__((visibility("default"))) void glVertex4hvNV (const GLhalfNV *v);
+__attribute__((visibility("default"))) void glNormal3hNV (GLhalfNV nx, GLhalfNV ny, GLhalfNV nz);
+__attribute__((visibility("default"))) void glNormal3hvNV (const GLhalfNV *v);
+__attribute__((visibility("default"))) void glColor3hNV (GLhalfNV red, GLhalfNV green, GLhalfNV blue);
+__attribute__((visibility("default"))) void glColor3hvNV (const GLhalfNV *v);
+__attribute__((visibility("default"))) void glColor4hNV (GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha);
+__attribute__((visibility("default"))) void glColor4hvNV (const GLhalfNV *v);
+__attribute__((visibility("default"))) void glTexCoord1hNV (GLhalfNV s);
+__attribute__((visibility("default"))) void glTexCoord1hvNV (const GLhalfNV *v);
+__attribute__((visibility("default"))) void glTexCoord2hNV (GLhalfNV s, GLhalfNV t);
+__attribute__((visibility("default"))) void glTexCoord2hvNV (const GLhalfNV *v);
+__attribute__((visibility("default"))) void glTexCoord3hNV (GLhalfNV s, GLhalfNV t, GLhalfNV r);
+__attribute__((visibility("default"))) void glTexCoord3hvNV (const GLhalfNV *v);
+__attribute__((visibility("default"))) void glTexCoord4hNV (GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);
+__attribute__((visibility("default"))) void glTexCoord4hvNV (const GLhalfNV *v);
+__attribute__((visibility("default"))) void glMultiTexCoord1hNV (GLenum target, GLhalfNV s);
+__attribute__((visibility("default"))) void glMultiTexCoord1hvNV (GLenum target, const GLhalfNV *v);
+__attribute__((visibility("default"))) void glMultiTexCoord2hNV (GLenum target, GLhalfNV s, GLhalfNV t);
+__attribute__((visibility("default"))) void glMultiTexCoord2hvNV (GLenum target, const GLhalfNV *v);
+__attribute__((visibility("default"))) void glMultiTexCoord3hNV (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r);
+__attribute__((visibility("default"))) void glMultiTexCoord3hvNV (GLenum target, const GLhalfNV *v);
+__attribute__((visibility("default"))) void glMultiTexCoord4hNV (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);
+__attribute__((visibility("default"))) void glMultiTexCoord4hvNV (GLenum target, const GLhalfNV *v);
+__attribute__((visibility("default"))) void glFogCoordhNV (GLhalfNV fog);
+__attribute__((visibility("default"))) void glFogCoordhvNV (const GLhalfNV *fog);
+__attribute__((visibility("default"))) void glSecondaryColor3hNV (GLhalfNV red, GLhalfNV green, GLhalfNV blue);
+__attribute__((visibility("default"))) void glSecondaryColor3hvNV (const GLhalfNV *v);
+__attribute__((visibility("default"))) void glVertexWeighthNV (GLhalfNV weight);
+__attribute__((visibility("default"))) void glVertexWeighthvNV (const GLhalfNV *weight);
+__attribute__((visibility("default"))) void glVertexAttrib1hNV (GLuint index, GLhalfNV x);
+__attribute__((visibility("default"))) void glVertexAttrib1hvNV (GLuint index, const GLhalfNV *v);
+__attribute__((visibility("default"))) void glVertexAttrib2hNV (GLuint index, GLhalfNV x, GLhalfNV y);
+__attribute__((visibility("default"))) void glVertexAttrib2hvNV (GLuint index, const GLhalfNV *v);
+__attribute__((visibility("default"))) void glVertexAttrib3hNV (GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z);
+__attribute__((visibility("default"))) void glVertexAttrib3hvNV (GLuint index, const GLhalfNV *v);
+__attribute__((visibility("default"))) void glVertexAttrib4hNV (GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);
+__attribute__((visibility("default"))) void glVertexAttrib4hvNV (GLuint index, const GLhalfNV *v);
+__attribute__((visibility("default"))) void glVertexAttribs1hvNV (GLuint index, GLsizei n, const GLhalfNV *v);
+__attribute__((visibility("default"))) void glVertexAttribs2hvNV (GLuint index, GLsizei n, const GLhalfNV *v);
+__attribute__((visibility("default"))) void glVertexAttribs3hvNV (GLuint index, GLsizei n, const GLhalfNV *v);
+__attribute__((visibility("default"))) void glVertexAttribs4hvNV (GLuint index, GLsizei n, const GLhalfNV *v);
+
+typedef void ( * PFNGLVERTEX2HNVPROC) (GLhalfNV x, GLhalfNV y);
+typedef void ( * PFNGLVERTEX2HVNVPROC) (const GLhalfNV *v);
+typedef void ( * PFNGLVERTEX3HNVPROC) (GLhalfNV x, GLhalfNV y, GLhalfNV z);
+typedef void ( * PFNGLVERTEX3HVNVPROC) (const GLhalfNV *v);
+typedef void ( * PFNGLVERTEX4HNVPROC) (GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);
+typedef void ( * PFNGLVERTEX4HVNVPROC) (const GLhalfNV *v);
+typedef void ( * PFNGLNORMAL3HNVPROC) (GLhalfNV nx, GLhalfNV ny, GLhalfNV nz);
+typedef void ( * PFNGLNORMAL3HVNVPROC) (const GLhalfNV *v);
+typedef void ( * PFNGLCOLOR3HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue);
+typedef void ( * PFNGLCOLOR3HVNVPROC) (const GLhalfNV *v);
+typedef void ( * PFNGLCOLOR4HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha);
+typedef void ( * PFNGLCOLOR4HVNVPROC) (const GLhalfNV *v);
+typedef void ( * PFNGLTEXCOORD1HNVPROC) (GLhalfNV s);
+typedef void ( * PFNGLTEXCOORD1HVNVPROC) (const GLhalfNV *v);
+typedef void ( * PFNGLTEXCOORD2HNVPROC) (GLhalfNV s, GLhalfNV t);
+typedef void ( * PFNGLTEXCOORD2HVNVPROC) (const GLhalfNV *v);
+typedef void ( * PFNGLTEXCOORD3HNVPROC) (GLhalfNV s, GLhalfNV t, GLhalfNV r);
+typedef void ( * PFNGLTEXCOORD3HVNVPROC) (const GLhalfNV *v);
+typedef void ( * PFNGLTEXCOORD4HNVPROC) (GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);
+typedef void ( * PFNGLTEXCOORD4HVNVPROC) (const GLhalfNV *v);
+typedef void ( * PFNGLMULTITEXCOORD1HNVPROC) (GLenum target, GLhalfNV s);
+typedef void ( * PFNGLMULTITEXCOORD1HVNVPROC) (GLenum target, const GLhalfNV *v);
+typedef void ( * PFNGLMULTITEXCOORD2HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t);
+typedef void ( * PFNGLMULTITEXCOORD2HVNVPROC) (GLenum target, const GLhalfNV *v);
+typedef void ( * PFNGLMULTITEXCOORD3HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r);
+typedef void ( * PFNGLMULTITEXCOORD3HVNVPROC) (GLenum target, const GLhalfNV *v);
+typedef void ( * PFNGLMULTITEXCOORD4HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);
+typedef void ( * PFNGLMULTITEXCOORD4HVNVPROC) (GLenum target, const GLhalfNV *v);
+typedef void ( * PFNGLFOGCOORDHNVPROC) (GLhalfNV fog);
+typedef void ( * PFNGLFOGCOORDHVNVPROC) (const GLhalfNV *fog);
+typedef void ( * PFNGLSECONDARYCOLOR3HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue);
+typedef void ( * PFNGLSECONDARYCOLOR3HVNVPROC) (const GLhalfNV *v);
+typedef void ( * PFNGLVERTEXWEIGHTHNVPROC) (GLhalfNV weight);
+typedef void ( * PFNGLVERTEXWEIGHTHVNVPROC) (const GLhalfNV *weight);
+typedef void ( * PFNGLVERTEXATTRIB1HNVPROC) (GLuint index, GLhalfNV x);
+typedef void ( * PFNGLVERTEXATTRIB1HVNVPROC) (GLuint index, const GLhalfNV *v);
+typedef void ( * PFNGLVERTEXATTRIB2HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y);
+typedef void ( * PFNGLVERTEXATTRIB2HVNVPROC) (GLuint index, const GLhalfNV *v);
+typedef void ( * PFNGLVERTEXATTRIB3HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z);
+typedef void ( * PFNGLVERTEXATTRIB3HVNVPROC) (GLuint index, const GLhalfNV *v);
+typedef void ( * PFNGLVERTEXATTRIB4HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);
+typedef void ( * PFNGLVERTEXATTRIB4HVNVPROC) (GLuint index, const GLhalfNV *v);
+typedef void ( * PFNGLVERTEXATTRIBS1HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);
+typedef void ( * PFNGLVERTEXATTRIBS2HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);
+typedef void ( * PFNGLVERTEXATTRIBS3HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);
+typedef void ( * PFNGLVERTEXATTRIBS4HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);
+
+
+
+
+
+__attribute__((visibility("default"))) void glPixelDataRangeNV (GLenum target, GLsizei length, GLvoid *pointer);
+__attribute__((visibility("default"))) void glFlushPixelDataRangeNV (GLenum target);
+
+typedef void ( * PFNGLPIXELDATARANGENVPROC) (GLenum target, GLsizei length, GLvoid *pointer);
+typedef void ( * PFNGLFLUSHPIXELDATARANGENVPROC) (GLenum target);
+
+
+
+
+
+__attribute__((visibility("default"))) void glPrimitiveRestartNV (void);
+__attribute__((visibility("default"))) void glPrimitiveRestartIndexNV (GLuint index);
+
+typedef void ( * PFNGLPRIMITIVERESTARTNVPROC) (void);
+typedef void ( * PFNGLPRIMITIVERESTARTINDEXNVPROC) (GLuint index);
+# 9553 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) GLvoid* glMapObjectBufferATI (GLuint buffer);
+__attribute__((visibility("default"))) void glUnmapObjectBufferATI (GLuint buffer);
+
+typedef GLvoid* ( * PFNGLMAPOBJECTBUFFERATIPROC) (GLuint buffer);
+typedef void ( * PFNGLUNMAPOBJECTBUFFERATIPROC) (GLuint buffer);
+
+
+
+
+
+__attribute__((visibility("default"))) void glStencilOpSeparateATI (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
+__attribute__((visibility("default"))) void glStencilFuncSeparateATI (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
+
+typedef void ( * PFNGLSTENCILOPSEPARATEATIPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
+typedef void ( * PFNGLSTENCILFUNCSEPARATEATIPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
+
+
+
+
+
+__attribute__((visibility("default"))) void glVertexAttribArrayObjectATI (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset);
+__attribute__((visibility("default"))) void glGetVertexAttribArrayObjectfvATI (GLuint index, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetVertexAttribArrayObjectivATI (GLuint index, GLenum pname, GLint *params);
+
+typedef void ( * PFNGLVERTEXATTRIBARRAYOBJECTATIPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset);
+typedef void ( * PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC) (GLuint index, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC) (GLuint index, GLenum pname, GLint *params);
+# 9589 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glDepthBoundsEXT (GLclampd zmin, GLclampd zmax);
+
+typedef void ( * PFNGLDEPTHBOUNDSEXTPROC) (GLclampd zmin, GLclampd zmax);
+# 9601 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glBlendEquationSeparateEXT (GLenum modeRGB, GLenum modeAlpha);
+
+typedef void ( * PFNGLBLENDEQUATIONSEPARATEEXTPROC) (GLenum modeRGB, GLenum modeAlpha);
+# 9637 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) GLboolean glIsRenderbufferEXT (GLuint renderbuffer);
+__attribute__((visibility("default"))) void glBindRenderbufferEXT (GLenum target, GLuint renderbuffer);
+__attribute__((visibility("default"))) void glDeleteRenderbuffersEXT (GLsizei n, const GLuint *renderbuffers);
+__attribute__((visibility("default"))) void glGenRenderbuffersEXT (GLsizei n, GLuint *renderbuffers);
+__attribute__((visibility("default"))) void glRenderbufferStorageEXT (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
+__attribute__((visibility("default"))) void glGetRenderbufferParameterivEXT (GLenum target, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) GLboolean glIsFramebufferEXT (GLuint framebuffer);
+__attribute__((visibility("default"))) void glBindFramebufferEXT (GLenum target, GLuint framebuffer);
+__attribute__((visibility("default"))) void glDeleteFramebuffersEXT (GLsizei n, const GLuint *framebuffers);
+__attribute__((visibility("default"))) void glGenFramebuffersEXT (GLsizei n, GLuint *framebuffers);
+__attribute__((visibility("default"))) GLenum glCheckFramebufferStatusEXT (GLenum target);
+__attribute__((visibility("default"))) void glFramebufferTexture1DEXT (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+__attribute__((visibility("default"))) void glFramebufferTexture2DEXT (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+__attribute__((visibility("default"))) void glFramebufferTexture3DEXT (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+__attribute__((visibility("default"))) void glFramebufferRenderbufferEXT (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+__attribute__((visibility("default"))) void glGetFramebufferAttachmentParameterivEXT (GLenum target, GLenum attachment, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGenerateMipmapEXT (GLenum target);
+
+typedef GLboolean ( * PFNGLISRENDERBUFFEREXTPROC) (GLuint renderbuffer);
+typedef void ( * PFNGLBINDRENDERBUFFEREXTPROC) (GLenum target, GLuint renderbuffer);
+typedef void ( * PFNGLDELETERENDERBUFFERSEXTPROC) (GLsizei n, const GLuint *renderbuffers);
+typedef void ( * PFNGLGENRENDERBUFFERSEXTPROC) (GLsizei n, GLuint *renderbuffers);
+typedef void ( * PFNGLRENDERBUFFERSTORAGEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void ( * PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
+typedef GLboolean ( * PFNGLISFRAMEBUFFEREXTPROC) (GLuint framebuffer);
+typedef void ( * PFNGLBINDFRAMEBUFFEREXTPROC) (GLenum target, GLuint framebuffer);
+typedef void ( * PFNGLDELETEFRAMEBUFFERSEXTPROC) (GLsizei n, const GLuint *framebuffers);
+typedef void ( * PFNGLGENFRAMEBUFFERSEXTPROC) (GLsizei n, GLuint *framebuffers);
+typedef GLenum ( * PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) (GLenum target);
+typedef void ( * PFNGLFRAMEBUFFERTEXTURE1DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void ( * PFNGLFRAMEBUFFERTEXTURE2DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void ( * PFNGLFRAMEBUFFERTEXTURE3DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+typedef void ( * PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+typedef void ( * PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
+typedef void ( * PFNGLGENERATEMIPMAPEXTPROC) (GLenum target);
+
+
+
+
+
+__attribute__((visibility("default"))) void glStringMarkerGREMEDY (GLsizei len, const GLvoid *string);
+
+typedef void ( * PFNGLSTRINGMARKERGREMEDYPROC) (GLsizei len, const GLvoid *string);
+# 9689 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glStencilClearTagEXT (GLsizei stencilTagBits, GLuint stencilClearTag);
+
+typedef void ( * PFNGLSTENCILCLEARTAGEXTPROC) (GLsizei stencilTagBits, GLuint stencilClearTag);
+# 9701 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glBlitFramebufferEXT (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+
+typedef void ( * PFNGLBLITFRAMEBUFFEREXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+
+
+
+
+
+__attribute__((visibility("default"))) void glRenderbufferStorageMultisampleEXT (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+
+typedef void ( * PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+# 9721 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glGetQueryObjecti64vEXT (GLuint id, GLenum pname, GLint64EXT *params);
+__attribute__((visibility("default"))) void glGetQueryObjectui64vEXT (GLuint id, GLenum pname, GLuint64EXT *params);
+
+typedef void ( * PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64EXT *params);
+typedef void ( * PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64EXT *params);
+
+
+
+
+
+__attribute__((visibility("default"))) void glProgramEnvParameters4fvEXT (GLenum target, GLuint index, GLsizei count, const GLfloat *params);
+__attribute__((visibility("default"))) void glProgramLocalParameters4fvEXT (GLenum target, GLuint index, GLsizei count, const GLfloat *params);
+
+typedef void ( * PFNGLPROGRAMENVPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat *params);
+typedef void ( * PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat *params);
+
+
+
+
+
+__attribute__((visibility("default"))) void glBufferParameteriAPPLE (GLenum target, GLenum pname, GLint param);
+__attribute__((visibility("default"))) void glFlushMappedBufferRangeAPPLE (GLenum target, GLintptr offset, GLsizeiptr size);
+
+typedef void ( * PFNGLBUFFERPARAMETERIAPPLEPROC) (GLenum target, GLenum pname, GLint param);
+typedef void ( * PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC) (GLenum target, GLintptr offset, GLsizeiptr size);
+
+
+
+
+
+__attribute__((visibility("default"))) void glProgramLocalParameterI4iNV (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
+__attribute__((visibility("default"))) void glProgramLocalParameterI4ivNV (GLenum target, GLuint index, const GLint *params);
+__attribute__((visibility("default"))) void glProgramLocalParametersI4ivNV (GLenum target, GLuint index, GLsizei count, const GLint *params);
+__attribute__((visibility("default"))) void glProgramLocalParameterI4uiNV (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+__attribute__((visibility("default"))) void glProgramLocalParameterI4uivNV (GLenum target, GLuint index, const GLuint *params);
+__attribute__((visibility("default"))) void glProgramLocalParametersI4uivNV (GLenum target, GLuint index, GLsizei count, const GLuint *params);
+__attribute__((visibility("default"))) void glProgramEnvParameterI4iNV (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
+__attribute__((visibility("default"))) void glProgramEnvParameterI4ivNV (GLenum target, GLuint index, const GLint *params);
+__attribute__((visibility("default"))) void glProgramEnvParametersI4ivNV (GLenum target, GLuint index, GLsizei count, const GLint *params);
+__attribute__((visibility("default"))) void glProgramEnvParameterI4uiNV (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+__attribute__((visibility("default"))) void glProgramEnvParameterI4uivNV (GLenum target, GLuint index, const GLuint *params);
+__attribute__((visibility("default"))) void glProgramEnvParametersI4uivNV (GLenum target, GLuint index, GLsizei count, const GLuint *params);
+__attribute__((visibility("default"))) void glGetProgramLocalParameterIivNV (GLenum target, GLuint index, GLint *params);
+__attribute__((visibility("default"))) void glGetProgramLocalParameterIuivNV (GLenum target, GLuint index, GLuint *params);
+__attribute__((visibility("default"))) void glGetProgramEnvParameterIivNV (GLenum target, GLuint index, GLint *params);
+__attribute__((visibility("default"))) void glGetProgramEnvParameterIuivNV (GLenum target, GLuint index, GLuint *params);
+
+typedef void ( * PFNGLPROGRAMLOCALPARAMETERI4INVPROC) (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
+typedef void ( * PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC) (GLenum target, GLuint index, const GLint *params);
+typedef void ( * PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLint *params);
+typedef void ( * PFNGLPROGRAMLOCALPARAMETERI4UINVPROC) (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+typedef void ( * PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC) (GLenum target, GLuint index, const GLuint *params);
+typedef void ( * PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLuint *params);
+typedef void ( * PFNGLPROGRAMENVPARAMETERI4INVPROC) (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
+typedef void ( * PFNGLPROGRAMENVPARAMETERI4IVNVPROC) (GLenum target, GLuint index, const GLint *params);
+typedef void ( * PFNGLPROGRAMENVPARAMETERSI4IVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLint *params);
+typedef void ( * PFNGLPROGRAMENVPARAMETERI4UINVPROC) (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+typedef void ( * PFNGLPROGRAMENVPARAMETERI4UIVNVPROC) (GLenum target, GLuint index, const GLuint *params);
+typedef void ( * PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLuint *params);
+typedef void ( * PFNGLGETPROGRAMLOCALPARAMETERIIVNVPROC) (GLenum target, GLuint index, GLint *params);
+typedef void ( * PFNGLGETPROGRAMLOCALPARAMETERIUIVNVPROC) (GLenum target, GLuint index, GLuint *params);
+typedef void ( * PFNGLGETPROGRAMENVPARAMETERIIVNVPROC) (GLenum target, GLuint index, GLint *params);
+typedef void ( * PFNGLGETPROGRAMENVPARAMETERIUIVNVPROC) (GLenum target, GLuint index, GLuint *params);
+
+
+
+
+
+__attribute__((visibility("default"))) void glProgramVertexLimitNV (GLenum target, GLint limit);
+__attribute__((visibility("default"))) void glFramebufferTextureEXT (GLenum target, GLenum attachment, GLuint texture, GLint level);
+__attribute__((visibility("default"))) void glFramebufferTextureLayerEXT (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+__attribute__((visibility("default"))) void glFramebufferTextureFaceEXT (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
+
+typedef void ( * PFNGLPROGRAMVERTEXLIMITNVPROC) (GLenum target, GLint limit);
+typedef void ( * PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
+typedef void ( * PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+typedef void ( * PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
+
+
+
+
+
+__attribute__((visibility("default"))) void glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);
+
+typedef void ( * PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
+
+
+
+
+
+__attribute__((visibility("default"))) void glVertexAttribI1iEXT (GLuint index, GLint x);
+__attribute__((visibility("default"))) void glVertexAttribI2iEXT (GLuint index, GLint x, GLint y);
+__attribute__((visibility("default"))) void glVertexAttribI3iEXT (GLuint index, GLint x, GLint y, GLint z);
+__attribute__((visibility("default"))) void glVertexAttribI4iEXT (GLuint index, GLint x, GLint y, GLint z, GLint w);
+__attribute__((visibility("default"))) void glVertexAttribI1uiEXT (GLuint index, GLuint x);
+__attribute__((visibility("default"))) void glVertexAttribI2uiEXT (GLuint index, GLuint x, GLuint y);
+__attribute__((visibility("default"))) void glVertexAttribI3uiEXT (GLuint index, GLuint x, GLuint y, GLuint z);
+__attribute__((visibility("default"))) void glVertexAttribI4uiEXT (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+__attribute__((visibility("default"))) void glVertexAttribI1ivEXT (GLuint index, const GLint *v);
+__attribute__((visibility("default"))) void glVertexAttribI2ivEXT (GLuint index, const GLint *v);
+__attribute__((visibility("default"))) void glVertexAttribI3ivEXT (GLuint index, const GLint *v);
+__attribute__((visibility("default"))) void glVertexAttribI4ivEXT (GLuint index, const GLint *v);
+__attribute__((visibility("default"))) void glVertexAttribI1uivEXT (GLuint index, const GLuint *v);
+__attribute__((visibility("default"))) void glVertexAttribI2uivEXT (GLuint index, const GLuint *v);
+__attribute__((visibility("default"))) void glVertexAttribI3uivEXT (GLuint index, const GLuint *v);
+__attribute__((visibility("default"))) void glVertexAttribI4uivEXT (GLuint index, const GLuint *v);
+__attribute__((visibility("default"))) void glVertexAttribI4bvEXT (GLuint index, const GLbyte *v);
+__attribute__((visibility("default"))) void glVertexAttribI4svEXT (GLuint index, const GLshort *v);
+__attribute__((visibility("default"))) void glVertexAttribI4ubvEXT (GLuint index, const GLubyte *v);
+__attribute__((visibility("default"))) void glVertexAttribI4usvEXT (GLuint index, const GLushort *v);
+__attribute__((visibility("default"))) void glVertexAttribIPointerEXT (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+__attribute__((visibility("default"))) void glGetVertexAttribIivEXT (GLuint index, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetVertexAttribIuivEXT (GLuint index, GLenum pname, GLuint *params);
+
+typedef void ( * PFNGLVERTEXATTRIBI1IEXTPROC) (GLuint index, GLint x);
+typedef void ( * PFNGLVERTEXATTRIBI2IEXTPROC) (GLuint index, GLint x, GLint y);
+typedef void ( * PFNGLVERTEXATTRIBI3IEXTPROC) (GLuint index, GLint x, GLint y, GLint z);
+typedef void ( * PFNGLVERTEXATTRIBI4IEXTPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w);
+typedef void ( * PFNGLVERTEXATTRIBI1UIEXTPROC) (GLuint index, GLuint x);
+typedef void ( * PFNGLVERTEXATTRIBI2UIEXTPROC) (GLuint index, GLuint x, GLuint y);
+typedef void ( * PFNGLVERTEXATTRIBI3UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z);
+typedef void ( * PFNGLVERTEXATTRIBI4UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+typedef void ( * PFNGLVERTEXATTRIBI1IVEXTPROC) (GLuint index, const GLint *v);
+typedef void ( * PFNGLVERTEXATTRIBI2IVEXTPROC) (GLuint index, const GLint *v);
+typedef void ( * PFNGLVERTEXATTRIBI3IVEXTPROC) (GLuint index, const GLint *v);
+typedef void ( * PFNGLVERTEXATTRIBI4IVEXTPROC) (GLuint index, const GLint *v);
+typedef void ( * PFNGLVERTEXATTRIBI1UIVEXTPROC) (GLuint index, const GLuint *v);
+typedef void ( * PFNGLVERTEXATTRIBI2UIVEXTPROC) (GLuint index, const GLuint *v);
+typedef void ( * PFNGLVERTEXATTRIBI3UIVEXTPROC) (GLuint index, const GLuint *v);
+typedef void ( * PFNGLVERTEXATTRIBI4UIVEXTPROC) (GLuint index, const GLuint *v);
+typedef void ( * PFNGLVERTEXATTRIBI4BVEXTPROC) (GLuint index, const GLbyte *v);
+typedef void ( * PFNGLVERTEXATTRIBI4SVEXTPROC) (GLuint index, const GLshort *v);
+typedef void ( * PFNGLVERTEXATTRIBI4UBVEXTPROC) (GLuint index, const GLubyte *v);
+typedef void ( * PFNGLVERTEXATTRIBI4USVEXTPROC) (GLuint index, const GLushort *v);
+typedef void ( * PFNGLVERTEXATTRIBIPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void ( * PFNGLGETVERTEXATTRIBIIVEXTPROC) (GLuint index, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETVERTEXATTRIBIUIVEXTPROC) (GLuint index, GLenum pname, GLuint *params);
+
+
+
+
+
+__attribute__((visibility("default"))) void glGetUniformuivEXT (GLuint program, GLint location, GLuint *params);
+__attribute__((visibility("default"))) void glBindFragDataLocationEXT (GLuint program, GLuint color, const GLchar *name);
+__attribute__((visibility("default"))) GLint glGetFragDataLocationEXT (GLuint program, const GLchar *name);
+__attribute__((visibility("default"))) void glUniform1uiEXT (GLint location, GLuint v0);
+__attribute__((visibility("default"))) void glUniform2uiEXT (GLint location, GLuint v0, GLuint v1);
+__attribute__((visibility("default"))) void glUniform3uiEXT (GLint location, GLuint v0, GLuint v1, GLuint v2);
+__attribute__((visibility("default"))) void glUniform4uiEXT (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+__attribute__((visibility("default"))) void glUniform1uivEXT (GLint location, GLsizei count, const GLuint *value);
+__attribute__((visibility("default"))) void glUniform2uivEXT (GLint location, GLsizei count, const GLuint *value);
+__attribute__((visibility("default"))) void glUniform3uivEXT (GLint location, GLsizei count, const GLuint *value);
+__attribute__((visibility("default"))) void glUniform4uivEXT (GLint location, GLsizei count, const GLuint *value);
+
+typedef void ( * PFNGLGETUNIFORMUIVEXTPROC) (GLuint program, GLint location, GLuint *params);
+typedef void ( * PFNGLBINDFRAGDATALOCATIONEXTPROC) (GLuint program, GLuint color, const GLchar *name);
+typedef GLint ( * PFNGLGETFRAGDATALOCATIONEXTPROC) (GLuint program, const GLchar *name);
+typedef void ( * PFNGLUNIFORM1UIEXTPROC) (GLint location, GLuint v0);
+typedef void ( * PFNGLUNIFORM2UIEXTPROC) (GLint location, GLuint v0, GLuint v1);
+typedef void ( * PFNGLUNIFORM3UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2);
+typedef void ( * PFNGLUNIFORM4UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+typedef void ( * PFNGLUNIFORM1UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void ( * PFNGLUNIFORM2UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void ( * PFNGLUNIFORM3UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void ( * PFNGLUNIFORM4UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);
+
+
+
+
+
+__attribute__((visibility("default"))) void glDrawArraysInstancedEXT (GLenum mode, GLint start, GLsizei count, GLsizei primcount);
+__attribute__((visibility("default"))) void glDrawElementsInstancedEXT (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
+
+typedef void ( * PFNGLDRAWARRAYSINSTANCEDEXTPROC) (GLenum mode, GLint start, GLsizei count, GLsizei primcount);
+typedef void ( * PFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
+# 9909 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glTexBufferEXT (GLenum target, GLenum internalformat, GLuint buffer);
+
+typedef void ( * PFNGLTEXBUFFEREXTPROC) (GLenum target, GLenum internalformat, GLuint buffer);
+# 9929 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glDepthRangedNV (GLdouble zNear, GLdouble zFar);
+__attribute__((visibility("default"))) void glClearDepthdNV (GLdouble depth);
+__attribute__((visibility("default"))) void glDepthBoundsdNV (GLdouble zmin, GLdouble zmax);
+
+typedef void ( * PFNGLDEPTHRANGEDNVPROC) (GLdouble zNear, GLdouble zFar);
+typedef void ( * PFNGLCLEARDEPTHDNVPROC) (GLdouble depth);
+typedef void ( * PFNGLDEPTHBOUNDSDNVPROC) (GLdouble zmin, GLdouble zmax);
+# 9945 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glRenderbufferStorageMultisampleCoverageNV (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);
+
+typedef void ( * PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);
+# 9961 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glProgramBufferParametersfvNV (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params);
+__attribute__((visibility("default"))) void glProgramBufferParametersIivNV (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params);
+__attribute__((visibility("default"))) void glProgramBufferParametersIuivNV (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params);
+
+typedef void ( * PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params);
+typedef void ( * PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params);
+typedef void ( * PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params);
+
+
+
+
+
+__attribute__((visibility("default"))) void glColorMaskIndexedEXT (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
+__attribute__((visibility("default"))) void glGetBooleanIndexedvEXT (GLenum target, GLuint index, GLboolean *data);
+__attribute__((visibility("default"))) void glGetIntegerIndexedvEXT (GLenum target, GLuint index, GLint *data);
+__attribute__((visibility("default"))) void glEnableIndexedEXT (GLenum target, GLuint index);
+__attribute__((visibility("default"))) void glDisableIndexedEXT (GLenum target, GLuint index);
+__attribute__((visibility("default"))) GLboolean glIsEnabledIndexedEXT (GLenum target, GLuint index);
+
+typedef void ( * PFNGLCOLORMASKINDEXEDEXTPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
+typedef void ( * PFNGLGETBOOLEANINDEXEDVEXTPROC) (GLenum target, GLuint index, GLboolean *data);
+typedef void ( * PFNGLGETINTEGERINDEXEDVEXTPROC) (GLenum target, GLuint index, GLint *data);
+typedef void ( * PFNGLENABLEINDEXEDEXTPROC) (GLenum target, GLuint index);
+typedef void ( * PFNGLDISABLEINDEXEDEXTPROC) (GLenum target, GLuint index);
+typedef GLboolean ( * PFNGLISENABLEDINDEXEDEXTPROC) (GLenum target, GLuint index);
+
+
+
+
+
+__attribute__((visibility("default"))) void glBeginTransformFeedbackNV (GLenum primitiveMode);
+__attribute__((visibility("default"))) void glEndTransformFeedbackNV (void);
+__attribute__((visibility("default"))) void glTransformFeedbackAttribsNV (GLuint count, const GLint *attribs, GLenum bufferMode);
+__attribute__((visibility("default"))) void glBindBufferRangeNV (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
+__attribute__((visibility("default"))) void glBindBufferOffsetNV (GLenum target, GLuint index, GLuint buffer, GLintptr offset);
+__attribute__((visibility("default"))) void glBindBufferBaseNV (GLenum target, GLuint index, GLuint buffer);
+__attribute__((visibility("default"))) void glTransformFeedbackVaryingsNV (GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode);
+__attribute__((visibility("default"))) void glActiveVaryingNV (GLuint program, const GLchar *name);
+__attribute__((visibility("default"))) GLint glGetVaryingLocationNV (GLuint program, const GLchar *name);
+__attribute__((visibility("default"))) void glGetActiveVaryingNV (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
+__attribute__((visibility("default"))) void glGetTransformFeedbackVaryingNV (GLuint program, GLuint index, GLint *location);
+__attribute__((visibility("default"))) void glTransformFeedbackStreamAttribsNV (GLsizei count, const GLint *attribs, GLsizei nbuffers, const GLint *bufstreams, GLenum bufferMode);
+
+typedef void ( * PFNGLBEGINTRANSFORMFEEDBACKNVPROC) (GLenum primitiveMode);
+typedef void ( * PFNGLENDTRANSFORMFEEDBACKNVPROC) (void);
+typedef void ( * PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC) (GLuint count, const GLint *attribs, GLenum bufferMode);
+typedef void ( * PFNGLBINDBUFFERRANGENVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
+typedef void ( * PFNGLBINDBUFFEROFFSETNVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset);
+typedef void ( * PFNGLBINDBUFFERBASENVPROC) (GLenum target, GLuint index, GLuint buffer);
+typedef void ( * PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC) (GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode);
+typedef void ( * PFNGLACTIVEVARYINGNVPROC) (GLuint program, const GLchar *name);
+typedef GLint ( * PFNGLGETVARYINGLOCATIONNVPROC) (GLuint program, const GLchar *name);
+typedef void ( * PFNGLGETACTIVEVARYINGNVPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
+typedef void ( * PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC) (GLuint program, GLuint index, GLint *location);
+typedef void ( * PFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC) (GLsizei count, const GLint *attribs, GLsizei nbuffers, const GLint *bufstreams, GLenum bufferMode);
+
+
+
+
+
+__attribute__((visibility("default"))) void glUniformBufferEXT (GLuint program, GLint location, GLuint buffer);
+__attribute__((visibility("default"))) GLint glGetUniformBufferSizeEXT (GLuint program, GLint location);
+__attribute__((visibility("default"))) GLintptr glGetUniformOffsetEXT (GLuint program, GLint location);
+
+typedef void ( * PFNGLUNIFORMBUFFEREXTPROC) (GLuint program, GLint location, GLuint buffer);
+typedef GLint ( * PFNGLGETUNIFORMBUFFERSIZEEXTPROC) (GLuint program, GLint location);
+typedef GLintptr ( * PFNGLGETUNIFORMOFFSETEXTPROC) (GLuint program, GLint location);
+
+
+
+
+
+__attribute__((visibility("default"))) void glTexParameterIivEXT (GLenum target, GLenum pname, const GLint *params);
+__attribute__((visibility("default"))) void glTexParameterIuivEXT (GLenum target, GLenum pname, const GLuint *params);
+__attribute__((visibility("default"))) void glGetTexParameterIivEXT (GLenum target, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetTexParameterIuivEXT (GLenum target, GLenum pname, GLuint *params);
+__attribute__((visibility("default"))) void glClearColorIiEXT (GLint red, GLint green, GLint blue, GLint alpha);
+__attribute__((visibility("default"))) void glClearColorIuiEXT (GLuint red, GLuint green, GLuint blue, GLuint alpha);
+
+typedef void ( * PFNGLTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);
+typedef void ( * PFNGLTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, const GLuint *params);
+typedef void ( * PFNGLGETTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, GLuint *params);
+typedef void ( * PFNGLCLEARCOLORIIEXTPROC) (GLint red, GLint green, GLint blue, GLint alpha);
+typedef void ( * PFNGLCLEARCOLORIUIEXTPROC) (GLuint red, GLuint green, GLuint blue, GLuint alpha);
+
+
+
+
+
+__attribute__((visibility("default"))) void glFrameTerminatorGREMEDY (void);
+
+typedef void ( * PFNGLFRAMETERMINATORGREMEDYPROC) (void);
+
+
+
+
+
+__attribute__((visibility("default"))) void glBeginConditionalRenderNV (GLuint id, GLenum mode);
+__attribute__((visibility("default"))) void glEndConditionalRenderNV (void);
+
+typedef void ( * PFNGLBEGINCONDITIONALRENDERNVPROC) (GLuint id, GLenum mode);
+typedef void ( * PFNGLENDCONDITIONALRENDERNVPROC) (void);
+
+
+
+
+
+__attribute__((visibility("default"))) void glPresentFrameKeyedNV (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1);
+__attribute__((visibility("default"))) void glPresentFrameDualFillNV (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3);
+__attribute__((visibility("default"))) void glGetVideoivNV (GLuint video_slot, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetVideouivNV (GLuint video_slot, GLenum pname, GLuint *params);
+__attribute__((visibility("default"))) void glGetVideoi64vNV (GLuint video_slot, GLenum pname, GLint64EXT *params);
+__attribute__((visibility("default"))) void glGetVideoui64vNV (GLuint video_slot, GLenum pname, GLuint64EXT *params);
+
+typedef void ( * PFNGLPRESENTFRAMEKEYEDNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1);
+typedef void ( * PFNGLPRESENTFRAMEDUALFILLNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3);
+typedef void ( * PFNGLGETVIDEOIVNVPROC) (GLuint video_slot, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETVIDEOUIVNVPROC) (GLuint video_slot, GLenum pname, GLuint *params);
+typedef void ( * PFNGLGETVIDEOI64VNVPROC) (GLuint video_slot, GLenum pname, GLint64EXT *params);
+typedef void ( * PFNGLGETVIDEOUI64VNVPROC) (GLuint video_slot, GLenum pname, GLuint64EXT *params);
+
+
+
+
+
+__attribute__((visibility("default"))) void glBeginTransformFeedbackEXT (GLenum primitiveMode);
+__attribute__((visibility("default"))) void glEndTransformFeedbackEXT (void);
+__attribute__((visibility("default"))) void glBindBufferRangeEXT (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
+__attribute__((visibility("default"))) void glBindBufferOffsetEXT (GLenum target, GLuint index, GLuint buffer, GLintptr offset);
+__attribute__((visibility("default"))) void glBindBufferBaseEXT (GLenum target, GLuint index, GLuint buffer);
+__attribute__((visibility("default"))) void glTransformFeedbackVaryingsEXT (GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode);
+__attribute__((visibility("default"))) void glGetTransformFeedbackVaryingEXT (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
+
+typedef void ( * PFNGLBEGINTRANSFORMFEEDBACKEXTPROC) (GLenum primitiveMode);
+typedef void ( * PFNGLENDTRANSFORMFEEDBACKEXTPROC) (void);
+typedef void ( * PFNGLBINDBUFFERRANGEEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
+typedef void ( * PFNGLBINDBUFFEROFFSETEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset);
+typedef void ( * PFNGLBINDBUFFERBASEEXTPROC) (GLenum target, GLuint index, GLuint buffer);
+typedef void ( * PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC) (GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode);
+typedef void ( * PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
+
+
+
+
+
+__attribute__((visibility("default"))) void glClientAttribDefaultEXT (GLbitfield mask);
+__attribute__((visibility("default"))) void glPushClientAttribDefaultEXT (GLbitfield mask);
+__attribute__((visibility("default"))) void glMatrixLoadfEXT (GLenum mode, const GLfloat *m);
+__attribute__((visibility("default"))) void glMatrixLoaddEXT (GLenum mode, const GLdouble *m);
+__attribute__((visibility("default"))) void glMatrixMultfEXT (GLenum mode, const GLfloat *m);
+__attribute__((visibility("default"))) void glMatrixMultdEXT (GLenum mode, const GLdouble *m);
+__attribute__((visibility("default"))) void glMatrixLoadIdentityEXT (GLenum mode);
+__attribute__((visibility("default"))) void glMatrixRotatefEXT (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glMatrixRotatedEXT (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
+__attribute__((visibility("default"))) void glMatrixScalefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glMatrixScaledEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z);
+__attribute__((visibility("default"))) void glMatrixTranslatefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z);
+__attribute__((visibility("default"))) void glMatrixTranslatedEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z);
+__attribute__((visibility("default"))) void glMatrixFrustumEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+__attribute__((visibility("default"))) void glMatrixOrthoEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+__attribute__((visibility("default"))) void glMatrixPopEXT (GLenum mode);
+__attribute__((visibility("default"))) void glMatrixPushEXT (GLenum mode);
+__attribute__((visibility("default"))) void glMatrixLoadTransposefEXT (GLenum mode, const GLfloat *m);
+__attribute__((visibility("default"))) void glMatrixLoadTransposedEXT (GLenum mode, const GLdouble *m);
+__attribute__((visibility("default"))) void glMatrixMultTransposefEXT (GLenum mode, const GLfloat *m);
+__attribute__((visibility("default"))) void glMatrixMultTransposedEXT (GLenum mode, const GLdouble *m);
+__attribute__((visibility("default"))) void glTextureParameterfEXT (GLuint texture, GLenum target, GLenum pname, GLfloat param);
+__attribute__((visibility("default"))) void glTextureParameterfvEXT (GLuint texture, GLenum target, GLenum pname, const GLfloat *params);
+__attribute__((visibility("default"))) void glTextureParameteriEXT (GLuint texture, GLenum target, GLenum pname, GLint param);
+__attribute__((visibility("default"))) void glTextureParameterivEXT (GLuint texture, GLenum target, GLenum pname, const GLint *params);
+__attribute__((visibility("default"))) void glTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+__attribute__((visibility("default"))) void glTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+__attribute__((visibility("default"))) void glTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
+__attribute__((visibility("default"))) void glTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
+__attribute__((visibility("default"))) void glCopyTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+__attribute__((visibility("default"))) void glCopyTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+__attribute__((visibility("default"))) void glCopyTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+__attribute__((visibility("default"))) void glCopyTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+__attribute__((visibility("default"))) void glGetTextureImageEXT (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
+__attribute__((visibility("default"))) void glGetTextureParameterfvEXT (GLuint texture, GLenum target, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetTextureParameterivEXT (GLuint texture, GLenum target, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetTextureLevelParameterfvEXT (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetTextureLevelParameterivEXT (GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glTextureImage3DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+__attribute__((visibility("default"))) void glTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
+__attribute__((visibility("default"))) void glCopyTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+__attribute__((visibility("default"))) void glMultiTexParameterfEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat param);
+__attribute__((visibility("default"))) void glMultiTexParameterfvEXT (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);
+__attribute__((visibility("default"))) void glMultiTexParameteriEXT (GLenum texunit, GLenum target, GLenum pname, GLint param);
+__attribute__((visibility("default"))) void glMultiTexParameterivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
+__attribute__((visibility("default"))) void glMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+__attribute__((visibility("default"))) void glMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+__attribute__((visibility("default"))) void glMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
+__attribute__((visibility("default"))) void glMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
+__attribute__((visibility("default"))) void glCopyMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+__attribute__((visibility("default"))) void glCopyMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+__attribute__((visibility("default"))) void glCopyMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+__attribute__((visibility("default"))) void glCopyMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+__attribute__((visibility("default"))) void glGetMultiTexImageEXT (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
+__attribute__((visibility("default"))) void glGetMultiTexParameterfvEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetMultiTexParameterivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetMultiTexLevelParameterfvEXT (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetMultiTexLevelParameterivEXT (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glMultiTexImage3DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+__attribute__((visibility("default"))) void glMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
+__attribute__((visibility("default"))) void glCopyMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+__attribute__((visibility("default"))) void glBindMultiTextureEXT (GLenum texunit, GLenum target, GLuint texture);
+__attribute__((visibility("default"))) void glEnableClientStateIndexedEXT (GLenum array, GLuint index);
+__attribute__((visibility("default"))) void glDisableClientStateIndexedEXT (GLenum array, GLuint index);
+__attribute__((visibility("default"))) void glMultiTexCoordPointerEXT (GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+__attribute__((visibility("default"))) void glMultiTexEnvfEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat param);
+__attribute__((visibility("default"))) void glMultiTexEnvfvEXT (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);
+__attribute__((visibility("default"))) void glMultiTexEnviEXT (GLenum texunit, GLenum target, GLenum pname, GLint param);
+__attribute__((visibility("default"))) void glMultiTexEnvivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
+__attribute__((visibility("default"))) void glMultiTexGendEXT (GLenum texunit, GLenum coord, GLenum pname, GLdouble param);
+__attribute__((visibility("default"))) void glMultiTexGendvEXT (GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params);
+__attribute__((visibility("default"))) void glMultiTexGenfEXT (GLenum texunit, GLenum coord, GLenum pname, GLfloat param);
+__attribute__((visibility("default"))) void glMultiTexGenfvEXT (GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params);
+__attribute__((visibility("default"))) void glMultiTexGeniEXT (GLenum texunit, GLenum coord, GLenum pname, GLint param);
+__attribute__((visibility("default"))) void glMultiTexGenivEXT (GLenum texunit, GLenum coord, GLenum pname, const GLint *params);
+__attribute__((visibility("default"))) void glGetMultiTexEnvfvEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetMultiTexEnvivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetMultiTexGendvEXT (GLenum texunit, GLenum coord, GLenum pname, GLdouble *params);
+__attribute__((visibility("default"))) void glGetMultiTexGenfvEXT (GLenum texunit, GLenum coord, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetMultiTexGenivEXT (GLenum texunit, GLenum coord, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetFloatIndexedvEXT (GLenum target, GLuint index, GLfloat *data);
+__attribute__((visibility("default"))) void glGetDoubleIndexedvEXT (GLenum target, GLuint index, GLdouble *data);
+__attribute__((visibility("default"))) void glGetPointerIndexedvEXT (GLenum target, GLuint index, GLvoid* *data);
+__attribute__((visibility("default"))) void glCompressedTextureImage3DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);
+__attribute__((visibility("default"))) void glCompressedTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);
+__attribute__((visibility("default"))) void glCompressedTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits);
+__attribute__((visibility("default"))) void glCompressedTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits);
+__attribute__((visibility("default"))) void glCompressedTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits);
+__attribute__((visibility("default"))) void glCompressedTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits);
+__attribute__((visibility("default"))) void glGetCompressedTextureImageEXT (GLuint texture, GLenum target, GLint lod, GLvoid *img);
+__attribute__((visibility("default"))) void glCompressedMultiTexImage3DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);
+__attribute__((visibility("default"))) void glCompressedMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);
+__attribute__((visibility("default"))) void glCompressedMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits);
+__attribute__((visibility("default"))) void glCompressedMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits);
+__attribute__((visibility("default"))) void glCompressedMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits);
+__attribute__((visibility("default"))) void glCompressedMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits);
+__attribute__((visibility("default"))) void glGetCompressedMultiTexImageEXT (GLenum texunit, GLenum target, GLint lod, GLvoid *img);
+__attribute__((visibility("default"))) void glNamedProgramStringEXT (GLuint program, GLenum target, GLenum format, GLsizei len, const GLvoid *string);
+__attribute__((visibility("default"))) void glNamedProgramLocalParameter4dEXT (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+__attribute__((visibility("default"))) void glNamedProgramLocalParameter4dvEXT (GLuint program, GLenum target, GLuint index, const GLdouble *params);
+__attribute__((visibility("default"))) void glNamedProgramLocalParameter4fEXT (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+__attribute__((visibility("default"))) void glNamedProgramLocalParameter4fvEXT (GLuint program, GLenum target, GLuint index, const GLfloat *params);
+__attribute__((visibility("default"))) void glGetNamedProgramLocalParameterdvEXT (GLuint program, GLenum target, GLuint index, GLdouble *params);
+__attribute__((visibility("default"))) void glGetNamedProgramLocalParameterfvEXT (GLuint program, GLenum target, GLuint index, GLfloat *params);
+__attribute__((visibility("default"))) void glGetNamedProgramivEXT (GLuint program, GLenum target, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetNamedProgramStringEXT (GLuint program, GLenum target, GLenum pname, GLvoid *string);
+__attribute__((visibility("default"))) void glNamedProgramLocalParameters4fvEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params);
+__attribute__((visibility("default"))) void glNamedProgramLocalParameterI4iEXT (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
+__attribute__((visibility("default"))) void glNamedProgramLocalParameterI4ivEXT (GLuint program, GLenum target, GLuint index, const GLint *params);
+__attribute__((visibility("default"))) void glNamedProgramLocalParametersI4ivEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params);
+__attribute__((visibility("default"))) void glNamedProgramLocalParameterI4uiEXT (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+__attribute__((visibility("default"))) void glNamedProgramLocalParameterI4uivEXT (GLuint program, GLenum target, GLuint index, const GLuint *params);
+__attribute__((visibility("default"))) void glNamedProgramLocalParametersI4uivEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params);
+__attribute__((visibility("default"))) void glGetNamedProgramLocalParameterIivEXT (GLuint program, GLenum target, GLuint index, GLint *params);
+__attribute__((visibility("default"))) void glGetNamedProgramLocalParameterIuivEXT (GLuint program, GLenum target, GLuint index, GLuint *params);
+__attribute__((visibility("default"))) void glTextureParameterIivEXT (GLuint texture, GLenum target, GLenum pname, const GLint *params);
+__attribute__((visibility("default"))) void glTextureParameterIuivEXT (GLuint texture, GLenum target, GLenum pname, const GLuint *params);
+__attribute__((visibility("default"))) void glGetTextureParameterIivEXT (GLuint texture, GLenum target, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetTextureParameterIuivEXT (GLuint texture, GLenum target, GLenum pname, GLuint *params);
+__attribute__((visibility("default"))) void glMultiTexParameterIivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
+__attribute__((visibility("default"))) void glMultiTexParameterIuivEXT (GLenum texunit, GLenum target, GLenum pname, const GLuint *params);
+__attribute__((visibility("default"))) void glGetMultiTexParameterIivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetMultiTexParameterIuivEXT (GLenum texunit, GLenum target, GLenum pname, GLuint *params);
+__attribute__((visibility("default"))) void glProgramUniform1fEXT (GLuint program, GLint location, GLfloat v0);
+__attribute__((visibility("default"))) void glProgramUniform2fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1);
+__attribute__((visibility("default"))) void glProgramUniform3fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+__attribute__((visibility("default"))) void glProgramUniform4fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+__attribute__((visibility("default"))) void glProgramUniform1iEXT (GLuint program, GLint location, GLint v0);
+__attribute__((visibility("default"))) void glProgramUniform2iEXT (GLuint program, GLint location, GLint v0, GLint v1);
+__attribute__((visibility("default"))) void glProgramUniform3iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
+__attribute__((visibility("default"))) void glProgramUniform4iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+__attribute__((visibility("default"))) void glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+__attribute__((visibility("default"))) void glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+__attribute__((visibility("default"))) void glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+__attribute__((visibility("default"))) void glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+__attribute__((visibility("default"))) void glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
+__attribute__((visibility("default"))) void glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
+__attribute__((visibility("default"))) void glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
+__attribute__((visibility("default"))) void glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix2x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix3x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix2x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix4x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix3x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix4x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+__attribute__((visibility("default"))) void glProgramUniform1uiEXT (GLuint program, GLint location, GLuint v0);
+__attribute__((visibility("default"))) void glProgramUniform2uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1);
+__attribute__((visibility("default"))) void glProgramUniform3uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
+__attribute__((visibility("default"))) void glProgramUniform4uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+__attribute__((visibility("default"))) void glProgramUniform1uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
+__attribute__((visibility("default"))) void glProgramUniform2uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
+__attribute__((visibility("default"))) void glProgramUniform3uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
+__attribute__((visibility("default"))) void glProgramUniform4uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
+__attribute__((visibility("default"))) void glNamedBufferDataEXT (GLuint buffer, GLsizeiptr size, const GLvoid *data, GLenum usage);
+__attribute__((visibility("default"))) void glNamedBufferSubDataEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data);
+__attribute__((visibility("default"))) GLvoid* glMapNamedBufferEXT (GLuint buffer, GLenum access);
+__attribute__((visibility("default"))) GLboolean glUnmapNamedBufferEXT (GLuint buffer);
+__attribute__((visibility("default"))) GLvoid* glMapNamedBufferRangeEXT (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);
+__attribute__((visibility("default"))) void glFlushMappedNamedBufferRangeEXT (GLuint buffer, GLintptr offset, GLsizeiptr length);
+__attribute__((visibility("default"))) void glNamedCopyBufferSubDataEXT (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
+__attribute__((visibility("default"))) void glGetNamedBufferParameterivEXT (GLuint buffer, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetNamedBufferPointervEXT (GLuint buffer, GLenum pname, GLvoid* *params);
+__attribute__((visibility("default"))) void glGetNamedBufferSubDataEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid *data);
+__attribute__((visibility("default"))) void glTextureBufferEXT (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);
+__attribute__((visibility("default"))) void glMultiTexBufferEXT (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer);
+__attribute__((visibility("default"))) void glNamedRenderbufferStorageEXT (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);
+__attribute__((visibility("default"))) void glGetNamedRenderbufferParameterivEXT (GLuint renderbuffer, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) GLenum glCheckNamedFramebufferStatusEXT (GLuint framebuffer, GLenum target);
+__attribute__((visibility("default"))) void glNamedFramebufferTexture1DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+__attribute__((visibility("default"))) void glNamedFramebufferTexture2DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+__attribute__((visibility("default"))) void glNamedFramebufferTexture3DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+__attribute__((visibility("default"))) void glNamedFramebufferRenderbufferEXT (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+__attribute__((visibility("default"))) void glGetNamedFramebufferAttachmentParameterivEXT (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGenerateTextureMipmapEXT (GLuint texture, GLenum target);
+__attribute__((visibility("default"))) void glGenerateMultiTexMipmapEXT (GLenum texunit, GLenum target);
+__attribute__((visibility("default"))) void glFramebufferDrawBufferEXT (GLuint framebuffer, GLenum mode);
+__attribute__((visibility("default"))) void glFramebufferDrawBuffersEXT (GLuint framebuffer, GLsizei n, const GLenum *bufs);
+__attribute__((visibility("default"))) void glFramebufferReadBufferEXT (GLuint framebuffer, GLenum mode);
+__attribute__((visibility("default"))) void glGetFramebufferParameterivEXT (GLuint framebuffer, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glNamedRenderbufferStorageMultisampleEXT (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+__attribute__((visibility("default"))) void glNamedRenderbufferStorageMultisampleCoverageEXT (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);
+__attribute__((visibility("default"))) void glNamedFramebufferTextureEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
+__attribute__((visibility("default"))) void glNamedFramebufferTextureLayerEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);
+__attribute__((visibility("default"))) void glNamedFramebufferTextureFaceEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face);
+__attribute__((visibility("default"))) void glTextureRenderbufferEXT (GLuint texture, GLenum target, GLuint renderbuffer);
+__attribute__((visibility("default"))) void glMultiTexRenderbufferEXT (GLenum texunit, GLenum target, GLuint renderbuffer);
+__attribute__((visibility("default"))) void glProgramUniform1dEXT (GLuint program, GLint location, GLdouble x);
+__attribute__((visibility("default"))) void glProgramUniform2dEXT (GLuint program, GLint location, GLdouble x, GLdouble y);
+__attribute__((visibility("default"))) void glProgramUniform3dEXT (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z);
+__attribute__((visibility("default"))) void glProgramUniform4dEXT (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+__attribute__((visibility("default"))) void glProgramUniform1dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+__attribute__((visibility("default"))) void glProgramUniform2dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+__attribute__((visibility("default"))) void glProgramUniform3dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+__attribute__((visibility("default"))) void glProgramUniform4dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix2x3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix2x4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix3x2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix3x4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix4x2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+__attribute__((visibility("default"))) void glProgramUniformMatrix4x3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+
+typedef void ( * PFNGLCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask);
+typedef void ( * PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask);
+typedef void ( * PFNGLMATRIXLOADFEXTPROC) (GLenum mode, const GLfloat *m);
+typedef void ( * PFNGLMATRIXLOADDEXTPROC) (GLenum mode, const GLdouble *m);
+typedef void ( * PFNGLMATRIXMULTFEXTPROC) (GLenum mode, const GLfloat *m);
+typedef void ( * PFNGLMATRIXMULTDEXTPROC) (GLenum mode, const GLdouble *m);
+typedef void ( * PFNGLMATRIXLOADIDENTITYEXTPROC) (GLenum mode);
+typedef void ( * PFNGLMATRIXROTATEFEXTPROC) (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLMATRIXROTATEDEXTPROC) (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
+typedef void ( * PFNGLMATRIXSCALEFEXTPROC) (GLenum mode, GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLMATRIXSCALEDEXTPROC) (GLenum mode, GLdouble x, GLdouble y, GLdouble z);
+typedef void ( * PFNGLMATRIXTRANSLATEFEXTPROC) (GLenum mode, GLfloat x, GLfloat y, GLfloat z);
+typedef void ( * PFNGLMATRIXTRANSLATEDEXTPROC) (GLenum mode, GLdouble x, GLdouble y, GLdouble z);
+typedef void ( * PFNGLMATRIXFRUSTUMEXTPROC) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+typedef void ( * PFNGLMATRIXORTHOEXTPROC) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+typedef void ( * PFNGLMATRIXPOPEXTPROC) (GLenum mode);
+typedef void ( * PFNGLMATRIXPUSHEXTPROC) (GLenum mode);
+typedef void ( * PFNGLMATRIXLOADTRANSPOSEFEXTPROC) (GLenum mode, const GLfloat *m);
+typedef void ( * PFNGLMATRIXLOADTRANSPOSEDEXTPROC) (GLenum mode, const GLdouble *m);
+typedef void ( * PFNGLMATRIXMULTTRANSPOSEFEXTPROC) (GLenum mode, const GLfloat *m);
+typedef void ( * PFNGLMATRIXMULTTRANSPOSEDEXTPROC) (GLenum mode, const GLdouble *m);
+typedef void ( * PFNGLTEXTUREPARAMETERFEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat param);
+typedef void ( * PFNGLTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLfloat *params);
+typedef void ( * PFNGLTEXTUREPARAMETERIEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint param);
+typedef void ( * PFNGLTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint *params);
+typedef void ( * PFNGLTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void ( * PFNGLTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void ( * PFNGLTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void ( * PFNGLTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void ( * PFNGLCOPYTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+typedef void ( * PFNGLCOPYTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+typedef void ( * PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+typedef void ( * PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void ( * PFNGLGETTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
+typedef void ( * PFNGLGETTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params);
+typedef void ( * PFNGLTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void ( * PFNGLTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void ( * PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void ( * PFNGLMULTITEXPARAMETERFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param);
+typedef void ( * PFNGLMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);
+typedef void ( * PFNGLMULTITEXPARAMETERIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param);
+typedef void ( * PFNGLMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
+typedef void ( * PFNGLMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void ( * PFNGLMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void ( * PFNGLMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void ( * PFNGLMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void ( * PFNGLCOPYMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+typedef void ( * PFNGLCOPYMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+typedef void ( * PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+typedef void ( * PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void ( * PFNGLGETMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
+typedef void ( * PFNGLGETMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params);
+typedef void ( * PFNGLMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void ( * PFNGLMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void ( * PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void ( * PFNGLBINDMULTITEXTUREEXTPROC) (GLenum texunit, GLenum target, GLuint texture);
+typedef void ( * PFNGLENABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index);
+typedef void ( * PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index);
+typedef void ( * PFNGLMULTITEXCOORDPOINTEREXTPROC) (GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void ( * PFNGLMULTITEXENVFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param);
+typedef void ( * PFNGLMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);
+typedef void ( * PFNGLMULTITEXENVIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param);
+typedef void ( * PFNGLMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
+typedef void ( * PFNGLMULTITEXGENDEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble param);
+typedef void ( * PFNGLMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params);
+typedef void ( * PFNGLMULTITEXGENFEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat param);
+typedef void ( * PFNGLMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params);
+typedef void ( * PFNGLMULTITEXGENIEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint param);
+typedef void ( * PFNGLMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLint *params);
+typedef void ( * PFNGLGETMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble *params);
+typedef void ( * PFNGLGETMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETFLOATINDEXEDVEXTPROC) (GLenum target, GLuint index, GLfloat *data);
+typedef void ( * PFNGLGETDOUBLEINDEXEDVEXTPROC) (GLenum target, GLuint index, GLdouble *data);
+typedef void ( * PFNGLGETPOINTERINDEXEDVEXTPROC) (GLenum target, GLuint index, GLvoid* *data);
+typedef void ( * PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);
+typedef void ( * PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);
+typedef void ( * PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits);
+typedef void ( * PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits);
+typedef void ( * PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits);
+typedef void ( * PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits);
+typedef void ( * PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint lod, GLvoid *img);
+typedef void ( * PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);
+typedef void ( * PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);
+typedef void ( * PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits);
+typedef void ( * PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits);
+typedef void ( * PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits);
+typedef void ( * PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits);
+typedef void ( * PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint lod, GLvoid *img);
+typedef void ( * PFNGLNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum format, GLsizei len, const GLvoid *string);
+typedef void ( * PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void ( * PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLdouble *params);
+typedef void ( * PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void ( * PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLfloat *params);
+typedef void ( * PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble *params);
+typedef void ( * PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat *params);
+typedef void ( * PFNGLGETNAMEDPROGRAMIVEXTPROC) (GLuint program, GLenum target, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum pname, GLvoid *string);
+typedef void ( * PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params);
+typedef void ( * PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC) (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
+typedef void ( * PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLint *params);
+typedef void ( * PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params);
+typedef void ( * PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+typedef void ( * PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLuint *params);
+typedef void ( * PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params);
+typedef void ( * PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLint *params);
+typedef void ( * PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint *params);
+typedef void ( * PFNGLTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint *params);
+typedef void ( * PFNGLTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLuint *params);
+typedef void ( * PFNGLGETTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLuint *params);
+typedef void ( * PFNGLMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
+typedef void ( * PFNGLMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLuint *params);
+typedef void ( * PFNGLGETMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLuint *params);
+typedef void ( * PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat v0);
+typedef void ( * PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1);
+typedef void ( * PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+typedef void ( * PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+typedef void ( * PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint v0);
+typedef void ( * PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1);
+typedef void ( * PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
+typedef void ( * PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+typedef void ( * PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+typedef void ( * PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+typedef void ( * PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+typedef void ( * PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
+typedef void ( * PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
+typedef void ( * PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
+typedef void ( * PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
+typedef void ( * PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void ( * PFNGLPROGRAMUNIFORM1UIEXTPROC) (GLuint program, GLint location, GLuint v0);
+typedef void ( * PFNGLPROGRAMUNIFORM2UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1);
+typedef void ( * PFNGLPROGRAMUNIFORM3UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
+typedef void ( * PFNGLPROGRAMUNIFORM4UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+typedef void ( * PFNGLPROGRAMUNIFORM1UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
+typedef void ( * PFNGLPROGRAMUNIFORM2UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
+typedef void ( * PFNGLPROGRAMUNIFORM3UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
+typedef void ( * PFNGLPROGRAMUNIFORM4UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
+typedef void ( * PFNGLNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLsizeiptr size, const GLvoid *data, GLenum usage);
+typedef void ( * PFNGLNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data);
+typedef GLvoid* ( * PFNGLMAPNAMEDBUFFEREXTPROC) (GLuint buffer, GLenum access);
+typedef GLboolean ( * PFNGLUNMAPNAMEDBUFFEREXTPROC) (GLuint buffer);
+typedef GLvoid* ( * PFNGLMAPNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);
+typedef void ( * PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length);
+typedef void ( * PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC) (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
+typedef void ( * PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC) (GLuint buffer, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETNAMEDBUFFERPOINTERVEXTPROC) (GLuint buffer, GLenum pname, GLvoid* *params);
+typedef void ( * PFNGLGETNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid *data);
+typedef void ( * PFNGLTEXTUREBUFFEREXTPROC) (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);
+typedef void ( * PFNGLMULTITEXBUFFEREXTPROC) (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer);
+typedef void ( * PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC) (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void ( * PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC) (GLuint renderbuffer, GLenum pname, GLint *params);
+typedef GLenum ( * PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC) (GLuint framebuffer, GLenum target);
+typedef void ( * PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void ( * PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void ( * PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+typedef void ( * PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC) (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+typedef void ( * PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);
+typedef void ( * PFNGLGENERATETEXTUREMIPMAPEXTPROC) (GLuint texture, GLenum target);
+typedef void ( * PFNGLGENERATEMULTITEXMIPMAPEXTPROC) (GLenum texunit, GLenum target);
+typedef void ( * PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC) (GLuint framebuffer, GLenum mode);
+typedef void ( * PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC) (GLuint framebuffer, GLsizei n, const GLenum *bufs);
+typedef void ( * PFNGLFRAMEBUFFERREADBUFFEREXTPROC) (GLuint framebuffer, GLenum mode);
+typedef void ( * PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint *params);
+typedef void ( * PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void ( * PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC) (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void ( * PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
+typedef void ( * PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);
+typedef void ( * PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face);
+typedef void ( * PFNGLTEXTURERENDERBUFFEREXTPROC) (GLuint texture, GLenum target, GLuint renderbuffer);
+typedef void ( * PFNGLMULTITEXRENDERBUFFEREXTPROC) (GLenum texunit, GLenum target, GLuint renderbuffer);
+typedef void ( * PFNGLPROGRAMUNIFORM1DEXTPROC) (GLuint program, GLint location, GLdouble x);
+typedef void ( * PFNGLPROGRAMUNIFORM2DEXTPROC) (GLuint program, GLint location, GLdouble x, GLdouble y);
+typedef void ( * PFNGLPROGRAMUNIFORM3DEXTPROC) (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z);
+typedef void ( * PFNGLPROGRAMUNIFORM4DEXTPROC) (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void ( * PFNGLPROGRAMUNIFORM1DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+typedef void ( * PFNGLPROGRAMUNIFORM2DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+typedef void ( * PFNGLPROGRAMUNIFORM3DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+typedef void ( * PFNGLPROGRAMUNIFORM4DVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLdouble *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef void ( * PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+# 10533 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glGetMultisamplefvNV (GLenum pname, GLuint index, GLfloat *val);
+__attribute__((visibility("default"))) void glSampleMaskIndexedNV (GLuint index, GLbitfield mask);
+__attribute__((visibility("default"))) void glTexRenderbufferNV (GLenum target, GLuint renderbuffer);
+
+typedef void ( * PFNGLGETMULTISAMPLEFVNVPROC) (GLenum pname, GLuint index, GLfloat *val);
+typedef void ( * PFNGLSAMPLEMASKINDEXEDNVPROC) (GLuint index, GLbitfield mask);
+typedef void ( * PFNGLTEXRENDERBUFFERNVPROC) (GLenum target, GLuint renderbuffer);
+
+
+
+
+
+__attribute__((visibility("default"))) void glBindTransformFeedbackNV (GLenum target, GLuint id);
+__attribute__((visibility("default"))) void glDeleteTransformFeedbacksNV (GLsizei n, const GLuint *ids);
+__attribute__((visibility("default"))) void glGenTransformFeedbacksNV (GLsizei n, GLuint *ids);
+__attribute__((visibility("default"))) GLboolean glIsTransformFeedbackNV (GLuint id);
+__attribute__((visibility("default"))) void glPauseTransformFeedbackNV (void);
+__attribute__((visibility("default"))) void glResumeTransformFeedbackNV (void);
+__attribute__((visibility("default"))) void glDrawTransformFeedbackNV (GLenum mode, GLuint id);
+
+typedef void ( * PFNGLBINDTRANSFORMFEEDBACKNVPROC) (GLenum target, GLuint id);
+typedef void ( * PFNGLDELETETRANSFORMFEEDBACKSNVPROC) (GLsizei n, const GLuint *ids);
+typedef void ( * PFNGLGENTRANSFORMFEEDBACKSNVPROC) (GLsizei n, GLuint *ids);
+typedef GLboolean ( * PFNGLISTRANSFORMFEEDBACKNVPROC) (GLuint id);
+typedef void ( * PFNGLPAUSETRANSFORMFEEDBACKNVPROC) (void);
+typedef void ( * PFNGLRESUMETRANSFORMFEEDBACKNVPROC) (void);
+typedef void ( * PFNGLDRAWTRANSFORMFEEDBACKNVPROC) (GLenum mode, GLuint id);
+# 10569 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
+__attribute__((visibility("default"))) void glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
+__attribute__((visibility("default"))) void glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
+__attribute__((visibility("default"))) void glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
+__attribute__((visibility("default"))) void glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
+__attribute__((visibility("default"))) void glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
+__attribute__((visibility("default"))) void glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
+__attribute__((visibility("default"))) void glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);
+__attribute__((visibility("default"))) void glBeginPerfMonitorAMD (GLuint monitor);
+__attribute__((visibility("default"))) void glEndPerfMonitorAMD (GLuint monitor);
+__attribute__((visibility("default"))) void glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
+
+typedef void ( * PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
+typedef void ( * PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
+typedef void ( * PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
+typedef void ( * PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
+typedef void ( * PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data);
+typedef void ( * PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
+typedef void ( * PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
+typedef void ( * PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);
+typedef void ( * PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
+typedef void ( * PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
+typedef void ( * PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
+# 10601 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glTessellationFactorAMD (GLfloat factor);
+__attribute__((visibility("default"))) void glTessellationModeAMD (GLenum mode);
+
+typedef void ( * PFNGLTESSELLATIONFACTORAMDPROC) (GLfloat factor);
+typedef void ( * PFNGLTESSELLATIONMODEAMDPROC) (GLenum mode);
+
+
+
+
+
+__attribute__((visibility("default"))) void glProvokingVertexEXT (GLenum mode);
+
+typedef void ( * PFNGLPROVOKINGVERTEXEXTPROC) (GLenum mode);
+# 10623 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glBlendFuncIndexedAMD (GLuint buf, GLenum src, GLenum dst);
+__attribute__((visibility("default"))) void glBlendFuncSeparateIndexedAMD (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
+__attribute__((visibility("default"))) void glBlendEquationIndexedAMD (GLuint buf, GLenum mode);
+__attribute__((visibility("default"))) void glBlendEquationSeparateIndexedAMD (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
+
+typedef void ( * PFNGLBLENDFUNCINDEXEDAMDPROC) (GLuint buf, GLenum src, GLenum dst);
+typedef void ( * PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
+typedef void ( * PFNGLBLENDEQUATIONINDEXEDAMDPROC) (GLuint buf, GLenum mode);
+typedef void ( * PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
+
+
+
+
+
+__attribute__((visibility("default"))) void glTextureRangeAPPLE (GLenum target, GLsizei length, const GLvoid *pointer);
+__attribute__((visibility("default"))) void glGetTexParameterPointervAPPLE (GLenum target, GLenum pname, GLvoid* *params);
+
+typedef void ( * PFNGLTEXTURERANGEAPPLEPROC) (GLenum target, GLsizei length, const GLvoid *pointer);
+typedef void ( * PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC) (GLenum target, GLenum pname, GLvoid* *params);
+# 10651 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glEnableVertexAttribAPPLE (GLuint index, GLenum pname);
+__attribute__((visibility("default"))) void glDisableVertexAttribAPPLE (GLuint index, GLenum pname);
+__attribute__((visibility("default"))) GLboolean glIsVertexAttribEnabledAPPLE (GLuint index, GLenum pname);
+__attribute__((visibility("default"))) void glMapVertexAttrib1dAPPLE (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
+__attribute__((visibility("default"))) void glMapVertexAttrib1fAPPLE (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
+__attribute__((visibility("default"))) void glMapVertexAttrib2dAPPLE (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
+__attribute__((visibility("default"))) void glMapVertexAttrib2fAPPLE (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
+
+typedef void ( * PFNGLENABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname);
+typedef void ( * PFNGLDISABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname);
+typedef GLboolean ( * PFNGLISVERTEXATTRIBENABLEDAPPLEPROC) (GLuint index, GLenum pname);
+typedef void ( * PFNGLMAPVERTEXATTRIB1DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
+typedef void ( * PFNGLMAPVERTEXATTRIB1FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
+typedef void ( * PFNGLMAPVERTEXATTRIB2DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
+typedef void ( * PFNGLMAPVERTEXATTRIB2FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
+# 10675 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) GLenum glObjectPurgeableAPPLE (GLenum objectType, GLuint name, GLenum option);
+__attribute__((visibility("default"))) GLenum glObjectUnpurgeableAPPLE (GLenum objectType, GLuint name, GLenum option);
+__attribute__((visibility("default"))) void glGetObjectParameterivAPPLE (GLenum objectType, GLuint name, GLenum pname, GLint *params);
+
+typedef GLenum ( * PFNGLOBJECTPURGEABLEAPPLEPROC) (GLenum objectType, GLuint name, GLenum option);
+typedef GLenum ( * PFNGLOBJECTUNPURGEABLEAPPLEPROC) (GLenum objectType, GLuint name, GLenum option);
+typedef void ( * PFNGLGETOBJECTPARAMETERIVAPPLEPROC) (GLenum objectType, GLuint name, GLenum pname, GLint *params);
+# 10695 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glBeginVideoCaptureNV (GLuint video_capture_slot);
+__attribute__((visibility("default"))) void glBindVideoCaptureStreamBufferNV (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset);
+__attribute__((visibility("default"))) void glBindVideoCaptureStreamTextureNV (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture);
+__attribute__((visibility("default"))) void glEndVideoCaptureNV (GLuint video_capture_slot);
+__attribute__((visibility("default"))) void glGetVideoCaptureivNV (GLuint video_capture_slot, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetVideoCaptureStreamivNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLint *params);
+__attribute__((visibility("default"))) void glGetVideoCaptureStreamfvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat *params);
+__attribute__((visibility("default"))) void glGetVideoCaptureStreamdvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble *params);
+__attribute__((visibility("default"))) GLenum glVideoCaptureNV (GLuint video_capture_slot, GLuint *sequence_num, GLuint64EXT *capture_time);
+__attribute__((visibility("default"))) void glVideoCaptureStreamParameterivNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint *params);
+__attribute__((visibility("default"))) void glVideoCaptureStreamParameterfvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat *params);
+__attribute__((visibility("default"))) void glVideoCaptureStreamParameterdvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble *params);
+
+typedef void ( * PFNGLBEGINVIDEOCAPTURENVPROC) (GLuint video_capture_slot);
+typedef void ( * PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset);
+typedef void ( * PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC) (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture);
+typedef void ( * PFNGLENDVIDEOCAPTURENVPROC) (GLuint video_capture_slot);
+typedef void ( * PFNGLGETVIDEOCAPTUREIVNVPROC) (GLuint video_capture_slot, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETVIDEOCAPTURESTREAMIVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLint *params);
+typedef void ( * PFNGLGETVIDEOCAPTURESTREAMFVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat *params);
+typedef void ( * PFNGLGETVIDEOCAPTURESTREAMDVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble *params);
+typedef GLenum ( * PFNGLVIDEOCAPTURENVPROC) (GLuint video_capture_slot, GLuint *sequence_num, GLuint64EXT *capture_time);
+typedef void ( * PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint *params);
+typedef void ( * PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat *params);
+typedef void ( * PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble *params);
+
+
+
+
+
+__attribute__((visibility("default"))) void glCopyImageSubDataNV (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
+
+typedef void ( * PFNGLCOPYIMAGESUBDATANVPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
+
+
+
+
+
+__attribute__((visibility("default"))) void glUseShaderProgramEXT (GLenum type, GLuint program);
+__attribute__((visibility("default"))) void glActiveProgramEXT (GLuint program);
+__attribute__((visibility("default"))) GLuint glCreateShaderProgramEXT (GLenum type, const GLchar *string);
+
+typedef void ( * PFNGLUSESHADERPROGRAMEXTPROC) (GLenum type, GLuint program);
+typedef void ( * PFNGLACTIVEPROGRAMEXTPROC) (GLuint program);
+typedef GLuint ( * PFNGLCREATESHADERPROGRAMEXTPROC) (GLenum type, const GLchar *string);
+# 10749 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glMakeBufferResidentNV (GLenum target, GLenum access);
+__attribute__((visibility("default"))) void glMakeBufferNonResidentNV (GLenum target);
+__attribute__((visibility("default"))) GLboolean glIsBufferResidentNV (GLenum target);
+__attribute__((visibility("default"))) void glMakeNamedBufferResidentNV (GLuint buffer, GLenum access);
+__attribute__((visibility("default"))) void glMakeNamedBufferNonResidentNV (GLuint buffer);
+__attribute__((visibility("default"))) GLboolean glIsNamedBufferResidentNV (GLuint buffer);
+__attribute__((visibility("default"))) void glGetBufferParameterui64vNV (GLenum target, GLenum pname, GLuint64EXT *params);
+__attribute__((visibility("default"))) void glGetNamedBufferParameterui64vNV (GLuint buffer, GLenum pname, GLuint64EXT *params);
+__attribute__((visibility("default"))) void glGetIntegerui64vNV (GLenum value, GLuint64EXT *result);
+__attribute__((visibility("default"))) void glUniformui64NV (GLint location, GLuint64EXT value);
+__attribute__((visibility("default"))) void glUniformui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
+__attribute__((visibility("default"))) void glGetUniformui64vNV (GLuint program, GLint location, GLuint64EXT *params);
+__attribute__((visibility("default"))) void glProgramUniformui64NV (GLuint program, GLint location, GLuint64EXT value);
+__attribute__((visibility("default"))) void glProgramUniformui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
+
+typedef void ( * PFNGLMAKEBUFFERRESIDENTNVPROC) (GLenum target, GLenum access);
+typedef void ( * PFNGLMAKEBUFFERNONRESIDENTNVPROC) (GLenum target);
+typedef GLboolean ( * PFNGLISBUFFERRESIDENTNVPROC) (GLenum target);
+typedef void ( * PFNGLMAKENAMEDBUFFERRESIDENTNVPROC) (GLuint buffer, GLenum access);
+typedef void ( * PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC) (GLuint buffer);
+typedef GLboolean ( * PFNGLISNAMEDBUFFERRESIDENTNVPROC) (GLuint buffer);
+typedef void ( * PFNGLGETBUFFERPARAMETERUI64VNVPROC) (GLenum target, GLenum pname, GLuint64EXT *params);
+typedef void ( * PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC) (GLuint buffer, GLenum pname, GLuint64EXT *params);
+typedef void ( * PFNGLGETINTEGERUI64VNVPROC) (GLenum value, GLuint64EXT *result);
+typedef void ( * PFNGLUNIFORMUI64NVPROC) (GLint location, GLuint64EXT value);
+typedef void ( * PFNGLUNIFORMUI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
+typedef void ( * PFNGLGETUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLuint64EXT *params);
+typedef void ( * PFNGLPROGRAMUNIFORMUI64NVPROC) (GLuint program, GLint location, GLuint64EXT value);
+typedef void ( * PFNGLPROGRAMUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
+
+
+
+
+
+__attribute__((visibility("default"))) void glBufferAddressRangeNV (GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length);
+__attribute__((visibility("default"))) void glVertexFormatNV (GLint size, GLenum type, GLsizei stride);
+__attribute__((visibility("default"))) void glNormalFormatNV (GLenum type, GLsizei stride);
+__attribute__((visibility("default"))) void glColorFormatNV (GLint size, GLenum type, GLsizei stride);
+__attribute__((visibility("default"))) void glIndexFormatNV (GLenum type, GLsizei stride);
+__attribute__((visibility("default"))) void glTexCoordFormatNV (GLint size, GLenum type, GLsizei stride);
+__attribute__((visibility("default"))) void glEdgeFlagFormatNV (GLsizei stride);
+__attribute__((visibility("default"))) void glSecondaryColorFormatNV (GLint size, GLenum type, GLsizei stride);
+__attribute__((visibility("default"))) void glFogCoordFormatNV (GLenum type, GLsizei stride);
+__attribute__((visibility("default"))) void glVertexAttribFormatNV (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride);
+__attribute__((visibility("default"))) void glVertexAttribIFormatNV (GLuint index, GLint size, GLenum type, GLsizei stride);
+__attribute__((visibility("default"))) void glGetIntegerui64i_vNV (GLenum value, GLuint index, GLuint64EXT *result);
+
+typedef void ( * PFNGLBUFFERADDRESSRANGENVPROC) (GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length);
+typedef void ( * PFNGLVERTEXFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);
+typedef void ( * PFNGLNORMALFORMATNVPROC) (GLenum type, GLsizei stride);
+typedef void ( * PFNGLCOLORFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);
+typedef void ( * PFNGLINDEXFORMATNVPROC) (GLenum type, GLsizei stride);
+typedef void ( * PFNGLTEXCOORDFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);
+typedef void ( * PFNGLEDGEFLAGFORMATNVPROC) (GLsizei stride);
+typedef void ( * PFNGLSECONDARYCOLORFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);
+typedef void ( * PFNGLFOGCOORDFORMATNVPROC) (GLenum type, GLsizei stride);
+typedef void ( * PFNGLVERTEXATTRIBFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride);
+typedef void ( * PFNGLVERTEXATTRIBIFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride);
+typedef void ( * PFNGLGETINTEGERUI64I_VNVPROC) (GLenum value, GLuint index, GLuint64EXT *result);
+
+
+
+
+
+__attribute__((visibility("default"))) void glTextureBarrierNV (void);
+
+typedef void ( * PFNGLTEXTUREBARRIERNVPROC) (void);
+# 10833 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glBindImageTextureEXT (GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format);
+__attribute__((visibility("default"))) void glMemoryBarrierEXT (GLbitfield barriers);
+
+typedef void ( * PFNGLBINDIMAGETEXTUREEXTPROC) (GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format);
+typedef void ( * PFNGLMEMORYBARRIEREXTPROC) (GLbitfield barriers);
+
+
+
+
+
+__attribute__((visibility("default"))) void glVertexAttribL1dEXT (GLuint index, GLdouble x);
+__attribute__((visibility("default"))) void glVertexAttribL2dEXT (GLuint index, GLdouble x, GLdouble y);
+__attribute__((visibility("default"))) void glVertexAttribL3dEXT (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+__attribute__((visibility("default"))) void glVertexAttribL4dEXT (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+__attribute__((visibility("default"))) void glVertexAttribL1dvEXT (GLuint index, const GLdouble *v);
+__attribute__((visibility("default"))) void glVertexAttribL2dvEXT (GLuint index, const GLdouble *v);
+__attribute__((visibility("default"))) void glVertexAttribL3dvEXT (GLuint index, const GLdouble *v);
+__attribute__((visibility("default"))) void glVertexAttribL4dvEXT (GLuint index, const GLdouble *v);
+__attribute__((visibility("default"))) void glVertexAttribLPointerEXT (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+__attribute__((visibility("default"))) void glGetVertexAttribLdvEXT (GLuint index, GLenum pname, GLdouble *params);
+__attribute__((visibility("default"))) void glVertexArrayVertexAttribLOffsetEXT (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);
+
+typedef void ( * PFNGLVERTEXATTRIBL1DEXTPROC) (GLuint index, GLdouble x);
+typedef void ( * PFNGLVERTEXATTRIBL2DEXTPROC) (GLuint index, GLdouble x, GLdouble y);
+typedef void ( * PFNGLVERTEXATTRIBL3DEXTPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+typedef void ( * PFNGLVERTEXATTRIBL4DEXTPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void ( * PFNGLVERTEXATTRIBL1DVEXTPROC) (GLuint index, const GLdouble *v);
+typedef void ( * PFNGLVERTEXATTRIBL2DVEXTPROC) (GLuint index, const GLdouble *v);
+typedef void ( * PFNGLVERTEXATTRIBL3DVEXTPROC) (GLuint index, const GLdouble *v);
+typedef void ( * PFNGLVERTEXATTRIBL4DVEXTPROC) (GLuint index, const GLdouble *v);
+typedef void ( * PFNGLVERTEXATTRIBLPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void ( * PFNGLGETVERTEXATTRIBLDVEXTPROC) (GLuint index, GLenum pname, GLdouble *params);
+typedef void ( * PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);
+
+
+
+
+
+__attribute__((visibility("default"))) void glProgramSubroutineParametersuivNV (GLenum target, GLsizei count, const GLuint *params);
+__attribute__((visibility("default"))) void glGetProgramSubroutineParameteruivNV (GLenum target, GLuint index, GLuint *param);
+
+typedef void ( * PFNGLPROGRAMSUBROUTINEPARAMETERSUIVNVPROC) (GLenum target, GLsizei count, const GLuint *params);
+typedef void ( * PFNGLGETPROGRAMSUBROUTINEPARAMETERUIVNVPROC) (GLenum target, GLuint index, GLuint *param);
+
+
+
+
+
+__attribute__((visibility("default"))) void glUniform1i64NV (GLint location, GLint64EXT x);
+__attribute__((visibility("default"))) void glUniform2i64NV (GLint location, GLint64EXT x, GLint64EXT y);
+__attribute__((visibility("default"))) void glUniform3i64NV (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
+__attribute__((visibility("default"))) void glUniform4i64NV (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
+__attribute__((visibility("default"))) void glUniform1i64vNV (GLint location, GLsizei count, const GLint64EXT *value);
+__attribute__((visibility("default"))) void glUniform2i64vNV (GLint location, GLsizei count, const GLint64EXT *value);
+__attribute__((visibility("default"))) void glUniform3i64vNV (GLint location, GLsizei count, const GLint64EXT *value);
+__attribute__((visibility("default"))) void glUniform4i64vNV (GLint location, GLsizei count, const GLint64EXT *value);
+__attribute__((visibility("default"))) void glUniform1ui64NV (GLint location, GLuint64EXT x);
+__attribute__((visibility("default"))) void glUniform2ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y);
+__attribute__((visibility("default"))) void glUniform3ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
+__attribute__((visibility("default"))) void glUniform4ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
+__attribute__((visibility("default"))) void glUniform1ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
+__attribute__((visibility("default"))) void glUniform2ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
+__attribute__((visibility("default"))) void glUniform3ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
+__attribute__((visibility("default"))) void glUniform4ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value);
+__attribute__((visibility("default"))) void glGetUniformi64vNV (GLuint program, GLint location, GLint64EXT *params);
+__attribute__((visibility("default"))) void glProgramUniform1i64NV (GLuint program, GLint location, GLint64EXT x);
+__attribute__((visibility("default"))) void glProgramUniform2i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y);
+__attribute__((visibility("default"))) void glProgramUniform3i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
+__attribute__((visibility("default"))) void glProgramUniform4i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
+__attribute__((visibility("default"))) void glProgramUniform1i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
+__attribute__((visibility("default"))) void glProgramUniform2i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
+__attribute__((visibility("default"))) void glProgramUniform3i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
+__attribute__((visibility("default"))) void glProgramUniform4i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
+__attribute__((visibility("default"))) void glProgramUniform1ui64NV (GLuint program, GLint location, GLuint64EXT x);
+__attribute__((visibility("default"))) void glProgramUniform2ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);
+__attribute__((visibility("default"))) void glProgramUniform3ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
+__attribute__((visibility("default"))) void glProgramUniform4ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
+__attribute__((visibility("default"))) void glProgramUniform1ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
+__attribute__((visibility("default"))) void glProgramUniform2ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
+__attribute__((visibility("default"))) void glProgramUniform3ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
+__attribute__((visibility("default"))) void glProgramUniform4ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
+
+typedef void ( * PFNGLUNIFORM1I64NVPROC) (GLint location, GLint64EXT x);
+typedef void ( * PFNGLUNIFORM2I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y);
+typedef void ( * PFNGLUNIFORM3I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
+typedef void ( * PFNGLUNIFORM4I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
+typedef void ( * PFNGLUNIFORM1I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
+typedef void ( * PFNGLUNIFORM2I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
+typedef void ( * PFNGLUNIFORM3I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
+typedef void ( * PFNGLUNIFORM4I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value);
+typedef void ( * PFNGLUNIFORM1UI64NVPROC) (GLint location, GLuint64EXT x);
+typedef void ( * PFNGLUNIFORM2UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y);
+typedef void ( * PFNGLUNIFORM3UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
+typedef void ( * PFNGLUNIFORM4UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
+typedef void ( * PFNGLUNIFORM1UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
+typedef void ( * PFNGLUNIFORM2UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
+typedef void ( * PFNGLUNIFORM3UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
+typedef void ( * PFNGLUNIFORM4UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value);
+typedef void ( * PFNGLGETUNIFORMI64VNVPROC) (GLuint program, GLint location, GLint64EXT *params);
+typedef void ( * PFNGLPROGRAMUNIFORM1I64NVPROC) (GLuint program, GLint location, GLint64EXT x);
+typedef void ( * PFNGLPROGRAMUNIFORM2I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y);
+typedef void ( * PFNGLPROGRAMUNIFORM3I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
+typedef void ( * PFNGLPROGRAMUNIFORM4I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
+typedef void ( * PFNGLPROGRAMUNIFORM1I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
+typedef void ( * PFNGLPROGRAMUNIFORM2I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
+typedef void ( * PFNGLPROGRAMUNIFORM3I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
+typedef void ( * PFNGLPROGRAMUNIFORM4I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value);
+typedef void ( * PFNGLPROGRAMUNIFORM1UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x);
+typedef void ( * PFNGLPROGRAMUNIFORM2UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);
+typedef void ( * PFNGLPROGRAMUNIFORM3UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
+typedef void ( * PFNGLPROGRAMUNIFORM4UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
+typedef void ( * PFNGLPROGRAMUNIFORM1UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
+typedef void ( * PFNGLPROGRAMUNIFORM2UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
+typedef void ( * PFNGLPROGRAMUNIFORM3UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
+typedef void ( * PFNGLPROGRAMUNIFORM4UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
+# 10961 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glVertexAttribL1i64NV (GLuint index, GLint64EXT x);
+__attribute__((visibility("default"))) void glVertexAttribL2i64NV (GLuint index, GLint64EXT x, GLint64EXT y);
+__attribute__((visibility("default"))) void glVertexAttribL3i64NV (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z);
+__attribute__((visibility("default"))) void glVertexAttribL4i64NV (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
+__attribute__((visibility("default"))) void glVertexAttribL1i64vNV (GLuint index, const GLint64EXT *v);
+__attribute__((visibility("default"))) void glVertexAttribL2i64vNV (GLuint index, const GLint64EXT *v);
+__attribute__((visibility("default"))) void glVertexAttribL3i64vNV (GLuint index, const GLint64EXT *v);
+__attribute__((visibility("default"))) void glVertexAttribL4i64vNV (GLuint index, const GLint64EXT *v);
+__attribute__((visibility("default"))) void glVertexAttribL1ui64NV (GLuint index, GLuint64EXT x);
+__attribute__((visibility("default"))) void glVertexAttribL2ui64NV (GLuint index, GLuint64EXT x, GLuint64EXT y);
+__attribute__((visibility("default"))) void glVertexAttribL3ui64NV (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
+__attribute__((visibility("default"))) void glVertexAttribL4ui64NV (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
+__attribute__((visibility("default"))) void glVertexAttribL1ui64vNV (GLuint index, const GLuint64EXT *v);
+__attribute__((visibility("default"))) void glVertexAttribL2ui64vNV (GLuint index, const GLuint64EXT *v);
+__attribute__((visibility("default"))) void glVertexAttribL3ui64vNV (GLuint index, const GLuint64EXT *v);
+__attribute__((visibility("default"))) void glVertexAttribL4ui64vNV (GLuint index, const GLuint64EXT *v);
+__attribute__((visibility("default"))) void glGetVertexAttribLi64vNV (GLuint index, GLenum pname, GLint64EXT *params);
+__attribute__((visibility("default"))) void glGetVertexAttribLui64vNV (GLuint index, GLenum pname, GLuint64EXT *params);
+__attribute__((visibility("default"))) void glVertexAttribLFormatNV (GLuint index, GLint size, GLenum type, GLsizei stride);
+
+typedef void ( * PFNGLVERTEXATTRIBL1I64NVPROC) (GLuint index, GLint64EXT x);
+typedef void ( * PFNGLVERTEXATTRIBL2I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y);
+typedef void ( * PFNGLVERTEXATTRIBL3I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z);
+typedef void ( * PFNGLVERTEXATTRIBL4I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
+typedef void ( * PFNGLVERTEXATTRIBL1I64VNVPROC) (GLuint index, const GLint64EXT *v);
+typedef void ( * PFNGLVERTEXATTRIBL2I64VNVPROC) (GLuint index, const GLint64EXT *v);
+typedef void ( * PFNGLVERTEXATTRIBL3I64VNVPROC) (GLuint index, const GLint64EXT *v);
+typedef void ( * PFNGLVERTEXATTRIBL4I64VNVPROC) (GLuint index, const GLint64EXT *v);
+typedef void ( * PFNGLVERTEXATTRIBL1UI64NVPROC) (GLuint index, GLuint64EXT x);
+typedef void ( * PFNGLVERTEXATTRIBL2UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y);
+typedef void ( * PFNGLVERTEXATTRIBL3UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
+typedef void ( * PFNGLVERTEXATTRIBL4UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
+typedef void ( * PFNGLVERTEXATTRIBL1UI64VNVPROC) (GLuint index, const GLuint64EXT *v);
+typedef void ( * PFNGLVERTEXATTRIBL2UI64VNVPROC) (GLuint index, const GLuint64EXT *v);
+typedef void ( * PFNGLVERTEXATTRIBL3UI64VNVPROC) (GLuint index, const GLuint64EXT *v);
+typedef void ( * PFNGLVERTEXATTRIBL4UI64VNVPROC) (GLuint index, const GLuint64EXT *v);
+typedef void ( * PFNGLGETVERTEXATTRIBLI64VNVPROC) (GLuint index, GLenum pname, GLint64EXT *params);
+typedef void ( * PFNGLGETVERTEXATTRIBLUI64VNVPROC) (GLuint index, GLenum pname, GLuint64EXT *params);
+typedef void ( * PFNGLVERTEXATTRIBLFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride);
+# 11009 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glGenNamesAMD (GLenum identifier, GLuint num, GLuint *names);
+__attribute__((visibility("default"))) void glDeleteNamesAMD (GLenum identifier, GLuint num, const GLuint *names);
+__attribute__((visibility("default"))) GLboolean glIsNameAMD (GLenum identifier, GLuint name);
+
+typedef void ( * PFNGLGENNAMESAMDPROC) (GLenum identifier, GLuint num, GLuint *names);
+typedef void ( * PFNGLDELETENAMESAMDPROC) (GLenum identifier, GLuint num, const GLuint *names);
+typedef GLboolean ( * PFNGLISNAMEAMDPROC) (GLenum identifier, GLuint name);
+
+
+
+
+
+__attribute__((visibility("default"))) void glDebugMessageEnableAMD (GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
+__attribute__((visibility("default"))) void glDebugMessageInsertAMD (GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf);
+__attribute__((visibility("default"))) void glDebugMessageCallbackAMD (GLDEBUGPROCAMD callback, GLvoid *userParam);
+__attribute__((visibility("default"))) GLuint glGetDebugMessageLogAMD (GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message);
+
+typedef void ( * PFNGLDEBUGMESSAGEENABLEAMDPROC) (GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
+typedef void ( * PFNGLDEBUGMESSAGEINSERTAMDPROC) (GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf);
+typedef void ( * PFNGLDEBUGMESSAGECALLBACKAMDPROC) (GLDEBUGPROCAMD callback, GLvoid *userParam);
+typedef GLuint ( * PFNGLGETDEBUGMESSAGELOGAMDPROC) (GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message);
+
+
+
+
+
+__attribute__((visibility("default"))) void glVDPAUInitNV (const GLvoid *vdpDevice, const GLvoid *getProcAddress);
+__attribute__((visibility("default"))) void glVDPAUFiniNV (void);
+__attribute__((visibility("default"))) GLvdpauSurfaceNV glVDPAURegisterVideoSurfaceNV (GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);
+__attribute__((visibility("default"))) GLvdpauSurfaceNV glVDPAURegisterOutputSurfaceNV (GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);
+__attribute__((visibility("default"))) void glVDPAUIsSurfaceNV (GLvdpauSurfaceNV surface);
+__attribute__((visibility("default"))) void glVDPAUUnregisterSurfaceNV (GLvdpauSurfaceNV surface);
+__attribute__((visibility("default"))) void glVDPAUGetSurfaceivNV (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
+__attribute__((visibility("default"))) void glVDPAUSurfaceAccessNV (GLvdpauSurfaceNV surface, GLenum access);
+__attribute__((visibility("default"))) void glVDPAUMapSurfacesNV (GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces);
+__attribute__((visibility("default"))) void glVDPAUUnmapSurfacesNV (GLsizei numSurface, const GLvdpauSurfaceNV *surfaces);
+
+typedef void ( * PFNGLVDPAUINITNVPROC) (const GLvoid *vdpDevice, const GLvoid *getProcAddress);
+typedef void ( * PFNGLVDPAUFININVPROC) (void);
+typedef GLvdpauSurfaceNV ( * PFNGLVDPAUREGISTERVIDEOSURFACENVPROC) (GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);
+typedef GLvdpauSurfaceNV ( * PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC) (GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);
+typedef void ( * PFNGLVDPAUISSURFACENVPROC) (GLvdpauSurfaceNV surface);
+typedef void ( * PFNGLVDPAUUNREGISTERSURFACENVPROC) (GLvdpauSurfaceNV surface);
+typedef void ( * PFNGLVDPAUGETSURFACEIVNVPROC) (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
+typedef void ( * PFNGLVDPAUSURFACEACCESSNVPROC) (GLvdpauSurfaceNV surface, GLenum access);
+typedef void ( * PFNGLVDPAUMAPSURFACESNVPROC) (GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces);
+typedef void ( * PFNGLVDPAUUNMAPSURFACESNVPROC) (GLsizei numSurface, const GLvdpauSurfaceNV *surfaces);
+# 11073 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glTexImage2DMultisampleCoverageNV (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);
+__attribute__((visibility("default"))) void glTexImage3DMultisampleCoverageNV (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);
+__attribute__((visibility("default"))) void glTextureImage2DMultisampleNV (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);
+__attribute__((visibility("default"))) void glTextureImage3DMultisampleNV (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);
+__attribute__((visibility("default"))) void glTextureImage2DMultisampleCoverageNV (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);
+__attribute__((visibility("default"))) void glTextureImage3DMultisampleCoverageNV (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);
+
+typedef void ( * PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);
+typedef void ( * PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);
+typedef void ( * PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC) (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);
+typedef void ( * PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC) (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);
+typedef void ( * PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC) (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations);
+typedef void ( * PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC) (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations);
+# 11095 "../../include/GL/glext.h"
+__attribute__((visibility("default"))) void glSetMultisamplefvAMD (GLenum pname, GLuint index, const GLfloat *val);
+
+typedef void ( * PFNGLSETMULTISAMPLEFVAMDPROC) (GLenum pname, GLuint index, const GLfloat *val);
+
+
+
+
+
+__attribute__((visibility("default"))) GLsync glImportSyncEXT (GLenum external_sync_type, GLintptr external_sync, GLbitfield flags);
+
+typedef GLsync ( * PFNGLIMPORTSYNCEXTPROC) (GLenum external_sync_type, GLintptr external_sync, GLbitfield flags);
+
+
+
+
+
+__attribute__((visibility("default"))) void glMultiDrawArraysIndirectAMD (GLenum mode, const GLvoid *indirect, GLsizei primcount, GLsizei stride);
+__attribute__((visibility("default"))) void glMultiDrawElementsIndirectAMD (GLenum mode, GLenum type, const GLvoid *indirect, GLsizei primcount, GLsizei stride);
+
+typedef void ( * PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC) (GLenum mode, const GLvoid *indirect, GLsizei primcount, GLsizei stride);
+typedef void ( * PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC) (GLenum mode, GLenum type, const GLvoid *indirect, GLsizei primcount, GLsizei stride);
+# 2092 "../../include/GL/gl.h" 2
+# 2106 "../../include/GL/gl.h"
+__attribute__((visibility("default"))) GLhandleARB glCreateDebugObjectMESA (void);
+__attribute__((visibility("default"))) void glClearDebugLogMESA (GLhandleARB obj, GLenum logType, GLenum shaderType);
+__attribute__((visibility("default"))) void glGetDebugLogMESA (GLhandleARB obj, GLenum logType, GLenum shaderType, GLsizei maxLength,
+                                         GLsizei *length, GLcharARB *debugLog);
+__attribute__((visibility("default"))) GLsizei glGetDebugLogLengthMESA (GLhandleARB obj, GLenum logType, GLenum shaderType);
+# 2145 "../../include/GL/gl.h"
+typedef void (*GLprogramcallbackMESA)(GLenum target, GLvoid *data);
+
+__attribute__((visibility("default"))) void glProgramCallbackMESA(GLenum target, GLprogramcallbackMESA callback, GLvoid *data);
+
+__attribute__((visibility("default"))) void glGetProgramRegisterfvMESA(GLenum target, GLsizei len, const GLubyte *name, GLfloat *v);
+# 2192 "../../include/GL/gl.h"
+__attribute__((visibility("default"))) void glBlendEquationSeparateATI( GLenum modeRGB, GLenum modeA );
+typedef void ( * PFNGLBLENDEQUATIONSEPARATEATIPROC) (GLenum modeRGB, GLenum modeA);
+
+
+
+
+
+
+typedef void* GLeglImageOES;
+
+
+
+
+
+__attribute__((visibility("default"))) void glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
+__attribute__((visibility("default"))) void glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
+
+typedef void ( * PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
+typedef void ( * PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
+# 54 "../../src/mesa/main/glheader.h" 2
+
+
+
+
+
+
+typedef int GLfixed;
+typedef int GLclampx;
+# 33 "swrast/s_triangle.c" 2
+# 1 "../../src/mesa/main/context.h" 1
+# 52 "../../src/mesa/main/context.h"
+# 1 "../../src/mesa/main/imports.h" 1
+# 39 "../../src/mesa/main/imports.h"
+# 1 "../../src/mesa/main/compiler.h" 1
+# 37 "../../src/mesa/main/compiler.h"
+# 1 "/usr/include/assert.h" 1 3 4
+# 66 "/usr/include/assert.h" 3 4
+
+
+
+extern void __assert_fail (__const char *__assertion, __const char *__file,
+      unsigned int __line, __const char *__function)
+     __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
+
+
+extern void __assert_perror_fail (int __errnum, __const char *__file,
+      unsigned int __line,
+      __const char *__function)
+     __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
+
+
+
+
+extern void __assert (const char *__assertion, const char *__file, int __line)
+     __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
+
+
+
+# 38 "../../src/mesa/main/compiler.h" 2
+# 1 "/usr/include/ctype.h" 1 3 4
+# 28 "/usr/include/ctype.h" 3 4
+# 1 "/usr/include/bits/types.h" 1 3 4
+# 28 "/usr/include/bits/types.h" 3 4
+# 1 "/usr/include/bits/wordsize.h" 1 3 4
+# 29 "/usr/include/bits/types.h" 2 3 4
+
+
+typedef unsigned char __u_char;
+typedef unsigned short int __u_short;
+typedef unsigned int __u_int;
+typedef unsigned long int __u_long;
+
+
+typedef signed char __int8_t;
+typedef unsigned char __uint8_t;
+typedef signed short int __int16_t;
+typedef unsigned short int __uint16_t;
+typedef signed int __int32_t;
+typedef unsigned int __uint32_t;
+
+
+
+
+__extension__ typedef signed long long int __int64_t;
+__extension__ typedef unsigned long long int __uint64_t;
+
+
+
+
+
+
+
+__extension__ typedef long long int __quad_t;
+__extension__ typedef unsigned long long int __u_quad_t;
+# 131 "/usr/include/bits/types.h" 3 4
+# 1 "/usr/include/bits/typesizes.h" 1 3 4
+# 132 "/usr/include/bits/types.h" 2 3 4
+
+
+__extension__ typedef __u_quad_t __dev_t;
+__extension__ typedef unsigned int __uid_t;
+__extension__ typedef unsigned int __gid_t;
+__extension__ typedef unsigned long int __ino_t;
+__extension__ typedef __u_quad_t __ino64_t;
+__extension__ typedef unsigned int __mode_t;
+__extension__ typedef unsigned int __nlink_t;
+__extension__ typedef long int __off_t;
+__extension__ typedef __quad_t __off64_t;
+__extension__ typedef int __pid_t;
+__extension__ typedef struct { int __val[2]; } __fsid_t;
+__extension__ typedef long int __clock_t;
+__extension__ typedef unsigned long int __rlim_t;
+__extension__ typedef __u_quad_t __rlim64_t;
+__extension__ typedef unsigned int __id_t;
+__extension__ typedef long int __time_t;
+__extension__ typedef unsigned int __useconds_t;
+__extension__ typedef long int __suseconds_t;
+
+__extension__ typedef int __daddr_t;
+__extension__ typedef long int __swblk_t;
+__extension__ typedef int __key_t;
+
+
+__extension__ typedef int __clockid_t;
+
+
+__extension__ typedef void * __timer_t;
+
+
+__extension__ typedef long int __blksize_t;
+
+
+
+
+__extension__ typedef long int __blkcnt_t;
+__extension__ typedef __quad_t __blkcnt64_t;
+
+
+__extension__ typedef unsigned long int __fsblkcnt_t;
+__extension__ typedef __u_quad_t __fsblkcnt64_t;
+
+
+__extension__ typedef unsigned long int __fsfilcnt_t;
+__extension__ typedef __u_quad_t __fsfilcnt64_t;
+
+__extension__ typedef int __ssize_t;
+
+
+
+typedef __off64_t __loff_t;
+typedef __quad_t *__qaddr_t;
+typedef char *__caddr_t;
+
+
+__extension__ typedef int __intptr_t;
+
+
+__extension__ typedef unsigned int __socklen_t;
+# 29 "/usr/include/ctype.h" 2 3 4
+
+
+# 41 "/usr/include/ctype.h" 3 4
+# 1 "/usr/include/endian.h" 1 3 4
+# 37 "/usr/include/endian.h" 3 4
+# 1 "/usr/include/bits/endian.h" 1 3 4
+# 38 "/usr/include/endian.h" 2 3 4
+# 61 "/usr/include/endian.h" 3 4
+# 1 "/usr/include/bits/byteswap.h" 1 3 4
+# 62 "/usr/include/endian.h" 2 3 4
+# 42 "/usr/include/ctype.h" 2 3 4
+
+
+
+
+
+
+enum
+{
+  _ISupper = (1 << (0)),
+  _ISlower = (1 << (1)),
+  _ISalpha = (1 << (2)),
+  _ISdigit = (1 << (3)),
+  _ISxdigit = (1 << (4)),
+  _ISspace = (1 << (5)),
+  _ISprint = (1 << (6)),
+  _ISgraph = (1 << (7)),
+  _ISblank = (1 << (8)),
+  _IScntrl = (1 << (9)),
+  _ISpunct = (1 << (10)),
+  _ISalnum = (1 << (11))
+};
+# 81 "/usr/include/ctype.h" 3 4
+extern __const unsigned short int **__ctype_b_loc (void)
+     __attribute__ ((__nothrow__)) __attribute__ ((__const));
+extern __const __int32_t **__ctype_tolower_loc (void)
+     __attribute__ ((__nothrow__)) __attribute__ ((__const));
+extern __const __int32_t **__ctype_toupper_loc (void)
+     __attribute__ ((__nothrow__)) __attribute__ ((__const));
+# 96 "/usr/include/ctype.h" 3 4
+
+
+
+
+
+
+extern int isalnum (int) __attribute__ ((__nothrow__));
+extern int isalpha (int) __attribute__ ((__nothrow__));
+extern int iscntrl (int) __attribute__ ((__nothrow__));
+extern int isdigit (int) __attribute__ ((__nothrow__));
+extern int islower (int) __attribute__ ((__nothrow__));
+extern int isgraph (int) __attribute__ ((__nothrow__));
+extern int isprint (int) __attribute__ ((__nothrow__));
+extern int ispunct (int) __attribute__ ((__nothrow__));
+extern int isspace (int) __attribute__ ((__nothrow__));
+extern int isupper (int) __attribute__ ((__nothrow__));
+extern int isxdigit (int) __attribute__ ((__nothrow__));
+
+
+
+extern int tolower (int __c) __attribute__ ((__nothrow__));
+
+
+extern int toupper (int __c) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+
+extern int isblank (int) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+extern int isctype (int __c, int __mask) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+extern int isascii (int __c) __attribute__ ((__nothrow__));
+
+
+
+extern int toascii (int __c) __attribute__ ((__nothrow__));
+
+
+
+extern int _toupper (int) __attribute__ ((__nothrow__));
+extern int _tolower (int) __attribute__ ((__nothrow__));
+# 190 "/usr/include/ctype.h" 3 4
+extern __inline __attribute__ ((__gnu_inline__)) int
+__attribute__ ((__nothrow__)) tolower (int __c)
+{
+  return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c;
+}
+
+extern __inline __attribute__ ((__gnu_inline__)) int
+__attribute__ ((__nothrow__)) toupper (int __c)
+{
+  return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c;
+}
+# 233 "/usr/include/ctype.h" 3 4
+# 1 "/usr/include/xlocale.h" 1 3 4
+# 28 "/usr/include/xlocale.h" 3 4
+typedef struct __locale_struct
+{
+
+  struct __locale_data *__locales[13];
+
+
+  const unsigned short int *__ctype_b;
+  const int *__ctype_tolower;
+  const int *__ctype_toupper;
+
+
+  const char *__names[13];
+} *__locale_t;
+
+
+typedef __locale_t locale_t;
+# 234 "/usr/include/ctype.h" 2 3 4
+# 247 "/usr/include/ctype.h" 3 4
+extern int isalnum_l (int, __locale_t) __attribute__ ((__nothrow__));
+extern int isalpha_l (int, __locale_t) __attribute__ ((__nothrow__));
+extern int iscntrl_l (int, __locale_t) __attribute__ ((__nothrow__));
+extern int isdigit_l (int, __locale_t) __attribute__ ((__nothrow__));
+extern int islower_l (int, __locale_t) __attribute__ ((__nothrow__));
+extern int isgraph_l (int, __locale_t) __attribute__ ((__nothrow__));
+extern int isprint_l (int, __locale_t) __attribute__ ((__nothrow__));
+extern int ispunct_l (int, __locale_t) __attribute__ ((__nothrow__));
+extern int isspace_l (int, __locale_t) __attribute__ ((__nothrow__));
+extern int isupper_l (int, __locale_t) __attribute__ ((__nothrow__));
+extern int isxdigit_l (int, __locale_t) __attribute__ ((__nothrow__));
+
+extern int isblank_l (int, __locale_t) __attribute__ ((__nothrow__));
+
+
+
+extern int __tolower_l (int __c, __locale_t __l) __attribute__ ((__nothrow__));
+extern int tolower_l (int __c, __locale_t __l) __attribute__ ((__nothrow__));
+
+
+extern int __toupper_l (int __c, __locale_t __l) __attribute__ ((__nothrow__));
+extern int toupper_l (int __c, __locale_t __l) __attribute__ ((__nothrow__));
+# 323 "/usr/include/ctype.h" 3 4
+
+# 39 "../../src/mesa/main/compiler.h" 2
+
+
+
+# 1 "/usr/include/math.h" 1 3 4
+# 30 "/usr/include/math.h" 3 4
+
+
+
+
+# 1 "/usr/include/bits/huge_val.h" 1 3 4
+# 35 "/usr/include/math.h" 2 3 4
+
+# 1 "/usr/include/bits/huge_valf.h" 1 3 4
+# 37 "/usr/include/math.h" 2 3 4
+# 1 "/usr/include/bits/huge_vall.h" 1 3 4
+# 38 "/usr/include/math.h" 2 3 4
+
+
+# 1 "/usr/include/bits/inf.h" 1 3 4
+# 41 "/usr/include/math.h" 2 3 4
+
+
+# 1 "/usr/include/bits/nan.h" 1 3 4
+# 44 "/usr/include/math.h" 2 3 4
+
+
+
+# 1 "/usr/include/bits/mathdef.h" 1 3 4
+# 27 "/usr/include/bits/mathdef.h" 3 4
+typedef float float_t;
+
+typedef double double_t;
+# 48 "/usr/include/math.h" 2 3 4
+# 71 "/usr/include/math.h" 3 4
+# 1 "/usr/include/bits/mathcalls.h" 1 3 4
+# 53 "/usr/include/bits/mathcalls.h" 3 4
+
+
+extern double acos (double __x) __attribute__ ((__nothrow__)); extern double __acos (double __x) __attribute__ ((__nothrow__));
+
+extern double asin (double __x) __attribute__ ((__nothrow__)); extern double __asin (double __x) __attribute__ ((__nothrow__));
+
+extern double atan (double __x) __attribute__ ((__nothrow__)); extern double __atan (double __x) __attribute__ ((__nothrow__));
+
+extern double atan2 (double __y, double __x) __attribute__ ((__nothrow__)); extern double __atan2 (double __y, double __x) __attribute__ ((__nothrow__));
+
+
+extern double cos (double __x) __attribute__ ((__nothrow__)); extern double __cos (double __x) __attribute__ ((__nothrow__));
+
+extern double sin (double __x) __attribute__ ((__nothrow__)); extern double __sin (double __x) __attribute__ ((__nothrow__));
+
+extern double tan (double __x) __attribute__ ((__nothrow__)); extern double __tan (double __x) __attribute__ ((__nothrow__));
+
+
+
+
+extern double cosh (double __x) __attribute__ ((__nothrow__)); extern double __cosh (double __x) __attribute__ ((__nothrow__));
+
+extern double sinh (double __x) __attribute__ ((__nothrow__)); extern double __sinh (double __x) __attribute__ ((__nothrow__));
+
+extern double tanh (double __x) __attribute__ ((__nothrow__)); extern double __tanh (double __x) __attribute__ ((__nothrow__));
+
+
+
+
+extern void sincos (double __x, double *__sinx, double *__cosx) __attribute__ ((__nothrow__)); extern void __sincos (double __x, double *__sinx, double *__cosx) __attribute__ ((__nothrow__))
+                                                           ;
+
+
+
+
+
+extern double acosh (double __x) __attribute__ ((__nothrow__)); extern double __acosh (double __x) __attribute__ ((__nothrow__));
+
+extern double asinh (double __x) __attribute__ ((__nothrow__)); extern double __asinh (double __x) __attribute__ ((__nothrow__));
+
+extern double atanh (double __x) __attribute__ ((__nothrow__)); extern double __atanh (double __x) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+extern double exp (double __x) __attribute__ ((__nothrow__)); extern double __exp (double __x) __attribute__ ((__nothrow__));
+
+
+extern double frexp (double __x, int *__exponent) __attribute__ ((__nothrow__)); extern double __frexp (double __x, int *__exponent) __attribute__ ((__nothrow__));
+
+
+extern double ldexp (double __x, int __exponent) __attribute__ ((__nothrow__)); extern double __ldexp (double __x, int __exponent) __attribute__ ((__nothrow__));
+
+
+extern double log (double __x) __attribute__ ((__nothrow__)); extern double __log (double __x) __attribute__ ((__nothrow__));
+
+
+extern double log10 (double __x) __attribute__ ((__nothrow__)); extern double __log10 (double __x) __attribute__ ((__nothrow__));
+
+
+extern double modf (double __x, double *__iptr) __attribute__ ((__nothrow__)); extern double __modf (double __x, double *__iptr) __attribute__ ((__nothrow__));
+
+
+
+
+extern double exp10 (double __x) __attribute__ ((__nothrow__)); extern double __exp10 (double __x) __attribute__ ((__nothrow__));
+
+extern double pow10 (double __x) __attribute__ ((__nothrow__)); extern double __pow10 (double __x) __attribute__ ((__nothrow__));
+
+
+
+
+
+extern double expm1 (double __x) __attribute__ ((__nothrow__)); extern double __expm1 (double __x) __attribute__ ((__nothrow__));
+
+
+extern double log1p (double __x) __attribute__ ((__nothrow__)); extern double __log1p (double __x) __attribute__ ((__nothrow__));
+
+
+extern double logb (double __x) __attribute__ ((__nothrow__)); extern double __logb (double __x) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+extern double exp2 (double __x) __attribute__ ((__nothrow__)); extern double __exp2 (double __x) __attribute__ ((__nothrow__));
+
+
+extern double log2 (double __x) __attribute__ ((__nothrow__)); extern double __log2 (double __x) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+
+extern double pow (double __x, double __y) __attribute__ ((__nothrow__)); extern double __pow (double __x, double __y) __attribute__ ((__nothrow__));
+
+
+extern double sqrt (double __x) __attribute__ ((__nothrow__)); extern double __sqrt (double __x) __attribute__ ((__nothrow__));
+
+
+
+
+
+extern double hypot (double __x, double __y) __attribute__ ((__nothrow__)); extern double __hypot (double __x, double __y) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+extern double cbrt (double __x) __attribute__ ((__nothrow__)); extern double __cbrt (double __x) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+
+extern double ceil (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __ceil (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+extern double fabs (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __fabs (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+extern double floor (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __floor (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+extern double fmod (double __x, double __y) __attribute__ ((__nothrow__)); extern double __fmod (double __x, double __y) __attribute__ ((__nothrow__));
+
+
+
+
+extern int __isinf (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+extern int __finite (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+
+
+
+extern int isinf (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+extern int finite (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+extern double drem (double __x, double __y) __attribute__ ((__nothrow__)); extern double __drem (double __x, double __y) __attribute__ ((__nothrow__));
+
+
+
+extern double significand (double __x) __attribute__ ((__nothrow__)); extern double __significand (double __x) __attribute__ ((__nothrow__));
+
+
+
+
+
+extern double copysign (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __copysign (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+
+
+
+
+extern double nan (__const char *__tagb) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __nan (__const char *__tagb) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+
+
+
+extern int __isnan (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+
+extern int isnan (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+extern double j0 (double) __attribute__ ((__nothrow__)); extern double __j0 (double) __attribute__ ((__nothrow__));
+extern double j1 (double) __attribute__ ((__nothrow__)); extern double __j1 (double) __attribute__ ((__nothrow__));
+extern double jn (int, double) __attribute__ ((__nothrow__)); extern double __jn (int, double) __attribute__ ((__nothrow__));
+extern double y0 (double) __attribute__ ((__nothrow__)); extern double __y0 (double) __attribute__ ((__nothrow__));
+extern double y1 (double) __attribute__ ((__nothrow__)); extern double __y1 (double) __attribute__ ((__nothrow__));
+extern double yn (int, double) __attribute__ ((__nothrow__)); extern double __yn (int, double) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+extern double erf (double) __attribute__ ((__nothrow__)); extern double __erf (double) __attribute__ ((__nothrow__));
+extern double erfc (double) __attribute__ ((__nothrow__)); extern double __erfc (double) __attribute__ ((__nothrow__));
+extern double lgamma (double) __attribute__ ((__nothrow__)); extern double __lgamma (double) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+extern double tgamma (double) __attribute__ ((__nothrow__)); extern double __tgamma (double) __attribute__ ((__nothrow__));
+
+
+
+
+
+extern double gamma (double) __attribute__ ((__nothrow__)); extern double __gamma (double) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+extern double lgamma_r (double, int *__signgamp) __attribute__ ((__nothrow__)); extern double __lgamma_r (double, int *__signgamp) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+extern double rint (double __x) __attribute__ ((__nothrow__)); extern double __rint (double __x) __attribute__ ((__nothrow__));
+
+
+extern double nextafter (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __nextafter (double __x, double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+extern double nexttoward (double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __nexttoward (double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+
+extern double remainder (double __x, double __y) __attribute__ ((__nothrow__)); extern double __remainder (double __x, double __y) __attribute__ ((__nothrow__));
+
+
+
+extern double scalbn (double __x, int __n) __attribute__ ((__nothrow__)); extern double __scalbn (double __x, int __n) __attribute__ ((__nothrow__));
+
+
+
+extern int ilogb (double __x) __attribute__ ((__nothrow__)); extern int __ilogb (double __x) __attribute__ ((__nothrow__));
+
+
+
+
+extern double scalbln (double __x, long int __n) __attribute__ ((__nothrow__)); extern double __scalbln (double __x, long int __n) __attribute__ ((__nothrow__));
+
+
+
+extern double nearbyint (double __x) __attribute__ ((__nothrow__)); extern double __nearbyint (double __x) __attribute__ ((__nothrow__));
+
+
+
+extern double round (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __round (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+
+extern double trunc (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern double __trunc (double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+
+
+extern double remquo (double __x, double __y, int *__quo) __attribute__ ((__nothrow__)); extern double __remquo (double __x, double __y, int *__quo) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+extern long int lrint (double __x) __attribute__ ((__nothrow__)); extern long int __lrint (double __x) __attribute__ ((__nothrow__));
+extern long long int llrint (double __x) __attribute__ ((__nothrow__)); extern long long int __llrint (double __x) __attribute__ ((__nothrow__));
+
+
+
+extern long int lround (double __x) __attribute__ ((__nothrow__)); extern long int __lround (double __x) __attribute__ ((__nothrow__));
+extern long long int llround (double __x) __attribute__ ((__nothrow__)); extern long long int __llround (double __x) __attribute__ ((__nothrow__));
+
+
+
+extern double fdim (double __x, double __y) __attribute__ ((__nothrow__)); extern double __fdim (double __x, double __y) __attribute__ ((__nothrow__));
+
+
+extern double fmax (double __x, double __y) __attribute__ ((__nothrow__)); extern double __fmax (double __x, double __y) __attribute__ ((__nothrow__));
+
+
+extern double fmin (double __x, double __y) __attribute__ ((__nothrow__)); extern double __fmin (double __x, double __y) __attribute__ ((__nothrow__));
+
+
+
+extern int __fpclassify (double __value) __attribute__ ((__nothrow__))
+     __attribute__ ((__const__));
+
+
+extern int __signbit (double __value) __attribute__ ((__nothrow__))
+     __attribute__ ((__const__));
+
+
+
+extern double fma (double __x, double __y, double __z) __attribute__ ((__nothrow__)); extern double __fma (double __x, double __y, double __z) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+
+extern double scalb (double __x, double __n) __attribute__ ((__nothrow__)); extern double __scalb (double __x, double __n) __attribute__ ((__nothrow__));
+# 72 "/usr/include/math.h" 2 3 4
+# 94 "/usr/include/math.h" 3 4
+# 1 "/usr/include/bits/mathcalls.h" 1 3 4
+# 53 "/usr/include/bits/mathcalls.h" 3 4
+
+
+extern float acosf (float __x) __attribute__ ((__nothrow__)); extern float __acosf (float __x) __attribute__ ((__nothrow__));
+
+extern float asinf (float __x) __attribute__ ((__nothrow__)); extern float __asinf (float __x) __attribute__ ((__nothrow__));
+
+extern float atanf (float __x) __attribute__ ((__nothrow__)); extern float __atanf (float __x) __attribute__ ((__nothrow__));
+
+extern float atan2f (float __y, float __x) __attribute__ ((__nothrow__)); extern float __atan2f (float __y, float __x) __attribute__ ((__nothrow__));
+
+
+extern float cosf (float __x) __attribute__ ((__nothrow__)); extern float __cosf (float __x) __attribute__ ((__nothrow__));
+
+extern float sinf (float __x) __attribute__ ((__nothrow__)); extern float __sinf (float __x) __attribute__ ((__nothrow__));
+
+extern float tanf (float __x) __attribute__ ((__nothrow__)); extern float __tanf (float __x) __attribute__ ((__nothrow__));
+
+
+
+
+extern float coshf (float __x) __attribute__ ((__nothrow__)); extern float __coshf (float __x) __attribute__ ((__nothrow__));
+
+extern float sinhf (float __x) __attribute__ ((__nothrow__)); extern float __sinhf (float __x) __attribute__ ((__nothrow__));
+
+extern float tanhf (float __x) __attribute__ ((__nothrow__)); extern float __tanhf (float __x) __attribute__ ((__nothrow__));
+
+
+
+
+extern void
+ sincosf
+# 82 "/usr/include/bits/mathcalls.h" 3 4
+ (float __x, float *__sinx, float *__cosx) __attribute__ ((__nothrow__)); extern void
+ __sincosf
+# 82 "/usr/include/bits/mathcalls.h" 3 4
+ (float __x, float *__sinx, float *__cosx) __attribute__ ((__nothrow__))
+                                                           ;
+
+
+
+
+
+extern float acoshf (float __x) __attribute__ ((__nothrow__)); extern float __acoshf (float __x) __attribute__ ((__nothrow__));
+
+extern float asinhf (float __x) __attribute__ ((__nothrow__)); extern float __asinhf (float __x) __attribute__ ((__nothrow__));
+
+extern float atanhf (float __x) __attribute__ ((__nothrow__)); extern float __atanhf (float __x) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+extern float expf (float __x) __attribute__ ((__nothrow__)); extern float __expf (float __x) __attribute__ ((__nothrow__));
+
+
+extern float frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__)); extern float __frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__));
+
+
+extern float ldexpf (float __x, int __exponent) __attribute__ ((__nothrow__)); extern float __ldexpf (float __x, int __exponent) __attribute__ ((__nothrow__));
+
+
+extern float logf (float __x) __attribute__ ((__nothrow__)); extern float __logf (float __x) __attribute__ ((__nothrow__));
+
+
+extern float log10f (float __x) __attribute__ ((__nothrow__)); extern float __log10f (float __x) __attribute__ ((__nothrow__));
+
+
+extern float modff (float __x, float *__iptr) __attribute__ ((__nothrow__)); extern float __modff (float __x, float *__iptr) __attribute__ ((__nothrow__));
+
+
+
+
+extern float exp10f (float __x) __attribute__ ((__nothrow__)); extern float __exp10f (float __x) __attribute__ ((__nothrow__));
+
+extern float pow10f (float __x) __attribute__ ((__nothrow__)); extern float __pow10f (float __x) __attribute__ ((__nothrow__));
+
+
+
+
+
+extern float expm1f (float __x) __attribute__ ((__nothrow__)); extern float __expm1f (float __x) __attribute__ ((__nothrow__));
+
+
+extern float log1pf (float __x) __attribute__ ((__nothrow__)); extern float __log1pf (float __x) __attribute__ ((__nothrow__));
+
+
+extern float logbf (float __x) __attribute__ ((__nothrow__)); extern float __logbf (float __x) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+extern float exp2f (float __x) __attribute__ ((__nothrow__)); extern float __exp2f (float __x) __attribute__ ((__nothrow__));
+
+
+extern float log2f (float __x) __attribute__ ((__nothrow__)); extern float __log2f (float __x) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+
+extern float powf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __powf (float __x, float __y) __attribute__ ((__nothrow__));
+
+
+extern float sqrtf (float __x) __attribute__ ((__nothrow__)); extern float __sqrtf (float __x) __attribute__ ((__nothrow__));
+
+
+
+
+
+extern float hypotf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __hypotf (float __x, float __y) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+extern float cbrtf (float __x) __attribute__ ((__nothrow__)); extern float __cbrtf (float __x) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+
+extern float ceilf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __ceilf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+extern float fabsf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __fabsf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+extern float floorf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __floorf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+extern float fmodf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __fmodf (float __x, float __y) __attribute__ ((__nothrow__));
+
+
+
+
+extern int __isinff (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+extern int __finitef (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+
+
+
+extern int isinff (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+extern int finitef (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+extern float dremf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __dremf (float __x, float __y) __attribute__ ((__nothrow__));
+
+
+
+extern float significandf (float __x) __attribute__ ((__nothrow__)); extern float __significandf (float __x) __attribute__ ((__nothrow__));
+
+
+
+
+
+extern float copysignf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+
+
+
+
+extern float nanf (__const char *__tagb) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __nanf (__const char *__tagb) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+
+
+
+extern int __isnanf (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+
+extern int isnanf (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+extern float j0f (float) __attribute__ ((__nothrow__)); extern float __j0f (float) __attribute__ ((__nothrow__));
+extern float j1f (float) __attribute__ ((__nothrow__)); extern float __j1f (float) __attribute__ ((__nothrow__));
+extern float jnf (int, float) __attribute__ ((__nothrow__)); extern float __jnf (int, float) __attribute__ ((__nothrow__));
+extern float y0f (float) __attribute__ ((__nothrow__)); extern float __y0f (float) __attribute__ ((__nothrow__));
+extern float y1f (float) __attribute__ ((__nothrow__)); extern float __y1f (float) __attribute__ ((__nothrow__));
+extern float ynf (int, float) __attribute__ ((__nothrow__)); extern float __ynf (int, float) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+extern float erff (float) __attribute__ ((__nothrow__)); extern float __erff (float) __attribute__ ((__nothrow__));
+extern float erfcf (float) __attribute__ ((__nothrow__)); extern float __erfcf (float) __attribute__ ((__nothrow__));
+extern float lgammaf (float) __attribute__ ((__nothrow__)); extern float __lgammaf (float) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+extern float tgammaf (float) __attribute__ ((__nothrow__)); extern float __tgammaf (float) __attribute__ ((__nothrow__));
+
+
+
+
+
+extern float gammaf (float) __attribute__ ((__nothrow__)); extern float __gammaf (float) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+extern float lgammaf_r (float, int *__signgamp) __attribute__ ((__nothrow__)); extern float __lgammaf_r (float, int *__signgamp) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+extern float rintf (float __x) __attribute__ ((__nothrow__)); extern float __rintf (float __x) __attribute__ ((__nothrow__));
+
+
+extern float nextafterf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __nextafterf (float __x, float __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+extern float nexttowardf (float __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __nexttowardf (float __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+
+extern float remainderf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __remainderf (float __x, float __y) __attribute__ ((__nothrow__));
+
+
+
+extern float scalbnf (float __x, int __n) __attribute__ ((__nothrow__)); extern float __scalbnf (float __x, int __n) __attribute__ ((__nothrow__));
+
+
+
+extern int ilogbf (float __x) __attribute__ ((__nothrow__)); extern int __ilogbf (float __x) __attribute__ ((__nothrow__));
+
+
+
+
+extern float scalblnf (float __x, long int __n) __attribute__ ((__nothrow__)); extern float __scalblnf (float __x, long int __n) __attribute__ ((__nothrow__));
+
+
+
+extern float nearbyintf (float __x) __attribute__ ((__nothrow__)); extern float __nearbyintf (float __x) __attribute__ ((__nothrow__));
+
+
+
+extern float roundf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __roundf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+
+extern float truncf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern float __truncf (float __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+
+
+extern float remquof (float __x, float __y, int *__quo) __attribute__ ((__nothrow__)); extern float __remquof (float __x, float __y, int *__quo) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+extern long int lrintf (float __x) __attribute__ ((__nothrow__)); extern long int __lrintf (float __x) __attribute__ ((__nothrow__));
+extern long long int llrintf (float __x) __attribute__ ((__nothrow__)); extern long long int __llrintf (float __x) __attribute__ ((__nothrow__));
+
+
+
+extern long int lroundf (float __x) __attribute__ ((__nothrow__)); extern long int __lroundf (float __x) __attribute__ ((__nothrow__));
+extern long long int llroundf (float __x) __attribute__ ((__nothrow__)); extern long long int __llroundf (float __x) __attribute__ ((__nothrow__));
+
+
+
+extern float fdimf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __fdimf (float __x, float __y) __attribute__ ((__nothrow__));
+
+
+extern float fmaxf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __fmaxf (float __x, float __y) __attribute__ ((__nothrow__));
+
+
+extern float fminf (float __x, float __y) __attribute__ ((__nothrow__)); extern float __fminf (float __x, float __y) __attribute__ ((__nothrow__));
+
+
+
+extern int __fpclassifyf (float __value) __attribute__ ((__nothrow__))
+     __attribute__ ((__const__));
+
+
+extern int __signbitf (float __value) __attribute__ ((__nothrow__))
+     __attribute__ ((__const__));
+
+
+
+extern float fmaf (float __x, float __y, float __z) __attribute__ ((__nothrow__)); extern float __fmaf (float __x, float __y, float __z) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+
+extern float scalbf (float __x, float __n) __attribute__ ((__nothrow__)); extern float __scalbf (float __x, float __n) __attribute__ ((__nothrow__));
+# 95 "/usr/include/math.h" 2 3 4
+# 141 "/usr/include/math.h" 3 4
+# 1 "/usr/include/bits/mathcalls.h" 1 3 4
+# 53 "/usr/include/bits/mathcalls.h" 3 4
+
+
+extern long double acosl (long double __x) __attribute__ ((__nothrow__)); extern long double __acosl (long double __x) __attribute__ ((__nothrow__));
+
+extern long double asinl (long double __x) __attribute__ ((__nothrow__)); extern long double __asinl (long double __x) __attribute__ ((__nothrow__));
+
+extern long double atanl (long double __x) __attribute__ ((__nothrow__)); extern long double __atanl (long double __x) __attribute__ ((__nothrow__));
+
+extern long double atan2l (long double __y, long double __x) __attribute__ ((__nothrow__)); extern long double __atan2l (long double __y, long double __x) __attribute__ ((__nothrow__));
+
+
+extern long double cosl (long double __x) __attribute__ ((__nothrow__)); extern long double __cosl (long double __x) __attribute__ ((__nothrow__));
+
+extern long double sinl (long double __x) __attribute__ ((__nothrow__)); extern long double __sinl (long double __x) __attribute__ ((__nothrow__));
+
+extern long double tanl (long double __x) __attribute__ ((__nothrow__)); extern long double __tanl (long double __x) __attribute__ ((__nothrow__));
+
+
+
+
+extern long double coshl (long double __x) __attribute__ ((__nothrow__)); extern long double __coshl (long double __x) __attribute__ ((__nothrow__));
+
+extern long double sinhl (long double __x) __attribute__ ((__nothrow__)); extern long double __sinhl (long double __x) __attribute__ ((__nothrow__));
+
+extern long double tanhl (long double __x) __attribute__ ((__nothrow__)); extern long double __tanhl (long double __x) __attribute__ ((__nothrow__));
+
+
+
+
+extern void
+ sincosl
+# 82 "/usr/include/bits/mathcalls.h" 3 4
+ (long double __x, long double *__sinx, long double *__cosx) __attribute__ ((__nothrow__)); extern void
+ __sincosl
+# 82 "/usr/include/bits/mathcalls.h" 3 4
+ (long double __x, long double *__sinx, long double *__cosx) __attribute__ ((__nothrow__))
+                                                           ;
+
+
+
+
+
+extern long double acoshl (long double __x) __attribute__ ((__nothrow__)); extern long double __acoshl (long double __x) __attribute__ ((__nothrow__));
+
+extern long double asinhl (long double __x) __attribute__ ((__nothrow__)); extern long double __asinhl (long double __x) __attribute__ ((__nothrow__));
+
+extern long double atanhl (long double __x) __attribute__ ((__nothrow__)); extern long double __atanhl (long double __x) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+extern long double expl (long double __x) __attribute__ ((__nothrow__)); extern long double __expl (long double __x) __attribute__ ((__nothrow__));
+
+
+extern long double frexpl (long double __x, int *__exponent) __attribute__ ((__nothrow__)); extern long double __frexpl (long double __x, int *__exponent) __attribute__ ((__nothrow__));
+
+
+extern long double ldexpl (long double __x, int __exponent) __attribute__ ((__nothrow__)); extern long double __ldexpl (long double __x, int __exponent) __attribute__ ((__nothrow__));
+
+
+extern long double logl (long double __x) __attribute__ ((__nothrow__)); extern long double __logl (long double __x) __attribute__ ((__nothrow__));
+
+
+extern long double log10l (long double __x) __attribute__ ((__nothrow__)); extern long double __log10l (long double __x) __attribute__ ((__nothrow__));
+
+
+extern long double modfl (long double __x, long double *__iptr) __attribute__ ((__nothrow__)); extern long double __modfl (long double __x, long double *__iptr) __attribute__ ((__nothrow__));
+
+
+
+
+extern long double exp10l (long double __x) __attribute__ ((__nothrow__)); extern long double __exp10l (long double __x) __attribute__ ((__nothrow__));
+
+extern long double pow10l (long double __x) __attribute__ ((__nothrow__)); extern long double __pow10l (long double __x) __attribute__ ((__nothrow__));
+
+
+
+
+
+extern long double expm1l (long double __x) __attribute__ ((__nothrow__)); extern long double __expm1l (long double __x) __attribute__ ((__nothrow__));
+
+
+extern long double log1pl (long double __x) __attribute__ ((__nothrow__)); extern long double __log1pl (long double __x) __attribute__ ((__nothrow__));
+
+
+extern long double logbl (long double __x) __attribute__ ((__nothrow__)); extern long double __logbl (long double __x) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+extern long double exp2l (long double __x) __attribute__ ((__nothrow__)); extern long double __exp2l (long double __x) __attribute__ ((__nothrow__));
+
+
+extern long double log2l (long double __x) __attribute__ ((__nothrow__)); extern long double __log2l (long double __x) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+
+extern long double powl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __powl (long double __x, long double __y) __attribute__ ((__nothrow__));
+
+
+extern long double sqrtl (long double __x) __attribute__ ((__nothrow__)); extern long double __sqrtl (long double __x) __attribute__ ((__nothrow__));
+
+
+
+
+
+extern long double hypotl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __hypotl (long double __x, long double __y) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+extern long double cbrtl (long double __x) __attribute__ ((__nothrow__)); extern long double __cbrtl (long double __x) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+
+extern long double ceill (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __ceill (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+extern long double fabsl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __fabsl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+extern long double floorl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __floorl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+extern long double fmodl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __fmodl (long double __x, long double __y) __attribute__ ((__nothrow__));
+
+
+
+
+extern int __isinfl (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+extern int __finitel (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+
+
+
+extern int isinfl (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+extern int finitel (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+extern long double dreml (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __dreml (long double __x, long double __y) __attribute__ ((__nothrow__));
+
+
+
+extern long double significandl (long double __x) __attribute__ ((__nothrow__)); extern long double __significandl (long double __x) __attribute__ ((__nothrow__));
+
+
+
+
+
+extern long double copysignl (long double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+
+
+
+
+extern long double nanl (__const char *__tagb) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __nanl (__const char *__tagb) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+
+
+
+extern int __isnanl (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+
+extern int isnanl (long double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+extern long double j0l (long double) __attribute__ ((__nothrow__)); extern long double __j0l (long double) __attribute__ ((__nothrow__));
+extern long double j1l (long double) __attribute__ ((__nothrow__)); extern long double __j1l (long double) __attribute__ ((__nothrow__));
+extern long double jnl (int, long double) __attribute__ ((__nothrow__)); extern long double __jnl (int, long double) __attribute__ ((__nothrow__));
+extern long double y0l (long double) __attribute__ ((__nothrow__)); extern long double __y0l (long double) __attribute__ ((__nothrow__));
+extern long double y1l (long double) __attribute__ ((__nothrow__)); extern long double __y1l (long double) __attribute__ ((__nothrow__));
+extern long double ynl (int, long double) __attribute__ ((__nothrow__)); extern long double __ynl (int, long double) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+extern long double erfl (long double) __attribute__ ((__nothrow__)); extern long double __erfl (long double) __attribute__ ((__nothrow__));
+extern long double erfcl (long double) __attribute__ ((__nothrow__)); extern long double __erfcl (long double) __attribute__ ((__nothrow__));
+extern long double lgammal (long double) __attribute__ ((__nothrow__)); extern long double __lgammal (long double) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+extern long double tgammal (long double) __attribute__ ((__nothrow__)); extern long double __tgammal (long double) __attribute__ ((__nothrow__));
+
+
+
+
+
+extern long double gammal (long double) __attribute__ ((__nothrow__)); extern long double __gammal (long double) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+extern long double lgammal_r (long double, int *__signgamp) __attribute__ ((__nothrow__)); extern long double __lgammal_r (long double, int *__signgamp) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+extern long double rintl (long double __x) __attribute__ ((__nothrow__)); extern long double __rintl (long double __x) __attribute__ ((__nothrow__));
+
+
+extern long double nextafterl (long double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __nextafterl (long double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+extern long double nexttowardl (long double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __nexttowardl (long double __x, long double __y) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+
+extern long double remainderl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __remainderl (long double __x, long double __y) __attribute__ ((__nothrow__));
+
+
+
+extern long double scalbnl (long double __x, int __n) __attribute__ ((__nothrow__)); extern long double __scalbnl (long double __x, int __n) __attribute__ ((__nothrow__));
+
+
+
+extern int ilogbl (long double __x) __attribute__ ((__nothrow__)); extern int __ilogbl (long double __x) __attribute__ ((__nothrow__));
+
+
+
+
+extern long double scalblnl (long double __x, long int __n) __attribute__ ((__nothrow__)); extern long double __scalblnl (long double __x, long int __n) __attribute__ ((__nothrow__));
+
+
+
+extern long double nearbyintl (long double __x) __attribute__ ((__nothrow__)); extern long double __nearbyintl (long double __x) __attribute__ ((__nothrow__));
+
+
+
+extern long double roundl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __roundl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+
+extern long double truncl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); extern long double __truncl (long double __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+
+
+extern long double remquol (long double __x, long double __y, int *__quo) __attribute__ ((__nothrow__)); extern long double __remquol (long double __x, long double __y, int *__quo) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+extern long int lrintl (long double __x) __attribute__ ((__nothrow__)); extern long int __lrintl (long double __x) __attribute__ ((__nothrow__));
+extern long long int llrintl (long double __x) __attribute__ ((__nothrow__)); extern long long int __llrintl (long double __x) __attribute__ ((__nothrow__));
+
+
+
+extern long int lroundl (long double __x) __attribute__ ((__nothrow__)); extern long int __lroundl (long double __x) __attribute__ ((__nothrow__));
+extern long long int llroundl (long double __x) __attribute__ ((__nothrow__)); extern long long int __llroundl (long double __x) __attribute__ ((__nothrow__));
+
+
+
+extern long double fdiml (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __fdiml (long double __x, long double __y) __attribute__ ((__nothrow__));
+
+
+extern long double fmaxl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __fmaxl (long double __x, long double __y) __attribute__ ((__nothrow__));
+
+
+extern long double fminl (long double __x, long double __y) __attribute__ ((__nothrow__)); extern long double __fminl (long double __x, long double __y) __attribute__ ((__nothrow__));
+
+
+
+extern int __fpclassifyl (long double __value) __attribute__ ((__nothrow__))
+     __attribute__ ((__const__));
+
+
+extern int __signbitl (long double __value) __attribute__ ((__nothrow__))
+     __attribute__ ((__const__));
+
+
+
+extern long double fmal (long double __x, long double __y, long double __z) __attribute__ ((__nothrow__)); extern long double __fmal (long double __x, long double __y, long double __z) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+
+extern long double scalbl (long double __x, long double __n) __attribute__ ((__nothrow__)); extern long double __scalbl (long double __x, long double __n) __attribute__ ((__nothrow__));
+# 142 "/usr/include/math.h" 2 3 4
+# 157 "/usr/include/math.h" 3 4
+extern int signgam;
+# 198 "/usr/include/math.h" 3 4
+enum
+  {
+    FP_NAN,
+
+    FP_INFINITE,
+
+    FP_ZERO,
+
+    FP_SUBNORMAL,
+
+    FP_NORMAL
+
+  };
+# 291 "/usr/include/math.h" 3 4
+typedef enum
+{
+  _IEEE_ = -1,
+  _SVID_,
+  _XOPEN_,
+  _POSIX_,
+  _ISOC_
+} _LIB_VERSION_TYPE;
+
+
+
+
+extern _LIB_VERSION_TYPE _LIB_VERSION;
+# 316 "/usr/include/math.h" 3 4
+struct exception
+
+  {
+    int type;
+    char *name;
+    double arg1;
+    double arg2;
+    double retval;
+  };
+
+
+
+
+extern int matherr (struct exception *__exc);
+# 416 "/usr/include/math.h" 3 4
+# 1 "/usr/include/bits/mathinline.h" 1 3 4
+# 417 "/usr/include/math.h" 2 3 4
+# 472 "/usr/include/math.h" 3 4
+
+# 43 "../../src/mesa/main/compiler.h" 2
+
+# 1 "/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.5.3/include-fixed/limits.h" 1 3 4
+# 34 "/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.5.3/include-fixed/limits.h" 3 4
+# 1 "/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.5.3/include-fixed/syslimits.h" 1 3 4
+
+
+
+
+
+
+# 1 "/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.5.3/include-fixed/limits.h" 1 3 4
+# 169 "/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.5.3/include-fixed/limits.h" 3 4
+# 1 "/usr/include/limits.h" 1 3 4
+# 145 "/usr/include/limits.h" 3 4
+# 1 "/usr/include/bits/posix1_lim.h" 1 3 4
+# 157 "/usr/include/bits/posix1_lim.h" 3 4
+# 1 "/usr/include/bits/local_lim.h" 1 3 4
+# 39 "/usr/include/bits/local_lim.h" 3 4
+# 1 "/usr/include/linux/limits.h" 1 3 4
+# 40 "/usr/include/bits/local_lim.h" 2 3 4
+# 158 "/usr/include/bits/posix1_lim.h" 2 3 4
+# 146 "/usr/include/limits.h" 2 3 4
+
+
+
+# 1 "/usr/include/bits/posix2_lim.h" 1 3 4
+# 150 "/usr/include/limits.h" 2 3 4
+
+
+
+# 1 "/usr/include/bits/xopen_lim.h" 1 3 4
+# 34 "/usr/include/bits/xopen_lim.h" 3 4
+# 1 "/usr/include/bits/stdio_lim.h" 1 3 4
+# 35 "/usr/include/bits/xopen_lim.h" 2 3 4
+# 154 "/usr/include/limits.h" 2 3 4
+# 170 "/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.5.3/include-fixed/limits.h" 2 3 4
+# 8 "/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.5.3/include-fixed/syslimits.h" 2 3 4
+# 35 "/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.5.3/include-fixed/limits.h" 2 3 4
+# 45 "../../src/mesa/main/compiler.h" 2
+# 1 "/usr/include/stdlib.h" 1 3 4
+# 33 "/usr/include/stdlib.h" 3 4
+# 1 "/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.5.3/include/stddef.h" 1 3 4
+# 34 "/usr/include/stdlib.h" 2 3 4
+
+
+
+
+
+
+
+
+# 1 "/usr/include/bits/waitflags.h" 1 3 4
+# 43 "/usr/include/stdlib.h" 2 3 4
+# 1 "/usr/include/bits/waitstatus.h" 1 3 4
+# 67 "/usr/include/bits/waitstatus.h" 3 4
+union wait
+  {
+    int w_status;
+    struct
+      {
+
+
+
+
+
+
+
+ unsigned int:16;
+ unsigned int __w_retcode:8;
+ unsigned int __w_coredump:1;
+ unsigned int __w_termsig:7;
+
+      } __wait_terminated;
+    struct
+      {
+
+
+
+
+
+
+ unsigned int:16;
+ unsigned int __w_stopsig:8;
+ unsigned int __w_stopval:8;
+
+      } __wait_stopped;
+  };
+# 44 "/usr/include/stdlib.h" 2 3 4
+# 68 "/usr/include/stdlib.h" 3 4
+typedef union
+  {
+    union wait *__uptr;
+    int *__iptr;
+  } __WAIT_STATUS __attribute__ ((__transparent_union__));
+# 96 "/usr/include/stdlib.h" 3 4
+
+
+typedef struct
+  {
+    int quot;
+    int rem;
+  } div_t;
+
+
+
+typedef struct
+  {
+    long int quot;
+    long int rem;
+  } ldiv_t;
+
+
+
+
+
+
+
+__extension__ typedef struct
+  {
+    long long int quot;
+    long long int rem;
+  } lldiv_t;
+
+
+# 140 "/usr/include/stdlib.h" 3 4
+extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern double atof (__const char *__nptr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+extern int atoi (__const char *__nptr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+extern long int atol (__const char *__nptr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+__extension__ extern long long int atoll (__const char *__nptr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern double strtod (__const char *__restrict __nptr,
+        char **__restrict __endptr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern float strtof (__const char *__restrict __nptr,
+       char **__restrict __endptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+extern long double strtold (__const char *__restrict __nptr,
+       char **__restrict __endptr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern long int strtol (__const char *__restrict __nptr,
+   char **__restrict __endptr, int __base)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+extern unsigned long int strtoul (__const char *__restrict __nptr,
+      char **__restrict __endptr, int __base)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+__extension__
+extern long long int strtoq (__const char *__restrict __nptr,
+        char **__restrict __endptr, int __base)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+__extension__
+extern unsigned long long int strtouq (__const char *__restrict __nptr,
+           char **__restrict __endptr, int __base)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+__extension__
+extern long long int strtoll (__const char *__restrict __nptr,
+         char **__restrict __endptr, int __base)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+__extension__
+extern unsigned long long int strtoull (__const char *__restrict __nptr,
+     char **__restrict __endptr, int __base)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+# 240 "/usr/include/stdlib.h" 3 4
+extern long int strtol_l (__const char *__restrict __nptr,
+     char **__restrict __endptr, int __base,
+     __locale_t __loc) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 4))) __attribute__ ((__warn_unused_result__));
+
+extern unsigned long int strtoul_l (__const char *__restrict __nptr,
+        char **__restrict __endptr,
+        int __base, __locale_t __loc)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 4))) __attribute__ ((__warn_unused_result__));
+
+__extension__
+extern long long int strtoll_l (__const char *__restrict __nptr,
+    char **__restrict __endptr, int __base,
+    __locale_t __loc)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 4))) __attribute__ ((__warn_unused_result__));
+
+__extension__
+extern unsigned long long int strtoull_l (__const char *__restrict __nptr,
+       char **__restrict __endptr,
+       int __base, __locale_t __loc)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 4))) __attribute__ ((__warn_unused_result__));
+
+extern double strtod_l (__const char *__restrict __nptr,
+   char **__restrict __endptr, __locale_t __loc)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3))) __attribute__ ((__warn_unused_result__));
+
+extern float strtof_l (__const char *__restrict __nptr,
+         char **__restrict __endptr, __locale_t __loc)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3))) __attribute__ ((__warn_unused_result__));
+
+extern long double strtold_l (__const char *__restrict __nptr,
+         char **__restrict __endptr,
+         __locale_t __loc)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern __inline __attribute__ ((__gnu_inline__)) double
+__attribute__ ((__nothrow__)) atof (__const char *__nptr)
+{
+  return strtod (__nptr, (char **) ((void *)0));
+}
+extern __inline __attribute__ ((__gnu_inline__)) int
+__attribute__ ((__nothrow__)) atoi (__const char *__nptr)
+{
+  return (int) strtol (__nptr, (char **) ((void *)0), 10);
+}
+extern __inline __attribute__ ((__gnu_inline__)) long int
+__attribute__ ((__nothrow__)) atol (__const char *__nptr)
+{
+  return strtol (__nptr, (char **) ((void *)0), 10);
+}
+
+
+
+
+__extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int
+__attribute__ ((__nothrow__)) atoll (__const char *__nptr)
+{
+  return strtoll (__nptr, (char **) ((void *)0), 10);
+}
+
+# 311 "/usr/include/stdlib.h" 3 4
+extern char *l64a (long int __n) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__));
+
+
+extern long int a64l (__const char *__s)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+# 1 "/usr/include/sys/types.h" 1 3 4
+# 28 "/usr/include/sys/types.h" 3 4
+
+
+
+
+
+
+typedef __u_char u_char;
+typedef __u_short u_short;
+typedef __u_int u_int;
+typedef __u_long u_long;
+typedef __quad_t quad_t;
+typedef __u_quad_t u_quad_t;
+typedef __fsid_t fsid_t;
+
+
+
+
+typedef __loff_t loff_t;
+
+
+
+typedef __ino_t ino_t;
+
+
+
+
+
+
+typedef __ino64_t ino64_t;
+
+
+
+
+typedef __dev_t dev_t;
+
+
+
+
+typedef __gid_t gid_t;
+
+
+
+
+typedef __mode_t mode_t;
+
+
+
+
+typedef __nlink_t nlink_t;
+
+
+
+
+typedef __uid_t uid_t;
+
+
+
+
+
+typedef __off_t off_t;
+
+
+
+
+
+
+typedef __off64_t off64_t;
+
+
+
+
+typedef __pid_t pid_t;
+
+
+
+
+
+typedef __id_t id_t;
+
+
+
+
+typedef __ssize_t ssize_t;
+
+
+
+
+
+typedef __daddr_t daddr_t;
+typedef __caddr_t caddr_t;
+
+
+
+
+
+typedef __key_t key_t;
+# 133 "/usr/include/sys/types.h" 3 4
+# 1 "/usr/include/time.h" 1 3 4
+# 58 "/usr/include/time.h" 3 4
+
+
+typedef __clock_t clock_t;
+
+
+
+# 74 "/usr/include/time.h" 3 4
+
+
+typedef __time_t time_t;
+
+
+
+# 92 "/usr/include/time.h" 3 4
+typedef __clockid_t clockid_t;
+# 104 "/usr/include/time.h" 3 4
+typedef __timer_t timer_t;
+# 134 "/usr/include/sys/types.h" 2 3 4
+
+
+
+typedef __useconds_t useconds_t;
+
+
+
+typedef __suseconds_t suseconds_t;
+
+
+
+
+
+# 1 "/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.5.3/include/stddef.h" 1 3 4
+# 148 "/usr/include/sys/types.h" 2 3 4
+
+
+
+typedef unsigned long int ulong;
+typedef unsigned short int ushort;
+typedef unsigned int uint;
+# 201 "/usr/include/sys/types.h" 3 4
+typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
+typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
+typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
+typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
+
+typedef int register_t __attribute__ ((__mode__ (__word__)));
+# 220 "/usr/include/sys/types.h" 3 4
+# 1 "/usr/include/sys/select.h" 1 3 4
+# 31 "/usr/include/sys/select.h" 3 4
+# 1 "/usr/include/bits/select.h" 1 3 4
+# 32 "/usr/include/sys/select.h" 2 3 4
+
+
+# 1 "/usr/include/bits/sigset.h" 1 3 4
+# 24 "/usr/include/bits/sigset.h" 3 4
+typedef int __sig_atomic_t;
+
+
+
+
+typedef struct
+  {
+    unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
+  } __sigset_t;
+# 35 "/usr/include/sys/select.h" 2 3 4
+
+
+
+typedef __sigset_t sigset_t;
+
+
+
+
+
+# 1 "/usr/include/time.h" 1 3 4
+# 120 "/usr/include/time.h" 3 4
+struct timespec
+  {
+    __time_t tv_sec;
+    long int tv_nsec;
+  };
+# 45 "/usr/include/sys/select.h" 2 3 4
+
+# 1 "/usr/include/bits/time.h" 1 3 4
+# 75 "/usr/include/bits/time.h" 3 4
+struct timeval
+  {
+    __time_t tv_sec;
+    __suseconds_t tv_usec;
+  };
+# 47 "/usr/include/sys/select.h" 2 3 4
+# 55 "/usr/include/sys/select.h" 3 4
+typedef long int __fd_mask;
+# 67 "/usr/include/sys/select.h" 3 4
+typedef struct
+  {
+
+
+
+    __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))];
+
+
+
+
+
+  } fd_set;
+
+
+
+
+
+
+typedef __fd_mask fd_mask;
+# 99 "/usr/include/sys/select.h" 3 4
+
+# 109 "/usr/include/sys/select.h" 3 4
+extern int select (int __nfds, fd_set *__restrict __readfds,
+     fd_set *__restrict __writefds,
+     fd_set *__restrict __exceptfds,
+     struct timeval *__restrict __timeout);
+# 121 "/usr/include/sys/select.h" 3 4
+extern int pselect (int __nfds, fd_set *__restrict __readfds,
+      fd_set *__restrict __writefds,
+      fd_set *__restrict __exceptfds,
+      const struct timespec *__restrict __timeout,
+      const __sigset_t *__restrict __sigmask);
+
+
+
+# 221 "/usr/include/sys/types.h" 2 3 4
+
+
+# 1 "/usr/include/sys/sysmacros.h" 1 3 4
+# 30 "/usr/include/sys/sysmacros.h" 3 4
+__extension__
+extern unsigned int gnu_dev_major (unsigned long long int __dev)
+     __attribute__ ((__nothrow__));
+__extension__
+extern unsigned int gnu_dev_minor (unsigned long long int __dev)
+     __attribute__ ((__nothrow__));
+__extension__
+extern unsigned long long int gnu_dev_makedev (unsigned int __major,
+            unsigned int __minor)
+     __attribute__ ((__nothrow__));
+
+
+__extension__ extern __inline __attribute__ ((__gnu_inline__)) unsigned int
+__attribute__ ((__nothrow__)) gnu_dev_major (unsigned long long int __dev)
+{
+  return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff);
+}
+
+__extension__ extern __inline __attribute__ ((__gnu_inline__)) unsigned int
+__attribute__ ((__nothrow__)) gnu_dev_minor (unsigned long long int __dev)
+{
+  return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff);
+}
+
+__extension__ extern __inline __attribute__ ((__gnu_inline__)) unsigned long long int
+__attribute__ ((__nothrow__)) gnu_dev_makedev (unsigned int __major, unsigned int __minor)
+{
+  return ((__minor & 0xff) | ((__major & 0xfff) << 8)
+   | (((unsigned long long int) (__minor & ~0xff)) << 12)
+   | (((unsigned long long int) (__major & ~0xfff)) << 32));
+}
+# 224 "/usr/include/sys/types.h" 2 3 4
+
+
+
+
+
+typedef __blksize_t blksize_t;
+
+
+
+
+
+
+typedef __blkcnt_t blkcnt_t;
+
+
+
+typedef __fsblkcnt_t fsblkcnt_t;
+
+
+
+typedef __fsfilcnt_t fsfilcnt_t;
+# 263 "/usr/include/sys/types.h" 3 4
+typedef __blkcnt64_t blkcnt64_t;
+typedef __fsblkcnt64_t fsblkcnt64_t;
+typedef __fsfilcnt64_t fsfilcnt64_t;
+
+
+
+
+
+# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4
+# 46 "/usr/include/bits/pthreadtypes.h" 3 4
+typedef unsigned long int pthread_t;
+
+typedef union
+{
+  char __size[36];
+  long int __align;
+} pthread_attr_t;
+
+
+typedef struct __pthread_internal_slist
+{
+  struct __pthread_internal_slist *__next;
+} __pthread_slist_t;
+
+
+
+
+typedef union
+{
+  struct __pthread_mutex_s
+  {
+    int __lock __attribute__ ((aligned(16)));
+    unsigned int __count;
+    int __owner;
+
+
+    int __kind;
+
+
+
+    int __compat_padding[4];
+
+
+    unsigned int __nusers;
+    __extension__ union
+    {
+      int __spins;
+      __pthread_slist_t __list;
+    };
+
+
+    int __reserved1;
+    int __reserved2;
+  } __data;
+  char __size[48];
+  long int __align;
+} pthread_mutex_t;
+
+typedef union
+{
+  char __size[4];
+  long int __align;
+} pthread_mutexattr_t;
+# 108 "/usr/include/bits/pthreadtypes.h" 3 4
+typedef union
+{
+  struct
+  {
+
+
+
+
+    int __lock __attribute__ ((aligned(16)));
+
+
+
+
+    int __initializer;
+    unsigned int __futex;
+    void *__mutex;
+
+
+    __extension__ unsigned long long int __total_seq;
+    __extension__ unsigned long long int __wakeup_seq;
+    __extension__ unsigned long long int __woken_seq;
+    unsigned int __nwaiters;
+    unsigned int __broadcast_seq;
+
+
+  } __data;
+  char __size[48];
+  __extension__ long long int __align;
+} pthread_cond_t;
+
+typedef union
+{
+  char __size[4];
+  long int __align;
+} pthread_condattr_t;
+
+
+
+typedef unsigned int pthread_key_t;
+
+
+
+typedef int pthread_once_t;
+
+
+
+
+
+typedef union
+{
+  struct
+  {
+
+
+
+
+    int __compat_padding[4] __attribute__ ((aligned(16)));
+    int __lock;
+    unsigned int __nr_readers;
+    unsigned int __readers_wakeup;
+    unsigned int __writer_wakeup;
+    unsigned int __nr_readers_queued;
+    unsigned int __nr_writers_queued;
+    int __writer;
+
+
+
+    int __reserved1;
+
+
+    unsigned char __pad2;
+    unsigned char __pad1;
+    unsigned char __shared;
+    unsigned char __flags;
+
+
+
+    int __reserved2;
+    int __reserved3;
+    int __reserved4;
+  } __data;
+  char __size[64];
+  long int __align;
+} pthread_rwlock_t;
+
+typedef union
+{
+  char __size[8];
+  long int __align;
+} pthread_rwlockattr_t;
+
+
+
+
+
+typedef volatile int pthread_spinlock_t;
+
+
+
+
+typedef union
+{
+  char __size[48];
+  long int __align;
+} pthread_barrier_t;
+
+typedef union
+{
+  char __size[4];
+  int __align;
+} pthread_barrierattr_t;
+# 272 "/usr/include/sys/types.h" 2 3 4
+
+
+
+# 321 "/usr/include/stdlib.h" 2 3 4
+
+
+
+
+
+
+extern long int random (void) __attribute__ ((__nothrow__));
+
+
+extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__));
+
+
+
+
+
+extern char *initstate (unsigned int __seed, char *__statebuf,
+   size_t __statelen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
+
+
+
+extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+
+struct random_data
+  {
+    int32_t *fptr;
+    int32_t *rptr;
+    int32_t *state;
+    int rand_type;
+    int rand_deg;
+    int rand_sep;
+    int32_t *end_ptr;
+  };
+
+extern int random_r (struct random_data *__restrict __buf,
+       int32_t *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+extern int srandom_r (unsigned int __seed, struct random_data *__buf)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
+
+extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
+   size_t __statelen,
+   struct random_data *__restrict __buf)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4)));
+
+extern int setstate_r (char *__restrict __statebuf,
+         struct random_data *__restrict __buf)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+
+
+extern int rand (void) __attribute__ ((__nothrow__));
+
+extern void srand (unsigned int __seed) __attribute__ ((__nothrow__));
+
+
+
+
+extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+extern double drand48 (void) __attribute__ ((__nothrow__));
+extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern long int lrand48 (void) __attribute__ ((__nothrow__));
+extern long int nrand48 (unsigned short int __xsubi[3])
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern long int mrand48 (void) __attribute__ ((__nothrow__));
+extern long int jrand48 (unsigned short int __xsubi[3])
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern void srand48 (long int __seedval) __attribute__ ((__nothrow__));
+extern unsigned short int *seed48 (unsigned short int __seed16v[3])
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+struct drand48_data
+  {
+    unsigned short int __x[3];
+    unsigned short int __old_x[3];
+    unsigned short int __c;
+    unsigned short int __init;
+    unsigned long long int __a;
+  };
+
+
+extern int drand48_r (struct drand48_data *__restrict __buffer,
+        double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+extern int erand48_r (unsigned short int __xsubi[3],
+        struct drand48_data *__restrict __buffer,
+        double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int lrand48_r (struct drand48_data *__restrict __buffer,
+        long int *__restrict __result)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+extern int nrand48_r (unsigned short int __xsubi[3],
+        struct drand48_data *__restrict __buffer,
+        long int *__restrict __result)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int mrand48_r (struct drand48_data *__restrict __buffer,
+        long int *__restrict __result)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+extern int jrand48_r (unsigned short int __xsubi[3],
+        struct drand48_data *__restrict __buffer,
+        long int *__restrict __result)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
+
+extern int seed48_r (unsigned short int __seed16v[3],
+       struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+extern int lcong48_r (unsigned short int __param[7],
+        struct drand48_data *__buffer)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+
+
+
+
+
+extern void *malloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__));
+
+extern void *calloc (size_t __nmemb, size_t __size)
+     __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+
+
+
+
+extern void *realloc (void *__ptr, size_t __size)
+     __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__));
+
+extern void free (void *__ptr) __attribute__ ((__nothrow__));
+
+
+
+
+extern void cfree (void *__ptr) __attribute__ ((__nothrow__));
+
+
+
+# 1 "/usr/include/alloca.h" 1 3 4
+# 25 "/usr/include/alloca.h" 3 4
+# 1 "/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.5.3/include/stddef.h" 1 3 4
+# 26 "/usr/include/alloca.h" 2 3 4
+
+
+
+
+
+
+
+extern void *alloca (size_t __size) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+# 498 "/usr/include/stdlib.h" 2 3 4
+
+
+
+
+
+extern void *valloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern void abort (void) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
+
+
+
+extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+# 528 "/usr/include/stdlib.h" 3 4
+extern int at_quick_exit (void (*__func) (void)) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+
+extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+extern void exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
+
+
+
+
+
+
+
+extern void quick_exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
+
+
+
+
+
+
+
+extern void _Exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
+
+
+
+
+
+
+extern char *getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern char *__secure_getenv (__const char *__name)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern int putenv (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern int setenv (__const char *__name, __const char *__value, int __replace)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
+
+
+extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+extern int clearenv (void) __attribute__ ((__nothrow__));
+# 606 "/usr/include/stdlib.h" 3 4
+extern char *mktemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+# 620 "/usr/include/stdlib.h" 3 4
+extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+# 630 "/usr/include/stdlib.h" 3 4
+extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+# 642 "/usr/include/stdlib.h" 3 4
+extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+# 652 "/usr/include/stdlib.h" 3 4
+extern int mkstemps64 (char *__template, int __suffixlen)
+     __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+# 663 "/usr/include/stdlib.h" 3 4
+extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+# 674 "/usr/include/stdlib.h" 3 4
+extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+# 684 "/usr/include/stdlib.h" 3 4
+extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+# 694 "/usr/include/stdlib.h" 3 4
+extern int mkostemps (char *__template, int __suffixlen, int __flags)
+     __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+# 706 "/usr/include/stdlib.h" 3 4
+extern int mkostemps64 (char *__template, int __suffixlen, int __flags)
+     __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+
+
+
+extern int system (__const char *__command) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+extern char *canonicalize_file_name (__const char *__name)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+# 734 "/usr/include/stdlib.h" 3 4
+extern char *realpath (__const char *__restrict __name,
+         char *__restrict __resolved) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+typedef int (*__compar_fn_t) (__const void *, __const void *);
+
+
+typedef __compar_fn_t comparison_fn_t;
+
+
+
+typedef int (*__compar_d_fn_t) (__const void *, __const void *, void *);
+
+
+
+
+
+extern void *bsearch (__const void *__key, __const void *__base,
+        size_t __nmemb, size_t __size, __compar_fn_t __compar)
+     __attribute__ ((__nonnull__ (1, 2, 5))) __attribute__ ((__warn_unused_result__));
+
+
+
+extern void qsort (void *__base, size_t __nmemb, size_t __size,
+     __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
+
+extern void qsort_r (void *__base, size_t __nmemb, size_t __size,
+       __compar_d_fn_t __compar, void *__arg)
+  __attribute__ ((__nonnull__ (1, 4)));
+
+
+
+
+extern int abs (int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
+extern long int labs (long int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
+
+
+
+__extension__ extern long long int llabs (long long int __x)
+     __attribute__ ((__nothrow__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+
+extern div_t div (int __numer, int __denom)
+     __attribute__ ((__nothrow__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
+extern ldiv_t ldiv (long int __numer, long int __denom)
+     __attribute__ ((__nothrow__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+__extension__ extern lldiv_t lldiv (long long int __numer,
+        long long int __denom)
+     __attribute__ ((__nothrow__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
+
+# 808 "/usr/include/stdlib.h" 3 4
+extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
+     int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
+     int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern char *gcvt (double __value, int __ndigit, char *__buf)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern char *qecvt (long double __value, int __ndigit,
+      int *__restrict __decpt, int *__restrict __sign)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
+extern char *qfcvt (long double __value, int __ndigit,
+      int *__restrict __decpt, int *__restrict __sign)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
+extern char *qgcvt (long double __value, int __ndigit, char *__buf)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
+     int *__restrict __sign, char *__restrict __buf,
+     size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
+extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
+     int *__restrict __sign, char *__restrict __buf,
+     size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
+
+extern int qecvt_r (long double __value, int __ndigit,
+      int *__restrict __decpt, int *__restrict __sign,
+      char *__restrict __buf, size_t __len)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
+extern int qfcvt_r (long double __value, int __ndigit,
+      int *__restrict __decpt, int *__restrict __sign,
+      char *__restrict __buf, size_t __len)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
+
+
+
+
+
+
+
+extern int mblen (__const char *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__));
+
+
+extern int mbtowc (wchar_t *__restrict __pwc,
+     __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__));
+
+
+extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__));
+
+
+
+extern size_t mbstowcs (wchar_t *__restrict __pwcs,
+   __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__));
+
+extern size_t wcstombs (char *__restrict __s,
+   __const wchar_t *__restrict __pwcs, size_t __n)
+     __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+
+extern int rpmatch (__const char *__response) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+# 896 "/usr/include/stdlib.h" 3 4
+extern int getsubopt (char **__restrict __optionp,
+        char *__const *__restrict __tokens,
+        char **__restrict __valuep)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern void setkey (__const char *__key) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+
+extern int posix_openpt (int __oflag) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+
+extern int grantpt (int __fd) __attribute__ ((__nothrow__));
+
+
+
+extern int unlockpt (int __fd) __attribute__ ((__nothrow__));
+
+
+
+
+extern char *ptsname (int __fd) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+extern int ptsname_r (int __fd, char *__buf, size_t __buflen)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
+
+
+extern int getpt (void);
+
+
+
+
+
+
+extern int getloadavg (double __loadavg[], int __nelem)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+# 1 "/usr/include/bits/stdlib.h" 1 3 4
+# 24 "/usr/include/bits/stdlib.h" 3 4
+extern char *__realpath_chk (__const char *__restrict __name,
+        char *__restrict __resolved,
+        size_t __resolvedlen) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__));
+extern char *__realpath_alias (__const char *__restrict __name, char *__restrict __resolved) __asm__ ("" "realpath") __attribute__ ((__nothrow__))
+
+                                                 __attribute__ ((__warn_unused_result__));
+extern char *__realpath_chk_warn (__const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) __asm__ ("" "__realpath_chk") __attribute__ ((__nothrow__))
+
+
+                                                __attribute__ ((__warn_unused_result__))
+     __attribute__((__warning__ ("second argument of realpath must be either NULL or at " "least PATH_MAX bytes long buffer")))
+                                      ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __attribute__ ((__warn_unused_result__)) char *
+__attribute__ ((__nothrow__)) realpath (__const char *__restrict __name, char *__restrict __resolved)
+{
+  if (__builtin_object_size (__resolved, 2 > 1) != (size_t) -1)
+    {
+
+      if (__builtin_object_size (__resolved, 2 > 1) < 4096)
+ return __realpath_chk_warn (__name, __resolved, __builtin_object_size (__resolved, 2 > 1));
+
+      return __realpath_chk (__name, __resolved, __builtin_object_size (__resolved, 2 > 1));
+    }
+
+  return __realpath_alias (__name, __resolved);
+}
+
+
+extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen,
+       size_t __nreal) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
+extern int __ptsname_r_alias (int __fd, char *__buf, size_t __buflen) __asm__ ("" "ptsname_r") __attribute__ ((__nothrow__))
+
+     __attribute__ ((__nonnull__ (2)));
+extern int __ptsname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__ptsname_r_chk") __attribute__ ((__nothrow__))
+
+
+     __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ptsname_r called with buflen bigger than " "size of buf")))
+                   ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int
+__attribute__ ((__nothrow__)) ptsname_r (int __fd, char *__buf, size_t __buflen)
+{
+  if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1)
+    {
+      if (!__builtin_constant_p (__buflen))
+ return __ptsname_r_chk (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1));
+      if (__buflen > __builtin_object_size (__buf, 2 > 1))
+ return __ptsname_r_chk_warn (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1));
+    }
+  return __ptsname_r_alias (__fd, __buf, __buflen);
+}
+
+
+extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen)
+  __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__));
+extern int __wctomb_alias (char *__s, wchar_t __wchar) __asm__ ("" "wctomb") __attribute__ ((__nothrow__))
+              __attribute__ ((__warn_unused_result__));
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __attribute__ ((__warn_unused_result__)) int
+__attribute__ ((__nothrow__)) wctomb (char *__s, wchar_t __wchar)
+{
+
+
+
+
+
+
+
+  if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 && 16 > __builtin_object_size (__s, 2 > 1))
+    return __wctomb_chk (__s, __wchar, __builtin_object_size (__s, 2 > 1));
+  return __wctomb_alias (__s, __wchar);
+}
+
+
+extern size_t __mbstowcs_chk (wchar_t *__restrict __dst,
+         __const char *__restrict __src,
+         size_t __len, size_t __dstlen) __attribute__ ((__nothrow__));
+extern size_t __mbstowcs_alias (wchar_t *__restrict __dst, __const char *__restrict __src, size_t __len) __asm__ ("" "mbstowcs") __attribute__ ((__nothrow__))
+
+
+                                  ;
+extern size_t __mbstowcs_chk_warn (wchar_t *__restrict __dst, __const char *__restrict __src, size_t __len, size_t __dstlen) __asm__ ("" "__mbstowcs_chk") __attribute__ ((__nothrow__))
+
+
+
+     __attribute__((__warning__ ("mbstowcs called with dst buffer smaller than len " "* sizeof (wchar_t)")))
+                        ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) size_t
+__attribute__ ((__nothrow__)) mbstowcs (wchar_t *__restrict __dst, __const char *__restrict __src, size_t __len)
+
+{
+  if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1)
+    {
+      if (!__builtin_constant_p (__len))
+ return __mbstowcs_chk (__dst, __src, __len,
+          __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t));
+
+      if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t))
+ return __mbstowcs_chk_warn (__dst, __src, __len,
+         __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t));
+    }
+  return __mbstowcs_alias (__dst, __src, __len);
+}
+
+
+extern size_t __wcstombs_chk (char *__restrict __dst,
+         __const wchar_t *__restrict __src,
+         size_t __len, size_t __dstlen) __attribute__ ((__nothrow__));
+extern size_t __wcstombs_alias (char *__restrict __dst, __const wchar_t *__restrict __src, size_t __len) __asm__ ("" "wcstombs") __attribute__ ((__nothrow__))
+
+
+                                  ;
+extern size_t __wcstombs_chk_warn (char *__restrict __dst, __const wchar_t *__restrict __src, size_t __len, size_t __dstlen) __asm__ ("" "__wcstombs_chk") __attribute__ ((__nothrow__))
+
+
+
+     __attribute__((__warning__ ("wcstombs called with dst buffer smaller than len")));
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) size_t
+__attribute__ ((__nothrow__)) wcstombs (char *__restrict __dst, __const wchar_t *__restrict __src, size_t __len)
+
+{
+  if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1)
+    {
+      if (!__builtin_constant_p (__len))
+ return __wcstombs_chk (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1));
+      if (__len > __builtin_object_size (__dst, 2 > 1))
+ return __wcstombs_chk_warn (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1));
+    }
+  return __wcstombs_alias (__dst, __src, __len);
+}
+# 956 "/usr/include/stdlib.h" 2 3 4
+# 964 "/usr/include/stdlib.h" 3 4
+
+# 46 "../../src/mesa/main/compiler.h" 2
+# 1 "/usr/include/stdio.h" 1 3 4
+# 30 "/usr/include/stdio.h" 3 4
+
+
+
+
+# 1 "/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.5.3/include/stddef.h" 1 3 4
+# 35 "/usr/include/stdio.h" 2 3 4
+# 45 "/usr/include/stdio.h" 3 4
+struct _IO_FILE;
+
+
+
+typedef struct _IO_FILE FILE;
+
+
+
+
+
+# 65 "/usr/include/stdio.h" 3 4
+typedef struct _IO_FILE __FILE;
+# 75 "/usr/include/stdio.h" 3 4
+# 1 "/usr/include/libio.h" 1 3 4
+# 32 "/usr/include/libio.h" 3 4
+# 1 "/usr/include/_G_config.h" 1 3 4
+# 15 "/usr/include/_G_config.h" 3 4
+# 1 "/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.5.3/include/stddef.h" 1 3 4
+# 16 "/usr/include/_G_config.h" 2 3 4
+
+
+
+
+# 1 "/usr/include/wchar.h" 1 3 4
+# 83 "/usr/include/wchar.h" 3 4
+typedef struct
+{
+  int __count;
+  union
+  {
+
+    unsigned int __wch;
+
+
+
+    char __wchb[4];
+  } __value;
+} __mbstate_t;
+# 21 "/usr/include/_G_config.h" 2 3 4
+
+typedef struct
+{
+  __off_t __pos;
+  __mbstate_t __state;
+} _G_fpos_t;
+typedef struct
+{
+  __off64_t __pos;
+  __mbstate_t __state;
+} _G_fpos64_t;
+# 53 "/usr/include/_G_config.h" 3 4
+typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
+typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
+typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
+typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
+# 33 "/usr/include/libio.h" 2 3 4
+# 53 "/usr/include/libio.h" 3 4
+# 1 "/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.5.3/include/stdarg.h" 1 3 4
+# 40 "/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.5.3/include/stdarg.h" 3 4
+typedef __builtin_va_list __gnuc_va_list;
+# 54 "/usr/include/libio.h" 2 3 4
+# 170 "/usr/include/libio.h" 3 4
+struct _IO_jump_t; struct _IO_FILE;
+# 180 "/usr/include/libio.h" 3 4
+typedef void _IO_lock_t;
+
+
+
+
+
+struct _IO_marker {
+  struct _IO_marker *_next;
+  struct _IO_FILE *_sbuf;
+
+
+
+  int _pos;
+# 203 "/usr/include/libio.h" 3 4
+};
+
+
+enum __codecvt_result
+{
+  __codecvt_ok,
+  __codecvt_partial,
+  __codecvt_error,
+  __codecvt_noconv
+};
+# 271 "/usr/include/libio.h" 3 4
+struct _IO_FILE {
+  int _flags;
+
+
+
+
+  char* _IO_read_ptr;
+  char* _IO_read_end;
+  char* _IO_read_base;
+  char* _IO_write_base;
+  char* _IO_write_ptr;
+  char* _IO_write_end;
+  char* _IO_buf_base;
+  char* _IO_buf_end;
+
+  char *_IO_save_base;
+  char *_IO_backup_base;
+  char *_IO_save_end;
+
+  struct _IO_marker *_markers;
+
+  struct _IO_FILE *_chain;
+
+  int _fileno;
+
+
+
+  int _flags2;
+
+  __off_t _old_offset;
+
+
+
+  unsigned short _cur_column;
+  signed char _vtable_offset;
+  char _shortbuf[1];
+
+
+
+  _IO_lock_t *_lock;
+# 319 "/usr/include/libio.h" 3 4
+  __off64_t _offset;
+# 328 "/usr/include/libio.h" 3 4
+  void *__pad1;
+  void *__pad2;
+  void *__pad3;
+  void *__pad4;
+  size_t __pad5;
+
+  int _mode;
+
+  char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
+
+};
+
+
+typedef struct _IO_FILE _IO_FILE;
+
+
+struct _IO_FILE_plus;
+
+extern struct _IO_FILE_plus _IO_2_1_stdin_;
+extern struct _IO_FILE_plus _IO_2_1_stdout_;
+extern struct _IO_FILE_plus _IO_2_1_stderr_;
+# 364 "/usr/include/libio.h" 3 4
+typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
+
+
+
+
+
+
+
+typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf,
+     size_t __n);
+
+
+
+
+
+
+
+typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);
+
+
+typedef int __io_close_fn (void *__cookie);
+
+
+
+
+typedef __io_read_fn cookie_read_function_t;
+typedef __io_write_fn cookie_write_function_t;
+typedef __io_seek_fn cookie_seek_function_t;
+typedef __io_close_fn cookie_close_function_t;
+
+
+typedef struct
+{
+  __io_read_fn *read;
+  __io_write_fn *write;
+  __io_seek_fn *seek;
+  __io_close_fn *close;
+} _IO_cookie_io_functions_t;
+typedef _IO_cookie_io_functions_t cookie_io_functions_t;
+
+struct _IO_cookie_file;
+
+
+extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write,
+        void *__cookie, _IO_cookie_io_functions_t __fns);
+
+
+
+
+
+
+
+extern int __underflow (_IO_FILE *);
+extern int __uflow (_IO_FILE *);
+extern int __overflow (_IO_FILE *, int);
+# 460 "/usr/include/libio.h" 3 4
+extern int _IO_getc (_IO_FILE *__fp);
+extern int _IO_putc (int __c, _IO_FILE *__fp);
+extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__));
+extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__));
+
+extern int _IO_peekc_locked (_IO_FILE *__fp);
+
+
+
+
+
+extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__));
+extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__));
+extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__));
+# 490 "/usr/include/libio.h" 3 4
+extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
+   __gnuc_va_list, int *__restrict);
+extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
+    __gnuc_va_list);
+extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t);
+extern size_t _IO_sgetn (_IO_FILE *, void *, size_t);
+
+extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int);
+extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int);
+
+extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__));
+# 76 "/usr/include/stdio.h" 2 3 4
+
+
+
+
+typedef __gnuc_va_list va_list;
+# 109 "/usr/include/stdio.h" 3 4
+
+
+typedef _G_fpos_t fpos_t;
+
+
+
+
+
+typedef _G_fpos64_t fpos64_t;
+# 161 "/usr/include/stdio.h" 3 4
+# 1 "/usr/include/bits/stdio_lim.h" 1 3 4
+# 162 "/usr/include/stdio.h" 2 3 4
+
+
+
+extern struct _IO_FILE *stdin;
+extern struct _IO_FILE *stdout;
+extern struct _IO_FILE *stderr;
+
+
+
+
+
+
+
+extern int remove (__const char *__filename) __attribute__ ((__nothrow__));
+
+extern int rename (__const char *__old, __const char *__new) __attribute__ ((__nothrow__));
+
+
+
+
+extern int renameat (int __oldfd, __const char *__old, int __newfd,
+       __const char *__new) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+
+extern FILE *tmpfile (void) __attribute__ ((__warn_unused_result__));
+# 202 "/usr/include/stdio.h" 3 4
+extern FILE *tmpfile64 (void) __attribute__ ((__warn_unused_result__));
+
+
+
+extern char *tmpnam (char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__));
+# 224 "/usr/include/stdio.h" 3 4
+extern char *tempnam (__const char *__dir, __const char *__pfx)
+     __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+
+
+extern int fclose (FILE *__stream);
+
+
+
+
+extern int fflush (FILE *__stream);
+
+# 249 "/usr/include/stdio.h" 3 4
+extern int fflush_unlocked (FILE *__stream);
+# 259 "/usr/include/stdio.h" 3 4
+extern int fcloseall (void);
+
+
+
+
+
+
+
+
+
+extern FILE *fopen (__const char *__restrict __filename,
+      __const char *__restrict __modes) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern FILE *freopen (__const char *__restrict __filename,
+        __const char *__restrict __modes,
+        FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
+# 292 "/usr/include/stdio.h" 3 4
+
+
+extern FILE *fopen64 (__const char *__restrict __filename,
+        __const char *__restrict __modes) __attribute__ ((__warn_unused_result__));
+extern FILE *freopen64 (__const char *__restrict __filename,
+   __const char *__restrict __modes,
+   FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern FILE *fopencookie (void *__restrict __magic_cookie,
+     __const char *__restrict __modes,
+     _IO_cookie_io_functions_t __io_funcs) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes)
+  __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__));
+
+
+
+extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
+      int __modes, size_t __n) __attribute__ ((__nothrow__));
+
+
+
+
+
+extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
+         size_t __size) __attribute__ ((__nothrow__));
+
+
+extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+
+extern int fprintf (FILE *__restrict __stream,
+      __const char *__restrict __format, ...);
+
+
+
+
+extern int printf (__const char *__restrict __format, ...);
+
+extern int sprintf (char *__restrict __s,
+      __const char *__restrict __format, ...) __attribute__ ((__nothrow__));
+
+
+
+
+
+extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format,
+       __gnuc_va_list __arg);
+
+
+
+
+extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg);
+
+extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
+       __gnuc_va_list __arg) __attribute__ ((__nothrow__));
+
+
+
+
+
+extern int snprintf (char *__restrict __s, size_t __maxlen,
+       __const char *__restrict __format, ...)
+     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4)));
+
+extern int vsnprintf (char *__restrict __s, size_t __maxlen,
+        __const char *__restrict __format, __gnuc_va_list __arg)
+     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0)));
+
+
+
+
+
+
+extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f,
+        __gnuc_va_list __arg)
+     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0))) __attribute__ ((__warn_unused_result__));
+extern int __asprintf (char **__restrict __ptr,
+         __const char *__restrict __fmt, ...)
+     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__));
+extern int asprintf (char **__restrict __ptr,
+       __const char *__restrict __fmt, ...)
+     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__));
+# 414 "/usr/include/stdio.h" 3 4
+extern int vdprintf (int __fd, __const char *__restrict __fmt,
+       __gnuc_va_list __arg)
+     __attribute__ ((__format__ (__printf__, 2, 0)));
+extern int dprintf (int __fd, __const char *__restrict __fmt, ...)
+     __attribute__ ((__format__ (__printf__, 2, 3)));
+
+
+
+
+
+
+
+
+extern int fscanf (FILE *__restrict __stream,
+     __const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern int scanf (__const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__));
+
+extern int sscanf (__const char *__restrict __s,
+     __const char *__restrict __format, ...) __attribute__ ((__nothrow__));
+# 465 "/usr/include/stdio.h" 3 4
+
+
+
+
+
+
+
+
+extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format,
+      __gnuc_va_list __arg)
+     __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg)
+     __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__));
+
+
+extern int vsscanf (__const char *__restrict __s,
+      __const char *__restrict __format, __gnuc_va_list __arg)
+     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__scanf__, 2, 0)));
+# 524 "/usr/include/stdio.h" 3 4
+
+
+
+
+
+
+
+
+
+extern int fgetc (FILE *__stream);
+extern int getc (FILE *__stream);
+
+
+
+
+
+extern int getchar (void);
+
+# 552 "/usr/include/stdio.h" 3 4
+extern int getc_unlocked (FILE *__stream);
+extern int getchar_unlocked (void);
+# 563 "/usr/include/stdio.h" 3 4
+extern int fgetc_unlocked (FILE *__stream);
+
+
+
+
+
+
+
+
+
+
+
+extern int fputc (int __c, FILE *__stream);
+extern int putc (int __c, FILE *__stream);
+
+
+
+
+
+extern int putchar (int __c);
+
+# 596 "/usr/include/stdio.h" 3 4
+extern int fputc_unlocked (int __c, FILE *__stream);
+
+
+
+
+
+
+
+extern int putc_unlocked (int __c, FILE *__stream);
+extern int putchar_unlocked (int __c);
+
+
+
+
+
+
+extern int getw (FILE *__stream);
+
+
+extern int putw (int __w, FILE *__stream);
+
+
+
+
+
+
+
+
+extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
+     __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+extern char *gets (char *__s) __attribute__ ((__warn_unused_result__));
+
+# 642 "/usr/include/stdio.h" 3 4
+extern char *fgets_unlocked (char *__restrict __s, int __n,
+        FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
+# 658 "/usr/include/stdio.h" 3 4
+extern __ssize_t __getdelim (char **__restrict __lineptr,
+          size_t *__restrict __n, int __delimiter,
+          FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
+extern __ssize_t getdelim (char **__restrict __lineptr,
+        size_t *__restrict __n, int __delimiter,
+        FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+
+extern __ssize_t getline (char **__restrict __lineptr,
+       size_t *__restrict __n,
+       FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+
+
+extern int fputs (__const char *__restrict __s, FILE *__restrict __stream);
+
+
+
+
+
+extern int puts (__const char *__s);
+
+
+
+
+
+
+extern int ungetc (int __c, FILE *__stream);
+
+
+
+
+
+
+extern size_t fread (void *__restrict __ptr, size_t __size,
+       size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
+        size_t __n, FILE *__restrict __s) __attribute__ ((__warn_unused_result__));
+
+# 719 "/usr/include/stdio.h" 3 4
+extern int fputs_unlocked (__const char *__restrict __s,
+      FILE *__restrict __stream);
+# 730 "/usr/include/stdio.h" 3 4
+extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
+         size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
+extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size,
+          size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+
+
+extern int fseek (FILE *__stream, long int __off, int __whence);
+
+
+
+
+extern long int ftell (FILE *__stream) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern void rewind (FILE *__stream);
+
+# 766 "/usr/include/stdio.h" 3 4
+extern int fseeko (FILE *__stream, __off_t __off, int __whence);
+
+
+
+
+extern __off_t ftello (FILE *__stream) __attribute__ ((__warn_unused_result__));
+# 785 "/usr/include/stdio.h" 3 4
+
+
+
+
+
+
+extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);
+
+
+
+
+extern int fsetpos (FILE *__stream, __const fpos_t *__pos);
+# 808 "/usr/include/stdio.h" 3 4
+
+
+
+extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence);
+extern __off64_t ftello64 (FILE *__stream) __attribute__ ((__warn_unused_result__));
+extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos);
+extern int fsetpos64 (FILE *__stream, __const fpos64_t *__pos);
+
+
+
+
+extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__));
+
+extern int feof (FILE *__stream) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__));
+
+extern int ferror (FILE *__stream) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__));
+extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__));
+extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+
+
+extern void perror (__const char *__s);
+
+
+
+
+
+
+# 1 "/usr/include/bits/sys_errlist.h" 1 3 4
+# 27 "/usr/include/bits/sys_errlist.h" 3 4
+extern int sys_nerr;
+extern __const char *__const sys_errlist[];
+
+
+extern int _sys_nerr;
+extern __const char *__const _sys_errlist[];
+# 847 "/usr/include/stdio.h" 2 3 4
+
+
+
+
+extern int fileno (FILE *__stream) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__));
+# 866 "/usr/include/stdio.h" 3 4
+extern FILE *popen (__const char *__command, __const char *__modes) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern int pclose (FILE *__stream);
+
+
+
+
+
+extern char *ctermid (char *__s) __attribute__ ((__nothrow__));
+
+
+
+
+
+extern char *cuserid (char *__s);
+
+
+
+
+struct obstack;
+
+
+extern int obstack_printf (struct obstack *__restrict __obstack,
+      __const char *__restrict __format, ...)
+     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3)));
+extern int obstack_vprintf (struct obstack *__restrict __obstack,
+       __const char *__restrict __format,
+       __gnuc_va_list __args)
+     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0)));
+
+
+
+
+
+
+
+extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__));
+
+
+
+extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__));
+
+
+extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__));
+# 927 "/usr/include/stdio.h" 3 4
+# 1 "/usr/include/bits/stdio.h" 1 3 4
+# 44 "/usr/include/bits/stdio.h" 3 4
+extern __inline __attribute__ ((__gnu_inline__)) int
+getchar (void)
+{
+  return _IO_getc (stdin);
+}
+
+
+
+
+extern __inline __attribute__ ((__gnu_inline__)) int
+fgetc_unlocked (FILE *__fp)
+{
+  return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
+}
+
+
+
+
+
+extern __inline __attribute__ ((__gnu_inline__)) int
+getc_unlocked (FILE *__fp)
+{
+  return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
+}
+
+
+extern __inline __attribute__ ((__gnu_inline__)) int
+getchar_unlocked (void)
+{
+  return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++);
+}
+
+
+
+
+extern __inline __attribute__ ((__gnu_inline__)) int
+putchar (int __c)
+{
+  return _IO_putc (__c, stdout);
+}
+
+
+
+
+extern __inline __attribute__ ((__gnu_inline__)) int
+fputc_unlocked (int __c, FILE *__stream)
+{
+  return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
+}
+
+
+
+
+
+extern __inline __attribute__ ((__gnu_inline__)) int
+putc_unlocked (int __c, FILE *__stream)
+{
+  return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
+}
+
+
+extern __inline __attribute__ ((__gnu_inline__)) int
+putchar_unlocked (int __c)
+{
+  return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c)));
+}
+
+
+
+
+
+extern __inline __attribute__ ((__gnu_inline__)) __ssize_t
+getline (char **__lineptr, size_t *__n, FILE *__stream)
+{
+  return __getdelim (__lineptr, __n, '\n', __stream);
+}
+
+
+
+
+
+extern __inline __attribute__ ((__gnu_inline__)) int
+__attribute__ ((__nothrow__)) feof_unlocked (FILE *__stream)
+{
+  return (((__stream)->_flags & 0x10) != 0);
+}
+
+
+extern __inline __attribute__ ((__gnu_inline__)) int
+__attribute__ ((__nothrow__)) ferror_unlocked (FILE *__stream)
+{
+  return (((__stream)->_flags & 0x20) != 0);
+}
+# 928 "/usr/include/stdio.h" 2 3 4
+
+
+# 1 "/usr/include/bits/stdio2.h" 1 3 4
+# 24 "/usr/include/bits/stdio2.h" 3 4
+extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen,
+     __const char *__restrict __format, ...) __attribute__ ((__nothrow__));
+extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen,
+      __const char *__restrict __format,
+      __gnuc_va_list __ap) __attribute__ ((__nothrow__));
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int
+__attribute__ ((__nothrow__)) sprintf (char *__restrict __s, __const char *__restrict __fmt, ...)
+{
+  return __builtin___sprintf_chk (__s, 2 - 1,
+      __builtin_object_size (__s, 2 > 1), __fmt, __builtin_va_arg_pack ());
+}
+
+
+
+
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int
+__attribute__ ((__nothrow__)) vsprintf (char *__restrict __s, __const char *__restrict __fmt, __gnuc_va_list __ap)
+
+{
+  return __builtin___vsprintf_chk (__s, 2 - 1,
+       __builtin_object_size (__s, 2 > 1), __fmt, __ap);
+}
+
+
+
+extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag,
+      size_t __slen, __const char *__restrict __format,
+      ...) __attribute__ ((__nothrow__));
+extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag,
+       size_t __slen, __const char *__restrict __format,
+       __gnuc_va_list __ap) __attribute__ ((__nothrow__));
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int
+__attribute__ ((__nothrow__)) snprintf (char *__restrict __s, size_t __n, __const char *__restrict __fmt, ...)
+
+{
+  return __builtin___snprintf_chk (__s, __n, 2 - 1,
+       __builtin_object_size (__s, 2 > 1), __fmt, __builtin_va_arg_pack ());
+}
+
+
+
+
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int
+__attribute__ ((__nothrow__)) vsnprintf (char *__restrict __s, size_t __n, __const char *__restrict __fmt, __gnuc_va_list __ap)
+
+{
+  return __builtin___vsnprintf_chk (__s, __n, 2 - 1,
+        __builtin_object_size (__s, 2 > 1), __fmt, __ap);
+}
+
+
+
+
+
+extern int __fprintf_chk (FILE *__restrict __stream, int __flag,
+     __const char *__restrict __format, ...);
+extern int __printf_chk (int __flag, __const char *__restrict __format, ...);
+extern int __vfprintf_chk (FILE *__restrict __stream, int __flag,
+      __const char *__restrict __format, __gnuc_va_list __ap);
+extern int __vprintf_chk (int __flag, __const char *__restrict __format,
+     __gnuc_va_list __ap);
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int
+fprintf (FILE *__restrict __stream, __const char *__restrict __fmt, ...)
+{
+  return __fprintf_chk (__stream, 2 - 1, __fmt,
+   __builtin_va_arg_pack ());
+}
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int
+printf (__const char *__restrict __fmt, ...)
+{
+  return __printf_chk (2 - 1, __fmt, __builtin_va_arg_pack ());
+}
+
+
+
+
+
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int
+vprintf (__const char *__restrict __fmt, __gnuc_va_list __ap)
+{
+
+  return __vfprintf_chk (stdout, 2 - 1, __fmt, __ap);
+
+
+
+}
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int
+vfprintf (FILE *__restrict __stream,
+   __const char *__restrict __fmt, __gnuc_va_list __ap)
+{
+  return __vfprintf_chk (__stream, 2 - 1, __fmt, __ap);
+}
+
+
+
+extern int __asprintf_chk (char **__restrict __ptr, int __flag,
+      __const char *__restrict __fmt, ...)
+     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))) __attribute__ ((__warn_unused_result__));
+extern int __vasprintf_chk (char **__restrict __ptr, int __flag,
+       __const char *__restrict __fmt, __gnuc_va_list __arg)
+     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))) __attribute__ ((__warn_unused_result__));
+extern int __dprintf_chk (int __fd, int __flag, __const char *__restrict __fmt,
+     ...) __attribute__ ((__format__ (__printf__, 3, 4)));
+extern int __vdprintf_chk (int __fd, int __flag,
+      __const char *__restrict __fmt, __gnuc_va_list __arg)
+     __attribute__ ((__format__ (__printf__, 3, 0)));
+extern int __obstack_printf_chk (struct obstack *__restrict __obstack,
+     int __flag, __const char *__restrict __format,
+     ...)
+     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4)));
+extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack,
+      int __flag,
+      __const char *__restrict __format,
+      __gnuc_va_list __args)
+     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0)));
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int
+__attribute__ ((__nothrow__)) asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...)
+{
+  return __asprintf_chk (__ptr, 2 - 1, __fmt,
+    __builtin_va_arg_pack ());
+}
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int
+__attribute__ ((__nothrow__)) __asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...)
+
+{
+  return __asprintf_chk (__ptr, 2 - 1, __fmt,
+    __builtin_va_arg_pack ());
+}
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int
+dprintf (int __fd, __const char *__restrict __fmt, ...)
+{
+  return __dprintf_chk (__fd, 2 - 1, __fmt,
+   __builtin_va_arg_pack ());
+}
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int
+__attribute__ ((__nothrow__)) obstack_printf (struct obstack *__restrict __obstack, __const char *__restrict __fmt, ...)
+
+{
+  return __obstack_printf_chk (__obstack, 2 - 1, __fmt,
+          __builtin_va_arg_pack ());
+}
+# 195 "/usr/include/bits/stdio2.h" 3 4
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int
+__attribute__ ((__nothrow__)) vasprintf (char **__restrict __ptr, __const char *__restrict __fmt, __gnuc_va_list __ap)
+
+{
+  return __vasprintf_chk (__ptr, 2 - 1, __fmt, __ap);
+}
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int
+vdprintf (int __fd, __const char *__restrict __fmt, __gnuc_va_list __ap)
+{
+  return __vdprintf_chk (__fd, 2 - 1, __fmt, __ap);
+}
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) int
+__attribute__ ((__nothrow__)) obstack_vprintf (struct obstack *__restrict __obstack, __const char *__restrict __fmt, __gnuc_va_list __ap)
+
+{
+  return __obstack_vprintf_chk (__obstack, 2 - 1, __fmt,
+    __ap);
+}
+
+
+
+
+
+extern char *__gets_chk (char *__str, size_t) __attribute__ ((__warn_unused_result__));
+extern char *__gets_warn (char *__str) __asm__ ("" "gets")
+     __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("please use fgets or getline instead, gets can't " "specify buffer size")))
+                               ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __attribute__ ((__warn_unused_result__)) char *
+gets (char *__str)
+{
+  if (__builtin_object_size (__str, 2 > 1) != (size_t) -1)
+    return __gets_chk (__str, __builtin_object_size (__str, 2 > 1));
+  return __gets_warn (__str);
+}
+
+extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n,
+     FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
+extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets")
+
+                                        __attribute__ ((__warn_unused_result__));
+extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk")
+
+
+     __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer")))
+                                 ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __attribute__ ((__warn_unused_result__)) char *
+fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
+{
+  if (__builtin_object_size (__s, 2 > 1) != (size_t) -1)
+    {
+      if (!__builtin_constant_p (__n) || __n <= 0)
+ return __fgets_chk (__s, __builtin_object_size (__s, 2 > 1), __n, __stream);
+
+      if ((size_t) __n > __builtin_object_size (__s, 2 > 1))
+ return __fgets_chk_warn (__s, __builtin_object_size (__s, 2 > 1), __n, __stream);
+    }
+  return __fgets_alias (__s, __n, __stream);
+}
+
+extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen,
+      size_t __size, size_t __n,
+      FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
+extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread")
+
+
+            __attribute__ ((__warn_unused_result__));
+extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk")
+
+
+
+
+     __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer")))
+                                 ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __attribute__ ((__warn_unused_result__)) size_t
+fread (void *__restrict __ptr, size_t __size, size_t __n,
+       FILE *__restrict __stream)
+{
+  if (__builtin_object_size (__ptr, 0) != (size_t) -1)
+    {
+      if (!__builtin_constant_p (__size)
+   || !__builtin_constant_p (__n)
+   || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2)))
+ return __fread_chk (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream);
+
+      if (__size * __n > __builtin_object_size (__ptr, 0))
+ return __fread_chk_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream);
+    }
+  return __fread_alias (__ptr, __size, __n, __stream);
+}
+
+
+extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size,
+       int __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
+extern char *__fgets_unlocked_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets_unlocked")
+
+                                                 __attribute__ ((__warn_unused_result__));
+extern char *__fgets_unlocked_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_unlocked_chk")
+
+
+     __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets_unlocked called with bigger size than length " "of destination buffer")))
+                                 ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __attribute__ ((__warn_unused_result__)) char *
+fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream)
+{
+  if (__builtin_object_size (__s, 2 > 1) != (size_t) -1)
+    {
+      if (!__builtin_constant_p (__n) || __n <= 0)
+ return __fgets_unlocked_chk (__s, __builtin_object_size (__s, 2 > 1), __n, __stream);
+
+      if ((size_t) __n > __builtin_object_size (__s, 2 > 1))
+ return __fgets_unlocked_chk_warn (__s, __builtin_object_size (__s, 2 > 1), __n, __stream);
+    }
+  return __fgets_unlocked_alias (__s, __n, __stream);
+}
+
+
+
+
+extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen,
+        size_t __size, size_t __n,
+        FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
+extern size_t __fread_unlocked_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread_unlocked")
+
+
+                     __attribute__ ((__warn_unused_result__));
+extern size_t __fread_unlocked_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_unlocked_chk")
+
+
+
+
+     __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread_unlocked called with bigger size * nmemb than " "length of destination buffer")))
+                                        ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) __attribute__ ((__warn_unused_result__)) size_t
+fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n,
+  FILE *__restrict __stream)
+{
+  if (__builtin_object_size (__ptr, 0) != (size_t) -1)
+    {
+      if (!__builtin_constant_p (__size)
+   || !__builtin_constant_p (__n)
+   || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2)))
+ return __fread_unlocked_chk (__ptr, __builtin_object_size (__ptr, 0), __size, __n,
+         __stream);
+
+      if (__size * __n > __builtin_object_size (__ptr, 0))
+ return __fread_unlocked_chk_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n,
+       __stream);
+    }
+
+
+  if (__builtin_constant_p (__size)
+      && __builtin_constant_p (__n)
+      && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2))
+      && __size * __n <= 8)
+    {
+      size_t __cnt = __size * __n;
+      char *__cptr = (char *) __ptr;
+      if (__cnt == 0)
+ return 0;
+
+      for (; __cnt > 0; --__cnt)
+ {
+   int __c = (__builtin_expect (((__stream)->_IO_read_ptr >= (__stream)->_IO_read_end), 0) ? __uflow (__stream) : *(unsigned char *) (__stream)->_IO_read_ptr++);
+   if (__c == (-1))
+     break;
+   *__cptr++ = __c;
+ }
+      return (__cptr - (char *) __ptr) / __size;
+    }
+
+  return __fread_unlocked_alias (__ptr, __size, __n, __stream);
+}
+# 931 "/usr/include/stdio.h" 2 3 4
+
+
+
+
+
+
+# 47 "../../src/mesa/main/compiler.h" 2
+# 1 "/usr/include/string.h" 1 3 4
+# 29 "/usr/include/string.h" 3 4
+
+
+
+
+
+# 1 "/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.5.3/include/stddef.h" 1 3 4
+# 35 "/usr/include/string.h" 2 3 4
+
+
+
+
+
+
+
+
+
+extern void *memcpy (void *__restrict __dest,
+       __const void *__restrict __src, size_t __n)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern void *memmove (void *__dest, __const void *__src, size_t __n)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+
+
+extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
+        int __c, size_t __n)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+
+extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int memcmp (__const void *__s1, __const void *__s2, size_t __n)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+# 95 "/usr/include/string.h" 3 4
+extern void *memchr (__const void *__s, int __c, size_t __n)
+      __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
+
+
+# 109 "/usr/include/string.h" 3 4
+extern void *rawmemchr (__const void *__s, int __c)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
+# 120 "/usr/include/string.h" 3 4
+extern void *memrchr (__const void *__s, int __c, size_t __n)
+      __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+extern char *strncpy (char *__restrict __dest,
+        __const char *__restrict __src, size_t __n)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
+        size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int strcmp (__const char *__s1, __const char *__s2)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+
+extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int strcoll (__const char *__s1, __const char *__s2)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+
+extern size_t strxfrm (char *__restrict __dest,
+         __const char *__restrict __src, size_t __n)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
+
+# 165 "/usr/include/string.h" 3 4
+extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
+
+extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n,
+    __locale_t __l) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4)));
+
+
+
+
+
+extern char *strdup (__const char *__s)
+     __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+extern char *strndup (__const char *__string, size_t __n)
+     __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
+# 210 "/usr/include/string.h" 3 4
+
+# 235 "/usr/include/string.h" 3 4
+extern char *strchr (__const char *__s, int __c)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
+# 262 "/usr/include/string.h" 3 4
+extern char *strrchr (__const char *__s, int __c)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
+
+
+# 276 "/usr/include/string.h" 3 4
+extern char *strchrnul (__const char *__s, int __c)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+extern size_t strcspn (__const char *__s, __const char *__reject)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern size_t strspn (__const char *__s, __const char *__accept)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+# 314 "/usr/include/string.h" 3 4
+extern char *strpbrk (__const char *__s, __const char *__accept)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+# 342 "/usr/include/string.h" 3 4
+extern char *strstr (__const char *__haystack, __const char *__needle)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+extern char *strtok (char *__restrict __s, __const char *__restrict __delim)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
+
+
+
+
+extern char *__strtok_r (char *__restrict __s,
+    __const char *__restrict __delim,
+    char **__restrict __save_ptr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
+
+extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
+         char **__restrict __save_ptr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
+# 373 "/usr/include/string.h" 3 4
+extern char *strcasestr (__const char *__haystack, __const char *__needle)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+
+
+
+extern void *memmem (__const void *__haystack, size_t __haystacklen,
+       __const void *__needle, size_t __needlelen)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3)));
+
+
+
+extern void *__mempcpy (void *__restrict __dest,
+   __const void *__restrict __src, size_t __n)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+extern void *mempcpy (void *__restrict __dest,
+        __const void *__restrict __src, size_t __n)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+
+extern size_t strlen (__const char *__s)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern size_t strnlen (__const char *__string, size_t __maxlen)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern char *strerror (int __errnum) __attribute__ ((__nothrow__));
+
+# 438 "/usr/include/string.h" 3 4
+extern char *strerror_r (int __errnum, char *__buf, size_t __buflen)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
+
+
+
+
+
+extern char *strerror_l (int __errnum, __locale_t __l) __attribute__ ((__nothrow__));
+
+
+
+
+
+extern void __bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern void bcopy (__const void *__src, void *__dest, size_t __n)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+# 489 "/usr/include/string.h" 3 4
+extern char *index (__const char *__s, int __c)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
+# 517 "/usr/include/string.h" 3 4
+extern char *rindex (__const char *__s, int __c)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+extern int ffs (int __i) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+
+
+extern int ffsl (long int __l) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+__extension__ extern int ffsll (long long int __ll)
+     __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+
+
+extern int strcasecmp (__const char *__s1, __const char *__s2)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+
+extern int strcasecmp_l (__const char *__s1, __const char *__s2,
+    __locale_t __loc)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
+
+extern int strncasecmp_l (__const char *__s1, __const char *__s2,
+     size_t __n, __locale_t __loc)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4)));
+
+
+
+
+
+extern char *strsep (char **__restrict __stringp,
+       __const char *__restrict __delim)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+extern char *strsignal (int __sig) __attribute__ ((__nothrow__));
+
+
+extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+extern char *__stpncpy (char *__restrict __dest,
+   __const char *__restrict __src, size_t __n)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+extern char *stpncpy (char *__restrict __dest,
+        __const char *__restrict __src, size_t __n)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+extern int strverscmp (__const char *__s1, __const char *__s2)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern char *strfry (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern void *memfrob (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+# 606 "/usr/include/string.h" 3 4
+extern char *basename (__const char *__filename) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+# 634 "/usr/include/string.h" 3 4
+# 1 "/usr/include/bits/string.h" 1 3 4
+# 635 "/usr/include/string.h" 2 3 4
+
+
+# 1 "/usr/include/bits/string2.h" 1 3 4
+# 80 "/usr/include/bits/string2.h" 3 4
+typedef struct { unsigned char __arr[2]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR2;
+typedef struct { unsigned char __arr[3]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR3;
+typedef struct { unsigned char __arr[4]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR4;
+typedef struct { unsigned char __arr[5]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR5;
+typedef struct { unsigned char __arr[6]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR6;
+typedef struct { unsigned char __arr[7]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR7;
+typedef struct { unsigned char __arr[8]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR8;
+# 394 "/usr/include/bits/string2.h" 3 4
+extern void *__rawmemchr (const void *__s, int __c);
+# 969 "/usr/include/bits/string2.h" 3 4
+extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c1 (__const char *__s, int __reject);
+extern __inline __attribute__ ((__gnu_inline__)) size_t
+__strcspn_c1 (__const char *__s, int __reject)
+{
+  register size_t __result = 0;
+  while (__s[__result] != '\0' && __s[__result] != __reject)
+    ++__result;
+  return __result;
+}
+
+extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c2 (__const char *__s, int __reject1,
+         int __reject2);
+extern __inline __attribute__ ((__gnu_inline__)) size_t
+__strcspn_c2 (__const char *__s, int __reject1, int __reject2)
+{
+  register size_t __result = 0;
+  while (__s[__result] != '\0' && __s[__result] != __reject1
+  && __s[__result] != __reject2)
+    ++__result;
+  return __result;
+}
+
+extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c3 (__const char *__s, int __reject1,
+         int __reject2, int __reject3);
+extern __inline __attribute__ ((__gnu_inline__)) size_t
+__strcspn_c3 (__const char *__s, int __reject1, int __reject2,
+       int __reject3)
+{
+  register size_t __result = 0;
+  while (__s[__result] != '\0' && __s[__result] != __reject1
+  && __s[__result] != __reject2 && __s[__result] != __reject3)
+    ++__result;
+  return __result;
+}
+# 1045 "/usr/include/bits/string2.h" 3 4
+extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c1 (__const char *__s, int __accept);
+extern __inline __attribute__ ((__gnu_inline__)) size_t
+__strspn_c1 (__const char *__s, int __accept)
+{
+  register size_t __result = 0;
+
+  while (__s[__result] == __accept)
+    ++__result;
+  return __result;
+}
+
+extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c2 (__const char *__s, int __accept1,
+        int __accept2);
+extern __inline __attribute__ ((__gnu_inline__)) size_t
+__strspn_c2 (__const char *__s, int __accept1, int __accept2)
+{
+  register size_t __result = 0;
+
+  while (__s[__result] == __accept1 || __s[__result] == __accept2)
+    ++__result;
+  return __result;
+}
+
+extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c3 (__const char *__s, int __accept1,
+        int __accept2, int __accept3);
+extern __inline __attribute__ ((__gnu_inline__)) size_t
+__strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3)
+{
+  register size_t __result = 0;
+
+  while (__s[__result] == __accept1 || __s[__result] == __accept2
+  || __s[__result] == __accept3)
+    ++__result;
+  return __result;
+}
+# 1121 "/usr/include/bits/string2.h" 3 4
+extern __inline __attribute__ ((__gnu_inline__)) char *__strpbrk_c2 (__const char *__s, int __accept1,
+         int __accept2);
+extern __inline __attribute__ ((__gnu_inline__)) char *
+__strpbrk_c2 (__const char *__s, int __accept1, int __accept2)
+{
+
+  while (*__s != '\0' && *__s != __accept1 && *__s != __accept2)
+    ++__s;
+  return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s;
+}
+
+extern __inline __attribute__ ((__gnu_inline__)) char *__strpbrk_c3 (__const char *__s, int __accept1,
+         int __accept2, int __accept3);
+extern __inline __attribute__ ((__gnu_inline__)) char *
+__strpbrk_c3 (__const char *__s, int __accept1, int __accept2,
+       int __accept3)
+{
+
+  while (*__s != '\0' && *__s != __accept1 && *__s != __accept2
+  && *__s != __accept3)
+    ++__s;
+  return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s;
+}
+# 1172 "/usr/include/bits/string2.h" 3 4
+extern __inline __attribute__ ((__gnu_inline__)) char *__strtok_r_1c (char *__s, char __sep, char **__nextp);
+extern __inline __attribute__ ((__gnu_inline__)) char *
+__strtok_r_1c (char *__s, char __sep, char **__nextp)
+{
+  char *__result;
+  if (__s == ((void *)0))
+    __s = *__nextp;
+  while (*__s == __sep)
+    ++__s;
+  __result = ((void *)0);
+  if (*__s != '\0')
+    {
+      __result = __s++;
+      while (*__s != '\0')
+ if (*__s++ == __sep)
+   {
+     __s[-1] = '\0';
+     break;
+   }
+    }
+  *__nextp = __s;
+  return __result;
+}
+# 1204 "/usr/include/bits/string2.h" 3 4
+extern char *__strsep_g (char **__stringp, __const char *__delim);
+# 1222 "/usr/include/bits/string2.h" 3 4
+extern __inline __attribute__ ((__gnu_inline__)) char *__strsep_1c (char **__s, char __reject);
+extern __inline __attribute__ ((__gnu_inline__)) char *
+__strsep_1c (char **__s, char __reject)
+{
+  register char *__retval = *__s;
+  if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p (__reject) && !__builtin_constant_p (__retval) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : __builtin_strchr (__retval, __reject)))) != ((void *)0))
+    *(*__s)++ = '\0';
+  return __retval;
+}
+
+extern __inline __attribute__ ((__gnu_inline__)) char *__strsep_2c (char **__s, char __reject1, char __reject2);
+extern __inline __attribute__ ((__gnu_inline__)) char *
+__strsep_2c (char **__s, char __reject1, char __reject2)
+{
+  register char *__retval = *__s;
+  if (__retval != ((void *)0))
+    {
+      register char *__cp = __retval;
+      while (1)
+ {
+   if (*__cp == '\0')
+     {
+       __cp = ((void *)0);
+   break;
+     }
+   if (*__cp == __reject1 || *__cp == __reject2)
+     {
+       *__cp++ = '\0';
+       break;
+     }
+   ++__cp;
+ }
+      *__s = __cp;
+    }
+  return __retval;
+}
+
+extern __inline __attribute__ ((__gnu_inline__)) char *__strsep_3c (char **__s, char __reject1, char __reject2,
+       char __reject3);
+extern __inline __attribute__ ((__gnu_inline__)) char *
+__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3)
+{
+  register char *__retval = *__s;
+  if (__retval != ((void *)0))
+    {
+      register char *__cp = __retval;
+      while (1)
+ {
+   if (*__cp == '\0')
+     {
+       __cp = ((void *)0);
+   break;
+     }
+   if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3)
+     {
+       *__cp++ = '\0';
+       break;
+     }
+   ++__cp;
+ }
+      *__s = __cp;
+    }
+  return __retval;
+}
+# 1303 "/usr/include/bits/string2.h" 3 4
+extern char *__strdup (__const char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__));
+# 1322 "/usr/include/bits/string2.h" 3 4
+extern char *__strndup (__const char *__string, size_t __n)
+     __attribute__ ((__nothrow__)) __attribute__ ((__malloc__));
+# 638 "/usr/include/string.h" 2 3 4
+
+
+
+
+# 1 "/usr/include/bits/string3.h" 1 3 4
+# 23 "/usr/include/bits/string3.h" 3 4
+extern void __warn_memset_zero_len (void) __attribute__((__warning__ ("memset used with constant zero length parameter; this could be due to transposed parameters")))
+                                                                                                   ;
+# 48 "/usr/include/bits/string3.h" 3 4
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) void *
+__attribute__ ((__nothrow__)) memcpy (void *__restrict __dest, __const void *__restrict __src, size_t __len)
+
+{
+  return __builtin___memcpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 0));
+}
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) void *
+__attribute__ ((__nothrow__)) memmove (void *__dest, __const void *__src, size_t __len)
+{
+  return __builtin___memmove_chk (__dest, __src, __len, __builtin_object_size (__dest, 0));
+}
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) void *
+__attribute__ ((__nothrow__)) mempcpy (void *__restrict __dest, __const void *__restrict __src, size_t __len)
+
+{
+  return __builtin___mempcpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 0));
+}
+# 76 "/usr/include/bits/string3.h" 3 4
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) void *
+__attribute__ ((__nothrow__)) memset (void *__dest, int __ch, size_t __len)
+{
+  if (__builtin_constant_p (__len) && __len == 0
+      && (!__builtin_constant_p (__ch) || __ch != 0))
+    {
+      __warn_memset_zero_len ();
+      return __dest;
+    }
+  return __builtin___memset_chk (__dest, __ch, __len, __builtin_object_size (__dest, 0));
+}
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) void
+__attribute__ ((__nothrow__)) bcopy (__const void *__src, void *__dest, size_t __len)
+{
+  (void) __builtin___memmove_chk (__dest, __src, __len, __builtin_object_size (__dest, 0));
+}
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) void
+__attribute__ ((__nothrow__)) bzero (void *__dest, size_t __len)
+{
+  (void) __builtin___memset_chk (__dest, '\0', __len, __builtin_object_size (__dest, 0));
+}
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) char *
+__attribute__ ((__nothrow__)) strcpy (char *__restrict __dest, __const char *__restrict __src)
+{
+  return __builtin___strcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1));
+}
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) char *
+__attribute__ ((__nothrow__)) stpcpy (char *__restrict __dest, __const char *__restrict __src)
+{
+  return __builtin___stpcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1));
+}
+
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) char *
+__attribute__ ((__nothrow__)) strncpy (char *__restrict __dest, __const char *__restrict __src, size_t __len)
+
+{
+  return __builtin___strncpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 2 > 1));
+}
+
+
+extern char *__stpncpy_chk (char *__dest, __const char *__src, size_t __n,
+       size_t __destlen) __attribute__ ((__nothrow__));
+extern char *__stpncpy_alias (char *__dest, __const char *__src, size_t __n) __asm__ ("" "stpncpy") __attribute__ ((__nothrow__))
+
+                                 ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) char *
+__attribute__ ((__nothrow__)) stpncpy (char *__dest, __const char *__src, size_t __n)
+{
+  if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1
+      && (!__builtin_constant_p (__n) || __n <= __builtin_object_size (__dest, 2 > 1)))
+    return __stpncpy_chk (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1));
+  return __stpncpy_alias (__dest, __src, __n);
+}
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) char *
+__attribute__ ((__nothrow__)) strcat (char *__restrict __dest, __const char *__restrict __src)
+{
+  return __builtin___strcat_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1));
+}
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__, __artificial__)) char *
+__attribute__ ((__nothrow__)) strncat (char *__restrict __dest, __const char *__restrict __src, size_t __len)
+
+{
+  return __builtin___strncat_chk (__dest, __src, __len, __builtin_object_size (__dest, 2 > 1));
+}
+# 643 "/usr/include/string.h" 2 3 4
+
+
+
+
+# 48 "../../src/mesa/main/compiler.h" 2
+
+
+
+# 1 "/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.5.3/include/float.h" 1 3 4
+# 52 "../../src/mesa/main/compiler.h" 2
+# 1 "/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.5.3/include/stdarg.h" 1 3 4
+# 53 "../../src/mesa/main/compiler.h" 2
+# 253 "../../src/mesa/main/compiler.h"
+# 1 "/usr/include/byteswap.h" 1 3 4
+# 23 "/usr/include/byteswap.h" 3 4
+# 1 "/usr/include/bits/byteswap.h" 1 3 4
+# 24 "/usr/include/byteswap.h" 2 3 4
+# 254 "../../src/mesa/main/compiler.h" 2
+# 40 "../../src/mesa/main/imports.h" 2
+# 1 "../../src/mesa/main/glheader.h" 1
+# 41 "../../src/mesa/main/imports.h" 2
+# 84 "../../src/mesa/main/imports.h"
+typedef union { GLfloat f; GLint i; } fi_type;
+# 181 "../../src/mesa/main/imports.h"
+static __inline__ GLfloat LOG2(GLfloat val)
+{
+   fi_type num;
+   GLint log_2;
+   num.f = val;
+   log_2 = ((num.i >> 23) & 255) - 128;
+   num.i &= ~(255 << 23);
+   num.i += 127 << 23;
+   num.f = ((-1.0f/3) * num.f + 2) * num.f - 2.0f/3;
+   return num.f + log_2;
+}
+# 205 "../../src/mesa/main/imports.h"
+static __inline__ int IS_INF_OR_NAN( float x )
+{
+   fi_type tmp;
+   tmp.f = x;
+   return !(int)((unsigned int)((tmp.i & 0x7fffffff)-0x7f800000) >> 31);
+}
+# 228 "../../src/mesa/main/imports.h"
+static __inline__ int GET_FLOAT_BITS( float x )
+{
+   fi_type fi;
+   fi.f = x;
+   return fi.i;
+}
+# 354 "../../src/mesa/main/imports.h"
+static __inline__ int ifloor(float f)
+{
+   int ai, bi;
+   double af, bf;
+   fi_type u;
+
+   af = (3 << 22) + 0.5 + (double)f;
+   bf = (3 << 22) + 0.5 - (double)f;
+   u.f = (float) af; ai = u.i;
+   u.f = (float) bf; bi = u.i;
+   return (ai - bi) >> 1;
+}
+# 401 "../../src/mesa/main/imports.h"
+static __inline__ int iceil(float f)
+{
+   int ai, bi;
+   double af, bf;
+   fi_type u;
+   af = (3 << 22) + 0.5 + (double)f;
+   bf = (3 << 22) + 0.5 - (double)f;
+   u.f = (float) af; ai = u.i;
+   u.f = (float) bf; bi = u.i;
+   return (ai - bi + 1) >> 1;
+}
+# 426 "../../src/mesa/main/imports.h"
+static __inline__ int
+_mesa_is_pow_two(int x)
+{
+   return !(x & (x - 1));
+}
+# 446 "../../src/mesa/main/imports.h"
+static __inline__ int32_t
+_mesa_next_pow_two_32(uint32_t x)
+{
+
+
+ uint32_t y = (x != 1);
+ return (1 + y) << ((__builtin_clz(x - y) ^ 31) );
+# 463 "../../src/mesa/main/imports.h"
+}
+
+static __inline__ int64_t
+_mesa_next_pow_two_64(uint64_t x)
+{
+
+
+ uint64_t y = (x != 1);
+ if (sizeof(x) == sizeof(long))
+  return (1 + y) << ((__builtin_clzl(x - y) ^ 63));
+ else
+  return (1 + y) << ((__builtin_clzll(x - y) ^ 63));
+# 486 "../../src/mesa/main/imports.h"
+}
+
+
+
+
+
+static __inline__ GLuint
+_mesa_logbase2(GLuint n)
+{
+
+
+   return (31 - __builtin_clz(n | 1));
+# 507 "../../src/mesa/main/imports.h"
+}
+
+
+
+
+
+static __inline__ GLboolean
+_mesa_little_endian(void)
+{
+   const GLuint ui = 1;
+   return *((const GLubyte *) &ui);
+}
+
+
+
+
+
+
+
+extern void *
+_mesa_align_malloc( size_t bytes, unsigned long alignment );
+
+extern void *
+_mesa_align_calloc( size_t bytes, unsigned long alignment );
+
+extern void
+_mesa_align_free( void *ptr );
+
+extern void *
+_mesa_align_realloc(void *oldBuffer, size_t oldSize, size_t newSize,
+                    unsigned long alignment);
+
+extern void *
+_mesa_exec_malloc( GLuint size );
+
+extern void
+_mesa_exec_free( void *addr );
+
+extern void *
+_mesa_realloc( void *oldBuffer, size_t oldSize, size_t newSize );
+
+extern void
+_mesa_memset16( unsigned short *dst, unsigned short val, size_t n );
+
+extern double
+_mesa_sqrtd(double x);
+
+extern float
+_mesa_sqrtf(float x);
+
+extern float
+_mesa_inv_sqrtf(float x);
+
+extern void
+_mesa_init_sqrt_table(void);
+# 591 "../../src/mesa/main/imports.h"
+extern GLhalfARB
+_mesa_float_to_half(float f);
+
+extern float
+_mesa_half_to_float(GLhalfARB h);
+
+
+extern void *
+_mesa_bsearch( const void *key, const void *base, size_t nmemb, size_t size,
+               int (*compar)(const void *, const void *) );
+
+extern char *
+_mesa_getenv( const char *var );
+
+extern char *
+_mesa_strdup( const char *s );
+
+extern float
+_mesa_strtof( const char *s, char **end );
+
+extern unsigned int
+_mesa_str_checksum(const char *str);
+
+extern int
+_mesa_snprintf( char *str, size_t size, const char *fmt, ... ) __attribute__ ((format(__printf__, 3, 4)));
+
+struct gl_context;
+
+extern void
+_mesa_warning( struct gl_context *gc, const char *fmtString, ... ) __attribute__ ((format(__printf__, 2, 3)));
+
+extern void
+_mesa_problem( const struct gl_context *ctx, const char *fmtString, ... ) __attribute__ ((format(__printf__, 2, 3)));
+
+extern void
+_mesa_error( struct gl_context *ctx, GLenum error, const char *fmtString, ... ) __attribute__ ((format(__printf__, 3, 4)));
+
+extern void
+_mesa_debug( const struct gl_context *ctx, const char *fmtString, ... ) __attribute__ ((format(__printf__, 2, 3)));
+# 53 "../../src/mesa/main/context.h" 2
+# 1 "../../src/mesa/main/mtypes.h" 1
+# 38 "../../src/mesa/main/mtypes.h"
+# 1 "../../src/mesa/main/config.h" 1
+# 39 "../../src/mesa/main/mtypes.h" 2
+# 1 "../../src/mesa/main/mfeatures.h" 1
+# 40 "../../src/mesa/main/mtypes.h" 2
+# 1 "../../src/mapi/glapi/glapi.h" 1
+# 75 "../../src/mapi/glapi/glapi.h"
+# 1 "../../src/mapi/glapi/glthread.h" 1
+
+
+
+# 1 "../../src/mapi/mapi/u_thread.h" 1
+# 45 "../../src/mapi/mapi/u_thread.h"
+# 1 "../../src/mapi/mapi/u_compiler.h" 1
+# 46 "../../src/mapi/mapi/u_thread.h" 2
+# 63 "../../src/mapi/mapi/u_thread.h"
+# 1 "/usr/include/pthread.h" 1 3 4
+# 25 "/usr/include/pthread.h" 3 4
+# 1 "/usr/include/sched.h" 1 3 4
+# 30 "/usr/include/sched.h" 3 4
+# 1 "/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.5.3/include/stddef.h" 1 3 4
+# 31 "/usr/include/sched.h" 2 3 4
+
+
+
+# 1 "/usr/include/time.h" 1 3 4
+# 35 "/usr/include/sched.h" 2 3 4
+# 43 "/usr/include/sched.h" 3 4
+# 1 "/usr/include/bits/sched.h" 1 3 4
+# 74 "/usr/include/bits/sched.h" 3 4
+struct sched_param
+  {
+    int __sched_priority;
+  };
+
+
+
+
+
+extern int clone (int (*__fn) (void *__arg), void *__child_stack,
+    int __flags, void *__arg, ...) __attribute__ ((__nothrow__));
+
+
+extern int unshare (int __flags) __attribute__ ((__nothrow__));
+
+
+extern int sched_getcpu (void) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+
+
+
+struct __sched_param
+  {
+    int __sched_priority;
+  };
+# 116 "/usr/include/bits/sched.h" 3 4
+typedef unsigned long int __cpu_mask;
+
+
+
+
+
+
+typedef struct
+{
+  __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))];
+} cpu_set_t;
+# 199 "/usr/include/bits/sched.h" 3 4
+
+
+extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp)
+  __attribute__ ((__nothrow__));
+extern cpu_set_t *__sched_cpualloc (size_t __count) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__));
+extern void __sched_cpufree (cpu_set_t *__set) __attribute__ ((__nothrow__));
+
+
+# 44 "/usr/include/sched.h" 2 3 4
+
+
+
+
+
+
+
+extern int sched_setparam (__pid_t __pid, __const struct sched_param *__param)
+     __attribute__ ((__nothrow__));
+
+
+extern int sched_getparam (__pid_t __pid, struct sched_param *__param) __attribute__ ((__nothrow__));
+
+
+extern int sched_setscheduler (__pid_t __pid, int __policy,
+          __const struct sched_param *__param) __attribute__ ((__nothrow__));
+
+
+extern int sched_getscheduler (__pid_t __pid) __attribute__ ((__nothrow__));
+
+
+extern int sched_yield (void) __attribute__ ((__nothrow__));
+
+
+extern int sched_get_priority_max (int __algorithm) __attribute__ ((__nothrow__));
+
+
+extern int sched_get_priority_min (int __algorithm) __attribute__ ((__nothrow__));
+
+
+extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) __attribute__ ((__nothrow__));
+# 118 "/usr/include/sched.h" 3 4
+extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize,
+         __const cpu_set_t *__cpuset) __attribute__ ((__nothrow__));
+
+
+extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize,
+         cpu_set_t *__cpuset) __attribute__ ((__nothrow__));
+
+
+
+# 26 "/usr/include/pthread.h" 2 3 4
+# 1 "/usr/include/time.h" 1 3 4
+# 30 "/usr/include/time.h" 3 4
+
+
+
+
+
+
+
+
+# 1 "/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.5.3/include/stddef.h" 1 3 4
+# 39 "/usr/include/time.h" 2 3 4
+
+
+
+# 1 "/usr/include/bits/time.h" 1 3 4
+# 43 "/usr/include/time.h" 2 3 4
+# 131 "/usr/include/time.h" 3 4
+
+
+struct tm
+{
+  int tm_sec;
+  int tm_min;
+  int tm_hour;
+  int tm_mday;
+  int tm_mon;
+  int tm_year;
+  int tm_wday;
+  int tm_yday;
+  int tm_isdst;
+
+
+  long int tm_gmtoff;
+  __const char *tm_zone;
+
+
+
+
+};
+
+
+
+
+
+
+
+
+struct itimerspec
+  {
+    struct timespec it_interval;
+    struct timespec it_value;
+  };
+
+
+struct sigevent;
+# 180 "/usr/include/time.h" 3 4
+
+
+
+extern clock_t clock (void) __attribute__ ((__nothrow__));
+
+
+extern time_t time (time_t *__timer) __attribute__ ((__nothrow__));
+
+
+extern double difftime (time_t __time1, time_t __time0)
+     __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+extern time_t mktime (struct tm *__tp) __attribute__ ((__nothrow__));
+
+
+
+
+
+extern size_t strftime (char *__restrict __s, size_t __maxsize,
+   __const char *__restrict __format,
+   __const struct tm *__restrict __tp) __attribute__ ((__nothrow__));
+
+
+
+
+
+extern char *strptime (__const char *__restrict __s,
+         __const char *__restrict __fmt, struct tm *__tp)
+     __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+extern size_t strftime_l (char *__restrict __s, size_t __maxsize,
+     __const char *__restrict __format,
+     __const struct tm *__restrict __tp,
+     __locale_t __loc) __attribute__ ((__nothrow__));
+
+
+
+extern char *strptime_l (__const char *__restrict __s,
+    __const char *__restrict __fmt, struct tm *__tp,
+    __locale_t __loc) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+extern struct tm *gmtime (__const time_t *__timer) __attribute__ ((__nothrow__));
+
+
+
+extern struct tm *localtime (__const time_t *__timer) __attribute__ ((__nothrow__));
+
+
+
+
+
+extern struct tm *gmtime_r (__const time_t *__restrict __timer,
+       struct tm *__restrict __tp) __attribute__ ((__nothrow__));
+
+
+
+extern struct tm *localtime_r (__const time_t *__restrict __timer,
+          struct tm *__restrict __tp) __attribute__ ((__nothrow__));
+
+
+
+
+
+extern char *asctime (__const struct tm *__tp) __attribute__ ((__nothrow__));
+
+
+extern char *ctime (__const time_t *__timer) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+extern char *asctime_r (__const struct tm *__restrict __tp,
+   char *__restrict __buf) __attribute__ ((__nothrow__));
+
+
+extern char *ctime_r (__const time_t *__restrict __timer,
+        char *__restrict __buf) __attribute__ ((__nothrow__));
+
+
+
+
+extern char *__tzname[2];
+extern int __daylight;
+extern long int __timezone;
+
+
+
+
+extern char *tzname[2];
+
+
+
+extern void tzset (void) __attribute__ ((__nothrow__));
+
+
+
+extern int daylight;
+extern long int timezone;
+
+
+
+
+
+extern int stime (__const time_t *__when) __attribute__ ((__nothrow__));
+# 313 "/usr/include/time.h" 3 4
+extern time_t timegm (struct tm *__tp) __attribute__ ((__nothrow__));
+
+
+extern time_t timelocal (struct tm *__tp) __attribute__ ((__nothrow__));
+
+
+extern int dysize (int __year) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+# 328 "/usr/include/time.h" 3 4
+extern int nanosleep (__const struct timespec *__requested_time,
+        struct timespec *__remaining);
+
+
+
+extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __attribute__ ((__nothrow__));
+
+
+extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __attribute__ ((__nothrow__));
+
+
+extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp)
+     __attribute__ ((__nothrow__));
+
+
+
+
+
+
+extern int clock_nanosleep (clockid_t __clock_id, int __flags,
+       __const struct timespec *__req,
+       struct timespec *__rem);
+
+
+extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) __attribute__ ((__nothrow__));
+
+
+
+
+extern int timer_create (clockid_t __clock_id,
+    struct sigevent *__restrict __evp,
+    timer_t *__restrict __timerid) __attribute__ ((__nothrow__));
+
+
+extern int timer_delete (timer_t __timerid) __attribute__ ((__nothrow__));
+
+
+extern int timer_settime (timer_t __timerid, int __flags,
+     __const struct itimerspec *__restrict __value,
+     struct itimerspec *__restrict __ovalue) __attribute__ ((__nothrow__));
+
+
+extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
+     __attribute__ ((__nothrow__));
+
+
+extern int timer_getoverrun (timer_t __timerid) __attribute__ ((__nothrow__));
+# 390 "/usr/include/time.h" 3 4
+extern int getdate_err;
+# 399 "/usr/include/time.h" 3 4
+extern struct tm *getdate (__const char *__string);
+# 413 "/usr/include/time.h" 3 4
+extern int getdate_r (__const char *__restrict __string,
+        struct tm *__restrict __resbufp);
+
+
+
+# 27 "/usr/include/pthread.h" 2 3 4
+
+
+# 1 "/usr/include/bits/setjmp.h" 1 3 4
+# 33 "/usr/include/bits/setjmp.h" 3 4
+typedef double __jmp_buf[21];
+# 30 "/usr/include/pthread.h" 2 3 4
+# 1 "/usr/include/bits/wordsize.h" 1 3 4
+# 31 "/usr/include/pthread.h" 2 3 4
+
+
+
+enum
+{
+  PTHREAD_CREATE_JOINABLE,
+
+  PTHREAD_CREATE_DETACHED
+
+};
+
+
+
+enum
+{
+  PTHREAD_MUTEX_TIMED_NP,
+  PTHREAD_MUTEX_RECURSIVE_NP,
+  PTHREAD_MUTEX_ERRORCHECK_NP,
+  PTHREAD_MUTEX_ADAPTIVE_NP
+
+  ,
+  PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP,
+  PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP,
+  PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP,
+  PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
+
+
+
+  , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP
+
+};
+
+
+
+
+enum
+{
+  PTHREAD_MUTEX_STALLED,
+  PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED,
+  PTHREAD_MUTEX_ROBUST,
+  PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST
+};
+
+
+
+
+
+enum
+{
+  PTHREAD_PRIO_NONE,
+  PTHREAD_PRIO_INHERIT,
+  PTHREAD_PRIO_PROTECT
+};
+# 115 "/usr/include/pthread.h" 3 4
+enum
+{
+  PTHREAD_RWLOCK_PREFER_READER_NP,
+  PTHREAD_RWLOCK_PREFER_WRITER_NP,
+  PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,
+  PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP
+};
+# 147 "/usr/include/pthread.h" 3 4
+enum
+{
+  PTHREAD_INHERIT_SCHED,
+
+  PTHREAD_EXPLICIT_SCHED
+
+};
+
+
+
+enum
+{
+  PTHREAD_SCOPE_SYSTEM,
+
+  PTHREAD_SCOPE_PROCESS
+
+};
+
+
+
+enum
+{
+  PTHREAD_PROCESS_PRIVATE,
+
+  PTHREAD_PROCESS_SHARED
+
+};
+# 182 "/usr/include/pthread.h" 3 4
+struct _pthread_cleanup_buffer
+{
+  void (*__routine) (void *);
+  void *__arg;
+  int __canceltype;
+  struct _pthread_cleanup_buffer *__prev;
+};
+
+
+enum
+{
+  PTHREAD_CANCEL_ENABLE,
+
+  PTHREAD_CANCEL_DISABLE
+
+};
+enum
+{
+  PTHREAD_CANCEL_DEFERRED,
+
+  PTHREAD_CANCEL_ASYNCHRONOUS
+
+};
+# 220 "/usr/include/pthread.h" 3 4
+
+
+
+
+
+extern int pthread_create (pthread_t *__restrict __newthread,
+      __const pthread_attr_t *__restrict __attr,
+      void *(*__start_routine) (void *),
+      void *__restrict __arg) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3)));
+
+
+
+
+
+extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__));
+
+
+
+
+
+
+
+extern int pthread_join (pthread_t __th, void **__thread_return);
+
+
+
+
+extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return,
+     __const struct timespec *__abstime);
+
+
+
+
+
+
+extern int pthread_detach (pthread_t __th) __attribute__ ((__nothrow__));
+
+
+
+extern pthread_t pthread_self (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+
+extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+extern int pthread_attr_init (pthread_attr_t *__attr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_attr_destroy (pthread_attr_t *__attr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_attr_getdetachstate (__const pthread_attr_t *__attr,
+     int *__detachstate)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_attr_setdetachstate (pthread_attr_t *__attr,
+     int __detachstate)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_attr_getguardsize (__const pthread_attr_t *__attr,
+          size_t *__guardsize)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_attr_setguardsize (pthread_attr_t *__attr,
+          size_t __guardsize)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_attr_getschedparam (__const pthread_attr_t *__restrict
+           __attr,
+           struct sched_param *__restrict __param)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
+           __const struct sched_param *__restrict
+           __param) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_attr_getschedpolicy (__const pthread_attr_t *__restrict
+     __attr, int *__restrict __policy)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_attr_getinheritsched (__const pthread_attr_t *__restrict
+      __attr, int *__restrict __inherit)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_attr_setinheritsched (pthread_attr_t *__attr,
+      int __inherit)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_attr_getscope (__const pthread_attr_t *__restrict __attr,
+      int *__restrict __scope)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_attr_getstackaddr (__const pthread_attr_t *__restrict
+          __attr, void **__restrict __stackaddr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__));
+
+
+
+
+
+extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
+          void *__stackaddr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__));
+
+
+extern int pthread_attr_getstacksize (__const pthread_attr_t *__restrict
+          __attr, size_t *__restrict __stacksize)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+extern int pthread_attr_setstacksize (pthread_attr_t *__attr,
+          size_t __stacksize)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_attr_getstack (__const pthread_attr_t *__restrict __attr,
+      void **__restrict __stackaddr,
+      size_t *__restrict __stacksize)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2, 3)));
+
+
+
+
+extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
+      size_t __stacksize) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr,
+     size_t __cpusetsize,
+     __const cpu_set_t *__cpuset)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3)));
+
+
+
+extern int pthread_attr_getaffinity_np (__const pthread_attr_t *__attr,
+     size_t __cpusetsize,
+     cpu_set_t *__cpuset)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3)));
+
+
+
+
+
+extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
+
+
+
+
+
+
+
+extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
+      __const struct sched_param *__param)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3)));
+
+
+extern int pthread_getschedparam (pthread_t __target_thread,
+      int *__restrict __policy,
+      struct sched_param *__restrict __param)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
+
+
+extern int pthread_setschedprio (pthread_t __target_thread, int __prio)
+     __attribute__ ((__nothrow__));
+
+
+
+
+extern int pthread_getname_np (pthread_t __target_thread, char *__buf,
+          size_t __buflen)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
+
+
+extern int pthread_setname_np (pthread_t __target_thread, __const char *__name)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
+
+
+
+
+
+extern int pthread_getconcurrency (void) __attribute__ ((__nothrow__));
+
+
+extern int pthread_setconcurrency (int __level) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+extern int pthread_yield (void) __attribute__ ((__nothrow__));
+
+
+
+
+extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize,
+       __const cpu_set_t *__cpuset)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3)));
+
+
+extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize,
+       cpu_set_t *__cpuset)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3)));
+# 478 "/usr/include/pthread.h" 3 4
+extern int pthread_once (pthread_once_t *__once_control,
+    void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2)));
+# 490 "/usr/include/pthread.h" 3 4
+extern int pthread_setcancelstate (int __state, int *__oldstate);
+
+
+
+extern int pthread_setcanceltype (int __type, int *__oldtype);
+
+
+extern int pthread_cancel (pthread_t __th);
+
+
+
+
+extern void pthread_testcancel (void);
+
+
+
+
+typedef struct
+{
+  struct
+  {
+    __jmp_buf __cancel_jmp_buf;
+    int __mask_was_saved;
+  } __cancel_jmp_buf[1];
+  void *__pad[4];
+} __pthread_unwind_buf_t __attribute__ ((__aligned__));
+# 524 "/usr/include/pthread.h" 3 4
+struct __pthread_cleanup_frame
+{
+  void (*__cancel_routine) (void *);
+  void *__cancel_arg;
+  int __do_it;
+  int __cancel_type;
+};
+# 664 "/usr/include/pthread.h" 3 4
+extern void __pthread_register_cancel (__pthread_unwind_buf_t *__buf)
+     ;
+# 676 "/usr/include/pthread.h" 3 4
+extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf)
+  ;
+# 699 "/usr/include/pthread.h" 3 4
+extern void __pthread_register_cancel_defer (__pthread_unwind_buf_t *__buf)
+     ;
+# 712 "/usr/include/pthread.h" 3 4
+extern void __pthread_unregister_cancel_restore (__pthread_unwind_buf_t *__buf)
+  ;
+
+
+
+extern void __pthread_unwind_next (__pthread_unwind_buf_t *__buf)
+     __attribute__ ((__noreturn__))
+
+     __attribute__ ((__weak__))
+
+     ;
+
+
+
+struct __jmp_buf_tag;
+extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) __attribute__ ((__nothrow__));
+
+
+
+
+
+extern int pthread_mutex_init (pthread_mutex_t *__mutex,
+          __const pthread_mutexattr_t *__mutexattr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_mutex_destroy (pthread_mutex_t *__mutex)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_mutex_trylock (pthread_mutex_t *__mutex)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_mutex_lock (pthread_mutex_t *__mutex)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
+        __const struct timespec *__restrict
+        __abstime) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+extern int pthread_mutex_unlock (pthread_mutex_t *__mutex)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_mutex_getprioceiling (__const pthread_mutex_t *
+      __restrict __mutex,
+      int *__restrict __prioceiling)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex,
+      int __prioceiling,
+      int *__restrict __old_ceiling)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3)));
+
+
+
+
+extern int pthread_mutex_consistent (pthread_mutex_t *__mutex)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+# 790 "/usr/include/pthread.h" 3 4
+extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_mutexattr_getpshared (__const pthread_mutexattr_t *
+      __restrict __attr,
+      int *__restrict __pshared)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr,
+      int __pshared)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_mutexattr_gettype (__const pthread_mutexattr_t *__restrict
+          __attr, int *__restrict __kind)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_mutexattr_getprotocol (__const pthread_mutexattr_t *
+       __restrict __attr,
+       int *__restrict __protocol)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr,
+       int __protocol)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_mutexattr_getprioceiling (__const pthread_mutexattr_t *
+          __restrict __attr,
+          int *__restrict __prioceiling)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr,
+          int __prioceiling)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_mutexattr_getrobust (__const pthread_mutexattr_t *__attr,
+     int *__robustness)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+extern int pthread_mutexattr_getrobust_np (__const pthread_mutexattr_t *__attr,
+        int *__robustness)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr,
+     int __robustness)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *__attr,
+        int __robustness)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+# 872 "/usr/include/pthread.h" 3 4
+extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock,
+    __const pthread_rwlockattr_t *__restrict
+    __attr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock)
+  __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
+           __const struct timespec *__restrict
+           __abstime) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
+           __const struct timespec *__restrict
+           __abstime) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_rwlockattr_getpshared (__const pthread_rwlockattr_t *
+       __restrict __attr,
+       int *__restrict __pshared)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr,
+       int __pshared)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_rwlockattr_getkind_np (__const pthread_rwlockattr_t *
+       __restrict __attr,
+       int *__restrict __pref)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr,
+       int __pref) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+
+extern int pthread_cond_init (pthread_cond_t *__restrict __cond,
+         __const pthread_condattr_t *__restrict
+         __cond_attr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_cond_destroy (pthread_cond_t *__cond)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_cond_signal (pthread_cond_t *__cond)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_cond_broadcast (pthread_cond_t *__cond)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+extern int pthread_cond_wait (pthread_cond_t *__restrict __cond,
+         pthread_mutex_t *__restrict __mutex)
+     __attribute__ ((__nonnull__ (1, 2)));
+# 984 "/usr/include/pthread.h" 3 4
+extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
+       pthread_mutex_t *__restrict __mutex,
+       __const struct timespec *__restrict
+       __abstime) __attribute__ ((__nonnull__ (1, 2, 3)));
+
+
+
+
+extern int pthread_condattr_init (pthread_condattr_t *__attr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_condattr_destroy (pthread_condattr_t *__attr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_condattr_getpshared (__const pthread_condattr_t *
+     __restrict __attr,
+     int *__restrict __pshared)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
+     int __pshared) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_condattr_getclock (__const pthread_condattr_t *
+          __restrict __attr,
+          __clockid_t *__restrict __clock_id)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_condattr_setclock (pthread_condattr_t *__attr,
+          __clockid_t __clock_id)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+# 1028 "/usr/include/pthread.h" 3 4
+extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_spin_destroy (pthread_spinlock_t *__lock)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_spin_lock (pthread_spinlock_t *__lock)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_spin_trylock (pthread_spinlock_t *__lock)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_spin_unlock (pthread_spinlock_t *__lock)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier,
+     __const pthread_barrierattr_t *__restrict
+     __attr, unsigned int __count)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_barrier_destroy (pthread_barrier_t *__barrier)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_barrier_wait (pthread_barrier_t *__barrier)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_barrierattr_getpshared (__const pthread_barrierattr_t *
+        __restrict __attr,
+        int *__restrict __pshared)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr,
+        int __pshared)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+# 1095 "/usr/include/pthread.h" 3 4
+extern int pthread_key_create (pthread_key_t *__key,
+          void (*__destr_function) (void *))
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_key_delete (pthread_key_t __key) __attribute__ ((__nothrow__));
+
+
+extern void *pthread_getspecific (pthread_key_t __key) __attribute__ ((__nothrow__));
+
+
+extern int pthread_setspecific (pthread_key_t __key,
+    __const void *__pointer) __attribute__ ((__nothrow__)) ;
+
+
+
+
+extern int pthread_getcpuclockid (pthread_t __thread_id,
+      __clockid_t *__clock_id)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
+# 1129 "/usr/include/pthread.h" 3 4
+extern int pthread_atfork (void (*__prepare) (void),
+      void (*__parent) (void),
+      void (*__child) (void)) __attribute__ ((__nothrow__));
+
+
+
+
+extern __inline __attribute__ ((__gnu_inline__)) int
+__attribute__ ((__nothrow__)) pthread_equal (pthread_t __thread1, pthread_t __thread2)
+{
+  return __thread1 == __thread2;
+}
+
+
+
+# 64 "../../src/mapi/mapi/u_thread.h" 2
+
+struct u_tsd {
+   pthread_key_t key;
+   int initMagic;
+};
+
+typedef pthread_mutex_t u_mutex;
+# 186 "../../src/mapi/mapi/u_thread.h"
+unsigned long
+u_thread_self(void);
+
+void
+u_tsd_init(struct u_tsd *tsd);
+
+void
+u_tsd_destroy(struct u_tsd *tsd);
+
+void *
+u_tsd_get(struct u_tsd *tsd);
+
+void
+u_tsd_set(struct u_tsd *tsd, void *ptr);
+# 5 "../../src/mapi/glapi/glthread.h" 2
+# 17 "../../src/mapi/glapi/glthread.h"
+typedef struct u_tsd _glthread_TSD;
+typedef u_mutex _glthread_Mutex;
+# 76 "../../src/mapi/glapi/glapi.h" 2
+
+typedef void (*_glapi_proc)(void);
+struct _glapi_table;
+
+
+
+
+__attribute__((visibility("default"))) extern __thread struct _glapi_table * _glapi_tls_Dispatch
+    __attribute__((tls_model("initial-exec")));
+
+__attribute__((visibility("default"))) extern __thread void * _glapi_tls_Context
+    __attribute__((tls_model("initial-exec")));
+
+__attribute__((visibility("default"))) extern const struct _glapi_table *_glapi_Dispatch;
+__attribute__((visibility("default"))) extern const void *_glapi_Context;
+# 118 "../../src/mapi/glapi/glapi.h"
+void
+_glapi_destroy_multithread(void);
+
+
+__attribute__((visibility("default"))) void
+_glapi_check_multithread(void);
+
+
+__attribute__((visibility("default"))) void
+_glapi_set_context(void *context);
+
+
+__attribute__((visibility("default"))) void *
+_glapi_get_context(void);
+
+
+__attribute__((visibility("default"))) void
+_glapi_set_dispatch(struct _glapi_table *dispatch);
+
+
+__attribute__((visibility("default"))) struct _glapi_table *
+_glapi_get_dispatch(void);
+
+
+__attribute__((visibility("default"))) unsigned int
+_glapi_get_dispatch_table_size(void);
+
+
+__attribute__((visibility("default"))) int
+_glapi_add_dispatch( const char * const * function_names,
+       const char * parameter_signature );
+
+__attribute__((visibility("default"))) int
+_glapi_get_proc_offset(const char *funcName);
+
+
+__attribute__((visibility("default"))) _glapi_proc
+_glapi_get_proc_address(const char *funcName);
+
+
+__attribute__((visibility("default"))) const char *
+_glapi_get_proc_name(unsigned int offset);
+
+
+__attribute__((visibility("default"))) struct _glapi_table *
+_glapi_create_table_from_handle(void *handle, const char *symbol_prefix);
+
+
+__attribute__((visibility("default"))) unsigned long
+_glthread_GetID(void);
+
+
+
+
+
+__attribute__((visibility("default"))) void
+_glapi_noop_enable_warnings(unsigned char enable);
+
+
+__attribute__((visibility("default"))) void
+_glapi_set_warning_func(_glapi_proc func);
+# 41 "../../src/mesa/main/mtypes.h" 2
+# 1 "../../src/mesa/math/m_matrix.h" 1
+# 57 "../../src/mesa/math/m_matrix.h"
+enum GLmatrixtype {
+   MATRIX_GENERAL,
+   MATRIX_IDENTITY,
+   MATRIX_3D_NO_ROT,
+   MATRIX_PERSPECTIVE,
+   MATRIX_2D,
+   MATRIX_2D_NO_ROT,
+   MATRIX_3D
+} ;
+
+
+
+
+typedef struct {
+   GLfloat *m;
+   GLfloat *inv;
+   GLuint flags;
+
+
+   enum GLmatrixtype type;
+} GLmatrix;
+
+
+
+
+extern void
+_math_matrix_ctr( GLmatrix *m );
+
+extern void
+_math_matrix_dtr( GLmatrix *m );
+
+extern void
+_math_matrix_alloc_inv( GLmatrix *m );
+
+extern void
+_math_matrix_mul_matrix( GLmatrix *dest, const GLmatrix *a, const GLmatrix *b );
+
+extern void
+_math_matrix_mul_floats( GLmatrix *dest, const GLfloat *b );
+
+extern void
+_math_matrix_loadf( GLmatrix *mat, const GLfloat *m );
+
+extern void
+_math_matrix_translate( GLmatrix *mat, GLfloat x, GLfloat y, GLfloat z );
+
+extern void
+_math_matrix_rotate( GLmatrix *m, GLfloat angle,
+       GLfloat x, GLfloat y, GLfloat z );
+
+extern void
+_math_matrix_scale( GLmatrix *mat, GLfloat x, GLfloat y, GLfloat z );
+
+extern void
+_math_matrix_ortho( GLmatrix *mat,
+      GLfloat left, GLfloat right,
+      GLfloat bottom, GLfloat top,
+      GLfloat nearval, GLfloat farval );
+
+extern void
+_math_matrix_frustum( GLmatrix *mat,
+        GLfloat left, GLfloat right,
+        GLfloat bottom, GLfloat top,
+        GLfloat nearval, GLfloat farval );
+
+extern void
+_math_matrix_viewport(GLmatrix *m, GLint x, GLint y, GLint width, GLint height,
+                      GLfloat zNear, GLfloat zFar, GLfloat depthMax);
+
+extern void
+_math_matrix_set_identity( GLmatrix *dest );
+
+extern void
+_math_matrix_copy( GLmatrix *to, const GLmatrix *from );
+
+extern void
+_math_matrix_analyse( GLmatrix *mat );
+
+extern void
+_math_matrix_print( const GLmatrix *m );
+
+extern GLboolean
+_math_matrix_is_length_preserving( const GLmatrix *m );
+
+extern GLboolean
+_math_matrix_has_rotation( const GLmatrix *m );
+
+extern GLboolean
+_math_matrix_is_general_scale( const GLmatrix *m );
+
+extern GLboolean
+_math_matrix_is_dirty( const GLmatrix *m );
+
+
+
+
+
+
+
+extern void
+_math_transposef( GLfloat to[16], const GLfloat from[16] );
+
+extern void
+_math_transposed( GLdouble to[16], const GLdouble from[16] );
+
+extern void
+_math_transposefd( GLfloat to[16], const GLdouble from[16] );
+# 205 "../../src/mesa/math/m_matrix.h"
+extern void
+_mesa_transform_vector(GLfloat u[4], const GLfloat v[4], const GLfloat m[16]);
+# 42 "../../src/mesa/main/mtypes.h" 2
+# 1 "../../src/mesa/main/simple_list.h" 1
+# 40 "../../src/mesa/main/simple_list.h"
+struct simple_node {
+   struct simple_node *next;
+   struct simple_node *prev;
+};
+# 43 "../../src/mesa/main/mtypes.h" 2
+# 1 "../../src/mesa/main/formats.h" 1
+# 46 "../../src/mesa/main/formats.h"
+typedef enum
+{
+   MESA_FORMAT_NONE = 0,
+
+
+
+
+
+
+
+   MESA_FORMAT_RGBA8888,
+   MESA_FORMAT_RGBA8888_REV,
+   MESA_FORMAT_ARGB8888,
+   MESA_FORMAT_ARGB8888_REV,
+   MESA_FORMAT_XRGB8888,
+   MESA_FORMAT_XRGB8888_REV,
+   MESA_FORMAT_RGB888,
+   MESA_FORMAT_BGR888,
+   MESA_FORMAT_RGB565,
+   MESA_FORMAT_RGB565_REV,
+   MESA_FORMAT_ARGB4444,
+   MESA_FORMAT_ARGB4444_REV,
+   MESA_FORMAT_RGBA5551,
+   MESA_FORMAT_ARGB1555,
+   MESA_FORMAT_ARGB1555_REV,
+   MESA_FORMAT_AL44,
+   MESA_FORMAT_AL88,
+   MESA_FORMAT_AL88_REV,
+   MESA_FORMAT_AL1616,
+   MESA_FORMAT_AL1616_REV,
+   MESA_FORMAT_RGB332,
+   MESA_FORMAT_A8,
+   MESA_FORMAT_A16,
+   MESA_FORMAT_L8,
+   MESA_FORMAT_L16,
+   MESA_FORMAT_I8,
+   MESA_FORMAT_I16,
+   MESA_FORMAT_CI8,
+   MESA_FORMAT_YCBCR,
+   MESA_FORMAT_YCBCR_REV,
+   MESA_FORMAT_R8,
+   MESA_FORMAT_RG88,
+   MESA_FORMAT_RG88_REV,
+   MESA_FORMAT_R16,
+   MESA_FORMAT_RG1616,
+   MESA_FORMAT_RG1616_REV,
+   MESA_FORMAT_ARGB2101010,
+   MESA_FORMAT_Z24_S8,
+   MESA_FORMAT_S8_Z24,
+   MESA_FORMAT_Z16,
+   MESA_FORMAT_X8_Z24,
+   MESA_FORMAT_Z24_X8,
+   MESA_FORMAT_Z32,
+   MESA_FORMAT_S8,
+
+
+
+
+
+
+   MESA_FORMAT_SRGB8,
+   MESA_FORMAT_SRGBA8,
+   MESA_FORMAT_SARGB8,
+   MESA_FORMAT_SL8,
+   MESA_FORMAT_SLA8,
+   MESA_FORMAT_SRGB_DXT1,
+   MESA_FORMAT_SRGBA_DXT1,
+   MESA_FORMAT_SRGBA_DXT3,
+   MESA_FORMAT_SRGBA_DXT5,
+
+
+
+
+
+
+   MESA_FORMAT_RGB_FXT1,
+   MESA_FORMAT_RGBA_FXT1,
+   MESA_FORMAT_RGB_DXT1,
+   MESA_FORMAT_RGBA_DXT1,
+   MESA_FORMAT_RGBA_DXT3,
+   MESA_FORMAT_RGBA_DXT5,
+
+
+
+
+
+
+   MESA_FORMAT_RGBA_FLOAT32,
+   MESA_FORMAT_RGBA_FLOAT16,
+   MESA_FORMAT_RGB_FLOAT32,
+   MESA_FORMAT_RGB_FLOAT16,
+   MESA_FORMAT_ALPHA_FLOAT32,
+   MESA_FORMAT_ALPHA_FLOAT16,
+   MESA_FORMAT_LUMINANCE_FLOAT32,
+   MESA_FORMAT_LUMINANCE_FLOAT16,
+   MESA_FORMAT_LUMINANCE_ALPHA_FLOAT32,
+   MESA_FORMAT_LUMINANCE_ALPHA_FLOAT16,
+   MESA_FORMAT_INTENSITY_FLOAT32,
+   MESA_FORMAT_INTENSITY_FLOAT16,
+   MESA_FORMAT_R_FLOAT32,
+   MESA_FORMAT_R_FLOAT16,
+   MESA_FORMAT_RG_FLOAT32,
+   MESA_FORMAT_RG_FLOAT16,
+
+
+
+
+
+
+
+   MESA_FORMAT_RGBA_INT8,
+   MESA_FORMAT_RGBA_INT16,
+   MESA_FORMAT_RGBA_INT32,
+
+
+
+
+   MESA_FORMAT_RGBA_UINT8,
+   MESA_FORMAT_RGBA_UINT16,
+   MESA_FORMAT_RGBA_UINT32,
+
+
+
+
+
+
+
+   MESA_FORMAT_DUDV8,
+   MESA_FORMAT_SIGNED_R8,
+   MESA_FORMAT_SIGNED_RG88_REV,
+   MESA_FORMAT_SIGNED_RGBX8888,
+   MESA_FORMAT_SIGNED_RGBA8888,
+   MESA_FORMAT_SIGNED_RGBA8888_REV,
+   MESA_FORMAT_SIGNED_R16,
+   MESA_FORMAT_SIGNED_GR1616,
+   MESA_FORMAT_SIGNED_RGB_16,
+   MESA_FORMAT_SIGNED_RGBA_16,
+   MESA_FORMAT_RGBA_16,
+
+
+
+   MESA_FORMAT_RED_RGTC1,
+   MESA_FORMAT_SIGNED_RED_RGTC1,
+   MESA_FORMAT_RG_RGTC2,
+   MESA_FORMAT_SIGNED_RG_RGTC2,
+
+
+
+   MESA_FORMAT_L_LATC1,
+   MESA_FORMAT_SIGNED_L_LATC1,
+   MESA_FORMAT_LA_LATC2,
+   MESA_FORMAT_SIGNED_LA_LATC2,
+
+
+   MESA_FORMAT_SIGNED_A8,
+   MESA_FORMAT_SIGNED_L8,
+   MESA_FORMAT_SIGNED_AL88,
+   MESA_FORMAT_SIGNED_I8,
+   MESA_FORMAT_SIGNED_A16,
+   MESA_FORMAT_SIGNED_L16,
+   MESA_FORMAT_SIGNED_AL1616,
+   MESA_FORMAT_SIGNED_I16,
+
+   MESA_FORMAT_RGB9_E5_FLOAT,
+   MESA_FORMAT_R11_G11_B10_FLOAT,
+
+   MESA_FORMAT_COUNT
+} gl_format;
+
+
+extern const char *
+_mesa_get_format_name(gl_format format);
+
+extern GLint
+_mesa_get_format_bytes(gl_format format);
+
+extern GLint
+_mesa_get_format_bits(gl_format format, GLenum pname);
+
+extern GLenum
+_mesa_get_format_datatype(gl_format format);
+
+extern GLenum
+_mesa_get_format_base_format(gl_format format);
+
+extern void
+_mesa_get_format_block_size(gl_format format, GLuint *bw, GLuint *bh);
+
+extern GLboolean
+_mesa_is_format_compressed(gl_format format);
+
+extern GLboolean
+_mesa_is_format_packed_depth_stencil(gl_format format);
+
+extern GLboolean
+_mesa_is_format_integer_color(gl_format format);
+
+extern GLenum
+_mesa_get_format_color_encoding(gl_format format);
+
+extern GLuint
+_mesa_format_image_size(gl_format format, GLsizei width,
+                        GLsizei height, GLsizei depth);
+
+extern uint64_t
+_mesa_format_image_size64(gl_format format, GLsizei width,
+                          GLsizei height, GLsizei depth);
+
+extern GLint
+_mesa_format_row_stride(gl_format format, GLsizei width);
+
+extern void
+_mesa_format_to_type_and_comps(gl_format format,
+                               GLenum *datatype, GLuint *comps);
+
+extern void
+_mesa_test_formats(void);
+
+extern gl_format
+_mesa_get_srgb_format_linear(gl_format format);
+# 44 "../../src/mesa/main/mtypes.h" 2
+
+
+
+
+
+
+   typedef GLubyte GLchan;
+# 73 "../../src/mesa/main/mtypes.h"
+   typedef GLubyte GLstencil;
+# 85 "../../src/mesa/main/mtypes.h"
+typedef GLuint64 GLbitfield64;
+# 95 "../../src/mesa/main/mtypes.h"
+struct _mesa_HashTable;
+struct gl_attrib_node;
+struct gl_list_extensions;
+struct gl_meta_state;
+struct gl_pixelstore_attrib;
+struct gl_program_cache;
+struct gl_texture_format;
+struct gl_texture_image;
+struct gl_texture_object;
+struct gl_context;
+struct st_context;
+# 119 "../../src/mesa/main/mtypes.h"
+typedef enum
+{
+   MESA_SHADER_VERTEX = 0,
+   MESA_SHADER_FRAGMENT = 1,
+   MESA_SHADER_GEOMETRY = 2,
+   MESA_SHADER_TYPES = 3
+} gl_shader_type;
+# 136 "../../src/mesa/main/mtypes.h"
+typedef enum
+{
+   VERT_ATTRIB_POS = 0,
+   VERT_ATTRIB_WEIGHT = 1,
+   VERT_ATTRIB_NORMAL = 2,
+   VERT_ATTRIB_COLOR0 = 3,
+   VERT_ATTRIB_COLOR1 = 4,
+   VERT_ATTRIB_FOG = 5,
+   VERT_ATTRIB_COLOR_INDEX = 6,
+   VERT_ATTRIB_POINT_SIZE = 6,
+   VERT_ATTRIB_EDGEFLAG = 7,
+   VERT_ATTRIB_TEX0 = 8,
+   VERT_ATTRIB_TEX1 = 9,
+   VERT_ATTRIB_TEX2 = 10,
+   VERT_ATTRIB_TEX3 = 11,
+   VERT_ATTRIB_TEX4 = 12,
+   VERT_ATTRIB_TEX5 = 13,
+   VERT_ATTRIB_TEX6 = 14,
+   VERT_ATTRIB_TEX7 = 15,
+   VERT_ATTRIB_GENERIC0 = 16,
+   VERT_ATTRIB_GENERIC1 = 17,
+   VERT_ATTRIB_GENERIC2 = 18,
+   VERT_ATTRIB_GENERIC3 = 19,
+   VERT_ATTRIB_GENERIC4 = 20,
+   VERT_ATTRIB_GENERIC5 = 21,
+   VERT_ATTRIB_GENERIC6 = 22,
+   VERT_ATTRIB_GENERIC7 = 23,
+   VERT_ATTRIB_GENERIC8 = 24,
+   VERT_ATTRIB_GENERIC9 = 25,
+   VERT_ATTRIB_GENERIC10 = 26,
+   VERT_ATTRIB_GENERIC11 = 27,
+   VERT_ATTRIB_GENERIC12 = 28,
+   VERT_ATTRIB_GENERIC13 = 29,
+   VERT_ATTRIB_GENERIC14 = 30,
+   VERT_ATTRIB_GENERIC15 = 31,
+   VERT_ATTRIB_MAX = 32
+} gl_vert_attrib;
+# 220 "../../src/mesa/main/mtypes.h"
+typedef enum
+{
+   VERT_RESULT_HPOS = 0,
+   VERT_RESULT_COL0 = 1,
+   VERT_RESULT_COL1 = 2,
+   VERT_RESULT_FOGC = 3,
+   VERT_RESULT_TEX0 = 4,
+   VERT_RESULT_TEX1 = 5,
+   VERT_RESULT_TEX2 = 6,
+   VERT_RESULT_TEX3 = 7,
+   VERT_RESULT_TEX4 = 8,
+   VERT_RESULT_TEX5 = 9,
+   VERT_RESULT_TEX6 = 10,
+   VERT_RESULT_TEX7 = 11,
+   VERT_RESULT_PSIZ = 12,
+   VERT_RESULT_BFC0 = 13,
+   VERT_RESULT_BFC1 = 14,
+   VERT_RESULT_EDGE = 15,
+   VERT_RESULT_VAR0 = 16,
+   VERT_RESULT_MAX = (VERT_RESULT_VAR0 + 16)
+} gl_vert_result;
+
+
+
+
+
+
+
+typedef enum
+{
+   GEOM_ATTRIB_POSITION = 0,
+   GEOM_ATTRIB_COLOR0 = 1,
+   GEOM_ATTRIB_COLOR1 = 2,
+   GEOM_ATTRIB_SECONDARY_COLOR0 = 3,
+   GEOM_ATTRIB_SECONDARY_COLOR1 = 4,
+   GEOM_ATTRIB_FOG_FRAG_COORD = 5,
+   GEOM_ATTRIB_POINT_SIZE = 6,
+   GEOM_ATTRIB_CLIP_VERTEX = 7,
+   GEOM_ATTRIB_PRIMITIVE_ID = 8,
+   GEOM_ATTRIB_TEX_COORD = 9,
+
+   GEOM_ATTRIB_VAR0 = 16,
+   GEOM_ATTRIB_MAX = (GEOM_ATTRIB_VAR0 + 16)
+} gl_geom_attrib;
+# 289 "../../src/mesa/main/mtypes.h"
+typedef enum
+{
+   GEOM_RESULT_POS = 0,
+   GEOM_RESULT_COL0 = 1,
+   GEOM_RESULT_COL1 = 2,
+   GEOM_RESULT_SCOL0 = 3,
+   GEOM_RESULT_SCOL1 = 4,
+   GEOM_RESULT_FOGC = 5,
+   GEOM_RESULT_TEX0 = 6,
+   GEOM_RESULT_TEX1 = 7,
+   GEOM_RESULT_TEX2 = 8,
+   GEOM_RESULT_TEX3 = 9,
+   GEOM_RESULT_TEX4 = 10,
+   GEOM_RESULT_TEX5 = 11,
+   GEOM_RESULT_TEX6 = 12,
+   GEOM_RESULT_TEX7 = 13,
+   GEOM_RESULT_PSIZ = 14,
+   GEOM_RESULT_CLPV = 15,
+   GEOM_RESULT_PRID = 16,
+   GEOM_RESULT_LAYR = 17,
+   GEOM_RESULT_VAR0 = 18,
+
+   GEOM_RESULT_MAX = (GEOM_RESULT_VAR0 + 16 - 2)
+} gl_geom_result;
+
+
+
+
+
+typedef enum
+{
+   FRAG_ATTRIB_WPOS = 0,
+   FRAG_ATTRIB_COL0 = 1,
+   FRAG_ATTRIB_COL1 = 2,
+   FRAG_ATTRIB_FOGC = 3,
+   FRAG_ATTRIB_TEX0 = 4,
+   FRAG_ATTRIB_TEX1 = 5,
+   FRAG_ATTRIB_TEX2 = 6,
+   FRAG_ATTRIB_TEX3 = 7,
+   FRAG_ATTRIB_TEX4 = 8,
+   FRAG_ATTRIB_TEX5 = 9,
+   FRAG_ATTRIB_TEX6 = 10,
+   FRAG_ATTRIB_TEX7 = 11,
+   FRAG_ATTRIB_FACE = 12,
+   FRAG_ATTRIB_PNTC = 13,
+   FRAG_ATTRIB_VAR0 = 14,
+   FRAG_ATTRIB_MAX = (FRAG_ATTRIB_VAR0 + 16)
+} gl_frag_attrib;
+# 375 "../../src/mesa/main/mtypes.h"
+typedef enum
+{
+   FRAG_RESULT_DEPTH = 0,
+   FRAG_RESULT_STENCIL = 1,
+
+
+
+   FRAG_RESULT_COLOR = 2,
+
+
+
+
+
+   FRAG_RESULT_DATA0 = 3,
+   FRAG_RESULT_MAX = (FRAG_RESULT_DATA0 + 8)
+} gl_frag_result;
+
+
+
+
+
+typedef enum
+{
+
+   BUFFER_FRONT_LEFT,
+   BUFFER_BACK_LEFT,
+   BUFFER_FRONT_RIGHT,
+   BUFFER_BACK_RIGHT,
+   BUFFER_DEPTH,
+   BUFFER_STENCIL,
+   BUFFER_ACCUM,
+
+   BUFFER_AUX0,
+
+   BUFFER_COLOR0,
+   BUFFER_COLOR1,
+   BUFFER_COLOR2,
+   BUFFER_COLOR3,
+   BUFFER_COLOR4,
+   BUFFER_COLOR5,
+   BUFFER_COLOR6,
+   BUFFER_COLOR7,
+   BUFFER_COUNT
+} gl_buffer_index;
+# 466 "../../src/mesa/main/mtypes.h"
+struct gl_config
+{
+   GLboolean rgbMode;
+   GLboolean floatMode;
+   GLboolean colorIndexMode;
+   GLuint doubleBufferMode;
+   GLuint stereoMode;
+
+   GLboolean haveAccumBuffer;
+   GLboolean haveDepthBuffer;
+   GLboolean haveStencilBuffer;
+
+   GLint redBits, greenBits, blueBits, alphaBits;
+   GLuint redMask, greenMask, blueMask, alphaMask;
+   GLint rgbBits;
+   GLint indexBits;
+
+   GLint accumRedBits, accumGreenBits, accumBlueBits, accumAlphaBits;
+   GLint depthBits;
+   GLint stencilBits;
+
+   GLint numAuxBuffers;
+
+   GLint level;
+
+
+   GLint visualRating;
+
+
+   GLint transparentPixel;
+
+   GLint transparentRed, transparentGreen, transparentBlue, transparentAlpha;
+   GLint transparentIndex;
+
+
+   GLint sampleBuffers;
+   GLint samples;
+
+
+   GLint maxPbufferWidth;
+   GLint maxPbufferHeight;
+   GLint maxPbufferPixels;
+   GLint optimalPbufferWidth;
+   GLint optimalPbufferHeight;
+
+
+   GLint swapMethod;
+
+
+   GLint bindToTextureRgb;
+   GLint bindToTextureRgba;
+   GLint bindToMipmapTexture;
+   GLint bindToTextureTargets;
+   GLint yInverted;
+
+
+   GLint sRGBCapable;
+};
+
+
+
+
+
+struct gl_color_table
+{
+   GLenum InternalFormat;
+   GLenum _BaseFormat;
+   GLuint Size;
+   GLfloat *TableF;
+   GLubyte *TableUB;
+   GLubyte RedSize;
+   GLubyte GreenSize;
+   GLubyte BlueSize;
+   GLubyte AlphaSize;
+   GLubyte LuminanceSize;
+   GLubyte IntensitySize;
+};
+# 612 "../../src/mesa/main/mtypes.h"
+struct gl_shine_tab
+{
+   struct gl_shine_tab *next, *prev;
+   GLfloat tab[256 +1];
+   GLfloat shininess;
+   GLuint refcount;
+};
+
+
+
+
+
+struct gl_light
+{
+   struct gl_light *next;
+   struct gl_light *prev;
+
+   GLfloat Ambient[4];
+   GLfloat Diffuse[4];
+   GLfloat Specular[4];
+   GLfloat EyePosition[4];
+   GLfloat SpotDirection[4];
+   GLfloat SpotExponent;
+   GLfloat SpotCutoff;
+   GLfloat _CosCutoffNeg;
+   GLfloat _CosCutoff;
+   GLfloat ConstantAttenuation;
+   GLfloat LinearAttenuation;
+   GLfloat QuadraticAttenuation;
+   GLboolean Enabled;
+
+
+
+
+
+   GLbitfield _Flags;
+
+   GLfloat _Position[4];
+   GLfloat _VP_inf_norm[3];
+   GLfloat _h_inf_norm[3];
+   GLfloat _NormSpotDirection[4];
+   GLfloat _VP_inf_spot_attenuation;
+
+   GLfloat _SpotExpTable[512][2];
+   GLfloat _MatAmbient[2][3];
+   GLfloat _MatDiffuse[2][3];
+   GLfloat _MatSpecular[2][3];
+   GLfloat _dli;
+   GLfloat _sli;
+
+};
+
+
+
+
+
+struct gl_lightmodel
+{
+   GLfloat Ambient[4];
+   GLboolean LocalViewer;
+   GLboolean TwoSide;
+   GLenum ColorControl;
+
+};
+
+
+
+
+
+struct gl_material
+{
+   GLfloat Attrib[12][4];
+};
+
+
+
+
+
+struct gl_accum_attrib
+{
+   GLfloat ClearColor[4];
+};
+
+
+
+
+
+struct gl_colorbuffer_attrib
+{
+   GLuint ClearIndex;
+   GLfloat ClearColorUnclamped[4];
+   GLclampf ClearColor[4];
+
+   GLuint IndexMask;
+   GLubyte ColorMask[8][4];
+
+   GLenum DrawBuffer[8];
+
+
+
+
+
+   GLboolean AlphaEnabled;
+   GLenum AlphaFunc;
+   GLfloat AlphaRefUnclamped;
+   GLclampf AlphaRef;
+
+
+
+
+
+
+   GLbitfield BlendEnabled;
+
+
+
+
+
+   GLfloat BlendColorUnclamped[4];
+   GLfloat BlendColor[4];
+
+   struct
+   {
+      GLenum SrcRGB;
+      GLenum DstRGB;
+      GLenum SrcA;
+      GLenum DstA;
+      GLenum EquationRGB;
+      GLenum EquationA;
+   } Blend[8];
+
+   GLboolean _BlendFuncPerBuffer;
+
+   GLboolean _BlendEquationPerBuffer;
+
+
+
+
+
+
+   GLenum LogicOp;
+   GLboolean IndexLogicOpEnabled;
+   GLboolean ColorLogicOpEnabled;
+   GLboolean _LogicOpEnabled;
+
+
+   GLboolean DitherFlag;
+
+   GLenum ClampFragmentColor;
+   GLboolean _ClampFragmentColor;
+   GLenum ClampReadColor;
+   GLboolean _ClampReadColor;
+
+   GLboolean sRGBEnabled;
+};
+
+
+
+
+
+struct gl_current_attrib
+{
+
+
+
+
+
+
+   GLfloat Attrib[VERT_ATTRIB_MAX][4];
+
+
+
+
+
+
+   GLfloat RasterPos[4];
+   GLfloat RasterDistance;
+   GLfloat RasterColor[4];
+   GLfloat RasterSecondaryColor[4];
+   GLfloat RasterTexCoords[8][4];
+   GLboolean RasterPosValid;
+
+};
+
+
+
+
+
+struct gl_depthbuffer_attrib
+{
+   GLenum Func;
+   GLclampd Clear;
+   GLboolean Test;
+   GLboolean Mask;
+   GLboolean BoundsTest;
+   GLfloat BoundsMin, BoundsMax;
+};
+
+
+
+
+
+struct gl_eval_attrib
+{
+
+
+
+
+   GLboolean Map1Color4;
+   GLboolean Map1Index;
+   GLboolean Map1Normal;
+   GLboolean Map1TextureCoord1;
+   GLboolean Map1TextureCoord2;
+   GLboolean Map1TextureCoord3;
+   GLboolean Map1TextureCoord4;
+   GLboolean Map1Vertex3;
+   GLboolean Map1Vertex4;
+   GLboolean Map1Attrib[16];
+   GLboolean Map2Color4;
+   GLboolean Map2Index;
+   GLboolean Map2Normal;
+   GLboolean Map2TextureCoord1;
+   GLboolean Map2TextureCoord2;
+   GLboolean Map2TextureCoord3;
+   GLboolean Map2TextureCoord4;
+   GLboolean Map2Vertex3;
+   GLboolean Map2Vertex4;
+   GLboolean Map2Attrib[16];
+   GLboolean AutoNormal;
+
+
+
+
+
+
+   GLint MapGrid1un;
+   GLfloat MapGrid1u1, MapGrid1u2, MapGrid1du;
+   GLint MapGrid2un, MapGrid2vn;
+   GLfloat MapGrid2u1, MapGrid2u2, MapGrid2du;
+   GLfloat MapGrid2v1, MapGrid2v2, MapGrid2dv;
+
+};
+
+
+
+
+
+struct gl_fog_attrib
+{
+   GLboolean Enabled;
+   GLfloat ColorUnclamped[4];
+   GLfloat Color[4];
+   GLfloat Density;
+   GLfloat Start;
+   GLfloat End;
+   GLfloat Index;
+   GLenum Mode;
+   GLboolean ColorSumEnabled;
+   GLenum FogCoordinateSource;
+   GLfloat _Scale;
+};
+# 883 "../../src/mesa/main/mtypes.h"
+enum gl_frag_depth_layout {
+    FRAG_DEPTH_LAYOUT_NONE,
+    FRAG_DEPTH_LAYOUT_ANY,
+    FRAG_DEPTH_LAYOUT_GREATER,
+    FRAG_DEPTH_LAYOUT_LESS,
+    FRAG_DEPTH_LAYOUT_UNCHANGED
+};
+
+
+
+
+
+
+
+struct gl_hint_attrib
+{
+   GLenum PerspectiveCorrection;
+   GLenum PointSmooth;
+   GLenum LineSmooth;
+   GLenum PolygonSmooth;
+   GLenum Fog;
+   GLenum ClipVolumeClipping;
+   GLenum TextureCompression;
+   GLenum GenerateMipmap;
+   GLenum FragmentShaderDerivative;
+};
+# 924 "../../src/mesa/main/mtypes.h"
+struct gl_light_attrib
+{
+   struct gl_light Light[8];
+   struct gl_lightmodel Model;
+
+
+
+
+
+   struct gl_material Material;
+
+
+   GLboolean Enabled;
+   GLenum ShadeModel;
+   GLenum ProvokingVertex;
+   GLenum ColorMaterialFace;
+   GLenum ColorMaterialMode;
+   GLbitfield ColorMaterialBitmask;
+   GLboolean ColorMaterialEnabled;
+   GLenum ClampVertexColor;
+   GLboolean _ClampVertexColor;
+
+   struct gl_light EnabledList;
+
+
+
+
+
+   GLboolean _NeedEyeCoords;
+   GLboolean _NeedVertices;
+   GLbitfield _Flags;
+   GLfloat _BaseColor[2][3];
+
+};
+
+
+
+
+
+struct gl_line_attrib
+{
+   GLboolean SmoothFlag;
+   GLboolean StippleFlag;
+   GLushort StipplePattern;
+   GLint StippleFactor;
+   GLfloat Width;
+};
+
+
+
+
+
+struct gl_list_attrib
+{
+   GLuint ListBase;
+};
+
+
+
+
+
+struct gl_multisample_attrib
+{
+   GLboolean Enabled;
+   GLboolean _Enabled;
+   GLboolean SampleAlphaToCoverage;
+   GLboolean SampleAlphaToOne;
+   GLboolean SampleCoverage;
+   GLfloat SampleCoverageValue;
+   GLboolean SampleCoverageInvert;
+};
+
+
+
+
+
+struct gl_pixelmap
+{
+   GLint Size;
+   GLfloat Map[256];
+   GLubyte Map8[256];
+};
+
+
+
+
+
+struct gl_pixelmaps
+{
+   struct gl_pixelmap RtoR;
+   struct gl_pixelmap GtoG;
+   struct gl_pixelmap BtoB;
+   struct gl_pixelmap AtoA;
+   struct gl_pixelmap ItoR;
+   struct gl_pixelmap ItoG;
+   struct gl_pixelmap ItoB;
+   struct gl_pixelmap ItoA;
+   struct gl_pixelmap ItoI;
+   struct gl_pixelmap StoS;
+};
+
+
+
+
+
+struct gl_pixel_attrib
+{
+   GLenum ReadBuffer;
+
+
+
+
+
+
+   GLfloat RedBias, RedScale;
+   GLfloat GreenBias, GreenScale;
+   GLfloat BlueBias, BlueScale;
+   GLfloat AlphaBias, AlphaScale;
+   GLfloat DepthBias, DepthScale;
+   GLint IndexShift, IndexOffset;
+
+
+
+
+   GLboolean MapColorFlag;
+   GLboolean MapStencilFlag;
+
+
+
+
+   GLfloat ZoomX, ZoomY;
+};
+
+
+
+
+
+struct gl_point_attrib
+{
+   GLboolean SmoothFlag;
+   GLfloat Size;
+   GLfloat Params[3];
+   GLfloat MinSize, MaxSize;
+   GLfloat Threshold;
+   GLboolean _Attenuated;
+   GLboolean PointSprite;
+   GLboolean CoordReplace[8];
+   GLenum SpriteRMode;
+   GLenum SpriteOrigin;
+};
+
+
+
+
+
+struct gl_polygon_attrib
+{
+   GLenum FrontFace;
+   GLenum FrontMode;
+   GLenum BackMode;
+   GLboolean _FrontBit;
+   GLboolean CullFlag;
+   GLboolean SmoothFlag;
+   GLboolean StippleFlag;
+   GLenum CullFaceMode;
+   GLfloat OffsetFactor;
+   GLfloat OffsetUnits;
+   GLboolean OffsetPoint;
+   GLboolean OffsetLine;
+   GLboolean OffsetFill;
+};
+
+
+
+
+
+struct gl_scissor_attrib
+{
+   GLboolean Enabled;
+   GLint X, Y;
+   GLsizei Width, Height;
+};
+# 1124 "../../src/mesa/main/mtypes.h"
+struct gl_stencil_attrib
+{
+   GLboolean Enabled;
+   GLboolean TestTwoSide;
+   GLubyte ActiveFace;
+   GLboolean _Enabled;
+   GLboolean _TestTwoSide;
+   GLubyte _BackFace;
+   GLenum Function[3];
+   GLenum FailFunc[3];
+   GLenum ZPassFunc[3];
+   GLenum ZFailFunc[3];
+   GLint Ref[3];
+   GLuint ValueMask[3];
+   GLuint WriteMask[3];
+   GLuint Clear;
+};
+
+
+
+
+
+
+
+typedef enum
+{
+   TEXTURE_BUFFER_INDEX,
+   TEXTURE_2D_ARRAY_INDEX,
+   TEXTURE_1D_ARRAY_INDEX,
+   TEXTURE_CUBE_INDEX,
+   TEXTURE_3D_INDEX,
+   TEXTURE_RECT_INDEX,
+   TEXTURE_2D_INDEX,
+   TEXTURE_1D_INDEX,
+   NUM_TEXTURE_TARGETS
+} gl_texture_index;
+# 1230 "../../src/mesa/main/mtypes.h"
+typedef void (*FetchTexelFuncC)( const struct gl_texture_image *texImage,
+                                 GLint col, GLint row, GLint img,
+                                 GLchan *texelOut );
+
+
+
+
+
+
+typedef void (*FetchTexelFuncF)( const struct gl_texture_image *texImage,
+                                 GLint col, GLint row, GLint img,
+                                 GLfloat *texelOut );
+
+
+typedef void (*StoreTexelFunc)(struct gl_texture_image *texImage,
+                               GLint col, GLint row, GLint img,
+                               const void *texel);
+
+
+
+
+
+
+struct gl_texture_image
+{
+   GLint InternalFormat;
+   GLenum _BaseFormat;
+
+
+
+
+
+   gl_format TexFormat;
+
+   GLuint Border;
+   GLuint Width;
+   GLuint Height;
+   GLuint Depth;
+   GLuint Width2;
+   GLuint Height2;
+   GLuint Depth2;
+   GLuint WidthLog2;
+   GLuint HeightLog2;
+   GLuint DepthLog2;
+   GLuint MaxLog2;
+   GLfloat WidthScale;
+   GLfloat HeightScale;
+   GLfloat DepthScale;
+   GLboolean IsClientData;
+   GLboolean _IsPowerOfTwo;
+
+   struct gl_texture_object *TexObject;
+
+   FetchTexelFuncC FetchTexelc;
+   FetchTexelFuncF FetchTexelf;
+
+   GLuint RowStride;
+   GLuint *ImageOffsets;
+
+   GLvoid *Data;
+
+
+
+
+
+   void *DriverData;
+
+};
+
+
+
+
+
+typedef enum
+{
+   FACE_POS_X = 0,
+   FACE_NEG_X = 1,
+   FACE_POS_Y = 2,
+   FACE_NEG_Y = 3,
+   FACE_POS_Z = 4,
+   FACE_NEG_Z = 5,
+   MAX_FACES = 6
+} gl_face_index;
+
+
+
+
+
+
+struct gl_sampler_object
+{
+   GLuint Name;
+   GLint RefCount;
+
+   GLenum WrapS;
+   GLenum WrapT;
+   GLenum WrapR;
+   GLenum MinFilter;
+   GLenum MagFilter;
+   union {
+      GLfloat f[4];
+      GLuint ui[4];
+      GLint i[4];
+   } BorderColor;
+   GLfloat MinLod;
+   GLfloat MaxLod;
+   GLfloat LodBias;
+   GLfloat MaxAnisotropy;
+   GLenum CompareMode;
+   GLenum CompareFunc;
+   GLfloat CompareFailValue;
+   GLenum sRGBDecode;
+   GLboolean CubeMapSeamless;
+
+
+   GLenum DepthMode;
+
+
+   GLboolean _CompleteTexture;
+};
+
+
+
+
+
+
+
+struct gl_texture_object
+{
+   _glthread_Mutex Mutex;
+   GLint RefCount;
+   GLuint Name;
+   GLenum Target;
+
+   struct gl_sampler_object Sampler;
+
+   GLfloat Priority;
+   GLint BaseLevel;
+   GLint MaxLevel;
+   GLint _MaxLevel;
+   GLfloat _MaxLambda;
+   GLint CropRect[4];
+   GLenum Swizzle[4];
+   GLuint _Swizzle;
+   GLboolean GenerateMipmap;
+   GLboolean _Complete;
+   GLboolean _RenderToTexture;
+   GLboolean Purgeable;
+
+
+   struct gl_texture_image *Image[MAX_FACES][15];
+
+
+   struct gl_buffer_object *BufferObject;
+   GLenum BufferObjectFormat;
+
+
+   struct gl_color_table Palette;
+# 1396 "../../src/mesa/main/mtypes.h"
+   void *DriverData;
+};
+# 1407 "../../src/mesa/main/mtypes.h"
+struct gl_tex_env_combine_state
+{
+   GLenum ModeRGB;
+   GLenum ModeA;
+
+   GLenum SourceRGB[4];
+   GLenum SourceA[4];
+
+   GLenum OperandRGB[4];
+   GLenum OperandA[4];
+   GLuint ScaleShiftRGB;
+   GLuint ScaleShiftA;
+   GLuint _NumArgsRGB;
+   GLuint _NumArgsA;
+};
+
+
+
+
+
+struct gl_texgen
+{
+   GLenum Mode;
+   GLbitfield _ModeBit;
+   GLfloat ObjectPlane[4];
+   GLfloat EyePlane[4];
+};
+
+
+
+
+
+
+struct gl_texture_unit
+{
+   GLbitfield Enabled;
+   GLbitfield _ReallyEnabled;
+
+   GLenum EnvMode;
+   GLclampf EnvColor[4];
+   GLfloat EnvColorUnclamped[4];
+
+   struct gl_texgen GenS;
+   struct gl_texgen GenT;
+   struct gl_texgen GenR;
+   struct gl_texgen GenQ;
+   GLbitfield TexGenEnabled;
+   GLbitfield _GenFlags;
+
+   GLfloat LodBias;
+   GLenum BumpTarget;
+   GLfloat RotMatrix[4];
+
+
+   struct gl_sampler_object *Sampler;
+
+
+
+
+   struct gl_tex_env_combine_state Combine;
+
+
+
+
+
+   struct gl_tex_env_combine_state _EnvMode;
+
+
+
+
+
+   struct gl_tex_env_combine_state *_CurrentCombine;
+
+
+   struct gl_texture_object *CurrentTex[NUM_TEXTURE_TARGETS];
+
+
+   struct gl_texture_object *_Current;
+};
+
+
+
+
+
+struct gl_texture_attrib
+{
+   GLuint CurrentUnit;
+   struct gl_texture_unit Unit[(16 + 16)];
+
+   struct gl_texture_object *ProxyTex[NUM_TEXTURE_TARGETS];
+
+
+   struct gl_buffer_object *BufferObject;
+
+
+   GLboolean CubeMapSeamless;
+
+
+   GLboolean SharedPalette;
+   struct gl_color_table Palette;
+
+
+   GLbitfield _EnabledUnits;
+
+
+   GLbitfield _EnabledCoordUnits;
+
+
+   GLbitfield _TexGenEnabled;
+
+
+   GLbitfield _TexMatEnabled;
+
+
+   GLbitfield _GenFlags;
+};
+
+
+
+
+
+struct gl_transform_attrib
+{
+   GLenum MatrixMode;
+   GLfloat EyeUserPlane[6][4];
+   GLfloat _ClipUserPlane[6][4];
+   GLbitfield ClipPlanesEnabled;
+   GLboolean Normalize;
+   GLboolean RescaleNormals;
+   GLboolean RasterPositionUnclipped;
+   GLboolean DepthClamp;
+
+   GLfloat CullEyePos[4];
+   GLfloat CullObjPos[4];
+};
+
+
+
+
+
+struct gl_viewport_attrib
+{
+   GLint X, Y;
+   GLsizei Width, Height;
+   GLfloat Near, Far;
+   GLmatrix _WindowMap;
+};
+
+
+
+
+
+struct gl_buffer_object
+{
+   _glthread_Mutex Mutex;
+   GLint RefCount;
+   GLuint Name;
+   GLenum Usage;
+   GLsizeiptrARB Size;
+   GLubyte *Data;
+
+
+   GLbitfield AccessFlags;
+   GLvoid *Pointer;
+   GLintptr Offset;
+   GLsizeiptr Length;
+
+   GLboolean Written;
+   GLboolean Purgeable;
+};
+
+
+
+
+
+struct gl_pixelstore_attrib
+{
+   GLint Alignment;
+   GLint RowLength;
+   GLint SkipPixels;
+   GLint SkipRows;
+   GLint ImageHeight;
+   GLint SkipImages;
+   GLboolean SwapBytes;
+   GLboolean LsbFirst;
+   GLboolean ClientStorage;
+   GLboolean Invert;
+   struct gl_buffer_object *BufferObj;
+};
+
+
+
+
+
+struct gl_client_array
+{
+   GLint Size;
+   GLenum Type;
+   GLenum Format;
+   GLsizei Stride;
+   GLsizei StrideB;
+   const GLubyte *Ptr;
+   GLboolean Enabled;
+   GLboolean Normalized;
+   GLboolean Integer;
+   GLuint InstanceDivisor;
+   GLuint _ElementSize;
+
+   struct gl_buffer_object *BufferObj;
+   GLuint _MaxElement;
+};
+
+
+
+
+
+
+struct gl_array_object
+{
+
+   GLuint Name;
+
+   GLint RefCount;
+   _glthread_Mutex Mutex;
+   GLboolean VBOonly;
+
+
+
+   struct gl_client_array Vertex;
+   struct gl_client_array Weight;
+   struct gl_client_array Normal;
+   struct gl_client_array Color;
+   struct gl_client_array SecondaryColor;
+   struct gl_client_array FogCoord;
+   struct gl_client_array Index;
+   struct gl_client_array EdgeFlag;
+   struct gl_client_array TexCoord[8];
+   struct gl_client_array PointSize;
+# 1653 "../../src/mesa/main/mtypes.h"
+   struct gl_client_array VertexAttrib[16];
+
+
+   GLbitfield _Enabled;
+
+
+
+
+
+   GLuint _MaxElement;
+};
+
+
+
+
+
+struct gl_array_attrib
+{
+
+   struct gl_array_object *ArrayObj;
+
+
+   struct gl_array_object *DefaultArrayObj;
+
+
+   struct _mesa_HashTable *Objects;
+
+   GLint ActiveTexture;
+   GLuint LockFirst;
+   GLuint LockCount;
+
+
+   GLboolean PrimitiveRestart;
+   GLuint RestartIndex;
+
+   GLbitfield NewState;
+   GLboolean RebindArrays;
+
+
+   struct gl_buffer_object *ArrayBufferObj;
+   struct gl_buffer_object *ElementArrayBufferObj;
+};
+
+
+
+
+
+struct gl_feedback
+{
+   GLenum Type;
+   GLbitfield _Mask;
+   GLfloat *Buffer;
+   GLuint BufferSize;
+   GLuint Count;
+};
+
+
+
+
+
+struct gl_selection
+{
+   GLuint *Buffer;
+   GLuint BufferSize;
+   GLuint BufferCount;
+   GLuint Hits;
+   GLuint NameStackDepth;
+   GLuint NameStack[64];
+   GLboolean HitFlag;
+   GLfloat HitMinZ;
+   GLfloat HitMaxZ;
+};
+
+
+
+
+
+struct gl_1d_map
+{
+   GLuint Order;
+   GLfloat u1, u2, du;
+   GLfloat *Points;
+};
+
+
+
+
+
+struct gl_2d_map
+{
+   GLuint Uorder;
+   GLuint Vorder;
+   GLfloat u1, u2, du;
+   GLfloat v1, v2, dv;
+   GLfloat *Points;
+};
+
+
+
+
+
+struct gl_evaluators
+{
+
+
+
+
+   struct gl_1d_map Map1Vertex3;
+   struct gl_1d_map Map1Vertex4;
+   struct gl_1d_map Map1Index;
+   struct gl_1d_map Map1Color4;
+   struct gl_1d_map Map1Normal;
+   struct gl_1d_map Map1Texture1;
+   struct gl_1d_map Map1Texture2;
+   struct gl_1d_map Map1Texture3;
+   struct gl_1d_map Map1Texture4;
+   struct gl_1d_map Map1Attrib[16];
+
+
+
+
+
+
+   struct gl_2d_map Map2Vertex3;
+   struct gl_2d_map Map2Vertex4;
+   struct gl_2d_map Map2Index;
+   struct gl_2d_map Map2Color4;
+   struct gl_2d_map Map2Normal;
+   struct gl_2d_map Map2Texture1;
+   struct gl_2d_map Map2Texture2;
+   struct gl_2d_map Map2Texture3;
+   struct gl_2d_map Map2Texture4;
+   struct gl_2d_map Map2Attrib[16];
+
+};
+# 1801 "../../src/mesa/main/mtypes.h"
+typedef enum
+{
+   PROGRAM_TEMPORARY,
+   PROGRAM_INPUT,
+   PROGRAM_OUTPUT,
+   PROGRAM_VARYING,
+   PROGRAM_LOCAL_PARAM,
+   PROGRAM_ENV_PARAM,
+   PROGRAM_STATE_VAR,
+   PROGRAM_NAMED_PARAM,
+   PROGRAM_CONSTANT,
+   PROGRAM_UNIFORM,
+   PROGRAM_WRITE_ONLY,
+   PROGRAM_ADDRESS,
+   PROGRAM_SAMPLER,
+   PROGRAM_SYSTEM_VALUE,
+   PROGRAM_UNDEFINED,
+   PROGRAM_FILE_MAX
+} gl_register_file;
+
+
+
+
+
+
+typedef enum
+{
+   SYSTEM_VALUE_FRONT_FACE,
+   SYSTEM_VALUE_INSTANCE_ID,
+   SYSTEM_VALUE_MAX
+} gl_system_value;
+
+
+
+struct prog_instruction;
+struct gl_program_parameter_list;
+struct gl_uniform_list;
+
+
+
+
+
+struct gl_program
+{
+   GLuint Id;
+   GLubyte *String;
+   GLint RefCount;
+   GLenum Target;
+   GLenum Format;
+   GLboolean Resident;
+
+   struct prog_instruction *Instructions;
+
+   GLbitfield InputsRead;
+   GLbitfield64 OutputsWritten;
+   GLbitfield SystemValuesRead;
+   GLbitfield InputFlags[32];
+   GLbitfield OutputFlags[64];
+   GLbitfield TexturesUsed[((8 > 16) ? 8 : 16)];
+   GLbitfield SamplersUsed;
+   GLbitfield ShadowSamplers;
+
+
+
+   struct gl_program_parameter_list *Parameters;
+
+   GLfloat LocalParams[1024][4];
+
+
+   struct gl_program_parameter_list *Varying;
+
+   struct gl_program_parameter_list *Attributes;
+
+
+   GLubyte SamplerUnits[16];
+
+   gl_texture_index SamplerTargets[16];
+
+
+
+
+   GLbitfield IndirectRegisterFiles;
+
+
+
+   GLuint NumInstructions;
+   GLuint NumTemporaries;
+   GLuint NumParameters;
+   GLuint NumAttributes;
+   GLuint NumAddressRegs;
+   GLuint NumAluInstructions;
+   GLuint NumTexInstructions;
+   GLuint NumTexIndirections;
+
+
+
+   GLuint NumNativeInstructions;
+   GLuint NumNativeTemporaries;
+   GLuint NumNativeParameters;
+   GLuint NumNativeAttributes;
+   GLuint NumNativeAddressRegs;
+   GLuint NumNativeAluInstructions;
+   GLuint NumNativeTexInstructions;
+   GLuint NumNativeTexIndirections;
+
+};
+
+
+
+struct gl_vertex_program
+{
+   struct gl_program Base;
+   GLboolean IsNVProgram;
+   GLboolean IsPositionInvariant;
+};
+
+
+
+struct gl_geometry_program
+{
+   struct gl_program Base;
+
+   GLint VerticesOut;
+   GLenum InputType;
+
+   GLenum OutputType;
+};
+
+
+
+struct gl_fragment_program
+{
+   struct gl_program Base;
+   GLboolean UsesKill;
+   GLboolean OriginUpperLeft;
+   GLboolean PixelCenterInteger;
+   enum gl_frag_depth_layout FragDepthLayout;
+};
+
+
+
+
+
+struct gl_program_state
+{
+   GLint ErrorPos;
+   const char *ErrorString;
+};
+
+
+
+
+
+struct gl_vertex_program_state
+{
+   GLboolean Enabled;
+   GLboolean _Enabled;
+   GLboolean PointSizeEnabled;
+   GLboolean TwoSideEnabled;
+   struct gl_vertex_program *Current;
+
+
+
+
+
+   struct gl_vertex_program *_Current;
+
+   GLfloat Parameters[256][4];
+
+
+   GLenum TrackMatrix[256 / 4];
+   GLenum TrackMatrixTransform[256 / 4];
+
+
+   GLboolean _MaintainTnlProgram;
+
+
+   struct gl_vertex_program *_TnlProgram;
+
+
+   struct gl_program_cache *Cache;
+
+   GLboolean _Overriden;
+};
+
+
+
+
+
+struct gl_geometry_program_state
+{
+   GLboolean Enabled;
+   GLboolean _Enabled;
+   struct gl_geometry_program *Current;
+
+
+
+
+   struct gl_geometry_program *_Current;
+
+   GLfloat Parameters[256][4];
+
+
+   struct gl_program_cache *Cache;
+};
+
+
+
+
+struct gl_fragment_program_state
+{
+   GLboolean Enabled;
+   GLboolean _Enabled;
+   struct gl_fragment_program *Current;
+
+
+
+
+
+   struct gl_fragment_program *_Current;
+
+   GLfloat Parameters[256][4];
+
+
+   GLboolean _MaintainTexEnvProgram;
+
+
+   struct gl_fragment_program *_TexEnvProgram;
+
+
+   struct gl_program_cache *Cache;
+};
+# 2041 "../../src/mesa/main/mtypes.h"
+struct atifs_instruction;
+struct atifs_setupinst;
+
+
+
+
+struct ati_fragment_shader
+{
+   GLuint Id;
+   GLint RefCount;
+   struct atifs_instruction *Instructions[2];
+   struct atifs_setupinst *SetupInst[2];
+   GLfloat Constants[8][4];
+   GLbitfield LocalConstDef;
+   GLubyte numArithInstr[2];
+   GLubyte regsAssigned[2];
+   GLubyte NumPasses;
+   GLubyte cur_pass;
+   GLubyte last_optype;
+   GLboolean interpinp1;
+   GLboolean isValid;
+   GLuint swizzlerq;
+};
+
+
+
+
+struct gl_ati_fragment_shader_state
+{
+   GLboolean Enabled;
+   GLboolean _Enabled;
+   GLboolean Compiling;
+   GLfloat GlobalConstants[8][4];
+   struct ati_fragment_shader *Current;
+};
+
+
+
+
+
+struct gl_query_object
+{
+   GLenum Target;
+   GLuint Id;
+   GLuint64EXT Result;
+   GLboolean Active;
+   GLboolean Ready;
+};
+
+
+
+
+
+struct gl_query_state
+{
+   struct _mesa_HashTable *QueryObjects;
+   struct gl_query_object *CurrentOcclusionObject;
+   struct gl_query_object *CurrentTimerObject;
+
+
+   struct gl_query_object *CondRenderQuery;
+
+
+   struct gl_query_object *PrimitivesGenerated;
+   struct gl_query_object *PrimitivesWritten;
+
+
+   struct gl_query_object *TimeElapsed;
+
+   GLenum CondRenderMode;
+};
+
+
+
+struct gl_sync_object {
+   struct simple_node link;
+   GLenum Type;
+   GLuint Name;
+   GLint RefCount;
+   GLboolean DeletePending;
+
+
+   GLenum SyncCondition;
+   GLbitfield Flags;
+   GLuint StatusFlag:1;
+};
+
+
+
+struct gl_sl_pragmas
+{
+   GLboolean IgnoreOptimize;
+   GLboolean IgnoreDebug;
+   GLboolean Optimize;
+   GLboolean Debug;
+};
+
+
+
+
+
+struct gl_shader
+{
+   GLenum Type;
+   GLuint Name;
+   GLint RefCount;
+   GLboolean DeletePending;
+   GLboolean CompileStatus;
+   const GLchar *Source;
+   GLuint SourceChecksum;
+   struct gl_program *Program;
+   GLchar *InfoLog;
+   struct gl_sl_pragmas Pragmas;
+
+   unsigned Version;
+
+   struct exec_list *ir;
+   struct glsl_symbol_table *symbols;
+
+
+   struct gl_shader *builtins_to_link[16];
+   unsigned num_builtins_to_link;
+};
+
+
+
+
+
+
+struct gl_shader_program
+{
+   GLenum Type;
+   GLuint Name;
+   GLint RefCount;
+   GLboolean DeletePending;
+
+   GLuint NumShaders;
+   struct gl_shader **Shaders;
+
+
+   struct gl_program_parameter_list *Attributes;
+
+
+   struct {
+      GLenum BufferMode;
+      GLuint NumVarying;
+      GLchar **VaryingNames;
+   } TransformFeedback;
+
+
+   struct {
+      GLint VerticesOut;
+      GLenum InputType;
+
+      GLenum OutputType;
+   } Geom;
+
+
+   struct gl_vertex_program *VertexProgram;
+   struct gl_fragment_program *FragmentProgram;
+   struct gl_geometry_program *GeometryProgram;
+   struct gl_uniform_list *Uniforms;
+   struct gl_program_parameter_list *Varying;
+   GLboolean LinkStatus;
+   GLboolean Validated;
+   GLboolean _Used;
+   GLchar *InfoLog;
+
+   unsigned Version;
+# 2218 "../../src/mesa/main/mtypes.h"
+   struct gl_shader *_LinkedShaders[MESA_SHADER_TYPES];
+};
+# 2235 "../../src/mesa/main/mtypes.h"
+struct gl_shader_state
+{
+
+
+
+
+
+
+
+   struct gl_shader_program *CurrentVertexProgram;
+   struct gl_shader_program *CurrentGeometryProgram;
+   struct gl_shader_program *CurrentFragmentProgram;
+
+
+
+
+
+
+   struct gl_shader_program *ActiveProgram;
+
+   void *MemPool;
+
+   GLbitfield Flags;
+};
+
+
+
+
+struct gl_shader_compiler_options
+{
+
+   GLboolean EmitCondCodes;
+   GLboolean EmitNVTempInitialization;
+
+
+
+
+   GLboolean EmitNoIfs;
+   GLboolean EmitNoLoops;
+   GLboolean EmitNoFunctions;
+   GLboolean EmitNoCont;
+   GLboolean EmitNoMainReturn;
+   GLboolean EmitNoNoise;
+   GLboolean EmitNoPow;
+
+
+
+
+
+   GLboolean EmitNoIndirectInput;
+   GLboolean EmitNoIndirectOutput;
+   GLboolean EmitNoIndirectTemp;
+   GLboolean EmitNoIndirectUniform;
+
+
+   GLuint MaxUnrollIterations;
+
+   struct gl_sl_pragmas DefaultPragmas;
+};
+
+
+
+
+struct gl_transform_feedback_object
+{
+   GLuint Name;
+   GLint RefCount;
+   GLboolean Active;
+   GLboolean Paused;
+
+
+   GLuint BufferNames[32];
+   struct gl_buffer_object *Buffers[32];
+
+
+   GLintptr Offset[32];
+
+   GLsizeiptr Size[32];
+};
+
+
+
+
+
+struct gl_transform_feedback
+{
+   GLenum Mode;
+
+   GLboolean RasterDiscard;
+
+
+   struct gl_buffer_object *CurrentBuffer;
+
+
+   struct _mesa_HashTable *Objects;
+
+
+   struct gl_transform_feedback_object *CurrentObject;
+
+
+   struct gl_transform_feedback_object *DefaultObject;
+};
+
+
+
+
+
+
+struct gl_shared_state
+{
+   _glthread_Mutex Mutex;
+   GLint RefCount;
+   struct _mesa_HashTable *DisplayList;
+   struct _mesa_HashTable *TexObjects;
+
+
+   struct gl_texture_object *DefaultTex[NUM_TEXTURE_TARGETS];
+
+
+   struct gl_texture_object *FallbackTex;
+# 2363 "../../src/mesa/main/mtypes.h"
+   _glthread_Mutex TexMutex;
+   GLuint TextureStateStamp;
+
+
+
+   struct gl_buffer_object *NullBufferObj;
+
+
+
+
+
+   struct _mesa_HashTable *Programs;
+   struct gl_vertex_program *DefaultVertexProgram;
+   struct gl_fragment_program *DefaultFragmentProgram;
+   struct gl_geometry_program *DefaultGeometryProgram;
+
+
+
+   struct _mesa_HashTable *ATIShaders;
+   struct ati_fragment_shader *DefaultFragmentShader;
+
+   struct _mesa_HashTable *BufferObjects;
+
+
+   struct _mesa_HashTable *ShaderObjects;
+
+
+   struct _mesa_HashTable *RenderBuffers;
+   struct _mesa_HashTable *FrameBuffers;
+
+
+   struct simple_node SyncObjects;
+
+
+   struct _mesa_HashTable *SamplerObjects;
+
+   void *DriverData;
+};
+# 2414 "../../src/mesa/main/mtypes.h"
+struct gl_renderbuffer
+{
+   _glthread_Mutex Mutex;
+   GLuint ClassID;
+   GLuint Name;
+   GLint RefCount;
+   GLuint Width, Height;
+   GLint RowStride;
+   GLboolean Purgeable;
+
+   GLboolean AttachedAnytime;
+
+   GLubyte NumSamples;
+
+   GLenum InternalFormat;
+   GLenum _BaseFormat;
+
+   gl_format Format;
+
+   GLenum DataType;
+   GLvoid *Data;
+
+
+   struct gl_renderbuffer *Wrapped;
+
+
+   void (*Delete)(struct gl_renderbuffer *rb);
+
+
+   GLboolean (*AllocStorage)(struct gl_context *ctx, struct gl_renderbuffer *rb,
+                             GLenum internalFormat,
+                             GLuint width, GLuint height);
+# 2456 "../../src/mesa/main/mtypes.h"
+   void *(*GetPointer)(struct gl_context *ctx, struct gl_renderbuffer *rb,
+                       GLint x, GLint y);
+
+
+
+
+   void (*GetRow)(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
+                  GLint x, GLint y, void *values);
+
+
+
+
+   void (*GetValues)(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
+                     const GLint x[], const GLint y[], void *values);
+
+
+
+
+   void (*PutRow)(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
+                  GLint x, GLint y, const void *values, const GLubyte *mask);
+
+
+
+
+
+
+   void (*PutRowRGB)(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
+                    GLint x, GLint y, const void *values, const GLubyte *mask);
+
+
+
+
+
+   void (*PutMonoRow)(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
+                     GLint x, GLint y, const void *value, const GLubyte *mask);
+
+
+
+
+   void (*PutValues)(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
+                     const GLint x[], const GLint y[], const void *values,
+                     const GLubyte *mask);
+
+
+
+   void (*PutMonoValues)(struct gl_context *ctx, struct gl_renderbuffer *rb,
+                         GLuint count, const GLint x[], const GLint y[],
+                         const void *value, const GLubyte *mask);
+};
+
+
+
+
+
+
+struct gl_renderbuffer_attachment
+{
+   GLenum Type;
+   GLboolean Complete;
+
+
+
+
+
+   struct gl_renderbuffer *Renderbuffer;
+
+
+
+
+
+   struct gl_texture_object *Texture;
+   GLuint TextureLevel;
+   GLuint CubeMapFace;
+   GLuint Zoffset;
+
+};
+
+
+
+
+
+
+
+struct gl_framebuffer
+{
+   _glthread_Mutex Mutex;
+
+
+
+
+
+
+
+   GLuint Name;
+
+   GLint RefCount;
+   GLboolean DeletePending;
+
+
+
+
+
+   struct gl_config Visual;
+
+   GLboolean Initialized;
+
+   GLuint Width, Height;
+
+
+
+   GLint _Xmin, _Xmax;
+   GLint _Ymin, _Ymax;
+
+
+
+
+   GLuint _DepthMax;
+   GLfloat _DepthMaxF;
+   GLfloat _MRD;
+
+
+
+   GLenum _Status;
+
+
+   GLboolean _IntegerColor;
+
+
+   struct gl_renderbuffer_attachment Attachment[BUFFER_COUNT];
+
+
+
+
+   GLenum ColorDrawBuffer[8];
+   GLenum ColorReadBuffer;
+
+
+   GLuint _NumColorDrawBuffers;
+   GLint _ColorDrawBufferIndexes[8];
+   GLint _ColorReadBufferIndex;
+   struct gl_renderbuffer *_ColorDrawBuffers[8];
+   struct gl_renderbuffer *_ColorReadBuffer;
+
+
+
+   struct gl_renderbuffer *_DepthBuffer;
+   struct gl_renderbuffer *_StencilBuffer;
+
+
+   void (*Delete)(struct gl_framebuffer *fb);
+};
+
+
+
+
+
+struct gl_precision
+{
+   GLushort RangeMin;
+   GLushort RangeMax;
+   GLushort Precision;
+};
+
+
+
+
+
+struct gl_program_constants
+{
+
+   GLuint MaxInstructions;
+   GLuint MaxAluInstructions;
+   GLuint MaxTexInstructions;
+   GLuint MaxTexIndirections;
+   GLuint MaxAttribs;
+   GLuint MaxTemps;
+   GLuint MaxAddressRegs;
+   GLuint MaxAddressOffset;
+   GLuint MaxParameters;
+   GLuint MaxLocalParams;
+   GLuint MaxEnvParams;
+
+   GLuint MaxNativeInstructions;
+   GLuint MaxNativeAluInstructions;
+   GLuint MaxNativeTexInstructions;
+   GLuint MaxNativeTexIndirections;
+   GLuint MaxNativeAttribs;
+   GLuint MaxNativeTemps;
+   GLuint MaxNativeAddressRegs;
+   GLuint MaxNativeParameters;
+
+   GLuint MaxUniformComponents;
+
+   struct gl_precision LowFloat, MediumFloat, HighFloat;
+   struct gl_precision LowInt, MediumInt, HighInt;
+};
+
+
+
+
+
+
+struct gl_constants
+{
+   GLint MaxTextureMbytes;
+   GLint MaxTextureLevels;
+   GLint Max3DTextureLevels;
+   GLint MaxCubeTextureLevels;
+   GLint MaxArrayTextureLayers;
+   GLint MaxTextureRectSize;
+   GLuint MaxTextureCoordUnits;
+   GLuint MaxTextureImageUnits;
+   GLuint MaxVertexTextureImageUnits;
+   GLuint MaxCombinedTextureImageUnits;
+   GLuint MaxGeometryTextureImageUnits;
+   GLuint MaxTextureUnits;
+   GLfloat MaxTextureMaxAnisotropy;
+   GLfloat MaxTextureLodBias;
+   GLuint MaxTextureBufferSize;
+
+   GLuint MaxArrayLockSize;
+
+   GLint SubPixelBits;
+
+   GLfloat MinPointSize, MaxPointSize;
+   GLfloat MinPointSizeAA, MaxPointSizeAA;
+   GLfloat PointSizeGranularity;
+   GLfloat MinLineWidth, MaxLineWidth;
+   GLfloat MinLineWidthAA, MaxLineWidthAA;
+   GLfloat LineWidthGranularity;
+
+   GLuint MaxColorTableSize;
+
+   GLuint MaxClipPlanes;
+   GLuint MaxLights;
+   GLfloat MaxShininess;
+   GLfloat MaxSpotExponent;
+
+   GLuint MaxViewportWidth, MaxViewportHeight;
+
+   struct gl_program_constants VertexProgram;
+   struct gl_program_constants FragmentProgram;
+   struct gl_program_constants GeometryProgram;
+   GLuint MaxProgramMatrices;
+   GLuint MaxProgramMatrixStackDepth;
+
+
+   GLboolean CheckArrayBounds;
+
+   GLuint MaxDrawBuffers;
+
+   GLuint MaxColorAttachments;
+   GLuint MaxRenderbufferSize;
+   GLuint MaxSamples;
+
+
+   GLuint MaxVarying;
+   GLuint MaxVertexVaryingComponents;
+   GLuint MaxGeometryVaryingComponents;
+
+
+   GLuint MaxGeometryOutputVertices;
+   GLuint MaxGeometryTotalOutputComponents;
+
+   GLuint GLSLVersion;
+
+
+   GLbitfield SupportedBumpUnits;
+
+
+
+
+   GLuint64 MaxServerWaitTimeout;
+
+
+   GLboolean QuadsFollowProvokingVertexConvention;
+
+
+   GLbitfield ContextFlags;
+
+
+   GLbitfield ProfileMask;
+
+
+   GLuint MaxTransformFeedbackSeparateAttribs;
+   GLuint MaxTransformFeedbackSeparateComponents;
+   GLuint MaxTransformFeedbackInterleavedComponents;
+
+
+   GLint MinProgramTexelOffset, MaxProgramTexelOffset;
+
+
+   GLboolean sRGBCapable;
+
+
+   GLenum ResetStrategy;
+};
+
+
+
+
+
+
+struct gl_extensions
+{
+   GLboolean dummy;
+   GLboolean dummy_true;
+   GLboolean dummy_false;
+   GLboolean ARB_ES2_compatibility;
+   GLboolean ARB_blend_func_extended;
+   GLboolean ARB_color_buffer_float;
+   GLboolean ARB_copy_buffer;
+   GLboolean ARB_depth_buffer_float;
+   GLboolean ARB_depth_clamp;
+   GLboolean ARB_depth_texture;
+   GLboolean ARB_draw_buffers;
+   GLboolean ARB_draw_buffers_blend;
+   GLboolean ARB_draw_elements_base_vertex;
+   GLboolean ARB_draw_instanced;
+   GLboolean ARB_fragment_coord_conventions;
+   GLboolean ARB_fragment_program;
+   GLboolean ARB_fragment_program_shadow;
+   GLboolean ARB_fragment_shader;
+   GLboolean ARB_framebuffer_object;
+   GLboolean ARB_explicit_attrib_location;
+   GLboolean ARB_geometry_shader4;
+   GLboolean ARB_half_float_pixel;
+   GLboolean ARB_half_float_vertex;
+   GLboolean ARB_instanced_arrays;
+   GLboolean ARB_map_buffer_range;
+   GLboolean ARB_multisample;
+   GLboolean ARB_multitexture;
+   GLboolean ARB_occlusion_query;
+   GLboolean ARB_occlusion_query2;
+   GLboolean ARB_point_sprite;
+   GLboolean ARB_sampler_objects;
+   GLboolean ARB_seamless_cube_map;
+   GLboolean ARB_shader_objects;
+   GLboolean ARB_shader_stencil_export;
+   GLboolean ARB_shader_texture_lod;
+   GLboolean ARB_shading_language_100;
+   GLboolean ARB_shadow;
+   GLboolean ARB_shadow_ambient;
+   GLboolean ARB_sync;
+   GLboolean ARB_texture_border_clamp;
+   GLboolean ARB_texture_buffer_object;
+   GLboolean ARB_texture_compression;
+   GLboolean ARB_texture_compression_rgtc;
+   GLboolean ARB_texture_cube_map;
+   GLboolean ARB_texture_env_combine;
+   GLboolean ARB_texture_env_crossbar;
+   GLboolean ARB_texture_env_dot3;
+   GLboolean ARB_texture_float;
+   GLboolean ARB_texture_mirrored_repeat;
+   GLboolean ARB_texture_multisample;
+   GLboolean ARB_texture_non_power_of_two;
+   GLboolean ARB_texture_rg;
+   GLboolean ARB_texture_rgb10_a2ui;
+   GLboolean ARB_timer_query;
+   GLboolean ARB_transform_feedback2;
+   GLboolean ARB_transpose_matrix;
+   GLboolean ARB_uniform_buffer_object;
+   GLboolean ARB_vertex_array_object;
+   GLboolean ARB_vertex_buffer_object;
+   GLboolean ARB_vertex_program;
+   GLboolean ARB_vertex_shader;
+   GLboolean ARB_vertex_type_2_10_10_10_rev;
+   GLboolean ARB_window_pos;
+   GLboolean EXT_abgr;
+   GLboolean EXT_bgra;
+   GLboolean EXT_blend_color;
+   GLboolean EXT_blend_equation_separate;
+   GLboolean EXT_blend_func_separate;
+   GLboolean EXT_blend_logic_op;
+   GLboolean EXT_blend_minmax;
+   GLboolean EXT_blend_subtract;
+   GLboolean EXT_clip_volume_hint;
+   GLboolean EXT_compiled_vertex_array;
+   GLboolean EXT_copy_texture;
+   GLboolean EXT_depth_bounds_test;
+   GLboolean EXT_draw_buffers2;
+   GLboolean EXT_draw_range_elements;
+   GLboolean EXT_fog_coord;
+   GLboolean EXT_framebuffer_blit;
+   GLboolean EXT_framebuffer_multisample;
+   GLboolean EXT_framebuffer_object;
+   GLboolean EXT_framebuffer_sRGB;
+   GLboolean EXT_gpu_program_parameters;
+   GLboolean EXT_gpu_shader4;
+   GLboolean EXT_multi_draw_arrays;
+   GLboolean EXT_paletted_texture;
+   GLboolean EXT_packed_depth_stencil;
+   GLboolean EXT_packed_float;
+   GLboolean EXT_packed_pixels;
+   GLboolean EXT_pixel_buffer_object;
+   GLboolean EXT_point_parameters;
+   GLboolean EXT_polygon_offset;
+   GLboolean EXT_provoking_vertex;
+   GLboolean EXT_rescale_normal;
+   GLboolean EXT_shadow_funcs;
+   GLboolean EXT_secondary_color;
+   GLboolean EXT_separate_shader_objects;
+   GLboolean EXT_separate_specular_color;
+   GLboolean EXT_shared_texture_palette;
+   GLboolean EXT_stencil_wrap;
+   GLboolean EXT_stencil_two_side;
+   GLboolean EXT_subtexture;
+   GLboolean EXT_texture;
+   GLboolean EXT_texture_object;
+   GLboolean EXT_texture3D;
+   GLboolean EXT_texture_array;
+   GLboolean EXT_texture_compression_latc;
+   GLboolean EXT_texture_compression_s3tc;
+   GLboolean EXT_texture_env_add;
+   GLboolean EXT_texture_env_combine;
+   GLboolean EXT_texture_env_dot3;
+   GLboolean EXT_texture_filter_anisotropic;
+   GLboolean EXT_texture_integer;
+   GLboolean EXT_texture_lod_bias;
+   GLboolean EXT_texture_mirror_clamp;
+   GLboolean EXT_texture_shared_exponent;
+   GLboolean EXT_texture_snorm;
+   GLboolean EXT_texture_sRGB;
+   GLboolean EXT_texture_sRGB_decode;
+   GLboolean EXT_texture_swizzle;
+   GLboolean EXT_transform_feedback;
+   GLboolean EXT_timer_query;
+   GLboolean EXT_vertex_array;
+   GLboolean EXT_vertex_array_bgra;
+   GLboolean EXT_vertex_array_set;
+   GLboolean OES_standard_derivatives;
+
+   GLboolean AMD_conservative_depth;
+   GLboolean AMD_seamless_cubemap_per_texture;
+   GLboolean APPLE_client_storage;
+   GLboolean APPLE_packed_pixels;
+   GLboolean APPLE_vertex_array_object;
+   GLboolean APPLE_object_purgeable;
+   GLboolean ATI_envmap_bumpmap;
+   GLboolean ATI_texture_compression_3dc;
+   GLboolean ATI_texture_mirror_once;
+   GLboolean ATI_texture_env_combine3;
+   GLboolean ATI_fragment_shader;
+   GLboolean ATI_separate_stencil;
+   GLboolean IBM_rasterpos_clip;
+   GLboolean IBM_multimode_draw_arrays;
+   GLboolean MESA_pack_invert;
+   GLboolean MESA_resize_buffers;
+   GLboolean MESA_ycbcr_texture;
+   GLboolean MESA_texture_array;
+   GLboolean NV_blend_square;
+   GLboolean NV_conditional_render;
+   GLboolean NV_fragment_program;
+   GLboolean NV_fragment_program_option;
+   GLboolean NV_light_max_exponent;
+   GLboolean NV_point_sprite;
+   GLboolean NV_primitive_restart;
+   GLboolean NV_texture_barrier;
+   GLboolean NV_texgen_reflection;
+   GLboolean NV_texture_env_combine4;
+   GLboolean NV_texture_rectangle;
+   GLboolean NV_vertex_program;
+   GLboolean NV_vertex_program1_1;
+   GLboolean OES_read_format;
+   GLboolean SGIS_generate_mipmap;
+   GLboolean SGIS_texture_edge_clamp;
+   GLboolean SGIS_texture_lod;
+   GLboolean TDFX_texture_compression_FXT1;
+   GLboolean S3_s3tc;
+   GLboolean OES_EGL_image;
+   GLboolean OES_draw_texture;
+   GLboolean EXT_texture_format_BGRA8888;
+   GLboolean extension_sentinel;
+
+   const GLubyte *String;
+
+   GLuint Count;
+};
+
+
+
+
+
+struct gl_matrix_stack
+{
+   GLmatrix *Top;
+   GLmatrix *Stack;
+   GLuint Depth;
+   GLuint MaxDepth;
+   GLuint DirtyFlag;
+};
+# 3094 "../../src/mesa/main/mtypes.h"
+# 1 "../../src/mesa/main/dd.h" 1
+# 38 "../../src/mesa/main/dd.h"
+struct gl_buffer_object;
+struct gl_context;
+struct gl_display_list;
+struct gl_framebuffer;
+struct gl_pixelstore_attrib;
+struct gl_program;
+struct gl_renderbuffer;
+struct gl_renderbuffer_attachment;
+struct gl_shader;
+struct gl_shader_program;
+struct gl_texture_image;
+struct gl_texture_object;
+# 79 "../../src/mesa/main/dd.h"
+struct dd_function_table {
+
+
+
+
+
+   const GLubyte * (*GetString)( struct gl_context *ctx, GLenum name );
+
+
+
+
+
+
+
+   void (*UpdateState)( struct gl_context *ctx, GLbitfield new_state );
+
+
+
+
+
+
+
+   void (*GetBufferSize)( struct gl_framebuffer *buffer,
+                          GLuint *width, GLuint *height );
+
+
+
+
+
+   void (*ResizeBuffers)( struct gl_context *ctx, struct gl_framebuffer *fb,
+                          GLuint width, GLuint height);
+
+
+
+
+
+   void (*Error)( struct gl_context *ctx );
+
+
+
+
+   void (*Finish)( struct gl_context *ctx );
+
+
+
+
+   void (*Flush)( struct gl_context *ctx );
+
+
+
+
+
+
+   void (*Clear)( struct gl_context *ctx, GLbitfield buffers );
+
+
+
+
+   void (*Accum)( struct gl_context *ctx, GLenum op, GLfloat value );
+
+
+
+
+
+   void (*RasterPos)( struct gl_context *ctx, const GLfloat v[4] );
+# 154 "../../src/mesa/main/dd.h"
+   void (*DrawPixels)( struct gl_context *ctx,
+         GLint x, GLint y, GLsizei width, GLsizei height,
+         GLenum format, GLenum type,
+         const struct gl_pixelstore_attrib *unpack,
+         const GLvoid *pixels );
+
+
+
+
+   void (*ReadPixels)( struct gl_context *ctx,
+         GLint x, GLint y, GLsizei width, GLsizei height,
+         GLenum format, GLenum type,
+         const struct gl_pixelstore_attrib *unpack,
+         GLvoid *dest );
+
+
+
+
+   void (*CopyPixels)( struct gl_context *ctx, GLint srcx, GLint srcy,
+                       GLsizei width, GLsizei height,
+                       GLint dstx, GLint dsty, GLenum type );
+
+
+
+
+   void (*Bitmap)( struct gl_context *ctx,
+     GLint x, GLint y, GLsizei width, GLsizei height,
+     const struct gl_pixelstore_attrib *unpack,
+     const GLubyte *bitmap );
+# 198 "../../src/mesa/main/dd.h"
+   GLuint (*ChooseTextureFormat)( struct gl_context *ctx, GLint internalFormat,
+                                     GLenum srcFormat, GLenum srcType );
+# 218 "../../src/mesa/main/dd.h"
+   void (*TexImage1D)( struct gl_context *ctx, GLenum target, GLint level,
+                       GLint internalFormat,
+                       GLint width, GLint border,
+                       GLenum format, GLenum type, const GLvoid *pixels,
+                       const struct gl_pixelstore_attrib *packing,
+                       struct gl_texture_object *texObj,
+                       struct gl_texture_image *texImage );
+
+
+
+
+
+
+   void (*TexImage2D)( struct gl_context *ctx, GLenum target, GLint level,
+                       GLint internalFormat,
+                       GLint width, GLint height, GLint border,
+                       GLenum format, GLenum type, const GLvoid *pixels,
+                       const struct gl_pixelstore_attrib *packing,
+                       struct gl_texture_object *texObj,
+                       struct gl_texture_image *texImage );
+
+
+
+
+
+
+   void (*TexImage3D)( struct gl_context *ctx, GLenum target, GLint level,
+                       GLint internalFormat,
+                       GLint width, GLint height, GLint depth, GLint border,
+                       GLenum format, GLenum type, const GLvoid *pixels,
+                       const struct gl_pixelstore_attrib *packing,
+                       struct gl_texture_object *texObj,
+                       struct gl_texture_image *texImage );
+# 273 "../../src/mesa/main/dd.h"
+   void (*TexSubImage1D)( struct gl_context *ctx, GLenum target, GLint level,
+                          GLint xoffset, GLsizei width,
+                          GLenum format, GLenum type,
+                          const GLvoid *pixels,
+                          const struct gl_pixelstore_attrib *packing,
+                          struct gl_texture_object *texObj,
+                          struct gl_texture_image *texImage );
+
+
+
+
+
+
+   void (*TexSubImage2D)( struct gl_context *ctx, GLenum target, GLint level,
+                          GLint xoffset, GLint yoffset,
+                          GLsizei width, GLsizei height,
+                          GLenum format, GLenum type,
+                          const GLvoid *pixels,
+                          const struct gl_pixelstore_attrib *packing,
+                          struct gl_texture_object *texObj,
+                          struct gl_texture_image *texImage );
+
+
+
+
+
+
+   void (*TexSubImage3D)( struct gl_context *ctx, GLenum target, GLint level,
+                          GLint xoffset, GLint yoffset, GLint zoffset,
+                          GLsizei width, GLsizei height, GLint depth,
+                          GLenum format, GLenum type,
+                          const GLvoid *pixels,
+                          const struct gl_pixelstore_attrib *packing,
+                          struct gl_texture_object *texObj,
+                          struct gl_texture_image *texImage );
+
+
+
+
+   void (*GetTexImage)( struct gl_context *ctx, GLenum target, GLint level,
+                        GLenum format, GLenum type, GLvoid *pixels,
+                        struct gl_texture_object *texObj,
+                        struct gl_texture_image *texImage );
+
+
+
+
+
+
+   void (*CopyTexImage1D)( struct gl_context *ctx, GLenum target, GLint level,
+                           GLenum internalFormat, GLint x, GLint y,
+                           GLsizei width, GLint border );
+
+
+
+
+
+
+   void (*CopyTexImage2D)( struct gl_context *ctx, GLenum target, GLint level,
+                           GLenum internalFormat, GLint x, GLint y,
+                           GLsizei width, GLsizei height, GLint border );
+
+
+
+
+
+
+   void (*CopyTexSubImage1D)( struct gl_context *ctx, GLenum target, GLint level,
+                              GLint xoffset,
+                              GLint x, GLint y, GLsizei width );
+
+
+
+
+
+   void (*CopyTexSubImage2D)( struct gl_context *ctx, GLenum target, GLint level,
+                              GLint xoffset, GLint yoffset,
+                              GLint x, GLint y,
+                              GLsizei width, GLsizei height );
+
+
+
+
+
+   void (*CopyTexSubImage3D)( struct gl_context *ctx, GLenum target, GLint level,
+                              GLint xoffset, GLint yoffset, GLint zoffset,
+                              GLint x, GLint y,
+                              GLsizei width, GLsizei height );
+
+
+
+
+   void (*GenerateMipmap)(struct gl_context *ctx, GLenum target,
+                          struct gl_texture_object *texObj);
+
+
+
+
+
+
+
+   GLboolean (*TestProxyTexImage)(struct gl_context *ctx, GLenum target,
+                                  GLint level, GLint internalFormat,
+                                  GLenum format, GLenum type,
+                                  GLint width, GLint height,
+                                  GLint depth, GLint border);
+# 402 "../../src/mesa/main/dd.h"
+   void (*CompressedTexImage1D)( struct gl_context *ctx, GLenum target,
+                                 GLint level, GLint internalFormat,
+                                 GLsizei width, GLint border,
+                                 GLsizei imageSize, const GLvoid *data,
+                                 struct gl_texture_object *texObj,
+                                 struct gl_texture_image *texImage );
+
+
+
+
+
+   void (*CompressedTexImage2D)( struct gl_context *ctx, GLenum target,
+                                 GLint level, GLint internalFormat,
+                                 GLsizei width, GLsizei height, GLint border,
+                                 GLsizei imageSize, const GLvoid *data,
+                                 struct gl_texture_object *texObj,
+                                 struct gl_texture_image *texImage );
+
+
+
+
+
+   void (*CompressedTexImage3D)( struct gl_context *ctx, GLenum target,
+                                 GLint level, GLint internalFormat,
+                                 GLsizei width, GLsizei height, GLsizei depth,
+                                 GLint border,
+                                 GLsizei imageSize, const GLvoid *data,
+                                 struct gl_texture_object *texObj,
+                                 struct gl_texture_image *texImage );
+# 449 "../../src/mesa/main/dd.h"
+   void (*CompressedTexSubImage1D)(struct gl_context *ctx, GLenum target, GLint level,
+                                   GLint xoffset, GLsizei width,
+                                   GLenum format,
+                                   GLsizei imageSize, const GLvoid *data,
+                                   struct gl_texture_object *texObj,
+                                   struct gl_texture_image *texImage);
+
+
+
+
+
+   void (*CompressedTexSubImage2D)(struct gl_context *ctx, GLenum target, GLint level,
+                                   GLint xoffset, GLint yoffset,
+                                   GLsizei width, GLint height,
+                                   GLenum format,
+                                   GLsizei imageSize, const GLvoid *data,
+                                   struct gl_texture_object *texObj,
+                                   struct gl_texture_image *texImage);
+
+
+
+
+
+   void (*CompressedTexSubImage3D)(struct gl_context *ctx, GLenum target, GLint level,
+                                   GLint xoffset, GLint yoffset, GLint zoffset,
+                                   GLsizei width, GLint height, GLint depth,
+                                   GLenum format,
+                                   GLsizei imageSize, const GLvoid *data,
+                                   struct gl_texture_object *texObj,
+                                   struct gl_texture_image *texImage);
+
+
+
+
+
+   void (*GetCompressedTexImage)(struct gl_context *ctx, GLenum target, GLint level,
+                                 GLvoid *img,
+                                 struct gl_texture_object *texObj,
+                                 struct gl_texture_image *texImage);
+# 499 "../../src/mesa/main/dd.h"
+   void (*BindTexture)( struct gl_context *ctx, GLenum target,
+                        struct gl_texture_object *tObj );
+
+
+
+
+
+
+   struct gl_texture_object * (*NewTextureObject)( struct gl_context *ctx, GLuint name,
+                                                   GLenum target );
+
+
+
+
+
+
+   void (*DeleteTexture)( struct gl_context *ctx, struct gl_texture_object *tObj );
+
+
+
+
+   struct gl_texture_image * (*NewTextureImage)( struct gl_context *ctx );
+
+
+
+
+   void (*FreeTexImageData)( struct gl_context *ctx, struct gl_texture_image *tImage );
+
+
+   void (*MapTexture)( struct gl_context *ctx, struct gl_texture_object *tObj );
+
+   void (*UnmapTexture)( struct gl_context *ctx, struct gl_texture_object *tObj );
+# 543 "../../src/mesa/main/dd.h"
+   void* (*TextureMemCpy)( void *to, const void *from, size_t sz );
+
+
+
+
+   GLboolean (*IsTextureResident)( struct gl_context *ctx,
+                                   struct gl_texture_object *t );
+
+
+
+
+
+
+
+   void (*UpdateTexturePalette)( struct gl_context *ctx,
+                                 struct gl_texture_object *tObj );
+
+
+
+
+
+
+
+   void (*CopyColorTable)( struct gl_context *ctx,
+      GLenum target, GLenum internalformat,
+      GLint x, GLint y, GLsizei width );
+
+   void (*CopyColorSubTable)( struct gl_context *ctx,
+         GLenum target, GLsizei start,
+         GLint x, GLint y, GLsizei width );
+# 581 "../../src/mesa/main/dd.h"
+   void (*BindProgram)(struct gl_context *ctx, GLenum target, struct gl_program *prog);
+
+   struct gl_program * (*NewProgram)(struct gl_context *ctx, GLenum target, GLuint id);
+
+   void (*DeleteProgram)(struct gl_context *ctx, struct gl_program *prog);
+
+
+
+
+
+   GLboolean (*ProgramStringNotify)(struct gl_context *ctx, GLenum target,
+                                    struct gl_program *prog);
+
+
+   GLboolean (*IsProgramNative)(struct gl_context *ctx, GLenum target,
+    struct gl_program *prog);
+# 610 "../../src/mesa/main/dd.h"
+   GLboolean (*LinkShader)(struct gl_context *ctx, struct gl_shader_program *shader);
+# 624 "../../src/mesa/main/dd.h"
+   void (*AlphaFunc)(struct gl_context *ctx, GLenum func, GLfloat ref);
+
+   void (*BlendColor)(struct gl_context *ctx, const GLfloat color[4]);
+
+   void (*BlendEquationSeparate)(struct gl_context *ctx, GLenum modeRGB, GLenum modeA);
+   void (*BlendEquationSeparatei)(struct gl_context *ctx, GLuint buffer,
+                                  GLenum modeRGB, GLenum modeA);
+
+   void (*BlendFuncSeparate)(struct gl_context *ctx,
+                             GLenum sfactorRGB, GLenum dfactorRGB,
+                             GLenum sfactorA, GLenum dfactorA);
+   void (*BlendFuncSeparatei)(struct gl_context *ctx, GLuint buffer,
+                              GLenum sfactorRGB, GLenum dfactorRGB,
+                              GLenum sfactorA, GLenum dfactorA);
+
+   void (*ClearColor)(struct gl_context *ctx, const GLfloat color[4]);
+
+   void (*ClearDepth)(struct gl_context *ctx, GLclampd d);
+
+   void (*ClearStencil)(struct gl_context *ctx, GLint s);
+
+   void (*ClipPlane)(struct gl_context *ctx, GLenum plane, const GLfloat *equation );
+
+   void (*ColorMask)(struct gl_context *ctx, GLboolean rmask, GLboolean gmask,
+                     GLboolean bmask, GLboolean amask );
+   void (*ColorMaskIndexed)(struct gl_context *ctx, GLuint buf, GLboolean rmask,
+                            GLboolean gmask, GLboolean bmask, GLboolean amask);
+
+   void (*ColorMaterial)(struct gl_context *ctx, GLenum face, GLenum mode);
+
+   void (*CullFace)(struct gl_context *ctx, GLenum mode);
+
+   void (*FrontFace)(struct gl_context *ctx, GLenum mode);
+
+   void (*DepthFunc)(struct gl_context *ctx, GLenum func);
+
+   void (*DepthMask)(struct gl_context *ctx, GLboolean flag);
+
+   void (*DepthRange)(struct gl_context *ctx, GLclampd nearval, GLclampd farval);
+
+   void (*DrawBuffer)( struct gl_context *ctx, GLenum buffer );
+
+   void (*DrawBuffers)( struct gl_context *ctx, GLsizei n, const GLenum *buffers );
+
+   void (*Enable)(struct gl_context *ctx, GLenum cap, GLboolean state);
+
+   void (*Fogfv)(struct gl_context *ctx, GLenum pname, const GLfloat *params);
+
+   void (*Hint)(struct gl_context *ctx, GLenum target, GLenum mode);
+
+
+
+
+   void (*Lightfv)(struct gl_context *ctx, GLenum light,
+     GLenum pname, const GLfloat *params );
+
+   void (*LightModelfv)(struct gl_context *ctx, GLenum pname, const GLfloat *params);
+
+   void (*LineStipple)(struct gl_context *ctx, GLint factor, GLushort pattern );
+
+   void (*LineWidth)(struct gl_context *ctx, GLfloat width);
+
+   void (*LogicOpcode)(struct gl_context *ctx, GLenum opcode);
+   void (*PointParameterfv)(struct gl_context *ctx, GLenum pname,
+                            const GLfloat *params);
+
+   void (*PointSize)(struct gl_context *ctx, GLfloat size);
+
+   void (*PolygonMode)(struct gl_context *ctx, GLenum face, GLenum mode);
+
+   void (*PolygonOffset)(struct gl_context *ctx, GLfloat factor, GLfloat units);
+
+   void (*PolygonStipple)(struct gl_context *ctx, const GLubyte *mask );
+
+   void (*ReadBuffer)( struct gl_context *ctx, GLenum buffer );
+
+   void (*RenderMode)(struct gl_context *ctx, GLenum mode );
+
+   void (*Scissor)(struct gl_context *ctx, GLint x, GLint y, GLsizei w, GLsizei h);
+
+   void (*ShadeModel)(struct gl_context *ctx, GLenum mode);
+
+   void (*StencilFuncSeparate)(struct gl_context *ctx, GLenum face, GLenum func,
+                               GLint ref, GLuint mask);
+
+   void (*StencilMaskSeparate)(struct gl_context *ctx, GLenum face, GLuint mask);
+
+   void (*StencilOpSeparate)(struct gl_context *ctx, GLenum face, GLenum fail,
+                             GLenum zfail, GLenum zpass);
+
+   void (*TexGen)(struct gl_context *ctx, GLenum coord, GLenum pname,
+    const GLfloat *params);
+
+   void (*TexEnv)(struct gl_context *ctx, GLenum target, GLenum pname,
+                  const GLfloat *param);
+
+   void (*TexParameter)(struct gl_context *ctx, GLenum target,
+                        struct gl_texture_object *texObj,
+                        GLenum pname, const GLfloat *params);
+
+   void (*Viewport)(struct gl_context *ctx, GLint x, GLint y, GLsizei w, GLsizei h);
+
+
+
+
+
+
+
+   void (*BindBuffer)( struct gl_context *ctx, GLenum target,
+         struct gl_buffer_object *obj );
+
+   struct gl_buffer_object * (*NewBufferObject)( struct gl_context *ctx, GLuint buffer,
+       GLenum target );
+
+   void (*DeleteBuffer)( struct gl_context *ctx, struct gl_buffer_object *obj );
+
+   GLboolean (*BufferData)( struct gl_context *ctx, GLenum target, GLsizeiptrARB size,
+                            const GLvoid *data, GLenum usage,
+                            struct gl_buffer_object *obj );
+
+   void (*BufferSubData)( struct gl_context *ctx, GLenum target, GLintptrARB offset,
+     GLsizeiptrARB size, const GLvoid *data,
+     struct gl_buffer_object *obj );
+
+   void (*GetBufferSubData)( struct gl_context *ctx, GLenum target,
+        GLintptrARB offset, GLsizeiptrARB size,
+        GLvoid *data, struct gl_buffer_object *obj );
+
+   void * (*MapBuffer)( struct gl_context *ctx, GLenum target, GLenum access,
+   struct gl_buffer_object *obj );
+
+   void (*CopyBufferSubData)( struct gl_context *ctx,
+                              struct gl_buffer_object *src,
+                              struct gl_buffer_object *dst,
+                              GLintptr readOffset, GLintptr writeOffset,
+                              GLsizeiptr size );
+
+
+
+   void * (*MapBufferRange)( struct gl_context *ctx, GLenum target, GLintptr offset,
+                             GLsizeiptr length, GLbitfield access,
+                             struct gl_buffer_object *obj);
+
+   void (*FlushMappedBufferRange)(struct gl_context *ctx, GLenum target,
+                                  GLintptr offset, GLsizeiptr length,
+                                  struct gl_buffer_object *obj);
+
+   GLboolean (*UnmapBuffer)( struct gl_context *ctx, GLenum target,
+        struct gl_buffer_object *obj );
+
+
+
+
+
+
+
+   GLenum (*BufferObjectPurgeable)( struct gl_context *ctx, struct gl_buffer_object *obj, GLenum option );
+   GLenum (*RenderObjectPurgeable)( struct gl_context *ctx, struct gl_renderbuffer *obj, GLenum option );
+   GLenum (*TextureObjectPurgeable)( struct gl_context *ctx, struct gl_texture_object *obj, GLenum option );
+
+
+   GLenum (*BufferObjectUnpurgeable)( struct gl_context *ctx, struct gl_buffer_object *obj, GLenum option );
+   GLenum (*RenderObjectUnpurgeable)( struct gl_context *ctx, struct gl_renderbuffer *obj, GLenum option );
+   GLenum (*TextureObjectUnpurgeable)( struct gl_context *ctx, struct gl_texture_object *obj, GLenum option );
+
+
+
+
+
+
+   struct gl_framebuffer * (*NewFramebuffer)(struct gl_context *ctx, GLuint name);
+   struct gl_renderbuffer * (*NewRenderbuffer)(struct gl_context *ctx, GLuint name);
+   void (*BindFramebuffer)(struct gl_context *ctx, GLenum target,
+                           struct gl_framebuffer *drawFb,
+                           struct gl_framebuffer *readFb);
+   void (*FramebufferRenderbuffer)(struct gl_context *ctx,
+                                   struct gl_framebuffer *fb,
+                                   GLenum attachment,
+                                   struct gl_renderbuffer *rb);
+   void (*RenderTexture)(struct gl_context *ctx,
+                         struct gl_framebuffer *fb,
+                         struct gl_renderbuffer_attachment *att);
+   void (*FinishRenderTexture)(struct gl_context *ctx,
+                               struct gl_renderbuffer_attachment *att);
+   void (*ValidateFramebuffer)(struct gl_context *ctx,
+                               struct gl_framebuffer *fb);
+
+   void (*BlitFramebuffer)(struct gl_context *ctx,
+                           GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,
+                           GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1,
+                           GLbitfield mask, GLenum filter);
+
+
+
+
+
+   struct gl_query_object * (*NewQueryObject)(struct gl_context *ctx, GLuint id);
+   void (*DeleteQuery)(struct gl_context *ctx, struct gl_query_object *q);
+   void (*BeginQuery)(struct gl_context *ctx, struct gl_query_object *q);
+   void (*EndQuery)(struct gl_context *ctx, struct gl_query_object *q);
+   void (*CheckQuery)(struct gl_context *ctx, struct gl_query_object *q);
+   void (*WaitQuery)(struct gl_context *ctx, struct gl_query_object *q);
+
+
+
+
+
+
+
+   struct gl_array_object * (*NewArrayObject)(struct gl_context *ctx, GLuint id);
+   void (*DeleteArrayObject)(struct gl_context *ctx, struct gl_array_object *obj);
+   void (*BindArrayObject)(struct gl_context *ctx, struct gl_array_object *obj);
+
+
+
+
+
+
+   struct gl_shader *(*NewShader)(struct gl_context *ctx, GLuint name, GLenum type);
+   void (*DeleteShader)(struct gl_context *ctx, struct gl_shader *shader);
+   struct gl_shader_program *(*NewShaderProgram)(struct gl_context *ctx, GLuint name);
+   void (*DeleteShaderProgram)(struct gl_context *ctx,
+                               struct gl_shader_program *shProg);
+   void (*UseProgram)(struct gl_context *ctx, struct gl_shader_program *shProg);
+# 860 "../../src/mesa/main/dd.h"
+   GLuint NeedValidate;
+# 873 "../../src/mesa/main/dd.h"
+   void (*ValidateTnlModule)( struct gl_context *ctx, GLuint new_state );
+
+
+
+
+
+
+   GLuint CurrentExecPrimitive;
+
+
+
+
+
+
+
+   GLuint CurrentSavePrimitive;
+# 901 "../../src/mesa/main/dd.h"
+   GLuint NeedFlush;
+   GLuint SaveNeedFlush;
+
+
+
+
+
+   void (*BeginVertices)( struct gl_context *ctx );
+# 919 "../../src/mesa/main/dd.h"
+   void (*FlushVertices)( struct gl_context *ctx, GLuint flags );
+   void (*SaveFlushVertices)( struct gl_context *ctx );
+
+
+
+
+
+
+   GLboolean (*NotifySaveBegin)( struct gl_context *ctx, GLenum mode );
+
+
+
+
+
+   void (*LightingSpaceChange)( struct gl_context *ctx );
+
+
+
+
+
+
+
+   void (*NewList)( struct gl_context *ctx, GLuint list, GLenum mode );
+
+
+
+
+
+   void (*EndList)( struct gl_context *ctx );
+
+
+
+
+
+
+   void (*BeginCallList)( struct gl_context *ctx,
+     struct gl_display_list *dlist );
+
+
+
+
+
+   void (*EndCallList)( struct gl_context *ctx );
+
+
+
+
+
+
+   struct gl_sync_object * (*NewSyncObject)(struct gl_context *, GLenum);
+   void (*FenceSync)(struct gl_context *, struct gl_sync_object *, GLenum, GLbitfield);
+   void (*DeleteSyncObject)(struct gl_context *, struct gl_sync_object *);
+   void (*CheckSync)(struct gl_context *, struct gl_sync_object *);
+   void (*ClientWaitSync)(struct gl_context *, struct gl_sync_object *,
+     GLbitfield, GLuint64);
+   void (*ServerWaitSync)(struct gl_context *, struct gl_sync_object *,
+     GLbitfield, GLuint64);
+
+
+
+   void (*BeginConditionalRender)(struct gl_context *ctx, struct gl_query_object *q,
+                                  GLenum mode);
+   void (*EndConditionalRender)(struct gl_context *ctx, struct gl_query_object *q);
+
+
+
+
+
+   void (*DrawTex)(struct gl_context *ctx, GLfloat x, GLfloat y, GLfloat z,
+                   GLfloat width, GLfloat height);
+
+
+
+
+
+   void (*EGLImageTargetTexture2D)(struct gl_context *ctx, GLenum target,
+       struct gl_texture_object *texObj,
+       struct gl_texture_image *texImage,
+       GLeglImageOES image_handle);
+   void (*EGLImageTargetRenderbufferStorage)(struct gl_context *ctx,
+          struct gl_renderbuffer *rb,
+          void *image_handle);
+
+
+
+
+   struct gl_transform_feedback_object *
+        (*NewTransformFeedback)(struct gl_context *ctx, GLuint name);
+   void (*DeleteTransformFeedback)(struct gl_context *ctx,
+                                   struct gl_transform_feedback_object *obj);
+   void (*BeginTransformFeedback)(struct gl_context *ctx, GLenum mode,
+                                  struct gl_transform_feedback_object *obj);
+   void (*EndTransformFeedback)(struct gl_context *ctx,
+                                struct gl_transform_feedback_object *obj);
+   void (*PauseTransformFeedback)(struct gl_context *ctx,
+                                  struct gl_transform_feedback_object *obj);
+   void (*ResumeTransformFeedback)(struct gl_context *ctx,
+                                   struct gl_transform_feedback_object *obj);
+   void (*DrawTransformFeedback)(struct gl_context *ctx, GLenum mode,
+                                 struct gl_transform_feedback_object *obj);
+
+
+
+
+   void (*TextureBarrier)(struct gl_context *ctx);
+
+
+
+
+   struct gl_sampler_object * (*NewSamplerObject)(struct gl_context *ctx,
+                                                  GLuint name);
+   void (*DeleteSamplerObject)(struct gl_context *ctx,
+                               struct gl_sampler_object *samp);
+};
+# 1053 "../../src/mesa/main/dd.h"
+typedef struct {
+
+
+
+
+   void ( * ArrayElement)( GLint );
+   void ( * Color3f)( GLfloat, GLfloat, GLfloat );
+   void ( * Color3fv)( const GLfloat * );
+   void ( * Color4f)( GLfloat, GLfloat, GLfloat, GLfloat );
+   void ( * Color4fv)( const GLfloat * );
+   void ( * EdgeFlag)( GLboolean );
+   void ( * EvalCoord1f)( GLfloat );
+   void ( * EvalCoord1fv)( const GLfloat * );
+   void ( * EvalCoord2f)( GLfloat, GLfloat );
+   void ( * EvalCoord2fv)( const GLfloat * );
+   void ( * EvalPoint1)( GLint );
+   void ( * EvalPoint2)( GLint, GLint );
+   void ( * FogCoordfEXT)( GLfloat );
+   void ( * FogCoordfvEXT)( const GLfloat * );
+   void ( * Indexf)( GLfloat );
+   void ( * Indexfv)( const GLfloat * );
+   void ( * Materialfv)( GLenum face, GLenum pname, const GLfloat * );
+   void ( * MultiTexCoord1fARB)( GLenum, GLfloat );
+   void ( * MultiTexCoord1fvARB)( GLenum, const GLfloat * );
+   void ( * MultiTexCoord2fARB)( GLenum, GLfloat, GLfloat );
+   void ( * MultiTexCoord2fvARB)( GLenum, const GLfloat * );
+   void ( * MultiTexCoord3fARB)( GLenum, GLfloat, GLfloat, GLfloat );
+   void ( * MultiTexCoord3fvARB)( GLenum, const GLfloat * );
+   void ( * MultiTexCoord4fARB)( GLenum, GLfloat, GLfloat, GLfloat, GLfloat );
+   void ( * MultiTexCoord4fvARB)( GLenum, const GLfloat * );
+   void ( * Normal3f)( GLfloat, GLfloat, GLfloat );
+   void ( * Normal3fv)( const GLfloat * );
+   void ( * SecondaryColor3fEXT)( GLfloat, GLfloat, GLfloat );
+   void ( * SecondaryColor3fvEXT)( const GLfloat * );
+   void ( * TexCoord1f)( GLfloat );
+   void ( * TexCoord1fv)( const GLfloat * );
+   void ( * TexCoord2f)( GLfloat, GLfloat );
+   void ( * TexCoord2fv)( const GLfloat * );
+   void ( * TexCoord3f)( GLfloat, GLfloat, GLfloat );
+   void ( * TexCoord3fv)( const GLfloat * );
+   void ( * TexCoord4f)( GLfloat, GLfloat, GLfloat, GLfloat );
+   void ( * TexCoord4fv)( const GLfloat * );
+   void ( * Vertex2f)( GLfloat, GLfloat );
+   void ( * Vertex2fv)( const GLfloat * );
+   void ( * Vertex3f)( GLfloat, GLfloat, GLfloat );
+   void ( * Vertex3fv)( const GLfloat * );
+   void ( * Vertex4f)( GLfloat, GLfloat, GLfloat, GLfloat );
+   void ( * Vertex4fv)( const GLfloat * );
+   void ( * CallList)( GLuint );
+   void ( * CallLists)( GLsizei, GLenum, const GLvoid * );
+   void ( * Begin)( GLenum );
+   void ( * End)( void );
+   void ( * PrimitiveRestartNV)( void );
+
+   void ( * VertexAttrib1fNV)( GLuint index, GLfloat x );
+   void ( * VertexAttrib1fvNV)( GLuint index, const GLfloat *v );
+   void ( * VertexAttrib2fNV)( GLuint index, GLfloat x, GLfloat y );
+   void ( * VertexAttrib2fvNV)( GLuint index, const GLfloat *v );
+   void ( * VertexAttrib3fNV)( GLuint index, GLfloat x, GLfloat y, GLfloat z );
+   void ( * VertexAttrib3fvNV)( GLuint index, const GLfloat *v );
+   void ( * VertexAttrib4fNV)( GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w );
+   void ( * VertexAttrib4fvNV)( GLuint index, const GLfloat *v );
+
+   void ( * VertexAttrib1fARB)( GLuint index, GLfloat x );
+   void ( * VertexAttrib1fvARB)( GLuint index, const GLfloat *v );
+   void ( * VertexAttrib2fARB)( GLuint index, GLfloat x, GLfloat y );
+   void ( * VertexAttrib2fvARB)( GLuint index, const GLfloat *v );
+   void ( * VertexAttrib3fARB)( GLuint index, GLfloat x, GLfloat y, GLfloat z );
+   void ( * VertexAttrib3fvARB)( GLuint index, const GLfloat *v );
+   void ( * VertexAttrib4fARB)( GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w );
+   void ( * VertexAttrib4fvARB)( GLuint index, const GLfloat *v );
+
+
+   void ( * VertexAttribI1i)( GLuint index, GLint x);
+   void ( * VertexAttribI2i)( GLuint index, GLint x, GLint y);
+   void ( * VertexAttribI3i)( GLuint index, GLint x, GLint y, GLint z);
+   void ( * VertexAttribI4i)( GLuint index, GLint x, GLint y, GLint z, GLint w);
+   void ( * VertexAttribI2iv)( GLuint index, const GLint *v);
+   void ( * VertexAttribI3iv)( GLuint index, const GLint *v);
+   void ( * VertexAttribI4iv)( GLuint index, const GLint *v);
+
+   void ( * VertexAttribI1ui)( GLuint index, GLuint x);
+   void ( * VertexAttribI2ui)( GLuint index, GLuint x, GLuint y);
+   void ( * VertexAttribI3ui)( GLuint index, GLuint x, GLuint y, GLuint z);
+   void ( * VertexAttribI4ui)( GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+   void ( * VertexAttribI2uiv)( GLuint index, const GLuint *v);
+   void ( * VertexAttribI3uiv)( GLuint index, const GLuint *v);
+   void ( * VertexAttribI4uiv)( GLuint index, const GLuint *v);
+
+
+
+   void ( * Rectf)( GLfloat, GLfloat, GLfloat, GLfloat );
+
+
+
+
+
+   void ( * DrawArrays)( GLenum mode, GLint start, GLsizei count );
+   void ( * DrawElements)( GLenum mode, GLsizei count, GLenum type,
+    const GLvoid *indices );
+   void ( * DrawRangeElements)( GLenum mode, GLuint start,
+         GLuint end, GLsizei count,
+         GLenum type, const GLvoid *indices );
+   void ( * MultiDrawElementsEXT)( GLenum mode, const GLsizei *count,
+         GLenum type,
+         const GLvoid **indices,
+         GLsizei primcount);
+   void ( * DrawElementsBaseVertex)( GLenum mode, GLsizei count,
+           GLenum type,
+           const GLvoid *indices,
+           GLint basevertex );
+   void ( * DrawRangeElementsBaseVertex)( GLenum mode, GLuint start,
+         GLuint end, GLsizei count,
+         GLenum type,
+         const GLvoid *indices,
+         GLint basevertex);
+   void ( * MultiDrawElementsBaseVertex)( GLenum mode,
+         const GLsizei *count,
+         GLenum type,
+         const GLvoid **indices,
+         GLsizei primcount,
+         const GLint *basevertex);
+   void ( * DrawArraysInstanced)(GLenum mode, GLint first,
+                                          GLsizei count, GLsizei primcount);
+   void ( * DrawElementsInstanced)(GLenum mode, GLsizei count,
+                                            GLenum type, const GLvoid *indices,
+                                            GLsizei primcount);
+   void ( * DrawElementsInstancedBaseVertex)(GLenum mode, GLsizei count,
+                                            GLenum type, const GLvoid *indices,
+                                            GLsizei primcount, GLint basevertex);
+# 1196 "../../src/mesa/main/dd.h"
+   void ( * EvalMesh1)( GLenum mode, GLint i1, GLint i2 );
+   void ( * EvalMesh2)( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
+
+
+} GLvertexformat;
+# 3095 "../../src/mesa/main/mtypes.h" 2
+# 3107 "../../src/mesa/main/mtypes.h"
+union gl_dlist_node;
+
+
+
+
+
+
+
+struct gl_display_list
+{
+   GLuint Name;
+   GLbitfield Flags;
+
+   union gl_dlist_node *Head;
+};
+
+
+
+
+
+struct gl_dlist_state
+{
+   GLuint CallDepth;
+
+   struct gl_display_list *CurrentList;
+   union gl_dlist_node *CurrentBlock;
+   GLuint CurrentPos;
+
+   GLvertexformat ListVtxfmt;
+
+   GLubyte ActiveAttribSize[VERT_ATTRIB_MAX];
+   GLfloat CurrentAttrib[VERT_ATTRIB_MAX][4];
+
+   GLubyte ActiveMaterialSize[12];
+   GLfloat CurrentMaterial[12][4];
+
+   GLubyte ActiveIndex;
+   GLfloat CurrentIndex;
+
+   GLubyte ActiveEdgeFlag;
+   GLboolean CurrentEdgeFlag;
+
+   struct {
+
+
+
+      GLenum ShadeModel;
+   } Current;
+};
+
+
+
+
+
+typedef enum
+{
+   API_OPENGL,
+   API_OPENGLES,
+   API_OPENGLES2
+} gl_api;
+# 3179 "../../src/mesa/main/mtypes.h"
+struct gl_context
+{
+
+   struct gl_shared_state *Shared;
+
+
+
+   gl_api API;
+   struct _glapi_table *Save;
+   struct _glapi_table *Exec;
+   struct _glapi_table *CurrentDispatch;
+
+
+   struct gl_config Visual;
+   struct gl_framebuffer *DrawBuffer;
+   struct gl_framebuffer *ReadBuffer;
+   struct gl_framebuffer *WinSysDrawBuffer;
+   struct gl_framebuffer *WinSysReadBuffer;
+
+
+
+
+   struct dd_function_table Driver;
+
+   void *DriverCtx;
+
+
+   struct gl_constants Const;
+
+
+
+   struct gl_matrix_stack ModelviewMatrixStack;
+   struct gl_matrix_stack ProjectionMatrixStack;
+   struct gl_matrix_stack TextureMatrixStack[((8 > 16) ? 8 : 16)];
+   struct gl_matrix_stack ProgramMatrixStack[8];
+   struct gl_matrix_stack *CurrentStack;
+
+
+
+   GLmatrix _ModelProjectMatrix;
+
+
+   struct gl_dlist_state ListState;
+
+   GLboolean ExecuteFlag;
+   GLboolean CompileFlag;
+
+
+   struct gl_extensions Extensions;
+
+
+   GLuint VersionMajor, VersionMinor;
+   char *VersionString;
+
+
+
+   GLuint AttribStackDepth;
+   struct gl_attrib_node *AttribStack[16];
+# 3245 "../../src/mesa/main/mtypes.h"
+   struct gl_accum_attrib Accum;
+   struct gl_colorbuffer_attrib Color;
+   struct gl_current_attrib Current;
+   struct gl_depthbuffer_attrib Depth;
+   struct gl_eval_attrib Eval;
+   struct gl_fog_attrib Fog;
+   struct gl_hint_attrib Hint;
+   struct gl_light_attrib Light;
+   struct gl_line_attrib Line;
+   struct gl_list_attrib List;
+   struct gl_multisample_attrib Multisample;
+   struct gl_pixel_attrib Pixel;
+   struct gl_point_attrib Point;
+   struct gl_polygon_attrib Polygon;
+   GLuint PolygonStipple[32];
+   struct gl_scissor_attrib Scissor;
+   struct gl_stencil_attrib Stencil;
+   struct gl_texture_attrib Texture;
+   struct gl_transform_attrib Transform;
+   struct gl_viewport_attrib Viewport;
+
+
+
+
+   GLuint ClientAttribStackDepth;
+   struct gl_attrib_node *ClientAttribStack[16];
+
+
+
+
+   struct gl_array_attrib Array;
+   struct gl_pixelstore_attrib Pack;
+   struct gl_pixelstore_attrib Unpack;
+   struct gl_pixelstore_attrib DefaultPacking;
+
+
+
+
+   struct gl_pixelmaps PixelMaps;
+
+   struct gl_evaluators EvalMap;
+   struct gl_feedback Feedback;
+   struct gl_selection Select;
+
+   struct gl_program_state Program;
+   struct gl_vertex_program_state VertexProgram;
+   struct gl_fragment_program_state FragmentProgram;
+   struct gl_geometry_program_state GeometryProgram;
+   struct gl_ati_fragment_shader_state ATIFragmentShader;
+
+   struct gl_shader_state Shader;
+   struct gl_shader_compiler_options ShaderCompilerOptions[MESA_SHADER_TYPES];
+
+   struct gl_query_state Query;
+
+   struct gl_transform_feedback TransformFeedback;
+
+   struct gl_buffer_object *CopyReadBuffer;
+   struct gl_buffer_object *CopyWriteBuffer;
+
+
+   struct gl_meta_state *Meta;
+
+
+   struct gl_renderbuffer *CurrentRenderbuffer;
+
+   GLenum ErrorValue;
+
+
+   GLenum ResetStatus;
+
+
+
+
+   const char *ErrorDebugFmtString;
+   GLuint ErrorDebugCount;
+
+   GLenum RenderMode;
+   GLbitfield NewState;
+
+   GLboolean ViewportInitialized;
+
+   GLbitfield varying_vp_inputs;
+
+
+
+
+
+
+   GLbitfield _TriangleCaps;
+   GLbitfield _ImageTransferState;
+   GLfloat _EyeZDir[3];
+   GLfloat _ModelViewInvScale;
+   GLboolean _NeedEyeCoords;
+   GLboolean _ForceEyeCoords;
+
+   GLuint TextureStateTimestamp;
+
+   struct gl_shine_tab *_ShineTable[2];
+   struct gl_shine_tab *_ShineTabList;
+
+
+   struct gl_list_extensions *ListExt;
+
+
+
+   GLboolean FirstTimeCurrent;
+
+
+
+   GLboolean Mesa_DXTn;
+
+   GLboolean TextureFormatSupported[MESA_FORMAT_COUNT];
+
+
+
+
+
+   GLboolean mvp_with_dp4;
+
+
+
+
+
+
+
+   void *swrast_context;
+   void *swsetup_context;
+   void *swtnl_context;
+   void *swtnl_im;
+   struct st_context *st;
+   void *aelt_context;
+
+};
+# 3396 "../../src/mesa/main/mtypes.h"
+enum _verbose
+{
+   VERBOSE_VARRAY = 0x0001,
+   VERBOSE_TEXTURE = 0x0002,
+   VERBOSE_MATERIAL = 0x0004,
+   VERBOSE_PIPELINE = 0x0008,
+   VERBOSE_DRIVER = 0x0010,
+   VERBOSE_STATE = 0x0020,
+   VERBOSE_API = 0x0040,
+   VERBOSE_DISPLAY_LIST = 0x0100,
+   VERBOSE_LIGHTING = 0x0200,
+   VERBOSE_PRIMS = 0x0400,
+   VERBOSE_VERTS = 0x0800,
+   VERBOSE_DISASSEM = 0x1000,
+   VERBOSE_DRAW = 0x2000,
+   VERBOSE_SWAPBUFFERS = 0x4000
+};
+
+
+
+enum _debug
+{
+   DEBUG_ALWAYS_FLUSH = 0x1
+};
+# 54 "../../src/mesa/main/context.h" 2
+
+
+struct _glapi_table;
+
+
+
+
+
+extern struct gl_config *
+_mesa_create_visual( GLboolean dbFlag,
+                     GLboolean stereoFlag,
+                     GLint redBits,
+                     GLint greenBits,
+                     GLint blueBits,
+                     GLint alphaBits,
+                     GLint depthBits,
+                     GLint stencilBits,
+                     GLint accumRedBits,
+                     GLint accumGreenBits,
+                     GLint accumBlueBits,
+                     GLint accumAlphaBits,
+                     GLint numSamples );
+
+extern GLboolean
+_mesa_initialize_visual( struct gl_config *v,
+                         GLboolean dbFlag,
+                         GLboolean stereoFlag,
+                         GLint redBits,
+                         GLint greenBits,
+                         GLint blueBits,
+                         GLint alphaBits,
+                         GLint depthBits,
+                         GLint stencilBits,
+                         GLint accumRedBits,
+                         GLint accumGreenBits,
+                         GLint accumBlueBits,
+                         GLint accumAlphaBits,
+                         GLint numSamples );
+
+extern void
+_mesa_destroy_visual( struct gl_config *vis );
+
+
+
+
+
+
+
+extern GLboolean
+_mesa_initialize_context( struct gl_context *ctx,
+                          gl_api api,
+                          const struct gl_config *visual,
+                          struct gl_context *share_list,
+                          const struct dd_function_table *driverFunctions,
+                          void *driverContext );
+
+extern struct gl_context *
+_mesa_create_context(gl_api api,
+                     const struct gl_config *visual,
+                     struct gl_context *share_list,
+                     const struct dd_function_table *driverFunctions,
+                     void *driverContext);
+
+extern void
+_mesa_free_context_data( struct gl_context *ctx );
+
+extern void
+_mesa_destroy_context( struct gl_context *ctx );
+
+
+extern void
+_mesa_copy_context(const struct gl_context *src, struct gl_context *dst, GLuint mask);
+
+
+extern void
+_mesa_check_init_viewport(struct gl_context *ctx, GLuint width, GLuint height);
+
+extern GLboolean
+_mesa_make_current( struct gl_context *ctx, struct gl_framebuffer *drawBuffer,
+                    struct gl_framebuffer *readBuffer );
+
+extern GLboolean
+_mesa_share_state(struct gl_context *ctx, struct gl_context *ctxToShare);
+
+extern struct gl_context *
+_mesa_get_current_context(void);
+
+
+
+extern void
+_mesa_init_get_hash(struct gl_context *ctx);
+
+extern void
+_mesa_notifySwapBuffers(struct gl_context *gc);
+
+
+extern struct _glapi_table *
+_mesa_get_dispatch(struct gl_context *ctx);
+
+
+void
+_mesa_set_mvp_with_dp4( struct gl_context *ctx,
+                        GLboolean flag );
+
+
+extern GLboolean
+_mesa_valid_to_render(struct gl_context *ctx, const char *where);
+
+
+
+
+
+
+extern void
+_mesa_record_error( struct gl_context *ctx, GLenum error );
+
+
+extern void
+_mesa_finish(struct gl_context *ctx);
+
+extern void
+_mesa_flush(struct gl_context *ctx);
+
+
+extern void
+_mesa_Finish( void );
+
+extern void
+_mesa_Flush( void );
+# 34 "swrast/s_triangle.c" 2
+# 1 "../../src/mesa/main/colormac.h" 1
+# 36 "../../src/mesa/main/colormac.h"
+# 1 "../../src/mesa/main/config.h" 1
+# 37 "../../src/mesa/main/colormac.h" 2
+# 1 "../../src/mesa/main/macros.h" 1
+# 43 "../../src/mesa/main/macros.h"
+extern GLfloat _mesa_ubyte_to_float_color_tab[256];
+# 38 "../../src/mesa/main/colormac.h" 2
+# 35 "swrast/s_triangle.c" 2
+# 1 "../../src/mesa/main/imports.h" 1
+# 36 "swrast/s_triangle.c" 2
+# 1 "../../src/mesa/main/macros.h" 1
+# 37 "swrast/s_triangle.c" 2
+# 1 "../../src/mesa/main/mtypes.h" 1
+# 38 "swrast/s_triangle.c" 2
+# 1 "../../src/mesa/main/state.h" 1
+# 31 "../../src/mesa/main/state.h"
+extern void
+_mesa_update_state(struct gl_context *ctx);
+
+
+
+
+extern void
+_mesa_update_state_locked(struct gl_context *ctx);
+
+
+extern void
+_mesa_set_varying_vp_inputs(struct gl_context *ctx, GLbitfield varying_inputs);
+
+
+extern void
+_mesa_set_vp_override(struct gl_context *ctx, GLboolean flag);
+
+
+
+
+
+static __inline__ GLboolean
+_mesa_need_secondary_color(const struct gl_context *ctx)
+{
+   if (ctx->Light.Enabled &&
+       ctx->Light.Model.ColorControl == 0x81FA)
+       return 0x1;
+
+   if (ctx->Fog.ColorSumEnabled)
+      return 0x1;
+
+   if (ctx->VertexProgram._Current &&
+       (ctx->VertexProgram._Current != ctx->VertexProgram._TnlProgram) &&
+       (ctx->VertexProgram._Current->Base.InputsRead & (1 << VERT_ATTRIB_COLOR1)))
+      return 0x1;
+
+   if (ctx->FragmentProgram._Current &&
+       (ctx->FragmentProgram._Current != ctx->FragmentProgram._TexEnvProgram) &&
+       (ctx->FragmentProgram._Current->Base.InputsRead & (1 << FRAG_ATTRIB_COL1)))
+      return 0x1;
+
+   return 0x0;
+}
+
+
+
+
+
+static __inline__ GLboolean
+_mesa_rgba_logicop_enabled(const struct gl_context *ctx)
+{
+   return ctx->Color.ColorLogicOpEnabled ||
+      (ctx->Color.BlendEnabled && ctx->Color.Blend[0].EquationRGB == 0x0BF1);
+}
+# 39 "swrast/s_triangle.c" 2
+# 1 "../../src/mesa/program/prog_instruction.h" 1
+# 144 "../../src/mesa/program/prog_instruction.h"
+typedef enum prog_opcode {
+
+
+   OPCODE_NOP = 0,
+   OPCODE_ABS,
+   OPCODE_ADD,
+   OPCODE_AND,
+   OPCODE_ARA,
+   OPCODE_ARL,
+   OPCODE_ARL_NV,
+   OPCODE_ARR,
+   OPCODE_BGNLOOP,
+   OPCODE_BGNSUB,
+   OPCODE_BRA,
+   OPCODE_BRK,
+   OPCODE_CAL,
+   OPCODE_CMP,
+   OPCODE_CONT,
+   OPCODE_COS,
+   OPCODE_DDX,
+   OPCODE_DDY,
+   OPCODE_DP2,
+   OPCODE_DP2A,
+   OPCODE_DP3,
+   OPCODE_DP4,
+   OPCODE_DPH,
+   OPCODE_DST,
+   OPCODE_ELSE,
+   OPCODE_EMIT_VERTEX,
+   OPCODE_END,
+   OPCODE_END_PRIMITIVE,
+   OPCODE_ENDIF,
+   OPCODE_ENDLOOP,
+   OPCODE_ENDSUB,
+   OPCODE_EX2,
+   OPCODE_EXP,
+   OPCODE_FLR,
+   OPCODE_FRC,
+   OPCODE_IF,
+   OPCODE_KIL,
+   OPCODE_KIL_NV,
+   OPCODE_LG2,
+   OPCODE_LIT,
+   OPCODE_LOG,
+   OPCODE_LRP,
+   OPCODE_MAD,
+   OPCODE_MAX,
+   OPCODE_MIN,
+   OPCODE_MOV,
+   OPCODE_MUL,
+   OPCODE_NOISE1,
+   OPCODE_NOISE2,
+   OPCODE_NOISE3,
+   OPCODE_NOISE4,
+   OPCODE_NOT,
+   OPCODE_NRM3,
+   OPCODE_NRM4,
+   OPCODE_OR,
+   OPCODE_PK2H,
+   OPCODE_PK2US,
+   OPCODE_PK4B,
+   OPCODE_PK4UB,
+   OPCODE_POW,
+   OPCODE_POPA,
+   OPCODE_PRINT,
+   OPCODE_PUSHA,
+   OPCODE_RCC,
+   OPCODE_RCP,
+   OPCODE_RET,
+   OPCODE_RFL,
+   OPCODE_RSQ,
+   OPCODE_SCS,
+   OPCODE_SEQ,
+   OPCODE_SFL,
+   OPCODE_SGE,
+   OPCODE_SGT,
+   OPCODE_SIN,
+   OPCODE_SLE,
+   OPCODE_SLT,
+   OPCODE_SNE,
+   OPCODE_SSG,
+   OPCODE_STR,
+   OPCODE_SUB,
+   OPCODE_SWZ,
+   OPCODE_TEX,
+   OPCODE_TXB,
+   OPCODE_TXD,
+   OPCODE_TXL,
+   OPCODE_TXP,
+   OPCODE_TXP_NV,
+   OPCODE_TRUNC,
+   OPCODE_UP2H,
+   OPCODE_UP2US,
+   OPCODE_UP4B,
+   OPCODE_UP4UB,
+   OPCODE_X2D,
+   OPCODE_XOR,
+   OPCODE_XPD,
+   MAX_OPCODE
+} gl_inst_opcode;
+# 256 "../../src/mesa/program/prog_instruction.h"
+struct prog_src_register
+{
+   GLuint File:4;
+   GLint Index:(12 +1);
+
+
+   GLuint Swizzle:12;
+   GLuint RelAddr:1;
+
+
+   GLuint Abs:1;
+
+
+
+
+
+
+   GLuint Negate:4;
+# 285 "../../src/mesa/program/prog_instruction.h"
+   GLuint HasIndex2:1;
+   GLuint RelAddr2:1;
+   GLint Index2:(12 +1);
+
+
+};
+
+
+
+
+
+struct prog_dst_register
+{
+   GLuint File:4;
+   GLuint Index:12;
+   GLuint WriteMask:4;
+   GLuint RelAddr:1;
+# 317 "../../src/mesa/program/prog_instruction.h"
+   GLuint CondMask:4;
+
+
+
+
+   GLuint CondSwizzle:12;
+
+
+
+
+
+
+
+   GLuint CondSrc:1;
+
+};
+
+
+
+
+
+struct prog_instruction
+{
+   gl_inst_opcode Opcode;
+   struct prog_src_register SrcReg[3];
+   struct prog_dst_register DstReg;
+# 352 "../../src/mesa/program/prog_instruction.h"
+   GLuint CondUpdate:1;
+# 366 "../../src/mesa/program/prog_instruction.h"
+   GLuint CondDst:1;
+# 377 "../../src/mesa/program/prog_instruction.h"
+   GLuint SaturateMode:2;
+
+
+
+
+
+
+
+   GLuint Precision:3;
+
+
+
+
+
+
+   GLuint TexSrcUnit:5;
+
+
+   GLuint TexSrcTarget:3;
+
+
+   GLuint TexShadow:1;
+# 408 "../../src/mesa/program/prog_instruction.h"
+   GLint BranchTarget;
+
+
+   const char *Comment;
+
+
+   void *Data;
+
+
+   GLint Aux;
+};
+
+
+extern void
+_mesa_init_instructions(struct prog_instruction *inst, GLuint count);
+
+extern struct prog_instruction *
+_mesa_alloc_instructions(GLuint numInst);
+
+extern struct prog_instruction *
+_mesa_realloc_instructions(struct prog_instruction *oldInst,
+                           GLuint numOldInst, GLuint numNewInst);
+
+extern struct prog_instruction *
+_mesa_copy_instructions(struct prog_instruction *dest,
+                        const struct prog_instruction *src, GLuint n);
+
+extern void
+_mesa_free_instructions(struct prog_instruction *inst, GLuint count);
+
+extern GLuint
+_mesa_num_inst_src_regs(gl_inst_opcode opcode);
+
+extern GLuint
+_mesa_num_inst_dst_regs(gl_inst_opcode opcode);
+
+extern GLboolean
+_mesa_is_tex_instruction(gl_inst_opcode opcode);
+
+extern GLboolean
+_mesa_check_soa_dependencies(const struct prog_instruction *inst);
+
+extern const char *
+_mesa_opcode_string(gl_inst_opcode opcode);
+# 40 "swrast/s_triangle.c" 2
+
+# 1 "swrast/s_aatriangle.h" 1
+# 31 "swrast/s_aatriangle.h"
+struct gl_context;
+
+
+extern void
+_swrast_set_aa_triangle_function(struct gl_context *ctx);
+# 42 "swrast/s_triangle.c" 2
+# 1 "swrast/s_context.h" 1
+# 46 "swrast/s_context.h"
+# 1 "../../src/mesa/main/compiler.h" 1
+# 47 "swrast/s_context.h" 2
+
+# 1 "../../src/mesa/program/prog_execute.h" 1
+# 32 "../../src/mesa/program/prog_execute.h"
+typedef void (*FetchTexelLodFunc)(struct gl_context *ctx, const GLfloat texcoord[4],
+                                  GLfloat lambda, GLuint unit, GLfloat color[4]);
+
+typedef void (*FetchTexelDerivFunc)(struct gl_context *ctx, const GLfloat texcoord[4],
+                                    const GLfloat texdx[4],
+                                    const GLfloat texdy[4],
+                                    GLfloat lodBias,
+                                    GLuint unit, GLfloat color[4]);
+
+
+
+
+
+struct gl_program_machine
+{
+   const struct gl_program *CurProgram;
+
+
+   GLfloat (*Attribs)[16384][4];
+   GLfloat (*DerivX)[4];
+   GLfloat (*DerivY)[4];
+   GLuint NumDeriv;
+   GLuint CurElement;
+
+
+   GLfloat VertAttribs[VERT_ATTRIB_MAX][4];
+
+   GLfloat Temporaries[256][4];
+   GLfloat Outputs[64][4];
+   GLfloat (*EnvParams)[4];
+   GLuint CondCodes[4];
+   GLint AddressReg[2][4];
+   GLfloat SystemValues[SYSTEM_VALUE_MAX][4];
+
+   const GLubyte *Samplers;
+
+   GLuint CallStack[8];
+   GLuint StackDepth;
+
+
+   FetchTexelLodFunc FetchTexelLod;
+   FetchTexelDerivFunc FetchTexelDeriv;
+};
+
+
+extern void
+_mesa_get_program_register(struct gl_context *ctx, gl_register_file file,
+                           GLuint index, GLfloat val[4]);
+
+extern GLboolean
+_mesa_execute_program(struct gl_context *ctx,
+                      const struct gl_program *program,
+                      struct gl_program_machine *machine);
+# 49 "swrast/s_context.h" 2
+# 1 "swrast/swrast.h" 1
+# 71 "swrast/swrast.h"
+typedef struct {
+   GLfloat attrib[FRAG_ATTRIB_MAX][4];
+   GLchan color[4];
+   GLfloat pointSize;
+} SWvertex;
+
+
+
+
+
+struct swrast_device_driver;
+
+
+
+
+
+extern GLboolean
+_swrast_CreateContext( struct gl_context *ctx );
+
+extern void
+_swrast_DestroyContext( struct gl_context *ctx );
+
+
+
+extern struct swrast_device_driver *
+_swrast_GetDeviceDriverReference( struct gl_context *ctx );
+
+extern void
+_swrast_Bitmap( struct gl_context *ctx,
+  GLint px, GLint py,
+  GLsizei width, GLsizei height,
+  const struct gl_pixelstore_attrib *unpack,
+  const GLubyte *bitmap );
+
+extern void
+_swrast_CopyPixels( struct gl_context *ctx,
+      GLint srcx, GLint srcy,
+      GLint destx, GLint desty,
+      GLsizei width, GLsizei height,
+      GLenum type );
+
+extern void
+_swrast_DrawPixels( struct gl_context *ctx,
+      GLint x, GLint y,
+      GLsizei width, GLsizei height,
+      GLenum format, GLenum type,
+      const struct gl_pixelstore_attrib *unpack,
+      const GLvoid *pixels );
+
+extern void
+_swrast_ReadPixels( struct gl_context *ctx,
+      GLint x, GLint y, GLsizei width, GLsizei height,
+      GLenum format, GLenum type,
+      const struct gl_pixelstore_attrib *unpack,
+      GLvoid *pixels );
+
+extern void
+_swrast_BlitFramebuffer(struct gl_context *ctx,
+                        GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,
+                        GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1,
+                        GLbitfield mask, GLenum filter);
+
+extern void
+_swrast_Clear(struct gl_context *ctx, GLbitfield buffers);
+
+extern void
+_swrast_Accum(struct gl_context *ctx, GLenum op, GLfloat value);
+
+
+
+
+
+extern void
+_swrast_ResetLineStipple( struct gl_context *ctx );
+
+
+
+
+
+extern void
+_swrast_SetFacing(struct gl_context *ctx, GLuint facing);
+
+
+
+
+
+
+extern void
+_swrast_Point( struct gl_context *ctx, const SWvertex *v );
+
+extern void
+_swrast_Line( struct gl_context *ctx, const SWvertex *v0, const SWvertex *v1 );
+
+extern void
+_swrast_Triangle( struct gl_context *ctx, const SWvertex *v0,
+                  const SWvertex *v1, const SWvertex *v2 );
+
+extern void
+_swrast_Quad( struct gl_context *ctx,
+              const SWvertex *v0, const SWvertex *v1,
+       const SWvertex *v2, const SWvertex *v3);
+
+extern void
+_swrast_flush( struct gl_context *ctx );
+
+extern void
+_swrast_render_primitive( struct gl_context *ctx, GLenum mode );
+
+extern void
+_swrast_render_start( struct gl_context *ctx );
+
+extern void
+_swrast_render_finish( struct gl_context *ctx );
+
+
+
+extern void
+_swrast_InvalidateState( struct gl_context *ctx, GLbitfield new_state );
+
+
+
+extern void
+_swrast_allow_vertex_fog( struct gl_context *ctx, GLboolean value );
+
+extern void
+_swrast_allow_pixel_fog( struct gl_context *ctx, GLboolean value );
+
+
+
+extern void
+_swrast_print_vertex( struct gl_context *ctx, const SWvertex *v );
+
+
+
+extern void
+_swrast_eject_texture_images(struct gl_context *ctx);
+
+
+extern void
+_swrast_render_texture(struct gl_context *ctx,
+                       struct gl_framebuffer *fb,
+                       struct gl_renderbuffer_attachment *att);
+
+extern void
+_swrast_finish_render_texture(struct gl_context *ctx,
+                              struct gl_renderbuffer_attachment *att);
+# 225 "swrast/swrast.h"
+struct swrast_device_driver {
+# 236 "swrast/swrast.h"
+   void (*SpanRenderStart)(struct gl_context *ctx);
+   void (*SpanRenderFinish)(struct gl_context *ctx);
+};
+# 50 "swrast/s_context.h" 2
+# 1 "swrast/s_span.h" 1
+# 35 "swrast/s_span.h"
+struct gl_context;
+struct gl_renderbuffer;
+# 66 "swrast/s_span.h"
+typedef struct sw_span_arrays
+{
+
+
+
+
+   GLfloat attribs[FRAG_ATTRIB_MAX][16384][4];
+
+
+   GLubyte mask[16384];
+
+   GLenum ChanType;
+
+
+
+   GLubyte rgba8[16384][4];
+   GLushort rgba16[16384][4];
+   GLchan (*rgba)[4];
+   GLint x[16384];
+   GLint y[16384];
+   GLuint z[16384];
+   GLuint index[16384];
+   GLfloat lambda[8][16384];
+   GLfloat coverage[16384];
+
+} SWspanarrays;
+# 106 "swrast/s_span.h"
+typedef struct sw_span
+{
+
+   GLint x, y;
+
+
+   GLuint end;
+
+
+   GLuint leftClip;
+
+
+   GLboolean writeAll;
+
+
+   GLenum primitive;
+
+
+   GLuint facing;
+
+
+
+
+
+   GLbitfield interpMask;
+
+
+   GLfloat attrStart[FRAG_ATTRIB_MAX][4];
+   GLfloat attrStepX[FRAG_ATTRIB_MAX][4];
+   GLfloat attrStepY[FRAG_ATTRIB_MAX][4];
+
+
+
+
+
+
+   GLfixed red, redStep;
+   GLfixed green, greenStep;
+   GLfixed blue, blueStep;
+   GLfixed alpha, alphaStep;
+   GLfixed index, indexStep;
+   GLfixed z, zStep;
+   GLfixed intTex[2], intTexStep[2];
+
+
+
+
+
+   GLbitfield arrayMask;
+
+   GLbitfield arrayAttribs;
+
+
+
+
+
+
+
+   SWspanarrays *array;
+} SWspan;
+# 183 "swrast/s_span.h"
+extern void
+_swrast_span_default_attribs(struct gl_context *ctx, SWspan *span);
+
+extern void
+_swrast_span_interpolate_z( const struct gl_context *ctx, SWspan *span );
+
+extern GLfloat
+_swrast_compute_lambda(GLfloat dsdx, GLfloat dsdy, GLfloat dtdx, GLfloat dtdy,
+                       GLfloat dqdx, GLfloat dqdy, GLfloat texW, GLfloat texH,
+                       GLfloat s, GLfloat t, GLfloat q, GLfloat invQ);
+
+
+extern void
+_swrast_write_rgba_span( struct gl_context *ctx, SWspan *span);
+
+
+extern void
+_swrast_read_rgba_span(struct gl_context *ctx, struct gl_renderbuffer *rb,
+                       GLuint n, GLint x, GLint y, GLenum type, GLvoid *rgba);
+
+extern void
+_swrast_get_values(struct gl_context *ctx, struct gl_renderbuffer *rb,
+                   GLuint count, const GLint x[], const GLint y[],
+                   void *values, GLuint valueSize);
+
+extern void
+_swrast_put_row(struct gl_context *ctx, struct gl_renderbuffer *rb,
+                GLuint count, GLint x, GLint y,
+                const GLvoid *values, GLuint valueSize);
+
+extern void
+_swrast_get_row(struct gl_context *ctx, struct gl_renderbuffer *rb,
+                GLuint count, GLint x, GLint y,
+                GLvoid *values, GLuint valueSize);
+
+
+extern void *
+_swrast_get_dest_rgba(struct gl_context *ctx, struct gl_renderbuffer *rb,
+                      SWspan *span);
+# 51 "swrast/s_context.h" 2
+
+
+typedef void (*texture_sample_func)(struct gl_context *ctx,
+                                    const struct gl_texture_object *tObj,
+                                    GLuint n, const GLfloat texcoords[][4],
+                                    const GLfloat lambda[], GLfloat rgba[][4]);
+
+typedef void ( * blend_func)( struct gl_context *ctx, GLuint n,
+                                    const GLubyte mask[],
+                                    GLvoid *src, const GLvoid *dst,
+                                    GLenum chanType);
+
+typedef void (*swrast_point_func)( struct gl_context *ctx, const SWvertex *);
+
+typedef void (*swrast_line_func)( struct gl_context *ctx,
+                                  const SWvertex *, const SWvertex *);
+
+typedef void (*swrast_tri_func)( struct gl_context *ctx, const SWvertex *,
+                                 const SWvertex *, const SWvertex *);
+
+
+typedef void (*validate_texture_image_func)(struct gl_context *ctx,
+                                            struct gl_texture_object *texObj,
+                                            GLuint face, GLuint level);
+# 116 "swrast/s_context.h"
+typedef struct
+{
+
+
+   struct swrast_device_driver Driver;
+
+
+
+
+   GLboolean AllowVertexFog;
+   GLboolean AllowPixelFog;
+
+
+
+
+   GLbitfield _RasterMask;
+   GLfloat _BackfaceSign;
+   GLfloat _BackfaceCullSign;
+   GLboolean _PreferPixelFog;
+   GLboolean _TextureCombinePrimary;
+   GLboolean _FogEnabled;
+   GLboolean _DeferredTexture;
+
+
+   GLuint _ActiveAttribs[FRAG_ATTRIB_MAX];
+
+   GLbitfield _ActiveAttribMask;
+
+   GLuint _NumActiveAttribs;
+
+   GLenum _InterpMode[FRAG_ATTRIB_MAX];
+
+
+
+   GLboolean _IntegerAccumMode;
+   GLfloat _IntegerAccumScaler;
+
+
+
+   GLuint StippleCounter;
+   GLuint PointLineFacing;
+   GLbitfield NewState;
+   GLuint StateChanges;
+   GLenum Primitive;
+   GLboolean SpecularVertexAdd;
+
+   void (*InvalidateState)( struct gl_context *ctx, GLbitfield new_state );
+
+
+
+
+
+
+   GLbitfield InvalidatePointMask;
+   GLbitfield InvalidateLineMask;
+   GLbitfield InvalidateTriangleMask;
+
+
+
+
+
+
+
+   void (*choose_point)( struct gl_context * );
+   void (*choose_line)( struct gl_context * );
+   void (*choose_triangle)( struct gl_context * );
+
+
+
+
+
+
+   swrast_point_func Point;
+   swrast_line_func Line;
+   swrast_tri_func Triangle;
+
+
+
+
+
+
+
+   swrast_point_func SpecPoint;
+   swrast_line_func SpecLine;
+   swrast_tri_func SpecTriangle;
+# 209 "swrast/s_context.h"
+   SWspanarrays *SpanArrays;
+   SWspanarrays *ZoomedArrays;
+
+
+
+
+   SWspan PointSpan;
+
+
+
+   blend_func BlendFunc;
+   texture_sample_func TextureSample[16];
+
+
+
+
+   GLfloat *TexelBuffer;
+
+   validate_texture_image_func ValidateTextureImage;
+
+
+   struct gl_program_machine FragProgMachine;
+
+} SWcontext;
+
+
+extern void
+_swrast_validate_derived( struct gl_context *ctx );
+
+extern void
+_swrast_update_texture_samplers(struct gl_context *ctx);
+
+
+
+static __inline__ SWcontext *
+SWRAST_CONTEXT(struct gl_context *ctx)
+{
+   return (SWcontext *) ctx->swrast_context;
+}
+
+
+static __inline__ const SWcontext *
+CONST_SWRAST_CONTEXT(const struct gl_context *ctx)
+{
+   return (const SWcontext *) ctx->swrast_context;
+}
+
+
+
+
+
+
+
+static __inline__ void
+swrast_render_start(struct gl_context *ctx)
+{
+   SWcontext *swrast = SWRAST_CONTEXT(ctx);
+   if (swrast->Driver.SpanRenderStart)
+      swrast->Driver.SpanRenderStart(ctx);
+}
+
+
+
+static __inline__ void
+swrast_render_finish(struct gl_context *ctx)
+{
+   SWcontext *swrast = SWRAST_CONTEXT(ctx);
+   if (swrast->Driver.SpanRenderFinish)
+      swrast->Driver.SpanRenderFinish(ctx);
+}
+# 43 "swrast/s_triangle.c" 2
+# 1 "swrast/s_feedback.h" 1
+# 34 "swrast/s_feedback.h"
+extern void _swrast_feedback_point( struct gl_context *ctx, const SWvertex *v );
+
+extern void _swrast_feedback_line( struct gl_context *ctx,
+                              const SWvertex *v1, const SWvertex *v2 );
+
+extern void _swrast_feedback_triangle( struct gl_context *ctx, const SWvertex *v0,
+                                  const SWvertex *v1, const SWvertex *v2 );
+
+extern void _swrast_select_point( struct gl_context *ctx, const SWvertex *v );
+
+extern void _swrast_select_line( struct gl_context *ctx,
+                            const SWvertex *v1, const SWvertex *v2 );
+
+extern void _swrast_select_triangle( struct gl_context *ctx, const SWvertex *v0,
+                                const SWvertex *v1, const SWvertex *v2 );
+# 44 "swrast/s_triangle.c" 2
+
+# 1 "swrast/s_triangle.h" 1
+# 34 "swrast/s_triangle.h"
+extern GLboolean
+_swrast_culltriangle( struct gl_context *ctx,
+                     const SWvertex *v0,
+                     const SWvertex *v1,
+                     const SWvertex *v2);
+
+extern void
+_swrast_choose_triangle( struct gl_context *ctx );
+
+extern void
+_swrast_add_spec_terms_triangle( struct gl_context *ctx,
+     const SWvertex *v0,
+     const SWvertex *v1,
+     const SWvertex *v2 );
+# 46 "swrast/s_triangle.c" 2
+
+
+
+
+
+
+GLboolean
+_swrast_culltriangle( struct gl_context *ctx,
+                      const SWvertex *v0,
+                      const SWvertex *v1,
+                      const SWvertex *v2 )
+{
+   SWcontext *swrast = SWRAST_CONTEXT(ctx);
+   GLfloat ex = v1->attrib[FRAG_ATTRIB_WPOS][0] - v0->attrib[FRAG_ATTRIB_WPOS][0];
+   GLfloat ey = v1->attrib[FRAG_ATTRIB_WPOS][1] - v0->attrib[FRAG_ATTRIB_WPOS][1];
+   GLfloat fx = v2->attrib[FRAG_ATTRIB_WPOS][0] - v0->attrib[FRAG_ATTRIB_WPOS][0];
+   GLfloat fy = v2->attrib[FRAG_ATTRIB_WPOS][1] - v0->attrib[FRAG_ATTRIB_WPOS][1];
+   GLfloat c = ex*fy-ey*fx;
+
+   if (c * swrast->_BackfaceSign * swrast->_BackfaceCullSign <= 0.0F)
+      return 0x0;
+
+   return 0x1;
+}
+# 91 "swrast/s_triangle.c"
+# 1 "swrast/s_tritemp.h" 1
+# 111 "swrast/s_tritemp.h"
+static void flat_rgba_triangle(struct gl_context *ctx, const SWvertex *v0,
+                                 const SWvertex *v1,
+                                 const SWvertex *v2 )
+{
+   typedef struct {
+      const SWvertex *v0, *v1;
+      GLfloat dx;
+      GLfloat dy;
+      GLfloat dxdy;
+      GLfixed fdxdy;
+      GLfloat adjy;
+      GLfixed fsx;
+      GLfixed fsy;
+      GLfixed fx0;
+      GLint lines;
+   } EdgeT;
+
+   const SWcontext *swrast = SWRAST_CONTEXT(ctx);
+
+   const GLint depthBits = ctx->DrawBuffer->Visual.depthBits;
+   const GLint fixedToDepthShift = depthBits <= 16 ? 11 : 0;
+   const GLfloat maxDepth = ctx->DrawBuffer->_DepthMaxF;
+
+
+   EdgeT eMaj, eTop, eBot;
+   GLfloat oneOverArea;
+   const SWvertex *vMin, *vMid, *vMax;
+   GLfloat bf = SWRAST_CONTEXT(ctx)->_BackfaceSign;
+   const GLint snapMask = ~(((1 << 11) / (1 << 4)) - 1);
+   GLfixed vMin_fx, vMin_fy, vMid_fx, vMid_fy, vMax_fx, vMax_fy;
+
+   SWspan span;
+
+   (void) swrast;
+
+   do { (span).primitive = (0x0009); (span).interpMask = 0x0; (span).arrayMask = 0x0; (span).arrayAttribs = 0x0; (span).end = 0; (span).leftClip = 0; (span).facing = 0; (span).array = SWRAST_CONTEXT(ctx)->SpanArrays; } while (0);
+   span.y = 0;
+
+
+   (void) fixedToDepthShift;
+# 172 "swrast/s_tritemp.h"
+   {
+      const GLfixed fy0 = (((int) ((((v0->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((v0->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) + 0.5F) : (((v0->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      const GLfixed fy1 = (((int) ((((v1->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((v1->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) + 0.5F) : (((v1->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      const GLfixed fy2 = (((int) ((((v2->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((v2->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) + 0.5F) : (((v2->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      if (fy0 <= fy1) {
+         if (fy1 <= fy2) {
+
+            vMin = v0; vMid = v1; vMax = v2;
+            vMin_fy = fy0; vMid_fy = fy1; vMax_fy = fy2;
+         }
+         else if (fy2 <= fy0) {
+
+            vMin = v2; vMid = v0; vMax = v1;
+            vMin_fy = fy2; vMid_fy = fy0; vMax_fy = fy1;
+         }
+         else {
+
+            vMin = v0; vMid = v2; vMax = v1;
+            vMin_fy = fy0; vMid_fy = fy2; vMax_fy = fy1;
+            bf = -bf;
+         }
+      }
+      else {
+         if (fy0 <= fy2) {
+
+            vMin = v1; vMid = v0; vMax = v2;
+            vMin_fy = fy1; vMid_fy = fy0; vMax_fy = fy2;
+            bf = -bf;
+         }
+         else if (fy2 <= fy1) {
+
+            vMin = v2; vMid = v1; vMax = v0;
+            vMin_fy = fy2; vMid_fy = fy1; vMax_fy = fy0;
+            bf = -bf;
+         }
+         else {
+
+            vMin = v1; vMid = v2; vMax = v0;
+            vMin_fy = fy1; vMid_fy = fy2; vMax_fy = fy0;
+         }
+      }
+
+
+      vMin_fx = (((int) ((((vMin->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((vMin->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) + 0.5F) : (((vMin->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      vMid_fx = (((int) ((((vMid->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((vMid->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) + 0.5F) : (((vMid->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      vMax_fx = (((int) ((((vMax->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((vMax->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) + 0.5F) : (((vMax->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+   }
+
+
+   eMaj.v0 = vMin; eMaj.v1 = vMax;
+   eTop.v0 = vMid; eTop.v1 = vMax;
+   eBot.v0 = vMin; eBot.v1 = vMid;
+
+
+   eMaj.dx = ((vMax_fx - vMin_fx) * (1.0F / ((float) (1 << 11))));
+   eMaj.dy = ((vMax_fy - vMin_fy) * (1.0F / ((float) (1 << 11))));
+   eTop.dx = ((vMax_fx - vMid_fx) * (1.0F / ((float) (1 << 11))));
+   eTop.dy = ((vMax_fy - vMid_fy) * (1.0F / ((float) (1 << 11))));
+   eBot.dx = ((vMid_fx - vMin_fx) * (1.0F / ((float) (1 << 11))));
+   eBot.dy = ((vMid_fy - vMin_fy) * (1.0F / ((float) (1 << 11))));
+
+
+   {
+      const GLfloat area = eMaj.dx * eBot.dy - eBot.dx * eMaj.dy;
+
+      if (IS_INF_OR_NAN(area) || area == 0.0F)
+         return;
+
+      if (area * bf * swrast->_BackfaceCullSign < 0.0)
+         return;
+
+      oneOverArea = 1.0F / area;
+
+
+      span.facing = oneOverArea * bf > 0.0F;
+   }
+
+
+   {
+      eMaj.fsy = (((vMin_fy) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+      eMaj.lines = (((((vMax_fy - eMaj.fsy) + (1 << 11) - 1) & (~((1 << 11) - 1)))) >> 11);
+      if (eMaj.lines > 0) {
+         eMaj.dxdy = eMaj.dx / eMaj.dy;
+         eMaj.fdxdy = (((int) ((((eMaj.dxdy) * ((float) (1 << 11))) >= 0.0F) ? (((eMaj.dxdy) * ((float) (1 << 11))) + 0.5F) : (((eMaj.dxdy) * ((float) (1 << 11))) - 0.5F))));
+         eMaj.adjy = (GLfloat) (eMaj.fsy - vMin_fy);
+         eMaj.fx0 = vMin_fx;
+         eMaj.fsx = eMaj.fx0 + (GLfixed) (eMaj.adjy * eMaj.dxdy);
+      }
+      else {
+         return;
+      }
+
+      eTop.fsy = (((vMid_fy) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+      eTop.lines = (((((vMax_fy - eTop.fsy) + (1 << 11) - 1) & (~((1 << 11) - 1)))) >> 11);
+      if (eTop.lines > 0) {
+         eTop.dxdy = eTop.dx / eTop.dy;
+         eTop.fdxdy = (((int) ((((eTop.dxdy) * ((float) (1 << 11))) >= 0.0F) ? (((eTop.dxdy) * ((float) (1 << 11))) + 0.5F) : (((eTop.dxdy) * ((float) (1 << 11))) - 0.5F))));
+         eTop.adjy = (GLfloat) (eTop.fsy - vMid_fy);
+         eTop.fx0 = vMid_fx;
+         eTop.fsx = eTop.fx0 + (GLfixed) (eTop.adjy * eTop.dxdy);
+      }
+
+      eBot.fsy = (((vMin_fy) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+      eBot.lines = (((((vMid_fy - eBot.fsy) + (1 << 11) - 1) & (~((1 << 11) - 1)))) >> 11);
+      if (eBot.lines > 0) {
+         eBot.dxdy = eBot.dx / eBot.dy;
+         eBot.fdxdy = (((int) ((((eBot.dxdy) * ((float) (1 << 11))) >= 0.0F) ? (((eBot.dxdy) * ((float) (1 << 11))) + 0.5F) : (((eBot.dxdy) * ((float) (1 << 11))) - 0.5F))));
+         eBot.adjy = (GLfloat) (eBot.fsy - vMin_fy);
+         eBot.fx0 = vMin_fx;
+         eBot.fsx = eBot.fx0 + (GLfixed) (eBot.adjy * eBot.dxdy);
+      }
+   }
+# 319 "swrast/s_tritemp.h"
+   {
+      GLint scan_from_left_to_right;
+
+
+
+
+
+      ; ; span.interpMask |= 0x01; span.red = ((v2->color[0]) << 11); span.green = ((v2->color[1]) << 11); span.blue = ((v2->color[2]) << 11); span.alpha = ((v2->color[3]) << 11); span.redStep = 0; span.greenStep = 0; span.blueStep = 0; span.alphaStep = 0;
+
+
+      scan_from_left_to_right = (oneOverArea < 0.0F);
+
+
+
+
+      span.interpMask |= 0x02;
+      {
+         GLfloat eMaj_dz = vMax->attrib[FRAG_ATTRIB_WPOS][2] - vMin->attrib[FRAG_ATTRIB_WPOS][2];
+         GLfloat eBot_dz = vMid->attrib[FRAG_ATTRIB_WPOS][2] - vMin->attrib[FRAG_ATTRIB_WPOS][2];
+         span.attrStepX[FRAG_ATTRIB_WPOS][2] = oneOverArea * (eMaj_dz * eBot.dy - eMaj.dy * eBot_dz);
+         if (span.attrStepX[FRAG_ATTRIB_WPOS][2] > maxDepth ||
+             span.attrStepX[FRAG_ATTRIB_WPOS][2] < -maxDepth) {
+
+            span.attrStepX[FRAG_ATTRIB_WPOS][2] = 0.0;
+            span.attrStepY[FRAG_ATTRIB_WPOS][2] = 0.0;
+         }
+         else {
+            span.attrStepY[FRAG_ATTRIB_WPOS][2] = oneOverArea * (eMaj.dx * eBot_dz - eMaj_dz * eBot.dx);
+         }
+         if (depthBits <= 16)
+            span.zStep = (((int) ((((span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) - 0.5F))));
+         else
+            span.zStep = (GLint) span.attrStepX[FRAG_ATTRIB_WPOS][2];
+      }
+# 488 "swrast/s_tritemp.h"
+      {
+         GLint subTriangle;
+         GLfixed fxLeftEdge = 0, fxRightEdge = 0;
+         GLfixed fdxLeftEdge = 0, fdxRightEdge = 0;
+         GLfixed fError = 0, fdError = 0;
+# 504 "swrast/s_tritemp.h"
+         GLuint zLeft = 0;
+         GLfixed fdzOuter = 0, fdzInner;
+# 525 "swrast/s_tritemp.h"
+         for (subTriangle=0; subTriangle<=1; subTriangle++) {
+            EdgeT *eLeft, *eRight;
+            int setupLeft, setupRight;
+            int lines;
+
+            if (subTriangle==0) {
+
+               if (scan_from_left_to_right) {
+                  eLeft = &eMaj;
+                  eRight = &eBot;
+                  lines = eRight->lines;
+                  setupLeft = 1;
+                  setupRight = 1;
+               }
+               else {
+                  eLeft = &eBot;
+                  eRight = &eMaj;
+                  lines = eLeft->lines;
+                  setupLeft = 1;
+                  setupRight = 1;
+               }
+            }
+            else {
+
+               if (scan_from_left_to_right) {
+                  eLeft = &eMaj;
+                  eRight = &eTop;
+                  lines = eRight->lines;
+                  setupLeft = 0;
+                  setupRight = 1;
+               }
+               else {
+                  eLeft = &eTop;
+                  eRight = &eMaj;
+                  lines = eLeft->lines;
+                  setupLeft = 1;
+                  setupRight = 0;
+               }
+               if (lines == 0)
+                  return;
+            }
+
+            if (setupLeft && eLeft->lines > 0) {
+               const SWvertex *vLower = eLeft->v0;
+               const GLfixed fsy = eLeft->fsy;
+               const GLfixed fsx = eLeft->fsx;
+               const GLfixed fx = (((fsx) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+               const GLfixed adjx = (GLfixed) (fx - eLeft->fx0);
+               const GLfixed adjy = (GLfixed) eLeft->adjy;
+               GLint idxOuter;
+               GLfloat dxOuter;
+               GLfixed fdxOuter;
+
+               fError = fx - fsx - (1 << 11);
+               fxLeftEdge = fsx - 1;
+               fdxLeftEdge = eLeft->fdxdy;
+               fdxOuter = ((fdxLeftEdge - 1) & (~((1 << 11) - 1)));
+               fdError = fdxOuter - fdxLeftEdge + (1 << 11);
+               idxOuter = ((fdxOuter) >> 11);
+               dxOuter = (GLfloat) idxOuter;
+               span.y = ((fsy) >> 11);
+
+
+               (void) dxOuter;
+               (void) adjx;
+               (void) adjy;
+               (void) vLower;
+# 611 "swrast/s_tritemp.h"
+               {
+                  GLfloat z0 = vLower->attrib[FRAG_ATTRIB_WPOS][2];
+                  if (depthBits <= 16) {
+
+                     GLfloat tmp = (z0 * ((float) (1 << 11))
+                                    + span.attrStepX[FRAG_ATTRIB_WPOS][2] * adjx
+                                    + span.attrStepY[FRAG_ATTRIB_WPOS][2] * adjy) + (1 << (11 -1));
+                     if (tmp < 0xffffffff / 2)
+                        zLeft = (GLfixed) tmp;
+                     else
+                        zLeft = 0xffffffff / 2;
+                     fdzOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_WPOS][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_WPOS][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_WPOS][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                                 ;
+                  }
+                  else {
+
+                     zLeft = (GLuint) (z0 + span.attrStepX[FRAG_ATTRIB_WPOS][2] * ((adjx) * (1.0F / ((float) (1 << 11))))
+                                          + span.attrStepY[FRAG_ATTRIB_WPOS][2] * ((adjy) * (1.0F / ((float) (1 << 11)))));
+                     fdzOuter = (GLint) (span.attrStepY[FRAG_ATTRIB_WPOS][2] +
+                                         dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]);
+                  }
+
+
+
+
+
+               }
+# 722 "swrast/s_tritemp.h"
+            }
+
+
+            if (setupRight && eRight->lines>0) {
+               fxRightEdge = eRight->fsx - 1;
+               fdxRightEdge = eRight->fdxdy;
+            }
+
+            if (lines==0) {
+               continue;
+            }
+# 743 "swrast/s_tritemp.h"
+            fdzInner = fdzOuter + span.zStep;
+# 767 "swrast/s_tritemp.h"
+            while (lines > 0) {
+
+
+               const GLint right = ((fxRightEdge) >> 11);
+               span.x = ((fxLeftEdge) >> 11);
+               if (right <= span.x)
+                  span.end = 0;
+               else
+                  span.end = right - span.x;
+
+
+               span.z = zLeft;
+# 807 "swrast/s_tritemp.h"
+               if (span.end > 0 && span.y >= 0) {
+                  const GLint len = span.end - 1;
+                  (void) len;
+# 818 "swrast/s_tritemp.h"
+                  {
+                     _swrast_write_rgba_span(ctx, &span);;
+                  }
+               }
+
+
+
+
+
+
+
+               span.y++;
+               lines--;
+
+               fxLeftEdge += fdxLeftEdge;
+               fxRightEdge += fdxRightEdge;
+
+               fError += fdError;
+               if (fError >= 0) {
+                  fError -= (1 << 11);
+# 846 "swrast/s_tritemp.h"
+                  zLeft += fdzOuter;
+# 869 "swrast/s_tritemp.h"
+               }
+               else {
+
+
+
+
+
+
+
+                  zLeft += fdzInner;
+# 901 "swrast/s_tritemp.h"
+               }
+            }
+
+         }
+
+      }
+   }
+}
+# 92 "swrast/s_triangle.c" 2
+# 109 "swrast/s_triangle.c"
+# 1 "swrast/s_tritemp.h" 1
+# 111 "swrast/s_tritemp.h"
+static void smooth_rgba_triangle(struct gl_context *ctx, const SWvertex *v0,
+                                 const SWvertex *v1,
+                                 const SWvertex *v2 )
+{
+   typedef struct {
+      const SWvertex *v0, *v1;
+      GLfloat dx;
+      GLfloat dy;
+      GLfloat dxdy;
+      GLfixed fdxdy;
+      GLfloat adjy;
+      GLfixed fsx;
+      GLfixed fsy;
+      GLfixed fx0;
+      GLint lines;
+   } EdgeT;
+
+   const SWcontext *swrast = SWRAST_CONTEXT(ctx);
+
+   const GLint depthBits = ctx->DrawBuffer->Visual.depthBits;
+   const GLint fixedToDepthShift = depthBits <= 16 ? 11 : 0;
+   const GLfloat maxDepth = ctx->DrawBuffer->_DepthMaxF;
+
+
+   EdgeT eMaj, eTop, eBot;
+   GLfloat oneOverArea;
+   const SWvertex *vMin, *vMid, *vMax;
+   GLfloat bf = SWRAST_CONTEXT(ctx)->_BackfaceSign;
+   const GLint snapMask = ~(((1 << 11) / (1 << 4)) - 1);
+   GLfixed vMin_fx, vMin_fy, vMid_fx, vMid_fy, vMax_fx, vMax_fy;
+
+   SWspan span;
+
+   (void) swrast;
+
+   do { (span).primitive = (0x0009); (span).interpMask = 0x0; (span).arrayMask = 0x0; (span).arrayAttribs = 0x0; (span).end = 0; (span).leftClip = 0; (span).facing = 0; (span).array = SWRAST_CONTEXT(ctx)->SpanArrays; } while (0);
+   span.y = 0;
+
+
+   (void) fixedToDepthShift;
+# 172 "swrast/s_tritemp.h"
+   {
+      const GLfixed fy0 = (((int) ((((v0->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((v0->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) + 0.5F) : (((v0->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      const GLfixed fy1 = (((int) ((((v1->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((v1->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) + 0.5F) : (((v1->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      const GLfixed fy2 = (((int) ((((v2->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((v2->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) + 0.5F) : (((v2->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      if (fy0 <= fy1) {
+         if (fy1 <= fy2) {
+
+            vMin = v0; vMid = v1; vMax = v2;
+            vMin_fy = fy0; vMid_fy = fy1; vMax_fy = fy2;
+         }
+         else if (fy2 <= fy0) {
+
+            vMin = v2; vMid = v0; vMax = v1;
+            vMin_fy = fy2; vMid_fy = fy0; vMax_fy = fy1;
+         }
+         else {
+
+            vMin = v0; vMid = v2; vMax = v1;
+            vMin_fy = fy0; vMid_fy = fy2; vMax_fy = fy1;
+            bf = -bf;
+         }
+      }
+      else {
+         if (fy0 <= fy2) {
+
+            vMin = v1; vMid = v0; vMax = v2;
+            vMin_fy = fy1; vMid_fy = fy0; vMax_fy = fy2;
+            bf = -bf;
+         }
+         else if (fy2 <= fy1) {
+
+            vMin = v2; vMid = v1; vMax = v0;
+            vMin_fy = fy2; vMid_fy = fy1; vMax_fy = fy0;
+            bf = -bf;
+         }
+         else {
+
+            vMin = v1; vMid = v2; vMax = v0;
+            vMin_fy = fy1; vMid_fy = fy2; vMax_fy = fy0;
+         }
+      }
+
+
+      vMin_fx = (((int) ((((vMin->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((vMin->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) + 0.5F) : (((vMin->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      vMid_fx = (((int) ((((vMid->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((vMid->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) + 0.5F) : (((vMid->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      vMax_fx = (((int) ((((vMax->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((vMax->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) + 0.5F) : (((vMax->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+   }
+
+
+   eMaj.v0 = vMin; eMaj.v1 = vMax;
+   eTop.v0 = vMid; eTop.v1 = vMax;
+   eBot.v0 = vMin; eBot.v1 = vMid;
+
+
+   eMaj.dx = ((vMax_fx - vMin_fx) * (1.0F / ((float) (1 << 11))));
+   eMaj.dy = ((vMax_fy - vMin_fy) * (1.0F / ((float) (1 << 11))));
+   eTop.dx = ((vMax_fx - vMid_fx) * (1.0F / ((float) (1 << 11))));
+   eTop.dy = ((vMax_fy - vMid_fy) * (1.0F / ((float) (1 << 11))));
+   eBot.dx = ((vMid_fx - vMin_fx) * (1.0F / ((float) (1 << 11))));
+   eBot.dy = ((vMid_fy - vMin_fy) * (1.0F / ((float) (1 << 11))));
+
+
+   {
+      const GLfloat area = eMaj.dx * eBot.dy - eBot.dx * eMaj.dy;
+
+      if (IS_INF_OR_NAN(area) || area == 0.0F)
+         return;
+
+      if (area * bf * swrast->_BackfaceCullSign < 0.0)
+         return;
+
+      oneOverArea = 1.0F / area;
+
+
+      span.facing = oneOverArea * bf > 0.0F;
+   }
+
+
+   {
+      eMaj.fsy = (((vMin_fy) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+      eMaj.lines = (((((vMax_fy - eMaj.fsy) + (1 << 11) - 1) & (~((1 << 11) - 1)))) >> 11);
+      if (eMaj.lines > 0) {
+         eMaj.dxdy = eMaj.dx / eMaj.dy;
+         eMaj.fdxdy = (((int) ((((eMaj.dxdy) * ((float) (1 << 11))) >= 0.0F) ? (((eMaj.dxdy) * ((float) (1 << 11))) + 0.5F) : (((eMaj.dxdy) * ((float) (1 << 11))) - 0.5F))));
+         eMaj.adjy = (GLfloat) (eMaj.fsy - vMin_fy);
+         eMaj.fx0 = vMin_fx;
+         eMaj.fsx = eMaj.fx0 + (GLfixed) (eMaj.adjy * eMaj.dxdy);
+      }
+      else {
+         return;
+      }
+
+      eTop.fsy = (((vMid_fy) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+      eTop.lines = (((((vMax_fy - eTop.fsy) + (1 << 11) - 1) & (~((1 << 11) - 1)))) >> 11);
+      if (eTop.lines > 0) {
+         eTop.dxdy = eTop.dx / eTop.dy;
+         eTop.fdxdy = (((int) ((((eTop.dxdy) * ((float) (1 << 11))) >= 0.0F) ? (((eTop.dxdy) * ((float) (1 << 11))) + 0.5F) : (((eTop.dxdy) * ((float) (1 << 11))) - 0.5F))));
+         eTop.adjy = (GLfloat) (eTop.fsy - vMid_fy);
+         eTop.fx0 = vMid_fx;
+         eTop.fsx = eTop.fx0 + (GLfixed) (eTop.adjy * eTop.dxdy);
+      }
+
+      eBot.fsy = (((vMin_fy) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+      eBot.lines = (((((vMid_fy - eBot.fsy) + (1 << 11) - 1) & (~((1 << 11) - 1)))) >> 11);
+      if (eBot.lines > 0) {
+         eBot.dxdy = eBot.dx / eBot.dy;
+         eBot.fdxdy = (((int) ((((eBot.dxdy) * ((float) (1 << 11))) >= 0.0F) ? (((eBot.dxdy) * ((float) (1 << 11))) + 0.5F) : (((eBot.dxdy) * ((float) (1 << 11))) - 0.5F))));
+         eBot.adjy = (GLfloat) (eBot.fsy - vMin_fy);
+         eBot.fx0 = vMin_fx;
+         eBot.fsx = eBot.fx0 + (GLfixed) (eBot.adjy * eBot.dxdy);
+      }
+   }
+# 319 "swrast/s_tritemp.h"
+   {
+      GLint scan_from_left_to_right;
+
+
+
+
+
+      { ; ; }
+
+
+      scan_from_left_to_right = (oneOverArea < 0.0F);
+
+
+
+
+      span.interpMask |= 0x02;
+      {
+         GLfloat eMaj_dz = vMax->attrib[FRAG_ATTRIB_WPOS][2] - vMin->attrib[FRAG_ATTRIB_WPOS][2];
+         GLfloat eBot_dz = vMid->attrib[FRAG_ATTRIB_WPOS][2] - vMin->attrib[FRAG_ATTRIB_WPOS][2];
+         span.attrStepX[FRAG_ATTRIB_WPOS][2] = oneOverArea * (eMaj_dz * eBot.dy - eMaj.dy * eBot_dz);
+         if (span.attrStepX[FRAG_ATTRIB_WPOS][2] > maxDepth ||
+             span.attrStepX[FRAG_ATTRIB_WPOS][2] < -maxDepth) {
+
+            span.attrStepX[FRAG_ATTRIB_WPOS][2] = 0.0;
+            span.attrStepY[FRAG_ATTRIB_WPOS][2] = 0.0;
+         }
+         else {
+            span.attrStepY[FRAG_ATTRIB_WPOS][2] = oneOverArea * (eMaj.dx * eBot_dz - eMaj_dz * eBot.dx);
+         }
+         if (depthBits <= 16)
+            span.zStep = (((int) ((((span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) - 0.5F))));
+         else
+            span.zStep = (GLint) span.attrStepX[FRAG_ATTRIB_WPOS][2];
+      }
+
+
+      span.interpMask |= 0x01;
+      if (ctx->Light.ShadeModel == 0x1D01) {
+         GLfloat eMaj_dr = (GLfloat) (vMax->color[0] - vMin->color[0]);
+         GLfloat eBot_dr = (GLfloat) (vMid->color[0] - vMin->color[0]);
+         GLfloat eMaj_dg = (GLfloat) (vMax->color[1] - vMin->color[1]);
+         GLfloat eBot_dg = (GLfloat) (vMid->color[1] - vMin->color[1]);
+         GLfloat eMaj_db = (GLfloat) (vMax->color[2] - vMin->color[2]);
+         GLfloat eBot_db = (GLfloat) (vMid->color[2] - vMin->color[2]);
+
+         GLfloat eMaj_da = (GLfloat) (vMax->color[3] - vMin->color[3]);
+         GLfloat eBot_da = (GLfloat) (vMid->color[3] - vMin->color[3]);
+
+         span.attrStepX[FRAG_ATTRIB_COL0][0] = oneOverArea * (eMaj_dr * eBot.dy - eMaj.dy * eBot_dr);
+         span.attrStepY[FRAG_ATTRIB_COL0][0] = oneOverArea * (eMaj.dx * eBot_dr - eMaj_dr * eBot.dx);
+         span.attrStepX[FRAG_ATTRIB_COL0][1] = oneOverArea * (eMaj_dg * eBot.dy - eMaj.dy * eBot_dg);
+         span.attrStepY[FRAG_ATTRIB_COL0][1] = oneOverArea * (eMaj.dx * eBot_dg - eMaj_dg * eBot.dx);
+         span.attrStepX[FRAG_ATTRIB_COL0][2] = oneOverArea * (eMaj_db * eBot.dy - eMaj.dy * eBot_db);
+         span.attrStepY[FRAG_ATTRIB_COL0][2] = oneOverArea * (eMaj.dx * eBot_db - eMaj_db * eBot.dx);
+         span.redStep = (((int) ((((span.attrStepX[FRAG_ATTRIB_COL0][0]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_COL0][0]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_COL0][0]) * ((float) (1 << 11))) - 0.5F))));
+         span.greenStep = (((int) ((((span.attrStepX[FRAG_ATTRIB_COL0][1]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_COL0][1]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_COL0][1]) * ((float) (1 << 11))) - 0.5F))));
+         span.blueStep = (((int) ((((span.attrStepX[FRAG_ATTRIB_COL0][2]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_COL0][2]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_COL0][2]) * ((float) (1 << 11))) - 0.5F))));
+
+         span.attrStepX[FRAG_ATTRIB_COL0][3] = oneOverArea * (eMaj_da * eBot.dy - eMaj.dy * eBot_da);
+         span.attrStepY[FRAG_ATTRIB_COL0][3] = oneOverArea * (eMaj.dx * eBot_da - eMaj_da * eBot.dx);
+         span.alphaStep = (((int) ((((span.attrStepX[FRAG_ATTRIB_COL0][3]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_COL0][3]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_COL0][3]) * ((float) (1 << 11))) - 0.5F))));
+
+      }
+      else {
+         ;
+         span.interpMask |= 0x04;
+         span.attrStepX[FRAG_ATTRIB_COL0][0] = span.attrStepY[FRAG_ATTRIB_COL0][0] = 0.0F;
+         span.attrStepX[FRAG_ATTRIB_COL0][1] = span.attrStepY[FRAG_ATTRIB_COL0][1] = 0.0F;
+         span.attrStepX[FRAG_ATTRIB_COL0][2] = span.attrStepY[FRAG_ATTRIB_COL0][2] = 0.0F;
+  span.redStep = 0;
+  span.greenStep = 0;
+  span.blueStep = 0;
+
+         span.attrStepX[FRAG_ATTRIB_COL0][3] = span.attrStepY[FRAG_ATTRIB_COL0][3] = 0.0F;
+  span.alphaStep = 0;
+
+      }
+# 488 "swrast/s_tritemp.h"
+      {
+         GLint subTriangle;
+         GLfixed fxLeftEdge = 0, fxRightEdge = 0;
+         GLfixed fdxLeftEdge = 0, fdxRightEdge = 0;
+         GLfixed fError = 0, fdError = 0;
+# 504 "swrast/s_tritemp.h"
+         GLuint zLeft = 0;
+         GLfixed fdzOuter = 0, fdzInner;
+
+
+         GLint rLeft = 0, fdrOuter = 0, fdrInner;
+         GLint gLeft = 0, fdgOuter = 0, fdgInner;
+         GLint bLeft = 0, fdbOuter = 0, fdbInner;
+
+
+         GLint aLeft = 0, fdaOuter = 0, fdaInner;
+# 525 "swrast/s_tritemp.h"
+         for (subTriangle=0; subTriangle<=1; subTriangle++) {
+            EdgeT *eLeft, *eRight;
+            int setupLeft, setupRight;
+            int lines;
+
+            if (subTriangle==0) {
+
+               if (scan_from_left_to_right) {
+                  eLeft = &eMaj;
+                  eRight = &eBot;
+                  lines = eRight->lines;
+                  setupLeft = 1;
+                  setupRight = 1;
+               }
+               else {
+                  eLeft = &eBot;
+                  eRight = &eMaj;
+                  lines = eLeft->lines;
+                  setupLeft = 1;
+                  setupRight = 1;
+               }
+            }
+            else {
+
+               if (scan_from_left_to_right) {
+                  eLeft = &eMaj;
+                  eRight = &eTop;
+                  lines = eRight->lines;
+                  setupLeft = 0;
+                  setupRight = 1;
+               }
+               else {
+                  eLeft = &eTop;
+                  eRight = &eMaj;
+                  lines = eLeft->lines;
+                  setupLeft = 1;
+                  setupRight = 0;
+               }
+               if (lines == 0)
+                  return;
+            }
+
+            if (setupLeft && eLeft->lines > 0) {
+               const SWvertex *vLower = eLeft->v0;
+               const GLfixed fsy = eLeft->fsy;
+               const GLfixed fsx = eLeft->fsx;
+               const GLfixed fx = (((fsx) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+               const GLfixed adjx = (GLfixed) (fx - eLeft->fx0);
+               const GLfixed adjy = (GLfixed) eLeft->adjy;
+               GLint idxOuter;
+               GLfloat dxOuter;
+               GLfixed fdxOuter;
+
+               fError = fx - fsx - (1 << 11);
+               fxLeftEdge = fsx - 1;
+               fdxLeftEdge = eLeft->fdxdy;
+               fdxOuter = ((fdxLeftEdge - 1) & (~((1 << 11) - 1)));
+               fdError = fdxOuter - fdxLeftEdge + (1 << 11);
+               idxOuter = ((fdxOuter) >> 11);
+               dxOuter = (GLfloat) idxOuter;
+               span.y = ((fsy) >> 11);
+
+
+               (void) dxOuter;
+               (void) adjx;
+               (void) adjy;
+               (void) vLower;
+# 611 "swrast/s_tritemp.h"
+               {
+                  GLfloat z0 = vLower->attrib[FRAG_ATTRIB_WPOS][2];
+                  if (depthBits <= 16) {
+
+                     GLfloat tmp = (z0 * ((float) (1 << 11))
+                                    + span.attrStepX[FRAG_ATTRIB_WPOS][2] * adjx
+                                    + span.attrStepY[FRAG_ATTRIB_WPOS][2] * adjy) + (1 << (11 -1));
+                     if (tmp < 0xffffffff / 2)
+                        zLeft = (GLfixed) tmp;
+                     else
+                        zLeft = 0xffffffff / 2;
+                     fdzOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_WPOS][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_WPOS][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_WPOS][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                                 ;
+                  }
+                  else {
+
+                     zLeft = (GLuint) (z0 + span.attrStepX[FRAG_ATTRIB_WPOS][2] * ((adjx) * (1.0F / ((float) (1 << 11))))
+                                          + span.attrStepY[FRAG_ATTRIB_WPOS][2] * ((adjy) * (1.0F / ((float) (1 << 11)))));
+                     fdzOuter = (GLint) (span.attrStepY[FRAG_ATTRIB_WPOS][2] +
+                                         dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]);
+                  }
+
+
+
+
+
+               }
+
+
+               if (ctx->Light.ShadeModel == 0x1D01) {
+                  rLeft = (GLint)(((vLower->color[0]) << 11)
+                                  + span.attrStepX[FRAG_ATTRIB_COL0][0] * adjx
+                                  + span.attrStepY[FRAG_ATTRIB_COL0][0] * adjy) + (1 << (11 -1));
+                  gLeft = (GLint)(((vLower->color[1]) << 11)
+                                  + span.attrStepX[FRAG_ATTRIB_COL0][1] * adjx
+                                  + span.attrStepY[FRAG_ATTRIB_COL0][1] * adjy) + (1 << (11 -1));
+                  bLeft = (GLint)(((vLower->color[2]) << 11)
+                                  + span.attrStepX[FRAG_ATTRIB_COL0][2] * adjx
+                                  + span.attrStepY[FRAG_ATTRIB_COL0][2] * adjy) + (1 << (11 -1));
+                  fdrOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_COL0][0] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][0]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_COL0][0] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][0]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_COL0][0] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][0]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                                ;
+                  fdgOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_COL0][1] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][1]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_COL0][1] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][1]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_COL0][1] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][1]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                                ;
+                  fdbOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_COL0][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][2]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_COL0][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][2]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_COL0][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][2]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                                ;
+
+                  aLeft = (GLint)(((vLower->color[3]) << 11)
+                                  + span.attrStepX[FRAG_ATTRIB_COL0][3] * adjx
+                                  + span.attrStepY[FRAG_ATTRIB_COL0][3] * adjy) + (1 << (11 -1));
+                  fdaOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_COL0][3] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][3]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_COL0][3] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][3]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_COL0][3] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][3]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                                ;
+
+               }
+               else {
+                  ;
+                  rLeft = ((v2->color[0]) << 11);
+                  gLeft = ((v2->color[1]) << 11);
+                  bLeft = ((v2->color[2]) << 11);
+                  fdrOuter = fdgOuter = fdbOuter = 0;
+
+                  aLeft = ((v2->color[3]) << 11);
+                  fdaOuter = 0;
+
+               }
+# 722 "swrast/s_tritemp.h"
+            }
+
+
+            if (setupRight && eRight->lines>0) {
+               fxRightEdge = eRight->fsx - 1;
+               fdxRightEdge = eRight->fdxdy;
+            }
+
+            if (lines==0) {
+               continue;
+            }
+# 743 "swrast/s_tritemp.h"
+            fdzInner = fdzOuter + span.zStep;
+
+
+            fdrInner = fdrOuter + span.redStep;
+            fdgInner = fdgOuter + span.greenStep;
+            fdbInner = fdbOuter + span.blueStep;
+
+
+            fdaInner = fdaOuter + span.alphaStep;
+# 767 "swrast/s_tritemp.h"
+            while (lines > 0) {
+
+
+               const GLint right = ((fxRightEdge) >> 11);
+               span.x = ((fxLeftEdge) >> 11);
+               if (right <= span.x)
+                  span.end = 0;
+               else
+                  span.end = right - span.x;
+
+
+               span.z = zLeft;
+
+
+               span.red = rLeft;
+               span.green = gLeft;
+               span.blue = bLeft;
+
+
+               span.alpha = aLeft;
+# 807 "swrast/s_tritemp.h"
+               if (span.end > 0 && span.y >= 0) {
+                  const GLint len = span.end - 1;
+                  (void) len;
+
+                  do { GLfixed endVal = span.red + (len) * span.redStep; if (endVal < 0) { span.red -= endVal; } if (span.red < 0) { span.red = 0; } } while (0);
+                  do { GLfixed endVal = span.green + (len) * span.greenStep; if (endVal < 0) { span.green -= endVal; } if (span.green < 0) { span.green = 0; } } while (0);
+                  do { GLfixed endVal = span.blue + (len) * span.blueStep; if (endVal < 0) { span.blue -= endVal; } if (span.blue < 0) { span.blue = 0; } } while (0);
+
+
+                  do { GLfixed endVal = span.alpha + (len) * span.alphaStep; if (endVal < 0) { span.alpha -= endVal; } if (span.alpha < 0) { span.alpha = 0; } } while (0);
+
+                  {
+                     _swrast_write_rgba_span(ctx, &span);;
+                  }
+               }
+
+
+
+
+
+
+
+               span.y++;
+               lines--;
+
+               fxLeftEdge += fdxLeftEdge;
+               fxRightEdge += fdxRightEdge;
+
+               fError += fdError;
+               if (fError >= 0) {
+                  fError -= (1 << 11);
+# 846 "swrast/s_tritemp.h"
+                  zLeft += fdzOuter;
+
+
+                  rLeft += fdrOuter;
+                  gLeft += fdgOuter;
+                  bLeft += fdbOuter;
+
+
+                  aLeft += fdaOuter;
+# 869 "swrast/s_tritemp.h"
+               }
+               else {
+
+
+
+
+
+
+
+                  zLeft += fdzInner;
+
+
+                  rLeft += fdrInner;
+                  gLeft += fdgInner;
+                  bLeft += fdbInner;
+
+
+                  aLeft += fdaInner;
+# 901 "swrast/s_tritemp.h"
+               }
+            }
+
+         }
+
+      }
+   }
+}
+# 110 "swrast/s_triangle.c" 2
+# 159 "swrast/s_triangle.c"
+# 1 "swrast/s_tritemp.h" 1
+# 111 "swrast/s_tritemp.h"
+static void simple_textured_triangle(struct gl_context *ctx, const SWvertex *v0,
+                                 const SWvertex *v1,
+                                 const SWvertex *v2 )
+{
+   typedef struct {
+      const SWvertex *v0, *v1;
+      GLfloat dx;
+      GLfloat dy;
+      GLfloat dxdy;
+      GLfixed fdxdy;
+      GLfloat adjy;
+      GLfixed fsx;
+      GLfixed fsy;
+      GLfixed fx0;
+      GLint lines;
+   } EdgeT;
+
+   const SWcontext *swrast = SWRAST_CONTEXT(ctx);
+
+
+
+
+
+
+   EdgeT eMaj, eTop, eBot;
+   GLfloat oneOverArea;
+   const SWvertex *vMin, *vMid, *vMax;
+   GLfloat bf = SWRAST_CONTEXT(ctx)->_BackfaceSign;
+   const GLint snapMask = ~(((1 << 11) / (1 << 4)) - 1);
+   GLfixed vMin_fx, vMin_fy, vMid_fx, vMid_fy, vMax_fx, vMax_fy;
+
+   SWspan span;
+
+   (void) swrast;
+
+   do { (span).primitive = (0x0009); (span).interpMask = 0x0; (span).arrayMask = 0x0; (span).arrayAttribs = 0x0; (span).end = 0; (span).leftClip = 0; (span).facing = 0; (span).array = SWRAST_CONTEXT(ctx)->SpanArrays; } while (0);
+   span.y = 0;
+# 172 "swrast/s_tritemp.h"
+   {
+      const GLfixed fy0 = (((int) ((((v0->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((v0->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) + 0.5F) : (((v0->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      const GLfixed fy1 = (((int) ((((v1->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((v1->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) + 0.5F) : (((v1->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      const GLfixed fy2 = (((int) ((((v2->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((v2->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) + 0.5F) : (((v2->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      if (fy0 <= fy1) {
+         if (fy1 <= fy2) {
+
+            vMin = v0; vMid = v1; vMax = v2;
+            vMin_fy = fy0; vMid_fy = fy1; vMax_fy = fy2;
+         }
+         else if (fy2 <= fy0) {
+
+            vMin = v2; vMid = v0; vMax = v1;
+            vMin_fy = fy2; vMid_fy = fy0; vMax_fy = fy1;
+         }
+         else {
+
+            vMin = v0; vMid = v2; vMax = v1;
+            vMin_fy = fy0; vMid_fy = fy2; vMax_fy = fy1;
+            bf = -bf;
+         }
+      }
+      else {
+         if (fy0 <= fy2) {
+
+            vMin = v1; vMid = v0; vMax = v2;
+            vMin_fy = fy1; vMid_fy = fy0; vMax_fy = fy2;
+            bf = -bf;
+         }
+         else if (fy2 <= fy1) {
+
+            vMin = v2; vMid = v1; vMax = v0;
+            vMin_fy = fy2; vMid_fy = fy1; vMax_fy = fy0;
+            bf = -bf;
+         }
+         else {
+
+            vMin = v1; vMid = v2; vMax = v0;
+            vMin_fy = fy1; vMid_fy = fy2; vMax_fy = fy0;
+         }
+      }
+
+
+      vMin_fx = (((int) ((((vMin->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((vMin->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) + 0.5F) : (((vMin->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      vMid_fx = (((int) ((((vMid->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((vMid->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) + 0.5F) : (((vMid->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      vMax_fx = (((int) ((((vMax->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((vMax->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) + 0.5F) : (((vMax->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+   }
+
+
+   eMaj.v0 = vMin; eMaj.v1 = vMax;
+   eTop.v0 = vMid; eTop.v1 = vMax;
+   eBot.v0 = vMin; eBot.v1 = vMid;
+
+
+   eMaj.dx = ((vMax_fx - vMin_fx) * (1.0F / ((float) (1 << 11))));
+   eMaj.dy = ((vMax_fy - vMin_fy) * (1.0F / ((float) (1 << 11))));
+   eTop.dx = ((vMax_fx - vMid_fx) * (1.0F / ((float) (1 << 11))));
+   eTop.dy = ((vMax_fy - vMid_fy) * (1.0F / ((float) (1 << 11))));
+   eBot.dx = ((vMid_fx - vMin_fx) * (1.0F / ((float) (1 << 11))));
+   eBot.dy = ((vMid_fy - vMin_fy) * (1.0F / ((float) (1 << 11))));
+
+
+   {
+      const GLfloat area = eMaj.dx * eBot.dy - eBot.dx * eMaj.dy;
+
+      if (IS_INF_OR_NAN(area) || area == 0.0F)
+         return;
+
+      if (area * bf * swrast->_BackfaceCullSign < 0.0)
+         return;
+
+      oneOverArea = 1.0F / area;
+
+
+      span.facing = oneOverArea * bf > 0.0F;
+   }
+
+
+   {
+      eMaj.fsy = (((vMin_fy) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+      eMaj.lines = (((((vMax_fy - eMaj.fsy) + (1 << 11) - 1) & (~((1 << 11) - 1)))) >> 11);
+      if (eMaj.lines > 0) {
+         eMaj.dxdy = eMaj.dx / eMaj.dy;
+         eMaj.fdxdy = (((int) ((((eMaj.dxdy) * ((float) (1 << 11))) >= 0.0F) ? (((eMaj.dxdy) * ((float) (1 << 11))) + 0.5F) : (((eMaj.dxdy) * ((float) (1 << 11))) - 0.5F))));
+         eMaj.adjy = (GLfloat) (eMaj.fsy - vMin_fy);
+         eMaj.fx0 = vMin_fx;
+         eMaj.fsx = eMaj.fx0 + (GLfixed) (eMaj.adjy * eMaj.dxdy);
+      }
+      else {
+         return;
+      }
+
+      eTop.fsy = (((vMid_fy) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+      eTop.lines = (((((vMax_fy - eTop.fsy) + (1 << 11) - 1) & (~((1 << 11) - 1)))) >> 11);
+      if (eTop.lines > 0) {
+         eTop.dxdy = eTop.dx / eTop.dy;
+         eTop.fdxdy = (((int) ((((eTop.dxdy) * ((float) (1 << 11))) >= 0.0F) ? (((eTop.dxdy) * ((float) (1 << 11))) + 0.5F) : (((eTop.dxdy) * ((float) (1 << 11))) - 0.5F))));
+         eTop.adjy = (GLfloat) (eTop.fsy - vMid_fy);
+         eTop.fx0 = vMid_fx;
+         eTop.fsx = eTop.fx0 + (GLfixed) (eTop.adjy * eTop.dxdy);
+      }
+
+      eBot.fsy = (((vMin_fy) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+      eBot.lines = (((((vMid_fy - eBot.fsy) + (1 << 11) - 1) & (~((1 << 11) - 1)))) >> 11);
+      if (eBot.lines > 0) {
+         eBot.dxdy = eBot.dx / eBot.dy;
+         eBot.fdxdy = (((int) ((((eBot.dxdy) * ((float) (1 << 11))) >= 0.0F) ? (((eBot.dxdy) * ((float) (1 << 11))) + 0.5F) : (((eBot.dxdy) * ((float) (1 << 11))) - 0.5F))));
+         eBot.adjy = (GLfloat) (eBot.fsy - vMin_fy);
+         eBot.fx0 = vMin_fx;
+         eBot.fsx = eBot.fx0 + (GLfixed) (eBot.adjy * eBot.dxdy);
+      }
+   }
+# 319 "swrast/s_tritemp.h"
+   {
+      GLint scan_from_left_to_right;
+
+
+
+
+
+      struct gl_renderbuffer *rb = ctx->DrawBuffer->_ColorDrawBuffers[0]; const struct gl_texture_object *obj = ctx->Texture.Unit[0].CurrentTex[TEXTURE_2D_INDEX]; const struct gl_texture_image *texImg = obj->Image[0][obj->BaseLevel]; const GLfloat twidth = (GLfloat) texImg->Width; const GLfloat theight = (GLfloat) texImg->Height; const GLint twidth_log2 = texImg->WidthLog2; const GLubyte *texture = (const GLubyte *) texImg->Data; const GLint smask = texImg->Width - 1; const GLint tmask = texImg->Height - 1; ; if (!rb || !texture) { return; }
+
+
+      scan_from_left_to_right = (oneOverArea < 0.0F);
+# 398 "swrast/s_tritemp.h"
+      {
+         GLfloat eMaj_ds = (vMax->attrib[FRAG_ATTRIB_TEX0][0] - vMin->attrib[FRAG_ATTRIB_TEX0][0]) * twidth;
+         GLfloat eBot_ds = (vMid->attrib[FRAG_ATTRIB_TEX0][0] - vMin->attrib[FRAG_ATTRIB_TEX0][0]) * twidth;
+         GLfloat eMaj_dt = (vMax->attrib[FRAG_ATTRIB_TEX0][1] - vMin->attrib[FRAG_ATTRIB_TEX0][1]) * theight;
+         GLfloat eBot_dt = (vMid->attrib[FRAG_ATTRIB_TEX0][1] - vMin->attrib[FRAG_ATTRIB_TEX0][1]) * theight;
+         span.attrStepX[FRAG_ATTRIB_TEX0][0] = oneOverArea * (eMaj_ds * eBot.dy - eMaj.dy * eBot_ds);
+         span.attrStepY[FRAG_ATTRIB_TEX0][0] = oneOverArea * (eMaj.dx * eBot_ds - eMaj_ds * eBot.dx);
+         span.attrStepX[FRAG_ATTRIB_TEX0][1] = oneOverArea * (eMaj_dt * eBot.dy - eMaj.dy * eBot_dt);
+         span.attrStepY[FRAG_ATTRIB_TEX0][1] = oneOverArea * (eMaj.dx * eBot_dt - eMaj_dt * eBot.dx);
+         span.intTexStep[0] = (((int) ((((span.attrStepX[FRAG_ATTRIB_TEX0][0]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_TEX0][0]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_TEX0][0]) * ((float) (1 << 11))) - 0.5F))));
+         span.intTexStep[1] = (((int) ((((span.attrStepX[FRAG_ATTRIB_TEX0][1]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_TEX0][1]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_TEX0][1]) * ((float) (1 << 11))) - 0.5F))));
+      }
+# 488 "swrast/s_tritemp.h"
+      {
+         GLint subTriangle;
+         GLfixed fxLeftEdge = 0, fxRightEdge = 0;
+         GLfixed fdxLeftEdge = 0, fdxRightEdge = 0;
+         GLfixed fError = 0, fdError = 0;
+# 516 "swrast/s_tritemp.h"
+         GLfixed sLeft=0, dsOuter=0, dsInner;
+         GLfixed tLeft=0, dtOuter=0, dtInner;
+
+
+
+
+
+
+
+         for (subTriangle=0; subTriangle<=1; subTriangle++) {
+            EdgeT *eLeft, *eRight;
+            int setupLeft, setupRight;
+            int lines;
+
+            if (subTriangle==0) {
+
+               if (scan_from_left_to_right) {
+                  eLeft = &eMaj;
+                  eRight = &eBot;
+                  lines = eRight->lines;
+                  setupLeft = 1;
+                  setupRight = 1;
+               }
+               else {
+                  eLeft = &eBot;
+                  eRight = &eMaj;
+                  lines = eLeft->lines;
+                  setupLeft = 1;
+                  setupRight = 1;
+               }
+            }
+            else {
+
+               if (scan_from_left_to_right) {
+                  eLeft = &eMaj;
+                  eRight = &eTop;
+                  lines = eRight->lines;
+                  setupLeft = 0;
+                  setupRight = 1;
+               }
+               else {
+                  eLeft = &eTop;
+                  eRight = &eMaj;
+                  lines = eLeft->lines;
+                  setupLeft = 1;
+                  setupRight = 0;
+               }
+               if (lines == 0)
+                  return;
+            }
+
+            if (setupLeft && eLeft->lines > 0) {
+               const SWvertex *vLower = eLeft->v0;
+               const GLfixed fsy = eLeft->fsy;
+               const GLfixed fsx = eLeft->fsx;
+               const GLfixed fx = (((fsx) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+               const GLfixed adjx = (GLfixed) (fx - eLeft->fx0);
+               const GLfixed adjy = (GLfixed) eLeft->adjy;
+               GLint idxOuter;
+               GLfloat dxOuter;
+               GLfixed fdxOuter;
+
+               fError = fx - fsx - (1 << 11);
+               fxLeftEdge = fsx - 1;
+               fdxLeftEdge = eLeft->fdxdy;
+               fdxOuter = ((fdxLeftEdge - 1) & (~((1 << 11) - 1)));
+               fdError = fdxOuter - fdxLeftEdge + (1 << 11);
+               idxOuter = ((fdxOuter) >> 11);
+               dxOuter = (GLfloat) idxOuter;
+               span.y = ((fsy) >> 11);
+
+
+               (void) dxOuter;
+               (void) adjx;
+               (void) adjy;
+               (void) vLower;
+# 679 "swrast/s_tritemp.h"
+               {
+                  GLfloat s0, t0;
+                  s0 = vLower->attrib[FRAG_ATTRIB_TEX0][0] * twidth;
+                  sLeft = (GLfixed)(s0 * ((float) (1 << 11)) + span.attrStepX[FRAG_ATTRIB_TEX0][0] * adjx
+                                 + span.attrStepY[FRAG_ATTRIB_TEX0][0] * adjy) + (1 << (11 -1));
+                  dsOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_TEX0][0] + dxOuter * span.attrStepX[FRAG_ATTRIB_TEX0][0]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_TEX0][0] + dxOuter * span.attrStepX[FRAG_ATTRIB_TEX0][0]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_TEX0][0] + dxOuter * span.attrStepX[FRAG_ATTRIB_TEX0][0]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                               ;
+
+                  t0 = vLower->attrib[FRAG_ATTRIB_TEX0][1] * theight;
+                  tLeft = (GLfixed)(t0 * ((float) (1 << 11)) + span.attrStepX[FRAG_ATTRIB_TEX0][1] * adjx
+                                 + span.attrStepY[FRAG_ATTRIB_TEX0][1] * adjy) + (1 << (11 -1));
+                  dtOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_TEX0][1] + dxOuter * span.attrStepX[FRAG_ATTRIB_TEX0][1]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_TEX0][1] + dxOuter * span.attrStepX[FRAG_ATTRIB_TEX0][1]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_TEX0][1] + dxOuter * span.attrStepX[FRAG_ATTRIB_TEX0][1]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                               ;
+               }
+# 722 "swrast/s_tritemp.h"
+            }
+
+
+            if (setupRight && eRight->lines>0) {
+               fxRightEdge = eRight->fsx - 1;
+               fdxRightEdge = eRight->fdxdy;
+            }
+
+            if (lines==0) {
+               continue;
+            }
+# 754 "swrast/s_tritemp.h"
+            dsInner = dsOuter + span.intTexStep[0];
+            dtInner = dtOuter + span.intTexStep[1];
+# 767 "swrast/s_tritemp.h"
+            while (lines > 0) {
+
+
+               const GLint right = ((fxRightEdge) >> 11);
+               span.x = ((fxLeftEdge) >> 11);
+               if (right <= span.x)
+                  span.end = 0;
+               else
+                  span.end = right - span.x;
+# 789 "swrast/s_tritemp.h"
+               span.intTex[0] = sLeft;
+               span.intTex[1] = tLeft;
+# 807 "swrast/s_tritemp.h"
+               if (span.end > 0 && span.y >= 0) {
+                  const GLint len = span.end - 1;
+                  (void) len;
+# 818 "swrast/s_tritemp.h"
+                  {
+                     GLuint i; GLubyte rgb[16384][3]; span.intTex[0] -= (1 << (11 -1)); span.intTex[1] -= (1 << (11 -1)); for (i = 0; i < span.end; i++) { GLint s = ((span.intTex[0]) >> 11) & smask; GLint t = ((span.intTex[1]) >> 11) & tmask; GLint pos = (t << twidth_log2) + s; pos = pos + pos + pos; rgb[i][0] = texture[pos+2]; rgb[i][1] = texture[pos+1]; rgb[i][2] = texture[pos+0]; span.intTex[0] += span.intTexStep[0]; span.intTex[1] += span.intTexStep[1]; } rb->PutRowRGB(ctx, rb, span.end, span.x, span.y, rgb, ((void *)0));;
+                  }
+               }
+
+
+
+
+
+
+
+               span.y++;
+               lines--;
+
+               fxLeftEdge += fdxLeftEdge;
+               fxRightEdge += fdxRightEdge;
+
+               fError += fdError;
+               if (fError >= 0) {
+                  fError -= (1 << 11);
+# 857 "swrast/s_tritemp.h"
+                  sLeft += dsOuter;
+                  tLeft += dtOuter;
+# 869 "swrast/s_tritemp.h"
+               }
+               else {
+# 889 "swrast/s_tritemp.h"
+                  sLeft += dsInner;
+                  tLeft += dtInner;
+# 901 "swrast/s_tritemp.h"
+               }
+            }
+
+         }
+
+      }
+   }
+}
+# 160 "swrast/s_triangle.c" 2
+# 222 "swrast/s_triangle.c"
+# 1 "swrast/s_tritemp.h" 1
+# 111 "swrast/s_tritemp.h"
+static void simple_z_textured_triangle(struct gl_context *ctx, const SWvertex *v0,
+                                 const SWvertex *v1,
+                                 const SWvertex *v2 )
+{
+   typedef struct {
+      const SWvertex *v0, *v1;
+      GLfloat dx;
+      GLfloat dy;
+      GLfloat dxdy;
+      GLfixed fdxdy;
+      GLfloat adjy;
+      GLfixed fsx;
+      GLfixed fsy;
+      GLfixed fx0;
+      GLint lines;
+   } EdgeT;
+
+   const SWcontext *swrast = SWRAST_CONTEXT(ctx);
+
+   const GLint depthBits = ctx->DrawBuffer->Visual.depthBits;
+   const GLint fixedToDepthShift = depthBits <= 16 ? 11 : 0;
+   const GLfloat maxDepth = ctx->DrawBuffer->_DepthMaxF;
+
+
+   EdgeT eMaj, eTop, eBot;
+   GLfloat oneOverArea;
+   const SWvertex *vMin, *vMid, *vMax;
+   GLfloat bf = SWRAST_CONTEXT(ctx)->_BackfaceSign;
+   const GLint snapMask = ~(((1 << 11) / (1 << 4)) - 1);
+   GLfixed vMin_fx, vMin_fy, vMid_fx, vMid_fy, vMax_fx, vMax_fy;
+
+   SWspan span;
+
+   (void) swrast;
+
+   do { (span).primitive = (0x0009); (span).interpMask = 0x0; (span).arrayMask = 0x0; (span).arrayAttribs = 0x0; (span).end = 0; (span).leftClip = 0; (span).facing = 0; (span).array = SWRAST_CONTEXT(ctx)->SpanArrays; } while (0);
+   span.y = 0;
+
+
+   (void) fixedToDepthShift;
+# 172 "swrast/s_tritemp.h"
+   {
+      const GLfixed fy0 = (((int) ((((v0->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((v0->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) + 0.5F) : (((v0->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      const GLfixed fy1 = (((int) ((((v1->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((v1->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) + 0.5F) : (((v1->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      const GLfixed fy2 = (((int) ((((v2->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((v2->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) + 0.5F) : (((v2->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      if (fy0 <= fy1) {
+         if (fy1 <= fy2) {
+
+            vMin = v0; vMid = v1; vMax = v2;
+            vMin_fy = fy0; vMid_fy = fy1; vMax_fy = fy2;
+         }
+         else if (fy2 <= fy0) {
+
+            vMin = v2; vMid = v0; vMax = v1;
+            vMin_fy = fy2; vMid_fy = fy0; vMax_fy = fy1;
+         }
+         else {
+
+            vMin = v0; vMid = v2; vMax = v1;
+            vMin_fy = fy0; vMid_fy = fy2; vMax_fy = fy1;
+            bf = -bf;
+         }
+      }
+      else {
+         if (fy0 <= fy2) {
+
+            vMin = v1; vMid = v0; vMax = v2;
+            vMin_fy = fy1; vMid_fy = fy0; vMax_fy = fy2;
+            bf = -bf;
+         }
+         else if (fy2 <= fy1) {
+
+            vMin = v2; vMid = v1; vMax = v0;
+            vMin_fy = fy2; vMid_fy = fy1; vMax_fy = fy0;
+            bf = -bf;
+         }
+         else {
+
+            vMin = v1; vMid = v2; vMax = v0;
+            vMin_fy = fy1; vMid_fy = fy2; vMax_fy = fy0;
+         }
+      }
+
+
+      vMin_fx = (((int) ((((vMin->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((vMin->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) + 0.5F) : (((vMin->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      vMid_fx = (((int) ((((vMid->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((vMid->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) + 0.5F) : (((vMid->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      vMax_fx = (((int) ((((vMax->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((vMax->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) + 0.5F) : (((vMax->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+   }
+
+
+   eMaj.v0 = vMin; eMaj.v1 = vMax;
+   eTop.v0 = vMid; eTop.v1 = vMax;
+   eBot.v0 = vMin; eBot.v1 = vMid;
+
+
+   eMaj.dx = ((vMax_fx - vMin_fx) * (1.0F / ((float) (1 << 11))));
+   eMaj.dy = ((vMax_fy - vMin_fy) * (1.0F / ((float) (1 << 11))));
+   eTop.dx = ((vMax_fx - vMid_fx) * (1.0F / ((float) (1 << 11))));
+   eTop.dy = ((vMax_fy - vMid_fy) * (1.0F / ((float) (1 << 11))));
+   eBot.dx = ((vMid_fx - vMin_fx) * (1.0F / ((float) (1 << 11))));
+   eBot.dy = ((vMid_fy - vMin_fy) * (1.0F / ((float) (1 << 11))));
+
+
+   {
+      const GLfloat area = eMaj.dx * eBot.dy - eBot.dx * eMaj.dy;
+
+      if (IS_INF_OR_NAN(area) || area == 0.0F)
+         return;
+
+      if (area * bf * swrast->_BackfaceCullSign < 0.0)
+         return;
+
+      oneOverArea = 1.0F / area;
+
+
+      span.facing = oneOverArea * bf > 0.0F;
+   }
+
+
+   {
+      eMaj.fsy = (((vMin_fy) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+      eMaj.lines = (((((vMax_fy - eMaj.fsy) + (1 << 11) - 1) & (~((1 << 11) - 1)))) >> 11);
+      if (eMaj.lines > 0) {
+         eMaj.dxdy = eMaj.dx / eMaj.dy;
+         eMaj.fdxdy = (((int) ((((eMaj.dxdy) * ((float) (1 << 11))) >= 0.0F) ? (((eMaj.dxdy) * ((float) (1 << 11))) + 0.5F) : (((eMaj.dxdy) * ((float) (1 << 11))) - 0.5F))));
+         eMaj.adjy = (GLfloat) (eMaj.fsy - vMin_fy);
+         eMaj.fx0 = vMin_fx;
+         eMaj.fsx = eMaj.fx0 + (GLfixed) (eMaj.adjy * eMaj.dxdy);
+      }
+      else {
+         return;
+      }
+
+      eTop.fsy = (((vMid_fy) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+      eTop.lines = (((((vMax_fy - eTop.fsy) + (1 << 11) - 1) & (~((1 << 11) - 1)))) >> 11);
+      if (eTop.lines > 0) {
+         eTop.dxdy = eTop.dx / eTop.dy;
+         eTop.fdxdy = (((int) ((((eTop.dxdy) * ((float) (1 << 11))) >= 0.0F) ? (((eTop.dxdy) * ((float) (1 << 11))) + 0.5F) : (((eTop.dxdy) * ((float) (1 << 11))) - 0.5F))));
+         eTop.adjy = (GLfloat) (eTop.fsy - vMid_fy);
+         eTop.fx0 = vMid_fx;
+         eTop.fsx = eTop.fx0 + (GLfixed) (eTop.adjy * eTop.dxdy);
+      }
+
+      eBot.fsy = (((vMin_fy) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+      eBot.lines = (((((vMid_fy - eBot.fsy) + (1 << 11) - 1) & (~((1 << 11) - 1)))) >> 11);
+      if (eBot.lines > 0) {
+         eBot.dxdy = eBot.dx / eBot.dy;
+         eBot.fdxdy = (((int) ((((eBot.dxdy) * ((float) (1 << 11))) >= 0.0F) ? (((eBot.dxdy) * ((float) (1 << 11))) + 0.5F) : (((eBot.dxdy) * ((float) (1 << 11))) - 0.5F))));
+         eBot.adjy = (GLfloat) (eBot.fsy - vMin_fy);
+         eBot.fx0 = vMin_fx;
+         eBot.fsx = eBot.fx0 + (GLfixed) (eBot.adjy * eBot.dxdy);
+      }
+   }
+# 319 "swrast/s_tritemp.h"
+   {
+      GLint scan_from_left_to_right;
+
+
+
+
+
+      struct gl_renderbuffer *rb = ctx->DrawBuffer->_ColorDrawBuffers[0]; const struct gl_texture_object *obj = ctx->Texture.Unit[0].CurrentTex[TEXTURE_2D_INDEX]; const struct gl_texture_image *texImg = obj->Image[0][obj->BaseLevel]; const GLfloat twidth = (GLfloat) texImg->Width; const GLfloat theight = (GLfloat) texImg->Height; const GLint twidth_log2 = texImg->WidthLog2; const GLubyte *texture = (const GLubyte *) texImg->Data; const GLint smask = texImg->Width - 1; const GLint tmask = texImg->Height - 1; ; if (!rb || !texture) { return; }
+
+
+      scan_from_left_to_right = (oneOverArea < 0.0F);
+
+
+
+
+      span.interpMask |= 0x02;
+      {
+         GLfloat eMaj_dz = vMax->attrib[FRAG_ATTRIB_WPOS][2] - vMin->attrib[FRAG_ATTRIB_WPOS][2];
+         GLfloat eBot_dz = vMid->attrib[FRAG_ATTRIB_WPOS][2] - vMin->attrib[FRAG_ATTRIB_WPOS][2];
+         span.attrStepX[FRAG_ATTRIB_WPOS][2] = oneOverArea * (eMaj_dz * eBot.dy - eMaj.dy * eBot_dz);
+         if (span.attrStepX[FRAG_ATTRIB_WPOS][2] > maxDepth ||
+             span.attrStepX[FRAG_ATTRIB_WPOS][2] < -maxDepth) {
+
+            span.attrStepX[FRAG_ATTRIB_WPOS][2] = 0.0;
+            span.attrStepY[FRAG_ATTRIB_WPOS][2] = 0.0;
+         }
+         else {
+            span.attrStepY[FRAG_ATTRIB_WPOS][2] = oneOverArea * (eMaj.dx * eBot_dz - eMaj_dz * eBot.dx);
+         }
+         if (depthBits <= 16)
+            span.zStep = (((int) ((((span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) - 0.5F))));
+         else
+            span.zStep = (GLint) span.attrStepX[FRAG_ATTRIB_WPOS][2];
+      }
+# 398 "swrast/s_tritemp.h"
+      {
+         GLfloat eMaj_ds = (vMax->attrib[FRAG_ATTRIB_TEX0][0] - vMin->attrib[FRAG_ATTRIB_TEX0][0]) * twidth;
+         GLfloat eBot_ds = (vMid->attrib[FRAG_ATTRIB_TEX0][0] - vMin->attrib[FRAG_ATTRIB_TEX0][0]) * twidth;
+         GLfloat eMaj_dt = (vMax->attrib[FRAG_ATTRIB_TEX0][1] - vMin->attrib[FRAG_ATTRIB_TEX0][1]) * theight;
+         GLfloat eBot_dt = (vMid->attrib[FRAG_ATTRIB_TEX0][1] - vMin->attrib[FRAG_ATTRIB_TEX0][1]) * theight;
+         span.attrStepX[FRAG_ATTRIB_TEX0][0] = oneOverArea * (eMaj_ds * eBot.dy - eMaj.dy * eBot_ds);
+         span.attrStepY[FRAG_ATTRIB_TEX0][0] = oneOverArea * (eMaj.dx * eBot_ds - eMaj_ds * eBot.dx);
+         span.attrStepX[FRAG_ATTRIB_TEX0][1] = oneOverArea * (eMaj_dt * eBot.dy - eMaj.dy * eBot_dt);
+         span.attrStepY[FRAG_ATTRIB_TEX0][1] = oneOverArea * (eMaj.dx * eBot_dt - eMaj_dt * eBot.dx);
+         span.intTexStep[0] = (((int) ((((span.attrStepX[FRAG_ATTRIB_TEX0][0]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_TEX0][0]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_TEX0][0]) * ((float) (1 << 11))) - 0.5F))));
+         span.intTexStep[1] = (((int) ((((span.attrStepX[FRAG_ATTRIB_TEX0][1]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_TEX0][1]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_TEX0][1]) * ((float) (1 << 11))) - 0.5F))));
+      }
+# 488 "swrast/s_tritemp.h"
+      {
+         GLint subTriangle;
+         GLfixed fxLeftEdge = 0, fxRightEdge = 0;
+         GLfixed fdxLeftEdge = 0, fdxRightEdge = 0;
+         GLfixed fError = 0, fdError = 0;
+
+
+
+
+
+
+         struct gl_renderbuffer *zrb
+            = ctx->DrawBuffer->Attachment[BUFFER_DEPTH].Renderbuffer;
+         GLushort *zRow = ((void *)0);
+         GLint dZRowOuter = 0, dZRowInner;
+
+         GLuint zLeft = 0;
+         GLfixed fdzOuter = 0, fdzInner;
+# 516 "swrast/s_tritemp.h"
+         GLfixed sLeft=0, dsOuter=0, dsInner;
+         GLfixed tLeft=0, dtOuter=0, dtInner;
+
+
+
+
+
+
+
+         for (subTriangle=0; subTriangle<=1; subTriangle++) {
+            EdgeT *eLeft, *eRight;
+            int setupLeft, setupRight;
+            int lines;
+
+            if (subTriangle==0) {
+
+               if (scan_from_left_to_right) {
+                  eLeft = &eMaj;
+                  eRight = &eBot;
+                  lines = eRight->lines;
+                  setupLeft = 1;
+                  setupRight = 1;
+               }
+               else {
+                  eLeft = &eBot;
+                  eRight = &eMaj;
+                  lines = eLeft->lines;
+                  setupLeft = 1;
+                  setupRight = 1;
+               }
+            }
+            else {
+
+               if (scan_from_left_to_right) {
+                  eLeft = &eMaj;
+                  eRight = &eTop;
+                  lines = eRight->lines;
+                  setupLeft = 0;
+                  setupRight = 1;
+               }
+               else {
+                  eLeft = &eTop;
+                  eRight = &eMaj;
+                  lines = eLeft->lines;
+                  setupLeft = 1;
+                  setupRight = 0;
+               }
+               if (lines == 0)
+                  return;
+            }
+
+            if (setupLeft && eLeft->lines > 0) {
+               const SWvertex *vLower = eLeft->v0;
+               const GLfixed fsy = eLeft->fsy;
+               const GLfixed fsx = eLeft->fsx;
+               const GLfixed fx = (((fsx) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+               const GLfixed adjx = (GLfixed) (fx - eLeft->fx0);
+               const GLfixed adjy = (GLfixed) eLeft->adjy;
+               GLint idxOuter;
+               GLfloat dxOuter;
+               GLfixed fdxOuter;
+
+               fError = fx - fsx - (1 << 11);
+               fxLeftEdge = fsx - 1;
+               fdxLeftEdge = eLeft->fdxdy;
+               fdxOuter = ((fdxLeftEdge - 1) & (~((1 << 11) - 1)));
+               fdError = fdxOuter - fdxLeftEdge + (1 << 11);
+               idxOuter = ((fdxOuter) >> 11);
+               dxOuter = (GLfloat) idxOuter;
+               span.y = ((fsy) >> 11);
+
+
+               (void) dxOuter;
+               (void) adjx;
+               (void) adjy;
+               (void) vLower;
+# 611 "swrast/s_tritemp.h"
+               {
+                  GLfloat z0 = vLower->attrib[FRAG_ATTRIB_WPOS][2];
+                  if (depthBits <= 16) {
+
+                     GLfloat tmp = (z0 * ((float) (1 << 11))
+                                    + span.attrStepX[FRAG_ATTRIB_WPOS][2] * adjx
+                                    + span.attrStepY[FRAG_ATTRIB_WPOS][2] * adjy) + (1 << (11 -1));
+                     if (tmp < 0xffffffff / 2)
+                        zLeft = (GLfixed) tmp;
+                     else
+                        zLeft = 0xffffffff / 2;
+                     fdzOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_WPOS][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_WPOS][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_WPOS][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                                 ;
+                  }
+                  else {
+
+                     zLeft = (GLuint) (z0 + span.attrStepX[FRAG_ATTRIB_WPOS][2] * ((adjx) * (1.0F / ((float) (1 << 11))))
+                                          + span.attrStepY[FRAG_ATTRIB_WPOS][2] * ((adjy) * (1.0F / ((float) (1 << 11)))));
+                     fdzOuter = (GLint) (span.attrStepY[FRAG_ATTRIB_WPOS][2] +
+                                         dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]);
+                  }
+
+                  zRow = (GLushort *)
+                    zrb->GetPointer(ctx, zrb, ((fxLeftEdge) >> 11), span.y);
+                  dZRowOuter = (ctx->DrawBuffer->Width + idxOuter) * sizeof(GLushort);
+
+               }
+# 679 "swrast/s_tritemp.h"
+               {
+                  GLfloat s0, t0;
+                  s0 = vLower->attrib[FRAG_ATTRIB_TEX0][0] * twidth;
+                  sLeft = (GLfixed)(s0 * ((float) (1 << 11)) + span.attrStepX[FRAG_ATTRIB_TEX0][0] * adjx
+                                 + span.attrStepY[FRAG_ATTRIB_TEX0][0] * adjy) + (1 << (11 -1));
+                  dsOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_TEX0][0] + dxOuter * span.attrStepX[FRAG_ATTRIB_TEX0][0]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_TEX0][0] + dxOuter * span.attrStepX[FRAG_ATTRIB_TEX0][0]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_TEX0][0] + dxOuter * span.attrStepX[FRAG_ATTRIB_TEX0][0]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                               ;
+
+                  t0 = vLower->attrib[FRAG_ATTRIB_TEX0][1] * theight;
+                  tLeft = (GLfixed)(t0 * ((float) (1 << 11)) + span.attrStepX[FRAG_ATTRIB_TEX0][1] * adjx
+                                 + span.attrStepY[FRAG_ATTRIB_TEX0][1] * adjy) + (1 << (11 -1));
+                  dtOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_TEX0][1] + dxOuter * span.attrStepX[FRAG_ATTRIB_TEX0][1]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_TEX0][1] + dxOuter * span.attrStepX[FRAG_ATTRIB_TEX0][1]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_TEX0][1] + dxOuter * span.attrStepX[FRAG_ATTRIB_TEX0][1]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                               ;
+               }
+# 722 "swrast/s_tritemp.h"
+            }
+
+
+            if (setupRight && eRight->lines>0) {
+               fxRightEdge = eRight->fsx - 1;
+               fdxRightEdge = eRight->fdxdy;
+            }
+
+            if (lines==0) {
+               continue;
+            }
+# 741 "swrast/s_tritemp.h"
+            dZRowInner = dZRowOuter + sizeof(GLushort);
+
+            fdzInner = fdzOuter + span.zStep;
+# 754 "swrast/s_tritemp.h"
+            dsInner = dsOuter + span.intTexStep[0];
+            dtInner = dtOuter + span.intTexStep[1];
+# 767 "swrast/s_tritemp.h"
+            while (lines > 0) {
+
+
+               const GLint right = ((fxRightEdge) >> 11);
+               span.x = ((fxLeftEdge) >> 11);
+               if (right <= span.x)
+                  span.end = 0;
+               else
+                  span.end = right - span.x;
+
+
+               span.z = zLeft;
+# 789 "swrast/s_tritemp.h"
+               span.intTex[0] = sLeft;
+               span.intTex[1] = tLeft;
+# 807 "swrast/s_tritemp.h"
+               if (span.end > 0 && span.y >= 0) {
+                  const GLint len = span.end - 1;
+                  (void) len;
+# 818 "swrast/s_tritemp.h"
+                  {
+                     GLuint i; GLubyte rgb[16384][3]; span.intTex[0] -= (1 << (11 -1)); span.intTex[1] -= (1 << (11 -1)); for (i = 0; i < span.end; i++) { const GLuint z = ((span.z) >> fixedToDepthShift); if (z < zRow[i]) { GLint s = ((span.intTex[0]) >> 11) & smask; GLint t = ((span.intTex[1]) >> 11) & tmask; GLint pos = (t << twidth_log2) + s; pos = pos + pos + pos; rgb[i][0] = texture[pos+2]; rgb[i][1] = texture[pos+1]; rgb[i][2] = texture[pos+0]; zRow[i] = z; span.array->mask[i] = 1; } else { span.array->mask[i] = 0; } span.intTex[0] += span.intTexStep[0]; span.intTex[1] += span.intTexStep[1]; span.z += span.zStep; } rb->PutRowRGB(ctx, rb, span.end, span.x, span.y, rgb, span.array->mask);;
+                  }
+               }
+
+
+
+
+
+
+
+               span.y++;
+               lines--;
+
+               fxLeftEdge += fdxLeftEdge;
+               fxRightEdge += fdxRightEdge;
+
+               fError += fdError;
+               if (fError >= 0) {
+                  fError -= (1 << 11);
+
+
+
+
+
+
+                  zRow = (GLushort *) ((GLubyte *) zRow + dZRowOuter);
+
+                  zLeft += fdzOuter;
+# 857 "swrast/s_tritemp.h"
+                  sLeft += dsOuter;
+                  tLeft += dtOuter;
+# 869 "swrast/s_tritemp.h"
+               }
+               else {
+
+
+
+
+
+                  zRow = (GLushort *) ((GLubyte *) zRow + dZRowInner);
+
+                  zLeft += fdzInner;
+# 889 "swrast/s_tritemp.h"
+                  sLeft += dsInner;
+                  tLeft += dtInner;
+# 901 "swrast/s_tritemp.h"
+               }
+            }
+
+         }
+
+      }
+   }
+}
+# 223 "swrast/s_triangle.c" 2
+
+
+
+
+struct affine_info
+{
+   GLenum filter;
+   GLenum format;
+   GLenum envmode;
+   GLint smask, tmask;
+   GLint twidth_log2;
+   const GLchan *texture;
+   GLfixed er, eg, eb, ea;
+   GLint tbytesline, tsize;
+};
+
+
+static __inline__ GLint
+ilerp(GLint t, GLint a, GLint b)
+{
+   return a + ((t * (b - a)) >> 11);
+}
+
+static __inline__ GLint
+ilerp_2d(GLint ia, GLint ib, GLint v00, GLint v10, GLint v01, GLint v11)
+{
+   const GLint temp0 = ilerp(ia, v00, v10);
+   const GLint temp1 = ilerp(ia, v01, v11);
+   return ilerp(ib, temp0, temp1);
+}
+
+
+
+
+
+
+static __inline__ void
+affine_span(struct gl_context *ctx, SWspan *span,
+            struct affine_info *info)
+{
+   GLchan sample[4];
+   const GLuint texEnableSave = ctx->Texture._EnabledCoordUnits;
+# 399 "swrast/s_triangle.c"
+   GLuint i;
+   GLchan *dest = span->array->rgba[0];
+
+
+   ctx->Texture._EnabledCoordUnits = 0x0;
+
+   span->intTex[0] -= (1 << (11 -1));
+   span->intTex[1] -= (1 << (11 -1));
+   switch (info->filter) {
+   case 0x2600:
+      switch (info->format) {
+      case MESA_FORMAT_RGB888:
+         switch (info->envmode) {
+         case 0x2100:
+            for (i = 0; i < span->end; i++) { GLint s = ((span->intTex[0]) >> 11) & info->smask; GLint t = ((span->intTex[1]) >> 11) & info->tmask; GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 3 * pos; sample[0] = tex00[2]; sample[1] = tex00[1]; sample[2] = tex00[0]; sample[3] = 255;;dest[0] = span->red * (sample[0] + 1u) >> (11 + 8); dest[1] = span->green * (sample[1] + 1u) >> (11 + 8); dest[2] = span->blue * (sample[2] + 1u) >> (11 + 8); dest[3] = span->alpha * (sample[3] + 1u) >> (11 + 8); span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; span->intTex[0] += span->intTexStep[0]; span->intTex[1] += span->intTexStep[1]; dest += 4; };
+            break;
+         case 0x2101:
+         case 0x1E01:
+            for (i = 0; i < span->end; i++) { GLint s = ((span->intTex[0]) >> 11) & info->smask; GLint t = ((span->intTex[1]) >> 11) & info->tmask; GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 3 * pos; sample[0] = tex00[2]; sample[1] = tex00[1]; sample[2] = tex00[0]; sample[3] = 255;; dest[0] = sample[0]; dest[1] = sample[1]; dest[2] = sample[2]; dest[3] = ((span->alpha) >> 11);; span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; span->intTex[0] += span->intTexStep[0]; span->intTex[1] += span->intTexStep[1]; dest += 4; };
+            break;
+         case 0x0BE2:
+            for (i = 0; i < span->end; i++) { GLint s = ((span->intTex[0]) >> 11) & info->smask; GLint t = ((span->intTex[1]) >> 11) & info->tmask; GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 3 * pos; sample[0] = tex00[2]; sample[1] = tex00[1]; sample[2] = tex00[0]; sample[3] = 255;;dest[0] = ((255 - sample[0]) * span->red + (sample[0] + 1) * info->er) >> (11 + 8); dest[1] = ((255 - sample[1]) * span->green + (sample[1] + 1) * info->eg) >> (11 + 8); dest[2] = ((255 - sample[2]) * span->blue + (sample[2] + 1) * info->eb) >> (11 + 8); dest[3] = span->alpha * (sample[3] + 1) >> (11 + 8); span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; span->intTex[0] += span->intTexStep[0]; span->intTex[1] += span->intTexStep[1]; dest += 4; };
+            break;
+         case 0x0104:
+            for (i = 0; i < span->end; i++) { GLint s = ((span->intTex[0]) >> 11) & info->smask; GLint t = ((span->intTex[1]) >> 11) & info->tmask; GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 3 * pos; sample[0] = tex00[2]; sample[1] = tex00[1]; sample[2] = tex00[0]; sample[3] = 255;;{ GLint rSum = ((span->red) >> 11) + (GLint) sample[0]; GLint gSum = ((span->green) >> 11) + (GLint) sample[1]; GLint bSum = ((span->blue) >> 11) + (GLint) sample[2]; dest[0] = ( (rSum)<(255) ? (rSum) : (255) ); dest[1] = ( (gSum)<(255) ? (gSum) : (255) ); dest[2] = ( (bSum)<(255) ? (bSum) : (255) ); dest[3] = span->alpha * (sample[3] + 1) >> (11 + 8); }; span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; span->intTex[0] += span->intTexStep[0]; span->intTex[1] += span->intTexStep[1]; dest += 4; };
+            break;
+         default:
+            _mesa_problem(ctx, "bad tex env mode in SPAN_LINEAR");
+            return;
+         }
+         break;
+      case MESA_FORMAT_RGBA8888:
+         switch(info->envmode) {
+         case 0x2100:
+            for (i = 0; i < span->end; i++) { GLint s = ((span->intTex[0]) >> 11) & info->smask; GLint t = ((span->intTex[1]) >> 11) & info->tmask; GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 4 * pos; sample[0] = tex00[3]; sample[1] = tex00[2]; sample[2] = tex00[1]; sample[3] = tex00[0];;dest[0] = span->red * (sample[0] + 1u) >> (11 + 8); dest[1] = span->green * (sample[1] + 1u) >> (11 + 8); dest[2] = span->blue * (sample[2] + 1u) >> (11 + 8); dest[3] = span->alpha * (sample[3] + 1u) >> (11 + 8); span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; span->intTex[0] += span->intTexStep[0]; span->intTex[1] += span->intTexStep[1]; dest += 4; };
+            break;
+         case 0x2101:
+            for (i = 0; i < span->end; i++) { GLint s = ((span->intTex[0]) >> 11) & info->smask; GLint t = ((span->intTex[1]) >> 11) & info->tmask; GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 4 * pos; sample[0] = tex00[3]; sample[1] = tex00[2]; sample[2] = tex00[1]; sample[3] = tex00[0];;dest[0] = ((255 - sample[3]) * span->red + ((sample[3] + 1) * sample[0] << 11)) >> (11 + 8); dest[1] = ((255 - sample[3]) * span->green + ((sample[3] + 1) * sample[1] << 11)) >> (11 + 8); dest[2] = ((255 - sample[3]) * span->blue + ((sample[3] + 1) * sample[2] << 11)) >> (11 + 8); dest[3] = ((span->alpha) >> 11); span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; span->intTex[0] += span->intTexStep[0]; span->intTex[1] += span->intTexStep[1]; dest += 4; };
+            break;
+         case 0x0BE2:
+            for (i = 0; i < span->end; i++) { GLint s = ((span->intTex[0]) >> 11) & info->smask; GLint t = ((span->intTex[1]) >> 11) & info->tmask; GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 4 * pos; sample[0] = tex00[3]; sample[1] = tex00[2]; sample[2] = tex00[1]; sample[3] = tex00[0];;dest[0] = ((255 - sample[0]) * span->red + (sample[0] + 1) * info->er) >> (11 + 8); dest[1] = ((255 - sample[1]) * span->green + (sample[1] + 1) * info->eg) >> (11 + 8); dest[2] = ((255 - sample[2]) * span->blue + (sample[2] + 1) * info->eb) >> (11 + 8); dest[3] = span->alpha * (sample[3] + 1) >> (11 + 8); span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; span->intTex[0] += span->intTexStep[0]; span->intTex[1] += span->intTexStep[1]; dest += 4; };
+            break;
+         case 0x0104:
+            for (i = 0; i < span->end; i++) { GLint s = ((span->intTex[0]) >> 11) & info->smask; GLint t = ((span->intTex[1]) >> 11) & info->tmask; GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 4 * pos; sample[0] = tex00[3]; sample[1] = tex00[2]; sample[2] = tex00[1]; sample[3] = tex00[0];;{ GLint rSum = ((span->red) >> 11) + (GLint) sample[0]; GLint gSum = ((span->green) >> 11) + (GLint) sample[1]; GLint bSum = ((span->blue) >> 11) + (GLint) sample[2]; dest[0] = ( (rSum)<(255) ? (rSum) : (255) ); dest[1] = ( (gSum)<(255) ? (gSum) : (255) ); dest[2] = ( (bSum)<(255) ? (bSum) : (255) ); dest[3] = span->alpha * (sample[3] + 1) >> (11 + 8); }; span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; span->intTex[0] += span->intTexStep[0]; span->intTex[1] += span->intTexStep[1]; dest += 4; };
+            break;
+         case 0x1E01:
+            for (i = 0; i < span->end; i++) { GLint s = ((span->intTex[0]) >> 11) & info->smask; GLint t = ((span->intTex[1]) >> 11) & info->tmask; GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 4 * pos; dest[0] = tex00[3]; dest[1] = tex00[2]; dest[2] = tex00[1]; dest[3] = tex00[0]; span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; span->intTex[0] += span->intTexStep[0]; span->intTex[1] += span->intTexStep[1]; dest += 4; };
+            break;
+         default:
+            _mesa_problem(ctx, "bad tex env mode (2) in SPAN_LINEAR");
+            return;
+         }
+         break;
+      }
+      break;
+
+   case 0x2601:
+      span->intTex[0] -= (1 << (11 -1));
+      span->intTex[1] -= (1 << (11 -1));
+      switch (info->format) {
+      case MESA_FORMAT_RGB888:
+         switch (info->envmode) {
+         case 0x2100:
+            for (i = 0; i < span->end; i++) { const GLint s = ((span->intTex[0]) >> 11) & info->smask; const GLint t = ((span->intTex[1]) >> 11) & info->tmask; const GLfixed sf = span->intTex[0] & ((1 << 11) - 1); const GLfixed tf = span->intTex[1] & ((1 << 11) - 1); const GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 3 * pos; const GLchan *tex10 = tex00 + info->tbytesline; const GLchan *tex01 = tex00 + 3; const GLchan *tex11 = tex10 + 3; if (t == info->tmask) { tex10 -= info->tsize; tex11 -= info->tsize; } if (s == info->smask) { tex01 -= info->tbytesline; tex11 -= info->tbytesline; } sample[0] = ilerp_2d(sf, tf, tex00[2], tex01[2], tex10[2], tex11[2]); sample[1] = ilerp_2d(sf, tf, tex00[1], tex01[1], tex10[1], tex11[1]); sample[2] = ilerp_2d(sf, tf, tex00[0], tex01[0], tex10[0], tex11[0]); sample[3] = 255;;dest[0] = span->red * (sample[0] + 1u) >> (11 + 8); dest[1] = span->green * (sample[1] + 1u) >> (11 + 8); dest[2] = span->blue * (sample[2] + 1u) >> (11 + 8); dest[3] = span->alpha * (sample[3] + 1u) >> (11 + 8); span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; span->intTex[0] += span->intTexStep[0]; span->intTex[1] += span->intTexStep[1]; dest += 4; };
+            break;
+         case 0x2101:
+         case 0x1E01:
+            for (i = 0; i < span->end; i++) { const GLint s = ((span->intTex[0]) >> 11) & info->smask; const GLint t = ((span->intTex[1]) >> 11) & info->tmask; const GLfixed sf = span->intTex[0] & ((1 << 11) - 1); const GLfixed tf = span->intTex[1] & ((1 << 11) - 1); const GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 3 * pos; const GLchan *tex10 = tex00 + info->tbytesline; const GLchan *tex01 = tex00 + 3; const GLchan *tex11 = tex10 + 3; if (t == info->tmask) { tex10 -= info->tsize; tex11 -= info->tsize; } if (s == info->smask) { tex01 -= info->tbytesline; tex11 -= info->tbytesline; } sample[0] = ilerp_2d(sf, tf, tex00[2], tex01[2], tex10[2], tex11[2]); sample[1] = ilerp_2d(sf, tf, tex00[1], tex01[1], tex10[1], tex11[1]); sample[2] = ilerp_2d(sf, tf, tex00[0], tex01[0], tex10[0], tex11[0]); sample[3] = 255;;do { (dest)[0] = (sample)[0]; (dest)[1] = (sample)[1]; (dest)[2] = (sample)[2]; (dest)[3] = (sample)[3]; } while (0); span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; span->intTex[0] += span->intTexStep[0]; span->intTex[1] += span->intTexStep[1]; dest += 4; };
+            break;
+         case 0x0BE2:
+            for (i = 0; i < span->end; i++) { const GLint s = ((span->intTex[0]) >> 11) & info->smask; const GLint t = ((span->intTex[1]) >> 11) & info->tmask; const GLfixed sf = span->intTex[0] & ((1 << 11) - 1); const GLfixed tf = span->intTex[1] & ((1 << 11) - 1); const GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 3 * pos; const GLchan *tex10 = tex00 + info->tbytesline; const GLchan *tex01 = tex00 + 3; const GLchan *tex11 = tex10 + 3; if (t == info->tmask) { tex10 -= info->tsize; tex11 -= info->tsize; } if (s == info->smask) { tex01 -= info->tbytesline; tex11 -= info->tbytesline; } sample[0] = ilerp_2d(sf, tf, tex00[2], tex01[2], tex10[2], tex11[2]); sample[1] = ilerp_2d(sf, tf, tex00[1], tex01[1], tex10[1], tex11[1]); sample[2] = ilerp_2d(sf, tf, tex00[0], tex01[0], tex10[0], tex11[0]); sample[3] = 255;;dest[0] = ((255 - sample[0]) * span->red + (sample[0] + 1) * info->er) >> (11 + 8); dest[1] = ((255 - sample[1]) * span->green + (sample[1] + 1) * info->eg) >> (11 + 8); dest[2] = ((255 - sample[2]) * span->blue + (sample[2] + 1) * info->eb) >> (11 + 8); dest[3] = span->alpha * (sample[3] + 1) >> (11 + 8); span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; span->intTex[0] += span->intTexStep[0]; span->intTex[1] += span->intTexStep[1]; dest += 4; };
+            break;
+         case 0x0104:
+            for (i = 0; i < span->end; i++) { const GLint s = ((span->intTex[0]) >> 11) & info->smask; const GLint t = ((span->intTex[1]) >> 11) & info->tmask; const GLfixed sf = span->intTex[0] & ((1 << 11) - 1); const GLfixed tf = span->intTex[1] & ((1 << 11) - 1); const GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 3 * pos; const GLchan *tex10 = tex00 + info->tbytesline; const GLchan *tex01 = tex00 + 3; const GLchan *tex11 = tex10 + 3; if (t == info->tmask) { tex10 -= info->tsize; tex11 -= info->tsize; } if (s == info->smask) { tex01 -= info->tbytesline; tex11 -= info->tbytesline; } sample[0] = ilerp_2d(sf, tf, tex00[2], tex01[2], tex10[2], tex11[2]); sample[1] = ilerp_2d(sf, tf, tex00[1], tex01[1], tex10[1], tex11[1]); sample[2] = ilerp_2d(sf, tf, tex00[0], tex01[0], tex10[0], tex11[0]); sample[3] = 255;;{ GLint rSum = ((span->red) >> 11) + (GLint) sample[0]; GLint gSum = ((span->green) >> 11) + (GLint) sample[1]; GLint bSum = ((span->blue) >> 11) + (GLint) sample[2]; dest[0] = ( (rSum)<(255) ? (rSum) : (255) ); dest[1] = ( (gSum)<(255) ? (gSum) : (255) ); dest[2] = ( (bSum)<(255) ? (bSum) : (255) ); dest[3] = span->alpha * (sample[3] + 1) >> (11 + 8); }; span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; span->intTex[0] += span->intTexStep[0]; span->intTex[1] += span->intTexStep[1]; dest += 4; };
+            break;
+         default:
+            _mesa_problem(ctx, "bad tex env mode (3) in SPAN_LINEAR");
+            return;
+         }
+         break;
+      case MESA_FORMAT_RGBA8888:
+         switch (info->envmode) {
+         case 0x2100:
+            for (i = 0; i < span->end; i++) { const GLint s = ((span->intTex[0]) >> 11) & info->smask; const GLint t = ((span->intTex[1]) >> 11) & info->tmask; const GLfixed sf = span->intTex[0] & ((1 << 11) - 1); const GLfixed tf = span->intTex[1] & ((1 << 11) - 1); const GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 4 * pos; const GLchan *tex10 = tex00 + info->tbytesline; const GLchan *tex01 = tex00 + 4; const GLchan *tex11 = tex10 + 4; if (t == info->tmask) { tex10 -= info->tsize; tex11 -= info->tsize; } if (s == info->smask) { tex01 -= info->tbytesline; tex11 -= info->tbytesline; } sample[0] = ilerp_2d(sf, tf, tex00[3], tex01[3], tex10[3], tex11[3]); sample[1] = ilerp_2d(sf, tf, tex00[2], tex01[2], tex10[2], tex11[2]); sample[2] = ilerp_2d(sf, tf, tex00[1], tex01[1], tex10[1], tex11[1]); sample[3] = ilerp_2d(sf, tf, tex00[0], tex01[0], tex10[0], tex11[0]);dest[0] = span->red * (sample[0] + 1u) >> (11 + 8); dest[1] = span->green * (sample[1] + 1u) >> (11 + 8); dest[2] = span->blue * (sample[2] + 1u) >> (11 + 8); dest[3] = span->alpha * (sample[3] + 1u) >> (11 + 8); span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; span->intTex[0] += span->intTexStep[0]; span->intTex[1] += span->intTexStep[1]; dest += 4; };
+            break;
+         case 0x2101:
+            for (i = 0; i < span->end; i++) { const GLint s = ((span->intTex[0]) >> 11) & info->smask; const GLint t = ((span->intTex[1]) >> 11) & info->tmask; const GLfixed sf = span->intTex[0] & ((1 << 11) - 1); const GLfixed tf = span->intTex[1] & ((1 << 11) - 1); const GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 4 * pos; const GLchan *tex10 = tex00 + info->tbytesline; const GLchan *tex01 = tex00 + 4; const GLchan *tex11 = tex10 + 4; if (t == info->tmask) { tex10 -= info->tsize; tex11 -= info->tsize; } if (s == info->smask) { tex01 -= info->tbytesline; tex11 -= info->tbytesline; } sample[0] = ilerp_2d(sf, tf, tex00[3], tex01[3], tex10[3], tex11[3]); sample[1] = ilerp_2d(sf, tf, tex00[2], tex01[2], tex10[2], tex11[2]); sample[2] = ilerp_2d(sf, tf, tex00[1], tex01[1], tex10[1], tex11[1]); sample[3] = ilerp_2d(sf, tf, tex00[0], tex01[0], tex10[0], tex11[0]);dest[0] = ((255 - sample[3]) * span->red + ((sample[3] + 1) * sample[0] << 11)) >> (11 + 8); dest[1] = ((255 - sample[3]) * span->green + ((sample[3] + 1) * sample[1] << 11)) >> (11 + 8); dest[2] = ((255 - sample[3]) * span->blue + ((sample[3] + 1) * sample[2] << 11)) >> (11 + 8); dest[3] = ((span->alpha) >> 11); span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; span->intTex[0] += span->intTexStep[0]; span->intTex[1] += span->intTexStep[1]; dest += 4; };
+            break;
+         case 0x0BE2:
+            for (i = 0; i < span->end; i++) { const GLint s = ((span->intTex[0]) >> 11) & info->smask; const GLint t = ((span->intTex[1]) >> 11) & info->tmask; const GLfixed sf = span->intTex[0] & ((1 << 11) - 1); const GLfixed tf = span->intTex[1] & ((1 << 11) - 1); const GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 4 * pos; const GLchan *tex10 = tex00 + info->tbytesline; const GLchan *tex01 = tex00 + 4; const GLchan *tex11 = tex10 + 4; if (t == info->tmask) { tex10 -= info->tsize; tex11 -= info->tsize; } if (s == info->smask) { tex01 -= info->tbytesline; tex11 -= info->tbytesline; } sample[0] = ilerp_2d(sf, tf, tex00[3], tex01[3], tex10[3], tex11[3]); sample[1] = ilerp_2d(sf, tf, tex00[2], tex01[2], tex10[2], tex11[2]); sample[2] = ilerp_2d(sf, tf, tex00[1], tex01[1], tex10[1], tex11[1]); sample[3] = ilerp_2d(sf, tf, tex00[0], tex01[0], tex10[0], tex11[0]);dest[0] = ((255 - sample[0]) * span->red + (sample[0] + 1) * info->er) >> (11 + 8); dest[1] = ((255 - sample[1]) * span->green + (sample[1] + 1) * info->eg) >> (11 + 8); dest[2] = ((255 - sample[2]) * span->blue + (sample[2] + 1) * info->eb) >> (11 + 8); dest[3] = span->alpha * (sample[3] + 1) >> (11 + 8); span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; span->intTex[0] += span->intTexStep[0]; span->intTex[1] += span->intTexStep[1]; dest += 4; };
+            break;
+         case 0x0104:
+            for (i = 0; i < span->end; i++) { const GLint s = ((span->intTex[0]) >> 11) & info->smask; const GLint t = ((span->intTex[1]) >> 11) & info->tmask; const GLfixed sf = span->intTex[0] & ((1 << 11) - 1); const GLfixed tf = span->intTex[1] & ((1 << 11) - 1); const GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 4 * pos; const GLchan *tex10 = tex00 + info->tbytesline; const GLchan *tex01 = tex00 + 4; const GLchan *tex11 = tex10 + 4; if (t == info->tmask) { tex10 -= info->tsize; tex11 -= info->tsize; } if (s == info->smask) { tex01 -= info->tbytesline; tex11 -= info->tbytesline; } sample[0] = ilerp_2d(sf, tf, tex00[3], tex01[3], tex10[3], tex11[3]); sample[1] = ilerp_2d(sf, tf, tex00[2], tex01[2], tex10[2], tex11[2]); sample[2] = ilerp_2d(sf, tf, tex00[1], tex01[1], tex10[1], tex11[1]); sample[3] = ilerp_2d(sf, tf, tex00[0], tex01[0], tex10[0], tex11[0]);{ GLint rSum = ((span->red) >> 11) + (GLint) sample[0]; GLint gSum = ((span->green) >> 11) + (GLint) sample[1]; GLint bSum = ((span->blue) >> 11) + (GLint) sample[2]; dest[0] = ( (rSum)<(255) ? (rSum) : (255) ); dest[1] = ( (gSum)<(255) ? (gSum) : (255) ); dest[2] = ( (bSum)<(255) ? (bSum) : (255) ); dest[3] = span->alpha * (sample[3] + 1) >> (11 + 8); }; span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; span->intTex[0] += span->intTexStep[0]; span->intTex[1] += span->intTexStep[1]; dest += 4; };
+            break;
+         case 0x1E01:
+            for (i = 0; i < span->end; i++) { const GLint s = ((span->intTex[0]) >> 11) & info->smask; const GLint t = ((span->intTex[1]) >> 11) & info->tmask; const GLfixed sf = span->intTex[0] & ((1 << 11) - 1); const GLfixed tf = span->intTex[1] & ((1 << 11) - 1); const GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 4 * pos; const GLchan *tex10 = tex00 + info->tbytesline; const GLchan *tex01 = tex00 + 4; const GLchan *tex11 = tex10 + 4; if (t == info->tmask) { tex10 -= info->tsize; tex11 -= info->tsize; } if (s == info->smask) { tex01 -= info->tbytesline; tex11 -= info->tbytesline; } sample[0] = ilerp_2d(sf, tf, tex00[3], tex01[3], tex10[3], tex11[3]); sample[1] = ilerp_2d(sf, tf, tex00[2], tex01[2], tex10[2], tex11[2]); sample[2] = ilerp_2d(sf, tf, tex00[1], tex01[1], tex10[1], tex11[1]); sample[3] = ilerp_2d(sf, tf, tex00[0], tex01[0], tex10[0], tex11[0]);do { (dest)[0] = (sample)[0]; (dest)[1] = (sample)[1]; (dest)[2] = (sample)[2]; (dest)[3] = (sample)[3]; } while (0); span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; span->intTex[0] += span->intTexStep[0]; span->intTex[1] += span->intTexStep[1]; dest += 4; };
+            break;
+         default:
+            _mesa_problem(ctx, "bad tex env mode (4) in SPAN_LINEAR");
+            return;
+         }
+         break;
+      }
+      break;
+   }
+   span->interpMask &= ~0x01;
+   ;
+
+   _swrast_write_rgba_span(ctx, span);
+
+
+   ctx->Texture._EnabledCoordUnits = texEnableSave;
+
+
+
+}
+# 577 "swrast/s_triangle.c"
+# 1 "swrast/s_tritemp.h" 1
+# 111 "swrast/s_tritemp.h"
+static void affine_textured_triangle(struct gl_context *ctx, const SWvertex *v0,
+                                 const SWvertex *v1,
+                                 const SWvertex *v2 )
+{
+   typedef struct {
+      const SWvertex *v0, *v1;
+      GLfloat dx;
+      GLfloat dy;
+      GLfloat dxdy;
+      GLfixed fdxdy;
+      GLfloat adjy;
+      GLfixed fsx;
+      GLfixed fsy;
+      GLfixed fx0;
+      GLint lines;
+   } EdgeT;
+
+   const SWcontext *swrast = SWRAST_CONTEXT(ctx);
+
+   const GLint depthBits = ctx->DrawBuffer->Visual.depthBits;
+   const GLint fixedToDepthShift = depthBits <= 16 ? 11 : 0;
+   const GLfloat maxDepth = ctx->DrawBuffer->_DepthMaxF;
+
+
+   EdgeT eMaj, eTop, eBot;
+   GLfloat oneOverArea;
+   const SWvertex *vMin, *vMid, *vMax;
+   GLfloat bf = SWRAST_CONTEXT(ctx)->_BackfaceSign;
+   const GLint snapMask = ~(((1 << 11) / (1 << 4)) - 1);
+   GLfixed vMin_fx, vMin_fy, vMid_fx, vMid_fy, vMax_fx, vMax_fy;
+
+   SWspan span;
+
+   (void) swrast;
+
+   do { (span).primitive = (0x0009); (span).interpMask = 0x0; (span).arrayMask = 0x0; (span).arrayAttribs = 0x0; (span).end = 0; (span).leftClip = 0; (span).facing = 0; (span).array = SWRAST_CONTEXT(ctx)->SpanArrays; } while (0);
+   span.y = 0;
+
+
+   (void) fixedToDepthShift;
+# 172 "swrast/s_tritemp.h"
+   {
+      const GLfixed fy0 = (((int) ((((v0->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((v0->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) + 0.5F) : (((v0->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      const GLfixed fy1 = (((int) ((((v1->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((v1->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) + 0.5F) : (((v1->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      const GLfixed fy2 = (((int) ((((v2->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((v2->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) + 0.5F) : (((v2->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      if (fy0 <= fy1) {
+         if (fy1 <= fy2) {
+
+            vMin = v0; vMid = v1; vMax = v2;
+            vMin_fy = fy0; vMid_fy = fy1; vMax_fy = fy2;
+         }
+         else if (fy2 <= fy0) {
+
+            vMin = v2; vMid = v0; vMax = v1;
+            vMin_fy = fy2; vMid_fy = fy0; vMax_fy = fy1;
+         }
+         else {
+
+            vMin = v0; vMid = v2; vMax = v1;
+            vMin_fy = fy0; vMid_fy = fy2; vMax_fy = fy1;
+            bf = -bf;
+         }
+      }
+      else {
+         if (fy0 <= fy2) {
+
+            vMin = v1; vMid = v0; vMax = v2;
+            vMin_fy = fy1; vMid_fy = fy0; vMax_fy = fy2;
+            bf = -bf;
+         }
+         else if (fy2 <= fy1) {
+
+            vMin = v2; vMid = v1; vMax = v0;
+            vMin_fy = fy2; vMid_fy = fy1; vMax_fy = fy0;
+            bf = -bf;
+         }
+         else {
+
+            vMin = v1; vMid = v2; vMax = v0;
+            vMin_fy = fy1; vMid_fy = fy2; vMax_fy = fy0;
+         }
+      }
+
+
+      vMin_fx = (((int) ((((vMin->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((vMin->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) + 0.5F) : (((vMin->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      vMid_fx = (((int) ((((vMid->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((vMid->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) + 0.5F) : (((vMid->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      vMax_fx = (((int) ((((vMax->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((vMax->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) + 0.5F) : (((vMax->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+   }
+
+
+   eMaj.v0 = vMin; eMaj.v1 = vMax;
+   eTop.v0 = vMid; eTop.v1 = vMax;
+   eBot.v0 = vMin; eBot.v1 = vMid;
+
+
+   eMaj.dx = ((vMax_fx - vMin_fx) * (1.0F / ((float) (1 << 11))));
+   eMaj.dy = ((vMax_fy - vMin_fy) * (1.0F / ((float) (1 << 11))));
+   eTop.dx = ((vMax_fx - vMid_fx) * (1.0F / ((float) (1 << 11))));
+   eTop.dy = ((vMax_fy - vMid_fy) * (1.0F / ((float) (1 << 11))));
+   eBot.dx = ((vMid_fx - vMin_fx) * (1.0F / ((float) (1 << 11))));
+   eBot.dy = ((vMid_fy - vMin_fy) * (1.0F / ((float) (1 << 11))));
+
+
+   {
+      const GLfloat area = eMaj.dx * eBot.dy - eBot.dx * eMaj.dy;
+
+      if (IS_INF_OR_NAN(area) || area == 0.0F)
+         return;
+
+      if (area * bf * swrast->_BackfaceCullSign < 0.0)
+         return;
+
+      oneOverArea = 1.0F / area;
+
+
+      span.facing = oneOverArea * bf > 0.0F;
+   }
+
+
+   {
+      eMaj.fsy = (((vMin_fy) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+      eMaj.lines = (((((vMax_fy - eMaj.fsy) + (1 << 11) - 1) & (~((1 << 11) - 1)))) >> 11);
+      if (eMaj.lines > 0) {
+         eMaj.dxdy = eMaj.dx / eMaj.dy;
+         eMaj.fdxdy = (((int) ((((eMaj.dxdy) * ((float) (1 << 11))) >= 0.0F) ? (((eMaj.dxdy) * ((float) (1 << 11))) + 0.5F) : (((eMaj.dxdy) * ((float) (1 << 11))) - 0.5F))));
+         eMaj.adjy = (GLfloat) (eMaj.fsy - vMin_fy);
+         eMaj.fx0 = vMin_fx;
+         eMaj.fsx = eMaj.fx0 + (GLfixed) (eMaj.adjy * eMaj.dxdy);
+      }
+      else {
+         return;
+      }
+
+      eTop.fsy = (((vMid_fy) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+      eTop.lines = (((((vMax_fy - eTop.fsy) + (1 << 11) - 1) & (~((1 << 11) - 1)))) >> 11);
+      if (eTop.lines > 0) {
+         eTop.dxdy = eTop.dx / eTop.dy;
+         eTop.fdxdy = (((int) ((((eTop.dxdy) * ((float) (1 << 11))) >= 0.0F) ? (((eTop.dxdy) * ((float) (1 << 11))) + 0.5F) : (((eTop.dxdy) * ((float) (1 << 11))) - 0.5F))));
+         eTop.adjy = (GLfloat) (eTop.fsy - vMid_fy);
+         eTop.fx0 = vMid_fx;
+         eTop.fsx = eTop.fx0 + (GLfixed) (eTop.adjy * eTop.dxdy);
+      }
+
+      eBot.fsy = (((vMin_fy) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+      eBot.lines = (((((vMid_fy - eBot.fsy) + (1 << 11) - 1) & (~((1 << 11) - 1)))) >> 11);
+      if (eBot.lines > 0) {
+         eBot.dxdy = eBot.dx / eBot.dy;
+         eBot.fdxdy = (((int) ((((eBot.dxdy) * ((float) (1 << 11))) >= 0.0F) ? (((eBot.dxdy) * ((float) (1 << 11))) + 0.5F) : (((eBot.dxdy) * ((float) (1 << 11))) - 0.5F))));
+         eBot.adjy = (GLfloat) (eBot.fsy - vMin_fy);
+         eBot.fx0 = vMin_fx;
+         eBot.fsx = eBot.fx0 + (GLfixed) (eBot.adjy * eBot.dxdy);
+      }
+   }
+# 319 "swrast/s_tritemp.h"
+   {
+      GLint scan_from_left_to_right;
+
+
+
+
+
+      struct affine_info info; struct gl_texture_unit *unit = ctx->Texture.Unit+0; const struct gl_texture_object *obj = ctx->Texture.Unit[0].CurrentTex[TEXTURE_2D_INDEX]; const struct gl_texture_image *texImg = obj->Image[0][obj->BaseLevel]; const GLfloat twidth = (GLfloat) texImg->Width; const GLfloat theight = (GLfloat) texImg->Height; info.texture = (const GLchan *) texImg->Data; info.twidth_log2 = texImg->WidthLog2; info.smask = texImg->Width - 1; info.tmask = texImg->Height - 1; info.format = texImg->TexFormat; info.filter = obj->Sampler.MinFilter; info.envmode = unit->EnvMode; info.er = 0; info.eg = 0; info.eb = 0; span.arrayMask |= 0x01; if (info.envmode == 0x0BE2) { info.er = (((int) ((((unit->EnvColor[0] * 255.0F) * ((float) (1 << 11))) >= 0.0F) ? (((unit->EnvColor[0] * 255.0F) * ((float) (1 << 11))) + 0.5F) : (((unit->EnvColor[0] * 255.0F) * ((float) (1 << 11))) - 0.5F)))); info.eg = (((int) ((((unit->EnvColor[1] * 255.0F) * ((float) (1 << 11))) >= 0.0F) ? (((unit->EnvColor[1] * 255.0F) * ((float) (1 << 11))) + 0.5F) : (((unit->EnvColor[1] * 255.0F) * ((float) (1 << 11))) - 0.5F)))); info.eb = (((int) ((((unit->EnvColor[2] * 255.0F) * ((float) (1 << 11))) >= 0.0F) ? (((unit->EnvColor[2] * 255.0F) * ((float) (1 << 11))) + 0.5F) : (((unit->EnvColor[2] * 255.0F) * ((float) (1 << 11))) - 0.5F)))); info.ea = (((int) ((((unit->EnvColor[3] * 255.0F) * ((float) (1 << 11))) >= 0.0F) ? (((unit->EnvColor[3] * 255.0F) * ((float) (1 << 11))) + 0.5F) : (((unit->EnvColor[3] * 255.0F) * ((float) (1 << 11))) - 0.5F)))); } if (!info.texture) { return; } switch (info.format) { case MESA_FORMAT_RGB888: info.tbytesline = texImg->Width * 3; break; case MESA_FORMAT_RGBA8888: info.tbytesline = texImg->Width * 4; break; default: _mesa_problem(((void *)0), "Bad texture format in affine_texture_triangle"); return; } info.tsize = texImg->Height * info.tbytesline;
+
+
+      scan_from_left_to_right = (oneOverArea < 0.0F);
+
+
+
+
+      span.interpMask |= 0x02;
+      {
+         GLfloat eMaj_dz = vMax->attrib[FRAG_ATTRIB_WPOS][2] - vMin->attrib[FRAG_ATTRIB_WPOS][2];
+         GLfloat eBot_dz = vMid->attrib[FRAG_ATTRIB_WPOS][2] - vMin->attrib[FRAG_ATTRIB_WPOS][2];
+         span.attrStepX[FRAG_ATTRIB_WPOS][2] = oneOverArea * (eMaj_dz * eBot.dy - eMaj.dy * eBot_dz);
+         if (span.attrStepX[FRAG_ATTRIB_WPOS][2] > maxDepth ||
+             span.attrStepX[FRAG_ATTRIB_WPOS][2] < -maxDepth) {
+
+            span.attrStepX[FRAG_ATTRIB_WPOS][2] = 0.0;
+            span.attrStepY[FRAG_ATTRIB_WPOS][2] = 0.0;
+         }
+         else {
+            span.attrStepY[FRAG_ATTRIB_WPOS][2] = oneOverArea * (eMaj.dx * eBot_dz - eMaj_dz * eBot.dx);
+         }
+         if (depthBits <= 16)
+            span.zStep = (((int) ((((span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) - 0.5F))));
+         else
+            span.zStep = (GLint) span.attrStepX[FRAG_ATTRIB_WPOS][2];
+      }
+
+
+      span.interpMask |= 0x01;
+      if (ctx->Light.ShadeModel == 0x1D01) {
+         GLfloat eMaj_dr = (GLfloat) (vMax->color[0] - vMin->color[0]);
+         GLfloat eBot_dr = (GLfloat) (vMid->color[0] - vMin->color[0]);
+         GLfloat eMaj_dg = (GLfloat) (vMax->color[1] - vMin->color[1]);
+         GLfloat eBot_dg = (GLfloat) (vMid->color[1] - vMin->color[1]);
+         GLfloat eMaj_db = (GLfloat) (vMax->color[2] - vMin->color[2]);
+         GLfloat eBot_db = (GLfloat) (vMid->color[2] - vMin->color[2]);
+
+         GLfloat eMaj_da = (GLfloat) (vMax->color[3] - vMin->color[3]);
+         GLfloat eBot_da = (GLfloat) (vMid->color[3] - vMin->color[3]);
+
+         span.attrStepX[FRAG_ATTRIB_COL0][0] = oneOverArea * (eMaj_dr * eBot.dy - eMaj.dy * eBot_dr);
+         span.attrStepY[FRAG_ATTRIB_COL0][0] = oneOverArea * (eMaj.dx * eBot_dr - eMaj_dr * eBot.dx);
+         span.attrStepX[FRAG_ATTRIB_COL0][1] = oneOverArea * (eMaj_dg * eBot.dy - eMaj.dy * eBot_dg);
+         span.attrStepY[FRAG_ATTRIB_COL0][1] = oneOverArea * (eMaj.dx * eBot_dg - eMaj_dg * eBot.dx);
+         span.attrStepX[FRAG_ATTRIB_COL0][2] = oneOverArea * (eMaj_db * eBot.dy - eMaj.dy * eBot_db);
+         span.attrStepY[FRAG_ATTRIB_COL0][2] = oneOverArea * (eMaj.dx * eBot_db - eMaj_db * eBot.dx);
+         span.redStep = (((int) ((((span.attrStepX[FRAG_ATTRIB_COL0][0]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_COL0][0]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_COL0][0]) * ((float) (1 << 11))) - 0.5F))));
+         span.greenStep = (((int) ((((span.attrStepX[FRAG_ATTRIB_COL0][1]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_COL0][1]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_COL0][1]) * ((float) (1 << 11))) - 0.5F))));
+         span.blueStep = (((int) ((((span.attrStepX[FRAG_ATTRIB_COL0][2]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_COL0][2]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_COL0][2]) * ((float) (1 << 11))) - 0.5F))));
+
+         span.attrStepX[FRAG_ATTRIB_COL0][3] = oneOverArea * (eMaj_da * eBot.dy - eMaj.dy * eBot_da);
+         span.attrStepY[FRAG_ATTRIB_COL0][3] = oneOverArea * (eMaj.dx * eBot_da - eMaj_da * eBot.dx);
+         span.alphaStep = (((int) ((((span.attrStepX[FRAG_ATTRIB_COL0][3]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_COL0][3]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_COL0][3]) * ((float) (1 << 11))) - 0.5F))));
+
+      }
+      else {
+         ;
+         span.interpMask |= 0x04;
+         span.attrStepX[FRAG_ATTRIB_COL0][0] = span.attrStepY[FRAG_ATTRIB_COL0][0] = 0.0F;
+         span.attrStepX[FRAG_ATTRIB_COL0][1] = span.attrStepY[FRAG_ATTRIB_COL0][1] = 0.0F;
+         span.attrStepX[FRAG_ATTRIB_COL0][2] = span.attrStepY[FRAG_ATTRIB_COL0][2] = 0.0F;
+  span.redStep = 0;
+  span.greenStep = 0;
+  span.blueStep = 0;
+
+         span.attrStepX[FRAG_ATTRIB_COL0][3] = span.attrStepY[FRAG_ATTRIB_COL0][3] = 0.0F;
+  span.alphaStep = 0;
+
+      }
+
+
+      {
+         GLfloat eMaj_ds = (vMax->attrib[FRAG_ATTRIB_TEX0][0] - vMin->attrib[FRAG_ATTRIB_TEX0][0]) * twidth;
+         GLfloat eBot_ds = (vMid->attrib[FRAG_ATTRIB_TEX0][0] - vMin->attrib[FRAG_ATTRIB_TEX0][0]) * twidth;
+         GLfloat eMaj_dt = (vMax->attrib[FRAG_ATTRIB_TEX0][1] - vMin->attrib[FRAG_ATTRIB_TEX0][1]) * theight;
+         GLfloat eBot_dt = (vMid->attrib[FRAG_ATTRIB_TEX0][1] - vMin->attrib[FRAG_ATTRIB_TEX0][1]) * theight;
+         span.attrStepX[FRAG_ATTRIB_TEX0][0] = oneOverArea * (eMaj_ds * eBot.dy - eMaj.dy * eBot_ds);
+         span.attrStepY[FRAG_ATTRIB_TEX0][0] = oneOverArea * (eMaj.dx * eBot_ds - eMaj_ds * eBot.dx);
+         span.attrStepX[FRAG_ATTRIB_TEX0][1] = oneOverArea * (eMaj_dt * eBot.dy - eMaj.dy * eBot_dt);
+         span.attrStepY[FRAG_ATTRIB_TEX0][1] = oneOverArea * (eMaj.dx * eBot_dt - eMaj_dt * eBot.dx);
+         span.intTexStep[0] = (((int) ((((span.attrStepX[FRAG_ATTRIB_TEX0][0]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_TEX0][0]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_TEX0][0]) * ((float) (1 << 11))) - 0.5F))));
+         span.intTexStep[1] = (((int) ((((span.attrStepX[FRAG_ATTRIB_TEX0][1]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_TEX0][1]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_TEX0][1]) * ((float) (1 << 11))) - 0.5F))));
+      }
+# 488 "swrast/s_tritemp.h"
+      {
+         GLint subTriangle;
+         GLfixed fxLeftEdge = 0, fxRightEdge = 0;
+         GLfixed fdxLeftEdge = 0, fdxRightEdge = 0;
+         GLfixed fError = 0, fdError = 0;
+# 504 "swrast/s_tritemp.h"
+         GLuint zLeft = 0;
+         GLfixed fdzOuter = 0, fdzInner;
+
+
+         GLint rLeft = 0, fdrOuter = 0, fdrInner;
+         GLint gLeft = 0, fdgOuter = 0, fdgInner;
+         GLint bLeft = 0, fdbOuter = 0, fdbInner;
+
+
+         GLint aLeft = 0, fdaOuter = 0, fdaInner;
+
+
+         GLfixed sLeft=0, dsOuter=0, dsInner;
+         GLfixed tLeft=0, dtOuter=0, dtInner;
+
+
+
+
+
+
+
+         for (subTriangle=0; subTriangle<=1; subTriangle++) {
+            EdgeT *eLeft, *eRight;
+            int setupLeft, setupRight;
+            int lines;
+
+            if (subTriangle==0) {
+
+               if (scan_from_left_to_right) {
+                  eLeft = &eMaj;
+                  eRight = &eBot;
+                  lines = eRight->lines;
+                  setupLeft = 1;
+                  setupRight = 1;
+               }
+               else {
+                  eLeft = &eBot;
+                  eRight = &eMaj;
+                  lines = eLeft->lines;
+                  setupLeft = 1;
+                  setupRight = 1;
+               }
+            }
+            else {
+
+               if (scan_from_left_to_right) {
+                  eLeft = &eMaj;
+                  eRight = &eTop;
+                  lines = eRight->lines;
+                  setupLeft = 0;
+                  setupRight = 1;
+               }
+               else {
+                  eLeft = &eTop;
+                  eRight = &eMaj;
+                  lines = eLeft->lines;
+                  setupLeft = 1;
+                  setupRight = 0;
+               }
+               if (lines == 0)
+                  return;
+            }
+
+            if (setupLeft && eLeft->lines > 0) {
+               const SWvertex *vLower = eLeft->v0;
+               const GLfixed fsy = eLeft->fsy;
+               const GLfixed fsx = eLeft->fsx;
+               const GLfixed fx = (((fsx) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+               const GLfixed adjx = (GLfixed) (fx - eLeft->fx0);
+               const GLfixed adjy = (GLfixed) eLeft->adjy;
+               GLint idxOuter;
+               GLfloat dxOuter;
+               GLfixed fdxOuter;
+
+               fError = fx - fsx - (1 << 11);
+               fxLeftEdge = fsx - 1;
+               fdxLeftEdge = eLeft->fdxdy;
+               fdxOuter = ((fdxLeftEdge - 1) & (~((1 << 11) - 1)));
+               fdError = fdxOuter - fdxLeftEdge + (1 << 11);
+               idxOuter = ((fdxOuter) >> 11);
+               dxOuter = (GLfloat) idxOuter;
+               span.y = ((fsy) >> 11);
+
+
+               (void) dxOuter;
+               (void) adjx;
+               (void) adjy;
+               (void) vLower;
+# 611 "swrast/s_tritemp.h"
+               {
+                  GLfloat z0 = vLower->attrib[FRAG_ATTRIB_WPOS][2];
+                  if (depthBits <= 16) {
+
+                     GLfloat tmp = (z0 * ((float) (1 << 11))
+                                    + span.attrStepX[FRAG_ATTRIB_WPOS][2] * adjx
+                                    + span.attrStepY[FRAG_ATTRIB_WPOS][2] * adjy) + (1 << (11 -1));
+                     if (tmp < 0xffffffff / 2)
+                        zLeft = (GLfixed) tmp;
+                     else
+                        zLeft = 0xffffffff / 2;
+                     fdzOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_WPOS][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_WPOS][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_WPOS][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                                 ;
+                  }
+                  else {
+
+                     zLeft = (GLuint) (z0 + span.attrStepX[FRAG_ATTRIB_WPOS][2] * ((adjx) * (1.0F / ((float) (1 << 11))))
+                                          + span.attrStepY[FRAG_ATTRIB_WPOS][2] * ((adjy) * (1.0F / ((float) (1 << 11)))));
+                     fdzOuter = (GLint) (span.attrStepY[FRAG_ATTRIB_WPOS][2] +
+                                         dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]);
+                  }
+
+
+
+
+
+               }
+
+
+               if (ctx->Light.ShadeModel == 0x1D01) {
+                  rLeft = (GLint)(((vLower->color[0]) << 11)
+                                  + span.attrStepX[FRAG_ATTRIB_COL0][0] * adjx
+                                  + span.attrStepY[FRAG_ATTRIB_COL0][0] * adjy) + (1 << (11 -1));
+                  gLeft = (GLint)(((vLower->color[1]) << 11)
+                                  + span.attrStepX[FRAG_ATTRIB_COL0][1] * adjx
+                                  + span.attrStepY[FRAG_ATTRIB_COL0][1] * adjy) + (1 << (11 -1));
+                  bLeft = (GLint)(((vLower->color[2]) << 11)
+                                  + span.attrStepX[FRAG_ATTRIB_COL0][2] * adjx
+                                  + span.attrStepY[FRAG_ATTRIB_COL0][2] * adjy) + (1 << (11 -1));
+                  fdrOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_COL0][0] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][0]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_COL0][0] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][0]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_COL0][0] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][0]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                                ;
+                  fdgOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_COL0][1] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][1]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_COL0][1] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][1]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_COL0][1] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][1]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                                ;
+                  fdbOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_COL0][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][2]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_COL0][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][2]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_COL0][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][2]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                                ;
+
+                  aLeft = (GLint)(((vLower->color[3]) << 11)
+                                  + span.attrStepX[FRAG_ATTRIB_COL0][3] * adjx
+                                  + span.attrStepY[FRAG_ATTRIB_COL0][3] * adjy) + (1 << (11 -1));
+                  fdaOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_COL0][3] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][3]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_COL0][3] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][3]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_COL0][3] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][3]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                                ;
+
+               }
+               else {
+                  ;
+                  rLeft = ((v2->color[0]) << 11);
+                  gLeft = ((v2->color[1]) << 11);
+                  bLeft = ((v2->color[2]) << 11);
+                  fdrOuter = fdgOuter = fdbOuter = 0;
+
+                  aLeft = ((v2->color[3]) << 11);
+                  fdaOuter = 0;
+
+               }
+
+
+
+
+               {
+                  GLfloat s0, t0;
+                  s0 = vLower->attrib[FRAG_ATTRIB_TEX0][0] * twidth;
+                  sLeft = (GLfixed)(s0 * ((float) (1 << 11)) + span.attrStepX[FRAG_ATTRIB_TEX0][0] * adjx
+                                 + span.attrStepY[FRAG_ATTRIB_TEX0][0] * adjy) + (1 << (11 -1));
+                  dsOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_TEX0][0] + dxOuter * span.attrStepX[FRAG_ATTRIB_TEX0][0]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_TEX0][0] + dxOuter * span.attrStepX[FRAG_ATTRIB_TEX0][0]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_TEX0][0] + dxOuter * span.attrStepX[FRAG_ATTRIB_TEX0][0]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                               ;
+
+                  t0 = vLower->attrib[FRAG_ATTRIB_TEX0][1] * theight;
+                  tLeft = (GLfixed)(t0 * ((float) (1 << 11)) + span.attrStepX[FRAG_ATTRIB_TEX0][1] * adjx
+                                 + span.attrStepY[FRAG_ATTRIB_TEX0][1] * adjy) + (1 << (11 -1));
+                  dtOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_TEX0][1] + dxOuter * span.attrStepX[FRAG_ATTRIB_TEX0][1]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_TEX0][1] + dxOuter * span.attrStepX[FRAG_ATTRIB_TEX0][1]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_TEX0][1] + dxOuter * span.attrStepX[FRAG_ATTRIB_TEX0][1]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                               ;
+               }
+# 722 "swrast/s_tritemp.h"
+            }
+
+
+            if (setupRight && eRight->lines>0) {
+               fxRightEdge = eRight->fsx - 1;
+               fdxRightEdge = eRight->fdxdy;
+            }
+
+            if (lines==0) {
+               continue;
+            }
+# 743 "swrast/s_tritemp.h"
+            fdzInner = fdzOuter + span.zStep;
+
+
+            fdrInner = fdrOuter + span.redStep;
+            fdgInner = fdgOuter + span.greenStep;
+            fdbInner = fdbOuter + span.blueStep;
+
+
+            fdaInner = fdaOuter + span.alphaStep;
+
+
+            dsInner = dsOuter + span.intTexStep[0];
+            dtInner = dtOuter + span.intTexStep[1];
+# 767 "swrast/s_tritemp.h"
+            while (lines > 0) {
+
+
+               const GLint right = ((fxRightEdge) >> 11);
+               span.x = ((fxLeftEdge) >> 11);
+               if (right <= span.x)
+                  span.end = 0;
+               else
+                  span.end = right - span.x;
+
+
+               span.z = zLeft;
+
+
+               span.red = rLeft;
+               span.green = gLeft;
+               span.blue = bLeft;
+
+
+               span.alpha = aLeft;
+
+
+               span.intTex[0] = sLeft;
+               span.intTex[1] = tLeft;
+# 807 "swrast/s_tritemp.h"
+               if (span.end > 0 && span.y >= 0) {
+                  const GLint len = span.end - 1;
+                  (void) len;
+
+                  do { GLfixed endVal = span.red + (len) * span.redStep; if (endVal < 0) { span.red -= endVal; } if (span.red < 0) { span.red = 0; } } while (0);
+                  do { GLfixed endVal = span.green + (len) * span.greenStep; if (endVal < 0) { span.green -= endVal; } if (span.green < 0) { span.green = 0; } } while (0);
+                  do { GLfixed endVal = span.blue + (len) * span.blueStep; if (endVal < 0) { span.blue -= endVal; } if (span.blue < 0) { span.blue = 0; } } while (0);
+
+
+                  do { GLfixed endVal = span.alpha + (len) * span.alphaStep; if (endVal < 0) { span.alpha -= endVal; } if (span.alpha < 0) { span.alpha = 0; } } while (0);
+
+                  {
+                     affine_span(ctx, &span, &info);;
+                  }
+               }
+
+
+
+
+
+
+
+               span.y++;
+               lines--;
+
+               fxLeftEdge += fdxLeftEdge;
+               fxRightEdge += fdxRightEdge;
+
+               fError += fdError;
+               if (fError >= 0) {
+                  fError -= (1 << 11);
+# 846 "swrast/s_tritemp.h"
+                  zLeft += fdzOuter;
+
+
+                  rLeft += fdrOuter;
+                  gLeft += fdgOuter;
+                  bLeft += fdbOuter;
+
+
+                  aLeft += fdaOuter;
+
+
+                  sLeft += dsOuter;
+                  tLeft += dtOuter;
+# 869 "swrast/s_tritemp.h"
+               }
+               else {
+
+
+
+
+
+
+
+                  zLeft += fdzInner;
+
+
+                  rLeft += fdrInner;
+                  gLeft += fdgInner;
+                  bLeft += fdbInner;
+
+
+                  aLeft += fdaInner;
+
+
+                  sLeft += dsInner;
+                  tLeft += dtInner;
+# 901 "swrast/s_tritemp.h"
+               }
+            }
+
+         }
+
+      }
+   }
+}
+# 578 "swrast/s_triangle.c" 2
+
+
+
+struct persp_info
+{
+   GLenum filter;
+   GLenum format;
+   GLenum envmode;
+   GLint smask, tmask;
+   GLint twidth_log2;
+   const GLchan *texture;
+   GLfixed er, eg, eb, ea;
+   GLint tbytesline, tsize;
+};
+
+
+static __inline__ void
+fast_persp_span(struct gl_context *ctx, SWspan *span,
+  struct persp_info *info)
+{
+   GLchan sample[4];
+# 662 "swrast/s_triangle.c"
+   GLuint i;
+   GLfloat tex_coord[3], tex_step[3];
+   GLchan *dest = span->array->rgba[0];
+
+   const GLuint texEnableSave = ctx->Texture._EnabledCoordUnits;
+   ctx->Texture._EnabledCoordUnits = 0;
+
+   tex_coord[0] = span->attrStart[FRAG_ATTRIB_TEX0][0] * (info->smask + 1);
+   tex_step[0] = span->attrStepX[FRAG_ATTRIB_TEX0][0] * (info->smask + 1);
+   tex_coord[1] = span->attrStart[FRAG_ATTRIB_TEX0][1] * (info->tmask + 1);
+   tex_step[1] = span->attrStepX[FRAG_ATTRIB_TEX0][1] * (info->tmask + 1);
+
+   tex_coord[2] = span->attrStart[FRAG_ATTRIB_TEX0][3];
+   tex_step[2] = span->attrStepX[FRAG_ATTRIB_TEX0][3];
+
+   switch (info->filter) {
+   case 0x2600:
+      switch (info->format) {
+      case MESA_FORMAT_RGB888:
+         switch (info->envmode) {
+         case 0x2100:
+            for (i = 0; i < span->end; i++) { GLdouble invQ = tex_coord[2] ? (1.0 / tex_coord[2]) : 1.0; GLfloat s_tmp = (GLfloat) (tex_coord[0] * invQ); GLfloat t_tmp = (GLfloat) (tex_coord[1] * invQ); GLint s = ifloor(s_tmp) & info->smask; GLint t = ifloor(t_tmp) & info->tmask; GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 3 * pos; sample[0] = tex00[2]; sample[1] = tex00[1]; sample[2] = tex00[0]; sample[3] = 255;;dest[0] = span->red * (sample[0] + 1u) >> (11 + 8); dest[1] = span->green * (sample[1] + 1u) >> (11 + 8); dest[2] = span->blue * (sample[2] + 1u) >> (11 + 8); dest[3] = span->alpha * (sample[3] + 1u) >> (11 + 8); span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; tex_coord[0] += tex_step[0]; tex_coord[1] += tex_step[1]; tex_coord[2] += tex_step[2]; dest += 4; };
+            break;
+         case 0x2101:
+         case 0x1E01:
+            for (i = 0; i < span->end; i++) { GLdouble invQ = tex_coord[2] ? (1.0 / tex_coord[2]) : 1.0; GLfloat s_tmp = (GLfloat) (tex_coord[0] * invQ); GLfloat t_tmp = (GLfloat) (tex_coord[1] * invQ); GLint s = ifloor(s_tmp) & info->smask; GLint t = ifloor(t_tmp) & info->tmask; GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 3 * pos; sample[0] = tex00[2]; sample[1] = tex00[1]; sample[2] = tex00[0]; sample[3] = 255;; dest[0] = sample[0]; dest[1] = sample[1]; dest[2] = sample[2]; dest[3] = ((span->alpha) >> 11);; span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; tex_coord[0] += tex_step[0]; tex_coord[1] += tex_step[1]; tex_coord[2] += tex_step[2]; dest += 4; };
+            break;
+         case 0x0BE2:
+            for (i = 0; i < span->end; i++) { GLdouble invQ = tex_coord[2] ? (1.0 / tex_coord[2]) : 1.0; GLfloat s_tmp = (GLfloat) (tex_coord[0] * invQ); GLfloat t_tmp = (GLfloat) (tex_coord[1] * invQ); GLint s = ifloor(s_tmp) & info->smask; GLint t = ifloor(t_tmp) & info->tmask; GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 3 * pos; sample[0] = tex00[2]; sample[1] = tex00[1]; sample[2] = tex00[0]; sample[3] = 255;;dest[0] = ((255 - sample[0]) * span->red + (sample[0] + 1) * info->er) >> (11 + 8); dest[1] = ((255 - sample[1]) * span->green + (sample[1] + 1) * info->eg) >> (11 + 8); dest[2] = ((255 - sample[2]) * span->blue + (sample[2] + 1) * info->eb) >> (11 + 8); dest[3] = span->alpha * (sample[3] + 1) >> (11 + 8); span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; tex_coord[0] += tex_step[0]; tex_coord[1] += tex_step[1]; tex_coord[2] += tex_step[2]; dest += 4; };
+            break;
+         case 0x0104:
+            for (i = 0; i < span->end; i++) { GLdouble invQ = tex_coord[2] ? (1.0 / tex_coord[2]) : 1.0; GLfloat s_tmp = (GLfloat) (tex_coord[0] * invQ); GLfloat t_tmp = (GLfloat) (tex_coord[1] * invQ); GLint s = ifloor(s_tmp) & info->smask; GLint t = ifloor(t_tmp) & info->tmask; GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 3 * pos; sample[0] = tex00[2]; sample[1] = tex00[1]; sample[2] = tex00[0]; sample[3] = 255;;{ GLint rSum = ((span->red) >> 11) + (GLint) sample[0]; GLint gSum = ((span->green) >> 11) + (GLint) sample[1]; GLint bSum = ((span->blue) >> 11) + (GLint) sample[2]; dest[0] = ( (rSum)<(255) ? (rSum) : (255) ); dest[1] = ( (gSum)<(255) ? (gSum) : (255) ); dest[2] = ( (bSum)<(255) ? (bSum) : (255) ); dest[3] = span->alpha * (sample[3] + 1) >> (11 + 8); }; span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; tex_coord[0] += tex_step[0]; tex_coord[1] += tex_step[1]; tex_coord[2] += tex_step[2]; dest += 4; };
+            break;
+         default:
+            _mesa_problem(ctx, "bad tex env mode (5) in SPAN_LINEAR");
+            return;
+         }
+         break;
+      case MESA_FORMAT_RGBA8888:
+         switch(info->envmode) {
+         case 0x2100:
+            for (i = 0; i < span->end; i++) { GLdouble invQ = tex_coord[2] ? (1.0 / tex_coord[2]) : 1.0; GLfloat s_tmp = (GLfloat) (tex_coord[0] * invQ); GLfloat t_tmp = (GLfloat) (tex_coord[1] * invQ); GLint s = ifloor(s_tmp) & info->smask; GLint t = ifloor(t_tmp) & info->tmask; GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 4 * pos; sample[0] = tex00[3]; sample[1] = tex00[2]; sample[2] = tex00[1]; sample[3] = tex00[0];;dest[0] = span->red * (sample[0] + 1u) >> (11 + 8); dest[1] = span->green * (sample[1] + 1u) >> (11 + 8); dest[2] = span->blue * (sample[2] + 1u) >> (11 + 8); dest[3] = span->alpha * (sample[3] + 1u) >> (11 + 8); span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; tex_coord[0] += tex_step[0]; tex_coord[1] += tex_step[1]; tex_coord[2] += tex_step[2]; dest += 4; };
+            break;
+         case 0x2101:
+            for (i = 0; i < span->end; i++) { GLdouble invQ = tex_coord[2] ? (1.0 / tex_coord[2]) : 1.0; GLfloat s_tmp = (GLfloat) (tex_coord[0] * invQ); GLfloat t_tmp = (GLfloat) (tex_coord[1] * invQ); GLint s = ifloor(s_tmp) & info->smask; GLint t = ifloor(t_tmp) & info->tmask; GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 4 * pos; sample[0] = tex00[3]; sample[1] = tex00[2]; sample[2] = tex00[1]; sample[3] = tex00[0];;dest[0] = ((255 - sample[3]) * span->red + ((sample[3] + 1) * sample[0] << 11)) >> (11 + 8); dest[1] = ((255 - sample[3]) * span->green + ((sample[3] + 1) * sample[1] << 11)) >> (11 + 8); dest[2] = ((255 - sample[3]) * span->blue + ((sample[3] + 1) * sample[2] << 11)) >> (11 + 8); dest[3] = ((span->alpha) >> 11); span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; tex_coord[0] += tex_step[0]; tex_coord[1] += tex_step[1]; tex_coord[2] += tex_step[2]; dest += 4; };
+            break;
+         case 0x0BE2:
+            for (i = 0; i < span->end; i++) { GLdouble invQ = tex_coord[2] ? (1.0 / tex_coord[2]) : 1.0; GLfloat s_tmp = (GLfloat) (tex_coord[0] * invQ); GLfloat t_tmp = (GLfloat) (tex_coord[1] * invQ); GLint s = ifloor(s_tmp) & info->smask; GLint t = ifloor(t_tmp) & info->tmask; GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 4 * pos; sample[0] = tex00[3]; sample[1] = tex00[2]; sample[2] = tex00[1]; sample[3] = tex00[0];;dest[0] = ((255 - sample[0]) * span->red + (sample[0] + 1) * info->er) >> (11 + 8); dest[1] = ((255 - sample[1]) * span->green + (sample[1] + 1) * info->eg) >> (11 + 8); dest[2] = ((255 - sample[2]) * span->blue + (sample[2] + 1) * info->eb) >> (11 + 8); dest[3] = span->alpha * (sample[3] + 1) >> (11 + 8); span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; tex_coord[0] += tex_step[0]; tex_coord[1] += tex_step[1]; tex_coord[2] += tex_step[2]; dest += 4; };
+            break;
+         case 0x0104:
+            for (i = 0; i < span->end; i++) { GLdouble invQ = tex_coord[2] ? (1.0 / tex_coord[2]) : 1.0; GLfloat s_tmp = (GLfloat) (tex_coord[0] * invQ); GLfloat t_tmp = (GLfloat) (tex_coord[1] * invQ); GLint s = ifloor(s_tmp) & info->smask; GLint t = ifloor(t_tmp) & info->tmask; GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 4 * pos; sample[0] = tex00[3]; sample[1] = tex00[2]; sample[2] = tex00[1]; sample[3] = tex00[0];;{ GLint rSum = ((span->red) >> 11) + (GLint) sample[0]; GLint gSum = ((span->green) >> 11) + (GLint) sample[1]; GLint bSum = ((span->blue) >> 11) + (GLint) sample[2]; dest[0] = ( (rSum)<(255) ? (rSum) : (255) ); dest[1] = ( (gSum)<(255) ? (gSum) : (255) ); dest[2] = ( (bSum)<(255) ? (bSum) : (255) ); dest[3] = span->alpha * (sample[3] + 1) >> (11 + 8); }; span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; tex_coord[0] += tex_step[0]; tex_coord[1] += tex_step[1]; tex_coord[2] += tex_step[2]; dest += 4; };
+            break;
+         case 0x1E01:
+            for (i = 0; i < span->end; i++) { GLdouble invQ = tex_coord[2] ? (1.0 / tex_coord[2]) : 1.0; GLfloat s_tmp = (GLfloat) (tex_coord[0] * invQ); GLfloat t_tmp = (GLfloat) (tex_coord[1] * invQ); GLint s = ifloor(s_tmp) & info->smask; GLint t = ifloor(t_tmp) & info->tmask; GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 4 * pos; dest[0] = tex00[3]; dest[1] = tex00[2]; dest[2] = tex00[1]; dest[3] = tex00[0]; span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; tex_coord[0] += tex_step[0]; tex_coord[1] += tex_step[1]; tex_coord[2] += tex_step[2]; dest += 4; };
+            break;
+         default:
+            _mesa_problem(ctx, "bad tex env mode (6) in SPAN_LINEAR");
+            return;
+         }
+         break;
+      }
+      break;
+
+   case 0x2601:
+      switch (info->format) {
+      case MESA_FORMAT_RGB888:
+         switch (info->envmode) {
+         case 0x2100:
+            for (i = 0; i < span->end; i++) { GLdouble invQ = tex_coord[2] ? (1.0 / tex_coord[2]) : 1.0; const GLfloat s_tmp = (GLfloat) (tex_coord[0] * invQ); const GLfloat t_tmp = (GLfloat) (tex_coord[1] * invQ); const GLfixed s_fix = (((int) ((((s_tmp) * ((float) (1 << 11))) >= 0.0F) ? (((s_tmp) * ((float) (1 << 11))) + 0.5F) : (((s_tmp) * ((float) (1 << 11))) - 0.5F)))) - (1 << (11 -1)); const GLfixed t_fix = (((int) ((((t_tmp) * ((float) (1 << 11))) >= 0.0F) ? (((t_tmp) * ((float) (1 << 11))) + 0.5F) : (((t_tmp) * ((float) (1 << 11))) - 0.5F)))) - (1 << (11 -1)); const GLint s = ((((s_fix) & (~((1 << 11) - 1)))) >> 11) & info->smask; const GLint t = ((((t_fix) & (~((1 << 11) - 1)))) >> 11) & info->tmask; const GLfixed sf = s_fix & ((1 << 11) - 1); const GLfixed tf = t_fix & ((1 << 11) - 1); const GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 3 * pos; const GLchan *tex10 = tex00 + info->tbytesline; const GLchan *tex01 = tex00 + 3; const GLchan *tex11 = tex10 + 3; if (t == info->tmask) { tex10 -= info->tsize; tex11 -= info->tsize; } if (s == info->smask) { tex01 -= info->tbytesline; tex11 -= info->tbytesline; } sample[0] = ilerp_2d(sf, tf, tex00[2], tex01[2], tex10[2], tex11[2]); sample[1] = ilerp_2d(sf, tf, tex00[1], tex01[1], tex10[1], tex11[1]); sample[2] = ilerp_2d(sf, tf, tex00[0], tex01[0], tex10[0], tex11[0]); sample[3] = 255;;dest[0] = span->red * (sample[0] + 1u) >> (11 + 8); dest[1] = span->green * (sample[1] + 1u) >> (11 + 8); dest[2] = span->blue * (sample[2] + 1u) >> (11 + 8); dest[3] = span->alpha * (sample[3] + 1u) >> (11 + 8); span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; tex_coord[0] += tex_step[0]; tex_coord[1] += tex_step[1]; tex_coord[2] += tex_step[2]; dest += 4; };
+            break;
+         case 0x2101:
+         case 0x1E01:
+            for (i = 0; i < span->end; i++) { GLdouble invQ = tex_coord[2] ? (1.0 / tex_coord[2]) : 1.0; const GLfloat s_tmp = (GLfloat) (tex_coord[0] * invQ); const GLfloat t_tmp = (GLfloat) (tex_coord[1] * invQ); const GLfixed s_fix = (((int) ((((s_tmp) * ((float) (1 << 11))) >= 0.0F) ? (((s_tmp) * ((float) (1 << 11))) + 0.5F) : (((s_tmp) * ((float) (1 << 11))) - 0.5F)))) - (1 << (11 -1)); const GLfixed t_fix = (((int) ((((t_tmp) * ((float) (1 << 11))) >= 0.0F) ? (((t_tmp) * ((float) (1 << 11))) + 0.5F) : (((t_tmp) * ((float) (1 << 11))) - 0.5F)))) - (1 << (11 -1)); const GLint s = ((((s_fix) & (~((1 << 11) - 1)))) >> 11) & info->smask; const GLint t = ((((t_fix) & (~((1 << 11) - 1)))) >> 11) & info->tmask; const GLfixed sf = s_fix & ((1 << 11) - 1); const GLfixed tf = t_fix & ((1 << 11) - 1); const GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 3 * pos; const GLchan *tex10 = tex00 + info->tbytesline; const GLchan *tex01 = tex00 + 3; const GLchan *tex11 = tex10 + 3; if (t == info->tmask) { tex10 -= info->tsize; tex11 -= info->tsize; } if (s == info->smask) { tex01 -= info->tbytesline; tex11 -= info->tbytesline; } sample[0] = ilerp_2d(sf, tf, tex00[2], tex01[2], tex10[2], tex11[2]); sample[1] = ilerp_2d(sf, tf, tex00[1], tex01[1], tex10[1], tex11[1]); sample[2] = ilerp_2d(sf, tf, tex00[0], tex01[0], tex10[0], tex11[0]); sample[3] = 255;;do { (dest)[0] = (sample)[0]; (dest)[1] = (sample)[1]; (dest)[2] = (sample)[2]; (dest)[3] = (sample)[3]; } while (0); span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; tex_coord[0] += tex_step[0]; tex_coord[1] += tex_step[1]; tex_coord[2] += tex_step[2]; dest += 4; };
+            break;
+         case 0x0BE2:
+            for (i = 0; i < span->end; i++) { GLdouble invQ = tex_coord[2] ? (1.0 / tex_coord[2]) : 1.0; const GLfloat s_tmp = (GLfloat) (tex_coord[0] * invQ); const GLfloat t_tmp = (GLfloat) (tex_coord[1] * invQ); const GLfixed s_fix = (((int) ((((s_tmp) * ((float) (1 << 11))) >= 0.0F) ? (((s_tmp) * ((float) (1 << 11))) + 0.5F) : (((s_tmp) * ((float) (1 << 11))) - 0.5F)))) - (1 << (11 -1)); const GLfixed t_fix = (((int) ((((t_tmp) * ((float) (1 << 11))) >= 0.0F) ? (((t_tmp) * ((float) (1 << 11))) + 0.5F) : (((t_tmp) * ((float) (1 << 11))) - 0.5F)))) - (1 << (11 -1)); const GLint s = ((((s_fix) & (~((1 << 11) - 1)))) >> 11) & info->smask; const GLint t = ((((t_fix) & (~((1 << 11) - 1)))) >> 11) & info->tmask; const GLfixed sf = s_fix & ((1 << 11) - 1); const GLfixed tf = t_fix & ((1 << 11) - 1); const GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 3 * pos; const GLchan *tex10 = tex00 + info->tbytesline; const GLchan *tex01 = tex00 + 3; const GLchan *tex11 = tex10 + 3; if (t == info->tmask) { tex10 -= info->tsize; tex11 -= info->tsize; } if (s == info->smask) { tex01 -= info->tbytesline; tex11 -= info->tbytesline; } sample[0] = ilerp_2d(sf, tf, tex00[2], tex01[2], tex10[2], tex11[2]); sample[1] = ilerp_2d(sf, tf, tex00[1], tex01[1], tex10[1], tex11[1]); sample[2] = ilerp_2d(sf, tf, tex00[0], tex01[0], tex10[0], tex11[0]); sample[3] = 255;;dest[0] = ((255 - sample[0]) * span->red + (sample[0] + 1) * info->er) >> (11 + 8); dest[1] = ((255 - sample[1]) * span->green + (sample[1] + 1) * info->eg) >> (11 + 8); dest[2] = ((255 - sample[2]) * span->blue + (sample[2] + 1) * info->eb) >> (11 + 8); dest[3] = span->alpha * (sample[3] + 1) >> (11 + 8); span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; tex_coord[0] += tex_step[0]; tex_coord[1] += tex_step[1]; tex_coord[2] += tex_step[2]; dest += 4; };
+            break;
+         case 0x0104:
+            for (i = 0; i < span->end; i++) { GLdouble invQ = tex_coord[2] ? (1.0 / tex_coord[2]) : 1.0; const GLfloat s_tmp = (GLfloat) (tex_coord[0] * invQ); const GLfloat t_tmp = (GLfloat) (tex_coord[1] * invQ); const GLfixed s_fix = (((int) ((((s_tmp) * ((float) (1 << 11))) >= 0.0F) ? (((s_tmp) * ((float) (1 << 11))) + 0.5F) : (((s_tmp) * ((float) (1 << 11))) - 0.5F)))) - (1 << (11 -1)); const GLfixed t_fix = (((int) ((((t_tmp) * ((float) (1 << 11))) >= 0.0F) ? (((t_tmp) * ((float) (1 << 11))) + 0.5F) : (((t_tmp) * ((float) (1 << 11))) - 0.5F)))) - (1 << (11 -1)); const GLint s = ((((s_fix) & (~((1 << 11) - 1)))) >> 11) & info->smask; const GLint t = ((((t_fix) & (~((1 << 11) - 1)))) >> 11) & info->tmask; const GLfixed sf = s_fix & ((1 << 11) - 1); const GLfixed tf = t_fix & ((1 << 11) - 1); const GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 3 * pos; const GLchan *tex10 = tex00 + info->tbytesline; const GLchan *tex01 = tex00 + 3; const GLchan *tex11 = tex10 + 3; if (t == info->tmask) { tex10 -= info->tsize; tex11 -= info->tsize; } if (s == info->smask) { tex01 -= info->tbytesline; tex11 -= info->tbytesline; } sample[0] = ilerp_2d(sf, tf, tex00[2], tex01[2], tex10[2], tex11[2]); sample[1] = ilerp_2d(sf, tf, tex00[1], tex01[1], tex10[1], tex11[1]); sample[2] = ilerp_2d(sf, tf, tex00[0], tex01[0], tex10[0], tex11[0]); sample[3] = 255;;{ GLint rSum = ((span->red) >> 11) + (GLint) sample[0]; GLint gSum = ((span->green) >> 11) + (GLint) sample[1]; GLint bSum = ((span->blue) >> 11) + (GLint) sample[2]; dest[0] = ( (rSum)<(255) ? (rSum) : (255) ); dest[1] = ( (gSum)<(255) ? (gSum) : (255) ); dest[2] = ( (bSum)<(255) ? (bSum) : (255) ); dest[3] = span->alpha * (sample[3] + 1) >> (11 + 8); }; span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; tex_coord[0] += tex_step[0]; tex_coord[1] += tex_step[1]; tex_coord[2] += tex_step[2]; dest += 4; };
+            break;
+         default:
+            _mesa_problem(ctx, "bad tex env mode (7) in SPAN_LINEAR");
+            return;
+         }
+         break;
+      case MESA_FORMAT_RGBA8888:
+         switch (info->envmode) {
+         case 0x2100:
+            for (i = 0; i < span->end; i++) { GLdouble invQ = tex_coord[2] ? (1.0 / tex_coord[2]) : 1.0; const GLfloat s_tmp = (GLfloat) (tex_coord[0] * invQ); const GLfloat t_tmp = (GLfloat) (tex_coord[1] * invQ); const GLfixed s_fix = (((int) ((((s_tmp) * ((float) (1 << 11))) >= 0.0F) ? (((s_tmp) * ((float) (1 << 11))) + 0.5F) : (((s_tmp) * ((float) (1 << 11))) - 0.5F)))) - (1 << (11 -1)); const GLfixed t_fix = (((int) ((((t_tmp) * ((float) (1 << 11))) >= 0.0F) ? (((t_tmp) * ((float) (1 << 11))) + 0.5F) : (((t_tmp) * ((float) (1 << 11))) - 0.5F)))) - (1 << (11 -1)); const GLint s = ((((s_fix) & (~((1 << 11) - 1)))) >> 11) & info->smask; const GLint t = ((((t_fix) & (~((1 << 11) - 1)))) >> 11) & info->tmask; const GLfixed sf = s_fix & ((1 << 11) - 1); const GLfixed tf = t_fix & ((1 << 11) - 1); const GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 4 * pos; const GLchan *tex10 = tex00 + info->tbytesline; const GLchan *tex01 = tex00 + 4; const GLchan *tex11 = tex10 + 4; if (t == info->tmask) { tex10 -= info->tsize; tex11 -= info->tsize; } if (s == info->smask) { tex01 -= info->tbytesline; tex11 -= info->tbytesline; } sample[0] = ilerp_2d(sf, tf, tex00[3], tex01[3], tex10[3], tex11[3]); sample[1] = ilerp_2d(sf, tf, tex00[2], tex01[2], tex10[2], tex11[2]); sample[2] = ilerp_2d(sf, tf, tex00[1], tex01[1], tex10[1], tex11[1]); sample[3] = ilerp_2d(sf, tf, tex00[0], tex01[0], tex10[0], tex11[0]);dest[0] = span->red * (sample[0] + 1u) >> (11 + 8); dest[1] = span->green * (sample[1] + 1u) >> (11 + 8); dest[2] = span->blue * (sample[2] + 1u) >> (11 + 8); dest[3] = span->alpha * (sample[3] + 1u) >> (11 + 8); span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; tex_coord[0] += tex_step[0]; tex_coord[1] += tex_step[1]; tex_coord[2] += tex_step[2]; dest += 4; };
+            break;
+         case 0x2101:
+            for (i = 0; i < span->end; i++) { GLdouble invQ = tex_coord[2] ? (1.0 / tex_coord[2]) : 1.0; const GLfloat s_tmp = (GLfloat) (tex_coord[0] * invQ); const GLfloat t_tmp = (GLfloat) (tex_coord[1] * invQ); const GLfixed s_fix = (((int) ((((s_tmp) * ((float) (1 << 11))) >= 0.0F) ? (((s_tmp) * ((float) (1 << 11))) + 0.5F) : (((s_tmp) * ((float) (1 << 11))) - 0.5F)))) - (1 << (11 -1)); const GLfixed t_fix = (((int) ((((t_tmp) * ((float) (1 << 11))) >= 0.0F) ? (((t_tmp) * ((float) (1 << 11))) + 0.5F) : (((t_tmp) * ((float) (1 << 11))) - 0.5F)))) - (1 << (11 -1)); const GLint s = ((((s_fix) & (~((1 << 11) - 1)))) >> 11) & info->smask; const GLint t = ((((t_fix) & (~((1 << 11) - 1)))) >> 11) & info->tmask; const GLfixed sf = s_fix & ((1 << 11) - 1); const GLfixed tf = t_fix & ((1 << 11) - 1); const GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 4 * pos; const GLchan *tex10 = tex00 + info->tbytesline; const GLchan *tex01 = tex00 + 4; const GLchan *tex11 = tex10 + 4; if (t == info->tmask) { tex10 -= info->tsize; tex11 -= info->tsize; } if (s == info->smask) { tex01 -= info->tbytesline; tex11 -= info->tbytesline; } sample[0] = ilerp_2d(sf, tf, tex00[3], tex01[3], tex10[3], tex11[3]); sample[1] = ilerp_2d(sf, tf, tex00[2], tex01[2], tex10[2], tex11[2]); sample[2] = ilerp_2d(sf, tf, tex00[1], tex01[1], tex10[1], tex11[1]); sample[3] = ilerp_2d(sf, tf, tex00[0], tex01[0], tex10[0], tex11[0]);dest[0] = ((255 - sample[3]) * span->red + ((sample[3] + 1) * sample[0] << 11)) >> (11 + 8); dest[1] = ((255 - sample[3]) * span->green + ((sample[3] + 1) * sample[1] << 11)) >> (11 + 8); dest[2] = ((255 - sample[3]) * span->blue + ((sample[3] + 1) * sample[2] << 11)) >> (11 + 8); dest[3] = ((span->alpha) >> 11); span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; tex_coord[0] += tex_step[0]; tex_coord[1] += tex_step[1]; tex_coord[2] += tex_step[2]; dest += 4; };
+            break;
+         case 0x0BE2:
+            for (i = 0; i < span->end; i++) { GLdouble invQ = tex_coord[2] ? (1.0 / tex_coord[2]) : 1.0; const GLfloat s_tmp = (GLfloat) (tex_coord[0] * invQ); const GLfloat t_tmp = (GLfloat) (tex_coord[1] * invQ); const GLfixed s_fix = (((int) ((((s_tmp) * ((float) (1 << 11))) >= 0.0F) ? (((s_tmp) * ((float) (1 << 11))) + 0.5F) : (((s_tmp) * ((float) (1 << 11))) - 0.5F)))) - (1 << (11 -1)); const GLfixed t_fix = (((int) ((((t_tmp) * ((float) (1 << 11))) >= 0.0F) ? (((t_tmp) * ((float) (1 << 11))) + 0.5F) : (((t_tmp) * ((float) (1 << 11))) - 0.5F)))) - (1 << (11 -1)); const GLint s = ((((s_fix) & (~((1 << 11) - 1)))) >> 11) & info->smask; const GLint t = ((((t_fix) & (~((1 << 11) - 1)))) >> 11) & info->tmask; const GLfixed sf = s_fix & ((1 << 11) - 1); const GLfixed tf = t_fix & ((1 << 11) - 1); const GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 4 * pos; const GLchan *tex10 = tex00 + info->tbytesline; const GLchan *tex01 = tex00 + 4; const GLchan *tex11 = tex10 + 4; if (t == info->tmask) { tex10 -= info->tsize; tex11 -= info->tsize; } if (s == info->smask) { tex01 -= info->tbytesline; tex11 -= info->tbytesline; } sample[0] = ilerp_2d(sf, tf, tex00[3], tex01[3], tex10[3], tex11[3]); sample[1] = ilerp_2d(sf, tf, tex00[2], tex01[2], tex10[2], tex11[2]); sample[2] = ilerp_2d(sf, tf, tex00[1], tex01[1], tex10[1], tex11[1]); sample[3] = ilerp_2d(sf, tf, tex00[0], tex01[0], tex10[0], tex11[0]);dest[0] = ((255 - sample[0]) * span->red + (sample[0] + 1) * info->er) >> (11 + 8); dest[1] = ((255 - sample[1]) * span->green + (sample[1] + 1) * info->eg) >> (11 + 8); dest[2] = ((255 - sample[2]) * span->blue + (sample[2] + 1) * info->eb) >> (11 + 8); dest[3] = span->alpha * (sample[3] + 1) >> (11 + 8); span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; tex_coord[0] += tex_step[0]; tex_coord[1] += tex_step[1]; tex_coord[2] += tex_step[2]; dest += 4; };
+            break;
+         case 0x0104:
+            for (i = 0; i < span->end; i++) { GLdouble invQ = tex_coord[2] ? (1.0 / tex_coord[2]) : 1.0; const GLfloat s_tmp = (GLfloat) (tex_coord[0] * invQ); const GLfloat t_tmp = (GLfloat) (tex_coord[1] * invQ); const GLfixed s_fix = (((int) ((((s_tmp) * ((float) (1 << 11))) >= 0.0F) ? (((s_tmp) * ((float) (1 << 11))) + 0.5F) : (((s_tmp) * ((float) (1 << 11))) - 0.5F)))) - (1 << (11 -1)); const GLfixed t_fix = (((int) ((((t_tmp) * ((float) (1 << 11))) >= 0.0F) ? (((t_tmp) * ((float) (1 << 11))) + 0.5F) : (((t_tmp) * ((float) (1 << 11))) - 0.5F)))) - (1 << (11 -1)); const GLint s = ((((s_fix) & (~((1 << 11) - 1)))) >> 11) & info->smask; const GLint t = ((((t_fix) & (~((1 << 11) - 1)))) >> 11) & info->tmask; const GLfixed sf = s_fix & ((1 << 11) - 1); const GLfixed tf = t_fix & ((1 << 11) - 1); const GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 4 * pos; const GLchan *tex10 = tex00 + info->tbytesline; const GLchan *tex01 = tex00 + 4; const GLchan *tex11 = tex10 + 4; if (t == info->tmask) { tex10 -= info->tsize; tex11 -= info->tsize; } if (s == info->smask) { tex01 -= info->tbytesline; tex11 -= info->tbytesline; } sample[0] = ilerp_2d(sf, tf, tex00[3], tex01[3], tex10[3], tex11[3]); sample[1] = ilerp_2d(sf, tf, tex00[2], tex01[2], tex10[2], tex11[2]); sample[2] = ilerp_2d(sf, tf, tex00[1], tex01[1], tex10[1], tex11[1]); sample[3] = ilerp_2d(sf, tf, tex00[0], tex01[0], tex10[0], tex11[0]);{ GLint rSum = ((span->red) >> 11) + (GLint) sample[0]; GLint gSum = ((span->green) >> 11) + (GLint) sample[1]; GLint bSum = ((span->blue) >> 11) + (GLint) sample[2]; dest[0] = ( (rSum)<(255) ? (rSum) : (255) ); dest[1] = ( (gSum)<(255) ? (gSum) : (255) ); dest[2] = ( (bSum)<(255) ? (bSum) : (255) ); dest[3] = span->alpha * (sample[3] + 1) >> (11 + 8); }; span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; tex_coord[0] += tex_step[0]; tex_coord[1] += tex_step[1]; tex_coord[2] += tex_step[2]; dest += 4; };
+            break;
+         case 0x1E01:
+            for (i = 0; i < span->end; i++) { GLdouble invQ = tex_coord[2] ? (1.0 / tex_coord[2]) : 1.0; const GLfloat s_tmp = (GLfloat) (tex_coord[0] * invQ); const GLfloat t_tmp = (GLfloat) (tex_coord[1] * invQ); const GLfixed s_fix = (((int) ((((s_tmp) * ((float) (1 << 11))) >= 0.0F) ? (((s_tmp) * ((float) (1 << 11))) + 0.5F) : (((s_tmp) * ((float) (1 << 11))) - 0.5F)))) - (1 << (11 -1)); const GLfixed t_fix = (((int) ((((t_tmp) * ((float) (1 << 11))) >= 0.0F) ? (((t_tmp) * ((float) (1 << 11))) + 0.5F) : (((t_tmp) * ((float) (1 << 11))) - 0.5F)))) - (1 << (11 -1)); const GLint s = ((((s_fix) & (~((1 << 11) - 1)))) >> 11) & info->smask; const GLint t = ((((t_fix) & (~((1 << 11) - 1)))) >> 11) & info->tmask; const GLfixed sf = s_fix & ((1 << 11) - 1); const GLfixed tf = t_fix & ((1 << 11) - 1); const GLint pos = (t << info->twidth_log2) + s; const GLchan *tex00 = info->texture + 4 * pos; const GLchan *tex10 = tex00 + info->tbytesline; const GLchan *tex01 = tex00 + 4; const GLchan *tex11 = tex10 + 4; if (t == info->tmask) { tex10 -= info->tsize; tex11 -= info->tsize; } if (s == info->smask) { tex01 -= info->tbytesline; tex11 -= info->tbytesline; } sample[0] = ilerp_2d(sf, tf, tex00[3], tex01[3], tex10[3], tex11[3]); sample[1] = ilerp_2d(sf, tf, tex00[2], tex01[2], tex10[2], tex11[2]); sample[2] = ilerp_2d(sf, tf, tex00[1], tex01[1], tex10[1], tex11[1]); sample[3] = ilerp_2d(sf, tf, tex00[0], tex01[0], tex10[0], tex11[0]);do { (dest)[0] = (sample)[0]; (dest)[1] = (sample)[1]; (dest)[2] = (sample)[2]; (dest)[3] = (sample)[3]; } while (0); span->red += span->redStep; span->green += span->greenStep; span->blue += span->blueStep; span->alpha += span->alphaStep; tex_coord[0] += tex_step[0]; tex_coord[1] += tex_step[1]; tex_coord[2] += tex_step[2]; dest += 4; };
+            break;
+         default:
+            _mesa_problem(ctx, "bad tex env mode (8) in SPAN_LINEAR");
+            return;
+         }
+         break;
+      }
+      break;
+   }
+
+   ;
+   _swrast_write_rgba_span(ctx, span);
+
+
+
+
+
+   ctx->Texture._EnabledCoordUnits = texEnableSave;
+}
+# 844 "swrast/s_triangle.c"
+# 1 "swrast/s_tritemp.h" 1
+# 111 "swrast/s_tritemp.h"
+static void persp_textured_triangle(struct gl_context *ctx, const SWvertex *v0,
+                                 const SWvertex *v1,
+                                 const SWvertex *v2 )
+{
+   typedef struct {
+      const SWvertex *v0, *v1;
+      GLfloat dx;
+      GLfloat dy;
+      GLfloat dxdy;
+      GLfixed fdxdy;
+      GLfloat adjy;
+      GLfixed fsx;
+      GLfixed fsy;
+      GLfixed fx0;
+      GLint lines;
+   } EdgeT;
+
+   const SWcontext *swrast = SWRAST_CONTEXT(ctx);
+
+   const GLint depthBits = ctx->DrawBuffer->Visual.depthBits;
+   const GLint fixedToDepthShift = depthBits <= 16 ? 11 : 0;
+   const GLfloat maxDepth = ctx->DrawBuffer->_DepthMaxF;
+
+
+   EdgeT eMaj, eTop, eBot;
+   GLfloat oneOverArea;
+   const SWvertex *vMin, *vMid, *vMax;
+   GLfloat bf = SWRAST_CONTEXT(ctx)->_BackfaceSign;
+   const GLint snapMask = ~(((1 << 11) / (1 << 4)) - 1);
+   GLfixed vMin_fx, vMin_fy, vMid_fx, vMid_fy, vMax_fx, vMax_fy;
+
+   SWspan span;
+
+   (void) swrast;
+
+   do { (span).primitive = (0x0009); (span).interpMask = 0x0; (span).arrayMask = 0x0; (span).arrayAttribs = 0x0; (span).end = 0; (span).leftClip = 0; (span).facing = 0; (span).array = SWRAST_CONTEXT(ctx)->SpanArrays; } while (0);
+   span.y = 0;
+
+
+   (void) fixedToDepthShift;
+# 172 "swrast/s_tritemp.h"
+   {
+      const GLfixed fy0 = (((int) ((((v0->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((v0->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) + 0.5F) : (((v0->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      const GLfixed fy1 = (((int) ((((v1->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((v1->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) + 0.5F) : (((v1->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      const GLfixed fy2 = (((int) ((((v2->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((v2->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) + 0.5F) : (((v2->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      if (fy0 <= fy1) {
+         if (fy1 <= fy2) {
+
+            vMin = v0; vMid = v1; vMax = v2;
+            vMin_fy = fy0; vMid_fy = fy1; vMax_fy = fy2;
+         }
+         else if (fy2 <= fy0) {
+
+            vMin = v2; vMid = v0; vMax = v1;
+            vMin_fy = fy2; vMid_fy = fy0; vMax_fy = fy1;
+         }
+         else {
+
+            vMin = v0; vMid = v2; vMax = v1;
+            vMin_fy = fy0; vMid_fy = fy2; vMax_fy = fy1;
+            bf = -bf;
+         }
+      }
+      else {
+         if (fy0 <= fy2) {
+
+            vMin = v1; vMid = v0; vMax = v2;
+            vMin_fy = fy1; vMid_fy = fy0; vMax_fy = fy2;
+            bf = -bf;
+         }
+         else if (fy2 <= fy1) {
+
+            vMin = v2; vMid = v1; vMax = v0;
+            vMin_fy = fy2; vMid_fy = fy1; vMax_fy = fy0;
+            bf = -bf;
+         }
+         else {
+
+            vMin = v1; vMid = v2; vMax = v0;
+            vMin_fy = fy1; vMid_fy = fy2; vMax_fy = fy0;
+         }
+      }
+
+
+      vMin_fx = (((int) ((((vMin->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((vMin->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) + 0.5F) : (((vMin->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      vMid_fx = (((int) ((((vMid->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((vMid->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) + 0.5F) : (((vMid->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      vMax_fx = (((int) ((((vMax->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((vMax->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) + 0.5F) : (((vMax->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+   }
+
+
+   eMaj.v0 = vMin; eMaj.v1 = vMax;
+   eTop.v0 = vMid; eTop.v1 = vMax;
+   eBot.v0 = vMin; eBot.v1 = vMid;
+
+
+   eMaj.dx = ((vMax_fx - vMin_fx) * (1.0F / ((float) (1 << 11))));
+   eMaj.dy = ((vMax_fy - vMin_fy) * (1.0F / ((float) (1 << 11))));
+   eTop.dx = ((vMax_fx - vMid_fx) * (1.0F / ((float) (1 << 11))));
+   eTop.dy = ((vMax_fy - vMid_fy) * (1.0F / ((float) (1 << 11))));
+   eBot.dx = ((vMid_fx - vMin_fx) * (1.0F / ((float) (1 << 11))));
+   eBot.dy = ((vMid_fy - vMin_fy) * (1.0F / ((float) (1 << 11))));
+
+
+   {
+      const GLfloat area = eMaj.dx * eBot.dy - eBot.dx * eMaj.dy;
+
+      if (IS_INF_OR_NAN(area) || area == 0.0F)
+         return;
+
+      if (area * bf * swrast->_BackfaceCullSign < 0.0)
+         return;
+
+      oneOverArea = 1.0F / area;
+
+
+      span.facing = oneOverArea * bf > 0.0F;
+   }
+
+
+   {
+      eMaj.fsy = (((vMin_fy) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+      eMaj.lines = (((((vMax_fy - eMaj.fsy) + (1 << 11) - 1) & (~((1 << 11) - 1)))) >> 11);
+      if (eMaj.lines > 0) {
+         eMaj.dxdy = eMaj.dx / eMaj.dy;
+         eMaj.fdxdy = (((int) ((((eMaj.dxdy) * ((float) (1 << 11))) >= 0.0F) ? (((eMaj.dxdy) * ((float) (1 << 11))) + 0.5F) : (((eMaj.dxdy) * ((float) (1 << 11))) - 0.5F))));
+         eMaj.adjy = (GLfloat) (eMaj.fsy - vMin_fy);
+         eMaj.fx0 = vMin_fx;
+         eMaj.fsx = eMaj.fx0 + (GLfixed) (eMaj.adjy * eMaj.dxdy);
+      }
+      else {
+         return;
+      }
+
+      eTop.fsy = (((vMid_fy) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+      eTop.lines = (((((vMax_fy - eTop.fsy) + (1 << 11) - 1) & (~((1 << 11) - 1)))) >> 11);
+      if (eTop.lines > 0) {
+         eTop.dxdy = eTop.dx / eTop.dy;
+         eTop.fdxdy = (((int) ((((eTop.dxdy) * ((float) (1 << 11))) >= 0.0F) ? (((eTop.dxdy) * ((float) (1 << 11))) + 0.5F) : (((eTop.dxdy) * ((float) (1 << 11))) - 0.5F))));
+         eTop.adjy = (GLfloat) (eTop.fsy - vMid_fy);
+         eTop.fx0 = vMid_fx;
+         eTop.fsx = eTop.fx0 + (GLfixed) (eTop.adjy * eTop.dxdy);
+      }
+
+      eBot.fsy = (((vMin_fy) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+      eBot.lines = (((((vMid_fy - eBot.fsy) + (1 << 11) - 1) & (~((1 << 11) - 1)))) >> 11);
+      if (eBot.lines > 0) {
+         eBot.dxdy = eBot.dx / eBot.dy;
+         eBot.fdxdy = (((int) ((((eBot.dxdy) * ((float) (1 << 11))) >= 0.0F) ? (((eBot.dxdy) * ((float) (1 << 11))) + 0.5F) : (((eBot.dxdy) * ((float) (1 << 11))) - 0.5F))));
+         eBot.adjy = (GLfloat) (eBot.fsy - vMin_fy);
+         eBot.fx0 = vMin_fx;
+         eBot.fsx = eBot.fx0 + (GLfixed) (eBot.adjy * eBot.dxdy);
+      }
+   }
+# 319 "swrast/s_tritemp.h"
+   {
+      GLint scan_from_left_to_right;
+
+
+
+
+
+      struct persp_info info; const struct gl_texture_unit *unit = ctx->Texture.Unit+0; const struct gl_texture_object *obj = ctx->Texture.Unit[0].CurrentTex[TEXTURE_2D_INDEX]; const struct gl_texture_image *texImg = obj->Image[0][obj->BaseLevel]; info.texture = (const GLchan *) texImg->Data; info.twidth_log2 = texImg->WidthLog2; info.smask = texImg->Width - 1; info.tmask = texImg->Height - 1; info.format = texImg->TexFormat; info.filter = obj->Sampler.MinFilter; info.envmode = unit->EnvMode; info.er = 0; info.eg = 0; info.eb = 0; if (info.envmode == 0x0BE2) { info.er = (((int) ((((unit->EnvColor[0] * 255.0F) * ((float) (1 << 11))) >= 0.0F) ? (((unit->EnvColor[0] * 255.0F) * ((float) (1 << 11))) + 0.5F) : (((unit->EnvColor[0] * 255.0F) * ((float) (1 << 11))) - 0.5F)))); info.eg = (((int) ((((unit->EnvColor[1] * 255.0F) * ((float) (1 << 11))) >= 0.0F) ? (((unit->EnvColor[1] * 255.0F) * ((float) (1 << 11))) + 0.5F) : (((unit->EnvColor[1] * 255.0F) * ((float) (1 << 11))) - 0.5F)))); info.eb = (((int) ((((unit->EnvColor[2] * 255.0F) * ((float) (1 << 11))) >= 0.0F) ? (((unit->EnvColor[2] * 255.0F) * ((float) (1 << 11))) + 0.5F) : (((unit->EnvColor[2] * 255.0F) * ((float) (1 << 11))) - 0.5F)))); info.ea = (((int) ((((unit->EnvColor[3] * 255.0F) * ((float) (1 << 11))) >= 0.0F) ? (((unit->EnvColor[3] * 255.0F) * ((float) (1 << 11))) + 0.5F) : (((unit->EnvColor[3] * 255.0F) * ((float) (1 << 11))) - 0.5F)))); } if (!info.texture) { return; } switch (info.format) { case MESA_FORMAT_RGB888: info.tbytesline = texImg->Width * 3; break; case MESA_FORMAT_RGBA8888: info.tbytesline = texImg->Width * 4; break; default: _mesa_problem(((void *)0), "Bad texture format in persp_textured_triangle"); return; } info.tsize = texImg->Height * info.tbytesline;
+
+
+      scan_from_left_to_right = (oneOverArea < 0.0F);
+
+
+
+
+      span.interpMask |= 0x02;
+      {
+         GLfloat eMaj_dz = vMax->attrib[FRAG_ATTRIB_WPOS][2] - vMin->attrib[FRAG_ATTRIB_WPOS][2];
+         GLfloat eBot_dz = vMid->attrib[FRAG_ATTRIB_WPOS][2] - vMin->attrib[FRAG_ATTRIB_WPOS][2];
+         span.attrStepX[FRAG_ATTRIB_WPOS][2] = oneOverArea * (eMaj_dz * eBot.dy - eMaj.dy * eBot_dz);
+         if (span.attrStepX[FRAG_ATTRIB_WPOS][2] > maxDepth ||
+             span.attrStepX[FRAG_ATTRIB_WPOS][2] < -maxDepth) {
+
+            span.attrStepX[FRAG_ATTRIB_WPOS][2] = 0.0;
+            span.attrStepY[FRAG_ATTRIB_WPOS][2] = 0.0;
+         }
+         else {
+            span.attrStepY[FRAG_ATTRIB_WPOS][2] = oneOverArea * (eMaj.dx * eBot_dz - eMaj_dz * eBot.dx);
+         }
+         if (depthBits <= 16)
+            span.zStep = (((int) ((((span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) - 0.5F))));
+         else
+            span.zStep = (GLint) span.attrStepX[FRAG_ATTRIB_WPOS][2];
+      }
+
+
+      span.interpMask |= 0x01;
+      if (ctx->Light.ShadeModel == 0x1D01) {
+         GLfloat eMaj_dr = (GLfloat) (vMax->color[0] - vMin->color[0]);
+         GLfloat eBot_dr = (GLfloat) (vMid->color[0] - vMin->color[0]);
+         GLfloat eMaj_dg = (GLfloat) (vMax->color[1] - vMin->color[1]);
+         GLfloat eBot_dg = (GLfloat) (vMid->color[1] - vMin->color[1]);
+         GLfloat eMaj_db = (GLfloat) (vMax->color[2] - vMin->color[2]);
+         GLfloat eBot_db = (GLfloat) (vMid->color[2] - vMin->color[2]);
+
+         GLfloat eMaj_da = (GLfloat) (vMax->color[3] - vMin->color[3]);
+         GLfloat eBot_da = (GLfloat) (vMid->color[3] - vMin->color[3]);
+
+         span.attrStepX[FRAG_ATTRIB_COL0][0] = oneOverArea * (eMaj_dr * eBot.dy - eMaj.dy * eBot_dr);
+         span.attrStepY[FRAG_ATTRIB_COL0][0] = oneOverArea * (eMaj.dx * eBot_dr - eMaj_dr * eBot.dx);
+         span.attrStepX[FRAG_ATTRIB_COL0][1] = oneOverArea * (eMaj_dg * eBot.dy - eMaj.dy * eBot_dg);
+         span.attrStepY[FRAG_ATTRIB_COL0][1] = oneOverArea * (eMaj.dx * eBot_dg - eMaj_dg * eBot.dx);
+         span.attrStepX[FRAG_ATTRIB_COL0][2] = oneOverArea * (eMaj_db * eBot.dy - eMaj.dy * eBot_db);
+         span.attrStepY[FRAG_ATTRIB_COL0][2] = oneOverArea * (eMaj.dx * eBot_db - eMaj_db * eBot.dx);
+         span.redStep = (((int) ((((span.attrStepX[FRAG_ATTRIB_COL0][0]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_COL0][0]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_COL0][0]) * ((float) (1 << 11))) - 0.5F))));
+         span.greenStep = (((int) ((((span.attrStepX[FRAG_ATTRIB_COL0][1]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_COL0][1]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_COL0][1]) * ((float) (1 << 11))) - 0.5F))));
+         span.blueStep = (((int) ((((span.attrStepX[FRAG_ATTRIB_COL0][2]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_COL0][2]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_COL0][2]) * ((float) (1 << 11))) - 0.5F))));
+
+         span.attrStepX[FRAG_ATTRIB_COL0][3] = oneOverArea * (eMaj_da * eBot.dy - eMaj.dy * eBot_da);
+         span.attrStepY[FRAG_ATTRIB_COL0][3] = oneOverArea * (eMaj.dx * eBot_da - eMaj_da * eBot.dx);
+         span.alphaStep = (((int) ((((span.attrStepX[FRAG_ATTRIB_COL0][3]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_COL0][3]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_COL0][3]) * ((float) (1 << 11))) - 0.5F))));
+
+      }
+      else {
+         ;
+         span.interpMask |= 0x04;
+         span.attrStepX[FRAG_ATTRIB_COL0][0] = span.attrStepY[FRAG_ATTRIB_COL0][0] = 0.0F;
+         span.attrStepX[FRAG_ATTRIB_COL0][1] = span.attrStepY[FRAG_ATTRIB_COL0][1] = 0.0F;
+         span.attrStepX[FRAG_ATTRIB_COL0][2] = span.attrStepY[FRAG_ATTRIB_COL0][2] = 0.0F;
+  span.redStep = 0;
+  span.greenStep = 0;
+  span.blueStep = 0;
+
+         span.attrStepX[FRAG_ATTRIB_COL0][3] = span.attrStepY[FRAG_ATTRIB_COL0][3] = 0.0F;
+  span.alphaStep = 0;
+
+      }
+# 412 "swrast/s_tritemp.h"
+      {
+
+         const GLfloat wMax = vMax->attrib[FRAG_ATTRIB_WPOS][3];
+         const GLfloat wMin = vMin->attrib[FRAG_ATTRIB_WPOS][3];
+         const GLfloat wMid = vMid->attrib[FRAG_ATTRIB_WPOS][3];
+         {
+            const GLfloat eMaj_dw = wMax - wMin;
+            const GLfloat eBot_dw = wMid - wMin;
+            span.attrStepX[FRAG_ATTRIB_WPOS][3] = oneOverArea * (eMaj_dw * eBot.dy - eMaj.dy * eBot_dw);
+            span.attrStepY[FRAG_ATTRIB_WPOS][3] = oneOverArea * (eMaj.dx * eBot_dw - eMaj_dw * eBot.dx);
+         }
+         { GLuint a; for (a = 0; a < swrast->_NumActiveAttribs; a++) { const GLuint attr = swrast->_ActiveAttribs[a];
+            if (swrast->_InterpMode[attr] == 0x1D00) {
+               do { span.attrStepX[attr][0] = 0.0; span.attrStepX[attr][1] = 0.0; span.attrStepX[attr][2] = 0.0; span.attrStepX[attr][3] = 0.0; } while(0);
+               do { span.attrStepY[attr][0] = 0.0; span.attrStepY[attr][1] = 0.0; span.attrStepY[attr][2] = 0.0; span.attrStepY[attr][3] = 0.0; } while(0);
+            }
+            else {
+               GLuint c;
+               for (c = 0; c < 4; c++) {
+                  GLfloat eMaj_da = vMax->attrib[attr][c] * wMax - vMin->attrib[attr][c] * wMin;
+                  GLfloat eBot_da = vMid->attrib[attr][c] * wMid - vMin->attrib[attr][c] * wMin;
+                  span.attrStepX[attr][c] = oneOverArea * (eMaj_da * eBot.dy - eMaj.dy * eBot_da);
+                  span.attrStepY[attr][c] = oneOverArea * (eMaj.dx * eBot_da - eMaj_da * eBot.dx);
+               }
+            }
+         } }
+      }
+# 488 "swrast/s_tritemp.h"
+      {
+         GLint subTriangle;
+         GLfixed fxLeftEdge = 0, fxRightEdge = 0;
+         GLfixed fdxLeftEdge = 0, fdxRightEdge = 0;
+         GLfixed fError = 0, fdError = 0;
+# 504 "swrast/s_tritemp.h"
+         GLuint zLeft = 0;
+         GLfixed fdzOuter = 0, fdzInner;
+
+
+         GLint rLeft = 0, fdrOuter = 0, fdrInner;
+         GLint gLeft = 0, fdgOuter = 0, fdgInner;
+         GLint bLeft = 0, fdbOuter = 0, fdbInner;
+
+
+         GLint aLeft = 0, fdaOuter = 0, fdaInner;
+
+
+
+
+
+
+         GLfloat wLeft = 0, dwOuter = 0, dwInner;
+         GLfloat attrLeft[FRAG_ATTRIB_MAX][4];
+         GLfloat daOuter[FRAG_ATTRIB_MAX][4], daInner[FRAG_ATTRIB_MAX][4];
+
+
+         for (subTriangle=0; subTriangle<=1; subTriangle++) {
+            EdgeT *eLeft, *eRight;
+            int setupLeft, setupRight;
+            int lines;
+
+            if (subTriangle==0) {
+
+               if (scan_from_left_to_right) {
+                  eLeft = &eMaj;
+                  eRight = &eBot;
+                  lines = eRight->lines;
+                  setupLeft = 1;
+                  setupRight = 1;
+               }
+               else {
+                  eLeft = &eBot;
+                  eRight = &eMaj;
+                  lines = eLeft->lines;
+                  setupLeft = 1;
+                  setupRight = 1;
+               }
+            }
+            else {
+
+               if (scan_from_left_to_right) {
+                  eLeft = &eMaj;
+                  eRight = &eTop;
+                  lines = eRight->lines;
+                  setupLeft = 0;
+                  setupRight = 1;
+               }
+               else {
+                  eLeft = &eTop;
+                  eRight = &eMaj;
+                  lines = eLeft->lines;
+                  setupLeft = 1;
+                  setupRight = 0;
+               }
+               if (lines == 0)
+                  return;
+            }
+
+            if (setupLeft && eLeft->lines > 0) {
+               const SWvertex *vLower = eLeft->v0;
+               const GLfixed fsy = eLeft->fsy;
+               const GLfixed fsx = eLeft->fsx;
+               const GLfixed fx = (((fsx) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+               const GLfixed adjx = (GLfixed) (fx - eLeft->fx0);
+               const GLfixed adjy = (GLfixed) eLeft->adjy;
+               GLint idxOuter;
+               GLfloat dxOuter;
+               GLfixed fdxOuter;
+
+               fError = fx - fsx - (1 << 11);
+               fxLeftEdge = fsx - 1;
+               fdxLeftEdge = eLeft->fdxdy;
+               fdxOuter = ((fdxLeftEdge - 1) & (~((1 << 11) - 1)));
+               fdError = fdxOuter - fdxLeftEdge + (1 << 11);
+               idxOuter = ((fdxOuter) >> 11);
+               dxOuter = (GLfloat) idxOuter;
+               span.y = ((fsy) >> 11);
+
+
+               (void) dxOuter;
+               (void) adjx;
+               (void) adjy;
+               (void) vLower;
+# 611 "swrast/s_tritemp.h"
+               {
+                  GLfloat z0 = vLower->attrib[FRAG_ATTRIB_WPOS][2];
+                  if (depthBits <= 16) {
+
+                     GLfloat tmp = (z0 * ((float) (1 << 11))
+                                    + span.attrStepX[FRAG_ATTRIB_WPOS][2] * adjx
+                                    + span.attrStepY[FRAG_ATTRIB_WPOS][2] * adjy) + (1 << (11 -1));
+                     if (tmp < 0xffffffff / 2)
+                        zLeft = (GLfixed) tmp;
+                     else
+                        zLeft = 0xffffffff / 2;
+                     fdzOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_WPOS][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_WPOS][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_WPOS][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                                 ;
+                  }
+                  else {
+
+                     zLeft = (GLuint) (z0 + span.attrStepX[FRAG_ATTRIB_WPOS][2] * ((adjx) * (1.0F / ((float) (1 << 11))))
+                                          + span.attrStepY[FRAG_ATTRIB_WPOS][2] * ((adjy) * (1.0F / ((float) (1 << 11)))));
+                     fdzOuter = (GLint) (span.attrStepY[FRAG_ATTRIB_WPOS][2] +
+                                         dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]);
+                  }
+
+
+
+
+
+               }
+
+
+               if (ctx->Light.ShadeModel == 0x1D01) {
+                  rLeft = (GLint)(((vLower->color[0]) << 11)
+                                  + span.attrStepX[FRAG_ATTRIB_COL0][0] * adjx
+                                  + span.attrStepY[FRAG_ATTRIB_COL0][0] * adjy) + (1 << (11 -1));
+                  gLeft = (GLint)(((vLower->color[1]) << 11)
+                                  + span.attrStepX[FRAG_ATTRIB_COL0][1] * adjx
+                                  + span.attrStepY[FRAG_ATTRIB_COL0][1] * adjy) + (1 << (11 -1));
+                  bLeft = (GLint)(((vLower->color[2]) << 11)
+                                  + span.attrStepX[FRAG_ATTRIB_COL0][2] * adjx
+                                  + span.attrStepY[FRAG_ATTRIB_COL0][2] * adjy) + (1 << (11 -1));
+                  fdrOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_COL0][0] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][0]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_COL0][0] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][0]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_COL0][0] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][0]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                                ;
+                  fdgOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_COL0][1] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][1]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_COL0][1] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][1]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_COL0][1] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][1]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                                ;
+                  fdbOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_COL0][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][2]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_COL0][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][2]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_COL0][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][2]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                                ;
+
+                  aLeft = (GLint)(((vLower->color[3]) << 11)
+                                  + span.attrStepX[FRAG_ATTRIB_COL0][3] * adjx
+                                  + span.attrStepY[FRAG_ATTRIB_COL0][3] * adjy) + (1 << (11 -1));
+                  fdaOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_COL0][3] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][3]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_COL0][3] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][3]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_COL0][3] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][3]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                                ;
+
+               }
+               else {
+                  ;
+                  rLeft = ((v2->color[0]) << 11);
+                  gLeft = ((v2->color[1]) << 11);
+                  bLeft = ((v2->color[2]) << 11);
+                  fdrOuter = fdgOuter = fdbOuter = 0;
+
+                  aLeft = ((v2->color[3]) << 11);
+                  fdaOuter = 0;
+
+               }
+# 695 "swrast/s_tritemp.h"
+               {
+                  const GLuint attr = FRAG_ATTRIB_WPOS;
+                  wLeft = vLower->attrib[FRAG_ATTRIB_WPOS][3]
+                        + (span.attrStepX[attr][3] * adjx
+                           + span.attrStepY[attr][3] * adjy) * (1.0F/((float) (1 << 11)));
+                  dwOuter = span.attrStepY[attr][3] + dxOuter * span.attrStepX[attr][3];
+               }
+               { GLuint a; for (a = 0; a < swrast->_NumActiveAttribs; a++) { const GLuint attr = swrast->_ActiveAttribs[a];
+                  const GLfloat invW = vLower->attrib[FRAG_ATTRIB_WPOS][3];
+                  if (swrast->_InterpMode[attr] == 0x1D00) {
+                     GLuint c;
+                     for (c = 0; c < 4; c++) {
+                        attrLeft[attr][c] = v2->attrib[attr][c] * invW;
+                        daOuter[attr][c] = 0.0;
+                     }
+                  }
+                  else {
+                     GLuint c;
+                     for (c = 0; c < 4; c++) {
+                        const GLfloat a = vLower->attrib[attr][c] * invW;
+                        attrLeft[attr][c] = a + ( span.attrStepX[attr][c] * adjx
+                                                 + span.attrStepY[attr][c] * adjy) * (1.0F/((float) (1 << 11)));
+                        daOuter[attr][c] = span.attrStepY[attr][c] + dxOuter * span.attrStepX[attr][c];
+                     }
+                  }
+               } }
+
+            }
+
+
+            if (setupRight && eRight->lines>0) {
+               fxRightEdge = eRight->fsx - 1;
+               fdxRightEdge = eRight->fdxdy;
+            }
+
+            if (lines==0) {
+               continue;
+            }
+# 743 "swrast/s_tritemp.h"
+            fdzInner = fdzOuter + span.zStep;
+
+
+            fdrInner = fdrOuter + span.redStep;
+            fdgInner = fdgOuter + span.greenStep;
+            fdbInner = fdbOuter + span.blueStep;
+
+
+            fdaInner = fdaOuter + span.alphaStep;
+
+
+
+
+
+
+            dwInner = dwOuter + span.attrStepX[FRAG_ATTRIB_WPOS][3];
+            { GLuint a; for (a = 0; a < swrast->_NumActiveAttribs; a++) { const GLuint attr = swrast->_ActiveAttribs[a];
+               GLuint c;
+               for (c = 0; c < 4; c++) {
+                  daInner[attr][c] = daOuter[attr][c] + span.attrStepX[attr][c];
+               }
+            } }
+
+
+            while (lines > 0) {
+
+
+               const GLint right = ((fxRightEdge) >> 11);
+               span.x = ((fxLeftEdge) >> 11);
+               if (right <= span.x)
+                  span.end = 0;
+               else
+                  span.end = right - span.x;
+
+
+               span.z = zLeft;
+
+
+               span.red = rLeft;
+               span.green = gLeft;
+               span.blue = bLeft;
+
+
+               span.alpha = aLeft;
+
+
+
+
+
+
+
+               span.attrStart[FRAG_ATTRIB_WPOS][3] = wLeft;
+               { GLuint a; for (a = 0; a < swrast->_NumActiveAttribs; a++) { const GLuint attr = swrast->_ActiveAttribs[a];
+                  GLuint c;
+                  for (c = 0; c < 4; c++) {
+                     span.attrStart[attr][c] = attrLeft[attr][c];
+                  }
+               } }
+
+
+
+
+
+
+               if (span.end > 0 && span.y >= 0) {
+                  const GLint len = span.end - 1;
+                  (void) len;
+
+                  do { GLfixed endVal = span.red + (len) * span.redStep; if (endVal < 0) { span.red -= endVal; } if (span.red < 0) { span.red = 0; } } while (0);
+                  do { GLfixed endVal = span.green + (len) * span.greenStep; if (endVal < 0) { span.green -= endVal; } if (span.green < 0) { span.green = 0; } } while (0);
+                  do { GLfixed endVal = span.blue + (len) * span.blueStep; if (endVal < 0) { span.blue -= endVal; } if (span.blue < 0) { span.blue = 0; } } while (0);
+
+
+                  do { GLfixed endVal = span.alpha + (len) * span.alphaStep; if (endVal < 0) { span.alpha -= endVal; } if (span.alpha < 0) { span.alpha = 0; } } while (0);
+
+                  {
+                     span.interpMask &= ~0x01; span.arrayMask |= 0x01; fast_persp_span(ctx, &span, &info);;
+                  }
+               }
+
+
+
+
+
+
+
+               span.y++;
+               lines--;
+
+               fxLeftEdge += fdxLeftEdge;
+               fxRightEdge += fdxRightEdge;
+
+               fError += fdError;
+               if (fError >= 0) {
+                  fError -= (1 << 11);
+# 846 "swrast/s_tritemp.h"
+                  zLeft += fdzOuter;
+
+
+                  rLeft += fdrOuter;
+                  gLeft += fdgOuter;
+                  bLeft += fdbOuter;
+
+
+                  aLeft += fdaOuter;
+
+
+
+
+
+
+                  wLeft += dwOuter;
+                  { GLuint a; for (a = 0; a < swrast->_NumActiveAttribs; a++) { const GLuint attr = swrast->_ActiveAttribs[a];
+                     GLuint c;
+                     for (c = 0; c < 4; c++) {
+                        attrLeft[attr][c] += daOuter[attr][c];
+                     }
+                  } }
+
+               }
+               else {
+
+
+
+
+
+
+
+                  zLeft += fdzInner;
+
+
+                  rLeft += fdrInner;
+                  gLeft += fdgInner;
+                  bLeft += fdbInner;
+
+
+                  aLeft += fdaInner;
+
+
+
+
+
+
+                  wLeft += dwInner;
+                  { GLuint a; for (a = 0; a < swrast->_NumActiveAttribs; a++) { const GLuint attr = swrast->_ActiveAttribs[a];
+                     GLuint c;
+                     for (c = 0; c < 4; c++) {
+                        attrLeft[attr][c] += daInner[attr][c];
+                     }
+                  } }
+
+               }
+            }
+
+         }
+
+      }
+   }
+}
+# 845 "swrast/s_triangle.c" 2
+# 859 "swrast/s_triangle.c"
+# 1 "swrast/s_tritemp.h" 1
+# 111 "swrast/s_tritemp.h"
+static void general_triangle(struct gl_context *ctx, const SWvertex *v0,
+                                 const SWvertex *v1,
+                                 const SWvertex *v2 )
+{
+   typedef struct {
+      const SWvertex *v0, *v1;
+      GLfloat dx;
+      GLfloat dy;
+      GLfloat dxdy;
+      GLfixed fdxdy;
+      GLfloat adjy;
+      GLfixed fsx;
+      GLfixed fsy;
+      GLfixed fx0;
+      GLint lines;
+   } EdgeT;
+
+   const SWcontext *swrast = SWRAST_CONTEXT(ctx);
+
+   const GLint depthBits = ctx->DrawBuffer->Visual.depthBits;
+   const GLint fixedToDepthShift = depthBits <= 16 ? 11 : 0;
+   const GLfloat maxDepth = ctx->DrawBuffer->_DepthMaxF;
+
+
+   EdgeT eMaj, eTop, eBot;
+   GLfloat oneOverArea;
+   const SWvertex *vMin, *vMid, *vMax;
+   GLfloat bf = SWRAST_CONTEXT(ctx)->_BackfaceSign;
+   const GLint snapMask = ~(((1 << 11) / (1 << 4)) - 1);
+   GLfixed vMin_fx, vMin_fy, vMid_fx, vMid_fy, vMax_fx, vMax_fy;
+
+   SWspan span;
+
+   (void) swrast;
+
+   do { (span).primitive = (0x0009); (span).interpMask = 0x0; (span).arrayMask = 0x0; (span).arrayAttribs = 0x0; (span).end = 0; (span).leftClip = 0; (span).facing = 0; (span).array = SWRAST_CONTEXT(ctx)->SpanArrays; } while (0);
+   span.y = 0;
+
+
+   (void) fixedToDepthShift;
+# 172 "swrast/s_tritemp.h"
+   {
+      const GLfixed fy0 = (((int) ((((v0->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((v0->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) + 0.5F) : (((v0->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      const GLfixed fy1 = (((int) ((((v1->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((v1->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) + 0.5F) : (((v1->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      const GLfixed fy2 = (((int) ((((v2->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((v2->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) + 0.5F) : (((v2->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      if (fy0 <= fy1) {
+         if (fy1 <= fy2) {
+
+            vMin = v0; vMid = v1; vMax = v2;
+            vMin_fy = fy0; vMid_fy = fy1; vMax_fy = fy2;
+         }
+         else if (fy2 <= fy0) {
+
+            vMin = v2; vMid = v0; vMax = v1;
+            vMin_fy = fy2; vMid_fy = fy0; vMax_fy = fy1;
+         }
+         else {
+
+            vMin = v0; vMid = v2; vMax = v1;
+            vMin_fy = fy0; vMid_fy = fy2; vMax_fy = fy1;
+            bf = -bf;
+         }
+      }
+      else {
+         if (fy0 <= fy2) {
+
+            vMin = v1; vMid = v0; vMax = v2;
+            vMin_fy = fy1; vMid_fy = fy0; vMax_fy = fy2;
+            bf = -bf;
+         }
+         else if (fy2 <= fy1) {
+
+            vMin = v2; vMid = v1; vMax = v0;
+            vMin_fy = fy2; vMid_fy = fy1; vMax_fy = fy0;
+            bf = -bf;
+         }
+         else {
+
+            vMin = v1; vMid = v2; vMax = v0;
+            vMin_fy = fy1; vMid_fy = fy2; vMax_fy = fy0;
+         }
+      }
+
+
+      vMin_fx = (((int) ((((vMin->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((vMin->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) + 0.5F) : (((vMin->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      vMid_fx = (((int) ((((vMid->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((vMid->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) + 0.5F) : (((vMid->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      vMax_fx = (((int) ((((vMax->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((vMax->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) + 0.5F) : (((vMax->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+   }
+
+
+   eMaj.v0 = vMin; eMaj.v1 = vMax;
+   eTop.v0 = vMid; eTop.v1 = vMax;
+   eBot.v0 = vMin; eBot.v1 = vMid;
+
+
+   eMaj.dx = ((vMax_fx - vMin_fx) * (1.0F / ((float) (1 << 11))));
+   eMaj.dy = ((vMax_fy - vMin_fy) * (1.0F / ((float) (1 << 11))));
+   eTop.dx = ((vMax_fx - vMid_fx) * (1.0F / ((float) (1 << 11))));
+   eTop.dy = ((vMax_fy - vMid_fy) * (1.0F / ((float) (1 << 11))));
+   eBot.dx = ((vMid_fx - vMin_fx) * (1.0F / ((float) (1 << 11))));
+   eBot.dy = ((vMid_fy - vMin_fy) * (1.0F / ((float) (1 << 11))));
+
+
+   {
+      const GLfloat area = eMaj.dx * eBot.dy - eBot.dx * eMaj.dy;
+
+      if (IS_INF_OR_NAN(area) || area == 0.0F)
+         return;
+
+      if (area * bf * swrast->_BackfaceCullSign < 0.0)
+         return;
+
+      oneOverArea = 1.0F / area;
+
+
+      span.facing = oneOverArea * bf > 0.0F;
+   }
+
+
+   {
+      eMaj.fsy = (((vMin_fy) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+      eMaj.lines = (((((vMax_fy - eMaj.fsy) + (1 << 11) - 1) & (~((1 << 11) - 1)))) >> 11);
+      if (eMaj.lines > 0) {
+         eMaj.dxdy = eMaj.dx / eMaj.dy;
+         eMaj.fdxdy = (((int) ((((eMaj.dxdy) * ((float) (1 << 11))) >= 0.0F) ? (((eMaj.dxdy) * ((float) (1 << 11))) + 0.5F) : (((eMaj.dxdy) * ((float) (1 << 11))) - 0.5F))));
+         eMaj.adjy = (GLfloat) (eMaj.fsy - vMin_fy);
+         eMaj.fx0 = vMin_fx;
+         eMaj.fsx = eMaj.fx0 + (GLfixed) (eMaj.adjy * eMaj.dxdy);
+      }
+      else {
+         return;
+      }
+
+      eTop.fsy = (((vMid_fy) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+      eTop.lines = (((((vMax_fy - eTop.fsy) + (1 << 11) - 1) & (~((1 << 11) - 1)))) >> 11);
+      if (eTop.lines > 0) {
+         eTop.dxdy = eTop.dx / eTop.dy;
+         eTop.fdxdy = (((int) ((((eTop.dxdy) * ((float) (1 << 11))) >= 0.0F) ? (((eTop.dxdy) * ((float) (1 << 11))) + 0.5F) : (((eTop.dxdy) * ((float) (1 << 11))) - 0.5F))));
+         eTop.adjy = (GLfloat) (eTop.fsy - vMid_fy);
+         eTop.fx0 = vMid_fx;
+         eTop.fsx = eTop.fx0 + (GLfixed) (eTop.adjy * eTop.dxdy);
+      }
+
+      eBot.fsy = (((vMin_fy) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+      eBot.lines = (((((vMid_fy - eBot.fsy) + (1 << 11) - 1) & (~((1 << 11) - 1)))) >> 11);
+      if (eBot.lines > 0) {
+         eBot.dxdy = eBot.dx / eBot.dy;
+         eBot.fdxdy = (((int) ((((eBot.dxdy) * ((float) (1 << 11))) >= 0.0F) ? (((eBot.dxdy) * ((float) (1 << 11))) + 0.5F) : (((eBot.dxdy) * ((float) (1 << 11))) - 0.5F))));
+         eBot.adjy = (GLfloat) (eBot.fsy - vMin_fy);
+         eBot.fx0 = vMin_fx;
+         eBot.fsx = eBot.fx0 + (GLfixed) (eBot.adjy * eBot.dxdy);
+      }
+   }
+# 319 "swrast/s_tritemp.h"
+   {
+      GLint scan_from_left_to_right;
+# 329 "swrast/s_tritemp.h"
+      scan_from_left_to_right = (oneOverArea < 0.0F);
+
+
+
+
+      span.interpMask |= 0x02;
+      {
+         GLfloat eMaj_dz = vMax->attrib[FRAG_ATTRIB_WPOS][2] - vMin->attrib[FRAG_ATTRIB_WPOS][2];
+         GLfloat eBot_dz = vMid->attrib[FRAG_ATTRIB_WPOS][2] - vMin->attrib[FRAG_ATTRIB_WPOS][2];
+         span.attrStepX[FRAG_ATTRIB_WPOS][2] = oneOverArea * (eMaj_dz * eBot.dy - eMaj.dy * eBot_dz);
+         if (span.attrStepX[FRAG_ATTRIB_WPOS][2] > maxDepth ||
+             span.attrStepX[FRAG_ATTRIB_WPOS][2] < -maxDepth) {
+
+            span.attrStepX[FRAG_ATTRIB_WPOS][2] = 0.0;
+            span.attrStepY[FRAG_ATTRIB_WPOS][2] = 0.0;
+         }
+         else {
+            span.attrStepY[FRAG_ATTRIB_WPOS][2] = oneOverArea * (eMaj.dx * eBot_dz - eMaj_dz * eBot.dx);
+         }
+         if (depthBits <= 16)
+            span.zStep = (((int) ((((span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) - 0.5F))));
+         else
+            span.zStep = (GLint) span.attrStepX[FRAG_ATTRIB_WPOS][2];
+      }
+
+
+      span.interpMask |= 0x01;
+      if (ctx->Light.ShadeModel == 0x1D01) {
+         GLfloat eMaj_dr = (GLfloat) (vMax->color[0] - vMin->color[0]);
+         GLfloat eBot_dr = (GLfloat) (vMid->color[0] - vMin->color[0]);
+         GLfloat eMaj_dg = (GLfloat) (vMax->color[1] - vMin->color[1]);
+         GLfloat eBot_dg = (GLfloat) (vMid->color[1] - vMin->color[1]);
+         GLfloat eMaj_db = (GLfloat) (vMax->color[2] - vMin->color[2]);
+         GLfloat eBot_db = (GLfloat) (vMid->color[2] - vMin->color[2]);
+
+         GLfloat eMaj_da = (GLfloat) (vMax->color[3] - vMin->color[3]);
+         GLfloat eBot_da = (GLfloat) (vMid->color[3] - vMin->color[3]);
+
+         span.attrStepX[FRAG_ATTRIB_COL0][0] = oneOverArea * (eMaj_dr * eBot.dy - eMaj.dy * eBot_dr);
+         span.attrStepY[FRAG_ATTRIB_COL0][0] = oneOverArea * (eMaj.dx * eBot_dr - eMaj_dr * eBot.dx);
+         span.attrStepX[FRAG_ATTRIB_COL0][1] = oneOverArea * (eMaj_dg * eBot.dy - eMaj.dy * eBot_dg);
+         span.attrStepY[FRAG_ATTRIB_COL0][1] = oneOverArea * (eMaj.dx * eBot_dg - eMaj_dg * eBot.dx);
+         span.attrStepX[FRAG_ATTRIB_COL0][2] = oneOverArea * (eMaj_db * eBot.dy - eMaj.dy * eBot_db);
+         span.attrStepY[FRAG_ATTRIB_COL0][2] = oneOverArea * (eMaj.dx * eBot_db - eMaj_db * eBot.dx);
+         span.redStep = (((int) ((((span.attrStepX[FRAG_ATTRIB_COL0][0]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_COL0][0]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_COL0][0]) * ((float) (1 << 11))) - 0.5F))));
+         span.greenStep = (((int) ((((span.attrStepX[FRAG_ATTRIB_COL0][1]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_COL0][1]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_COL0][1]) * ((float) (1 << 11))) - 0.5F))));
+         span.blueStep = (((int) ((((span.attrStepX[FRAG_ATTRIB_COL0][2]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_COL0][2]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_COL0][2]) * ((float) (1 << 11))) - 0.5F))));
+
+         span.attrStepX[FRAG_ATTRIB_COL0][3] = oneOverArea * (eMaj_da * eBot.dy - eMaj.dy * eBot_da);
+         span.attrStepY[FRAG_ATTRIB_COL0][3] = oneOverArea * (eMaj.dx * eBot_da - eMaj_da * eBot.dx);
+         span.alphaStep = (((int) ((((span.attrStepX[FRAG_ATTRIB_COL0][3]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_COL0][3]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_COL0][3]) * ((float) (1 << 11))) - 0.5F))));
+
+      }
+      else {
+         ;
+         span.interpMask |= 0x04;
+         span.attrStepX[FRAG_ATTRIB_COL0][0] = span.attrStepY[FRAG_ATTRIB_COL0][0] = 0.0F;
+         span.attrStepX[FRAG_ATTRIB_COL0][1] = span.attrStepY[FRAG_ATTRIB_COL0][1] = 0.0F;
+         span.attrStepX[FRAG_ATTRIB_COL0][2] = span.attrStepY[FRAG_ATTRIB_COL0][2] = 0.0F;
+  span.redStep = 0;
+  span.greenStep = 0;
+  span.blueStep = 0;
+
+         span.attrStepX[FRAG_ATTRIB_COL0][3] = span.attrStepY[FRAG_ATTRIB_COL0][3] = 0.0F;
+  span.alphaStep = 0;
+
+      }
+# 412 "swrast/s_tritemp.h"
+      {
+
+         const GLfloat wMax = vMax->attrib[FRAG_ATTRIB_WPOS][3];
+         const GLfloat wMin = vMin->attrib[FRAG_ATTRIB_WPOS][3];
+         const GLfloat wMid = vMid->attrib[FRAG_ATTRIB_WPOS][3];
+         {
+            const GLfloat eMaj_dw = wMax - wMin;
+            const GLfloat eBot_dw = wMid - wMin;
+            span.attrStepX[FRAG_ATTRIB_WPOS][3] = oneOverArea * (eMaj_dw * eBot.dy - eMaj.dy * eBot_dw);
+            span.attrStepY[FRAG_ATTRIB_WPOS][3] = oneOverArea * (eMaj.dx * eBot_dw - eMaj_dw * eBot.dx);
+         }
+         { GLuint a; for (a = 0; a < swrast->_NumActiveAttribs; a++) { const GLuint attr = swrast->_ActiveAttribs[a];
+            if (swrast->_InterpMode[attr] == 0x1D00) {
+               do { span.attrStepX[attr][0] = 0.0; span.attrStepX[attr][1] = 0.0; span.attrStepX[attr][2] = 0.0; span.attrStepX[attr][3] = 0.0; } while(0);
+               do { span.attrStepY[attr][0] = 0.0; span.attrStepY[attr][1] = 0.0; span.attrStepY[attr][2] = 0.0; span.attrStepY[attr][3] = 0.0; } while(0);
+            }
+            else {
+               GLuint c;
+               for (c = 0; c < 4; c++) {
+                  GLfloat eMaj_da = vMax->attrib[attr][c] * wMax - vMin->attrib[attr][c] * wMin;
+                  GLfloat eBot_da = vMid->attrib[attr][c] * wMid - vMin->attrib[attr][c] * wMin;
+                  span.attrStepX[attr][c] = oneOverArea * (eMaj_da * eBot.dy - eMaj.dy * eBot_da);
+                  span.attrStepY[attr][c] = oneOverArea * (eMaj.dx * eBot_da - eMaj_da * eBot.dx);
+               }
+            }
+         } }
+      }
+# 488 "swrast/s_tritemp.h"
+      {
+         GLint subTriangle;
+         GLfixed fxLeftEdge = 0, fxRightEdge = 0;
+         GLfixed fdxLeftEdge = 0, fdxRightEdge = 0;
+         GLfixed fError = 0, fdError = 0;
+# 504 "swrast/s_tritemp.h"
+         GLuint zLeft = 0;
+         GLfixed fdzOuter = 0, fdzInner;
+
+
+         GLint rLeft = 0, fdrOuter = 0, fdrInner;
+         GLint gLeft = 0, fdgOuter = 0, fdgInner;
+         GLint bLeft = 0, fdbOuter = 0, fdbInner;
+
+
+         GLint aLeft = 0, fdaOuter = 0, fdaInner;
+
+
+
+
+
+
+         GLfloat wLeft = 0, dwOuter = 0, dwInner;
+         GLfloat attrLeft[FRAG_ATTRIB_MAX][4];
+         GLfloat daOuter[FRAG_ATTRIB_MAX][4], daInner[FRAG_ATTRIB_MAX][4];
+
+
+         for (subTriangle=0; subTriangle<=1; subTriangle++) {
+            EdgeT *eLeft, *eRight;
+            int setupLeft, setupRight;
+            int lines;
+
+            if (subTriangle==0) {
+
+               if (scan_from_left_to_right) {
+                  eLeft = &eMaj;
+                  eRight = &eBot;
+                  lines = eRight->lines;
+                  setupLeft = 1;
+                  setupRight = 1;
+               }
+               else {
+                  eLeft = &eBot;
+                  eRight = &eMaj;
+                  lines = eLeft->lines;
+                  setupLeft = 1;
+                  setupRight = 1;
+               }
+            }
+            else {
+
+               if (scan_from_left_to_right) {
+                  eLeft = &eMaj;
+                  eRight = &eTop;
+                  lines = eRight->lines;
+                  setupLeft = 0;
+                  setupRight = 1;
+               }
+               else {
+                  eLeft = &eTop;
+                  eRight = &eMaj;
+                  lines = eLeft->lines;
+                  setupLeft = 1;
+                  setupRight = 0;
+               }
+               if (lines == 0)
+                  return;
+            }
+
+            if (setupLeft && eLeft->lines > 0) {
+               const SWvertex *vLower = eLeft->v0;
+               const GLfixed fsy = eLeft->fsy;
+               const GLfixed fsx = eLeft->fsx;
+               const GLfixed fx = (((fsx) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+               const GLfixed adjx = (GLfixed) (fx - eLeft->fx0);
+               const GLfixed adjy = (GLfixed) eLeft->adjy;
+               GLint idxOuter;
+               GLfloat dxOuter;
+               GLfixed fdxOuter;
+
+               fError = fx - fsx - (1 << 11);
+               fxLeftEdge = fsx - 1;
+               fdxLeftEdge = eLeft->fdxdy;
+               fdxOuter = ((fdxLeftEdge - 1) & (~((1 << 11) - 1)));
+               fdError = fdxOuter - fdxLeftEdge + (1 << 11);
+               idxOuter = ((fdxOuter) >> 11);
+               dxOuter = (GLfloat) idxOuter;
+               span.y = ((fsy) >> 11);
+
+
+               (void) dxOuter;
+               (void) adjx;
+               (void) adjy;
+               (void) vLower;
+# 611 "swrast/s_tritemp.h"
+               {
+                  GLfloat z0 = vLower->attrib[FRAG_ATTRIB_WPOS][2];
+                  if (depthBits <= 16) {
+
+                     GLfloat tmp = (z0 * ((float) (1 << 11))
+                                    + span.attrStepX[FRAG_ATTRIB_WPOS][2] * adjx
+                                    + span.attrStepY[FRAG_ATTRIB_WPOS][2] * adjy) + (1 << (11 -1));
+                     if (tmp < 0xffffffff / 2)
+                        zLeft = (GLfixed) tmp;
+                     else
+                        zLeft = 0xffffffff / 2;
+                     fdzOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_WPOS][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_WPOS][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_WPOS][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                                 ;
+                  }
+                  else {
+
+                     zLeft = (GLuint) (z0 + span.attrStepX[FRAG_ATTRIB_WPOS][2] * ((adjx) * (1.0F / ((float) (1 << 11))))
+                                          + span.attrStepY[FRAG_ATTRIB_WPOS][2] * ((adjy) * (1.0F / ((float) (1 << 11)))));
+                     fdzOuter = (GLint) (span.attrStepY[FRAG_ATTRIB_WPOS][2] +
+                                         dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]);
+                  }
+
+
+
+
+
+               }
+
+
+               if (ctx->Light.ShadeModel == 0x1D01) {
+                  rLeft = (GLint)(((vLower->color[0]) << 11)
+                                  + span.attrStepX[FRAG_ATTRIB_COL0][0] * adjx
+                                  + span.attrStepY[FRAG_ATTRIB_COL0][0] * adjy) + (1 << (11 -1));
+                  gLeft = (GLint)(((vLower->color[1]) << 11)
+                                  + span.attrStepX[FRAG_ATTRIB_COL0][1] * adjx
+                                  + span.attrStepY[FRAG_ATTRIB_COL0][1] * adjy) + (1 << (11 -1));
+                  bLeft = (GLint)(((vLower->color[2]) << 11)
+                                  + span.attrStepX[FRAG_ATTRIB_COL0][2] * adjx
+                                  + span.attrStepY[FRAG_ATTRIB_COL0][2] * adjy) + (1 << (11 -1));
+                  fdrOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_COL0][0] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][0]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_COL0][0] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][0]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_COL0][0] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][0]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                                ;
+                  fdgOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_COL0][1] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][1]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_COL0][1] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][1]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_COL0][1] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][1]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                                ;
+                  fdbOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_COL0][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][2]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_COL0][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][2]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_COL0][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][2]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                                ;
+
+                  aLeft = (GLint)(((vLower->color[3]) << 11)
+                                  + span.attrStepX[FRAG_ATTRIB_COL0][3] * adjx
+                                  + span.attrStepY[FRAG_ATTRIB_COL0][3] * adjy) + (1 << (11 -1));
+                  fdaOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_COL0][3] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][3]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_COL0][3] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][3]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_COL0][3] + dxOuter * span.attrStepX[FRAG_ATTRIB_COL0][3]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                                ;
+
+               }
+               else {
+                  ;
+                  rLeft = ((v2->color[0]) << 11);
+                  gLeft = ((v2->color[1]) << 11);
+                  bLeft = ((v2->color[2]) << 11);
+                  fdrOuter = fdgOuter = fdbOuter = 0;
+
+                  aLeft = ((v2->color[3]) << 11);
+                  fdaOuter = 0;
+
+               }
+# 695 "swrast/s_tritemp.h"
+               {
+                  const GLuint attr = FRAG_ATTRIB_WPOS;
+                  wLeft = vLower->attrib[FRAG_ATTRIB_WPOS][3]
+                        + (span.attrStepX[attr][3] * adjx
+                           + span.attrStepY[attr][3] * adjy) * (1.0F/((float) (1 << 11)));
+                  dwOuter = span.attrStepY[attr][3] + dxOuter * span.attrStepX[attr][3];
+               }
+               { GLuint a; for (a = 0; a < swrast->_NumActiveAttribs; a++) { const GLuint attr = swrast->_ActiveAttribs[a];
+                  const GLfloat invW = vLower->attrib[FRAG_ATTRIB_WPOS][3];
+                  if (swrast->_InterpMode[attr] == 0x1D00) {
+                     GLuint c;
+                     for (c = 0; c < 4; c++) {
+                        attrLeft[attr][c] = v2->attrib[attr][c] * invW;
+                        daOuter[attr][c] = 0.0;
+                     }
+                  }
+                  else {
+                     GLuint c;
+                     for (c = 0; c < 4; c++) {
+                        const GLfloat a = vLower->attrib[attr][c] * invW;
+                        attrLeft[attr][c] = a + ( span.attrStepX[attr][c] * adjx
+                                                 + span.attrStepY[attr][c] * adjy) * (1.0F/((float) (1 << 11)));
+                        daOuter[attr][c] = span.attrStepY[attr][c] + dxOuter * span.attrStepX[attr][c];
+                     }
+                  }
+               } }
+
+            }
+
+
+            if (setupRight && eRight->lines>0) {
+               fxRightEdge = eRight->fsx - 1;
+               fdxRightEdge = eRight->fdxdy;
+            }
+
+            if (lines==0) {
+               continue;
+            }
+# 743 "swrast/s_tritemp.h"
+            fdzInner = fdzOuter + span.zStep;
+
+
+            fdrInner = fdrOuter + span.redStep;
+            fdgInner = fdgOuter + span.greenStep;
+            fdbInner = fdbOuter + span.blueStep;
+
+
+            fdaInner = fdaOuter + span.alphaStep;
+
+
+
+
+
+
+            dwInner = dwOuter + span.attrStepX[FRAG_ATTRIB_WPOS][3];
+            { GLuint a; for (a = 0; a < swrast->_NumActiveAttribs; a++) { const GLuint attr = swrast->_ActiveAttribs[a];
+               GLuint c;
+               for (c = 0; c < 4; c++) {
+                  daInner[attr][c] = daOuter[attr][c] + span.attrStepX[attr][c];
+               }
+            } }
+
+
+            while (lines > 0) {
+
+
+               const GLint right = ((fxRightEdge) >> 11);
+               span.x = ((fxLeftEdge) >> 11);
+               if (right <= span.x)
+                  span.end = 0;
+               else
+                  span.end = right - span.x;
+
+
+               span.z = zLeft;
+
+
+               span.red = rLeft;
+               span.green = gLeft;
+               span.blue = bLeft;
+
+
+               span.alpha = aLeft;
+
+
+
+
+
+
+
+               span.attrStart[FRAG_ATTRIB_WPOS][3] = wLeft;
+               { GLuint a; for (a = 0; a < swrast->_NumActiveAttribs; a++) { const GLuint attr = swrast->_ActiveAttribs[a];
+                  GLuint c;
+                  for (c = 0; c < 4; c++) {
+                     span.attrStart[attr][c] = attrLeft[attr][c];
+                  }
+               } }
+
+
+
+
+
+
+               if (span.end > 0 && span.y >= 0) {
+                  const GLint len = span.end - 1;
+                  (void) len;
+
+                  do { GLfixed endVal = span.red + (len) * span.redStep; if (endVal < 0) { span.red -= endVal; } if (span.red < 0) { span.red = 0; } } while (0);
+                  do { GLfixed endVal = span.green + (len) * span.greenStep; if (endVal < 0) { span.green -= endVal; } if (span.green < 0) { span.green = 0; } } while (0);
+                  do { GLfixed endVal = span.blue + (len) * span.blueStep; if (endVal < 0) { span.blue -= endVal; } if (span.blue < 0) { span.blue = 0; } } while (0);
+
+
+                  do { GLfixed endVal = span.alpha + (len) * span.alphaStep; if (endVal < 0) { span.alpha -= endVal; } if (span.alpha < 0) { span.alpha = 0; } } while (0);
+
+                  {
+                     _swrast_write_rgba_span(ctx, &span);;
+                  }
+               }
+
+
+
+
+
+
+
+               span.y++;
+               lines--;
+
+               fxLeftEdge += fdxLeftEdge;
+               fxRightEdge += fdxRightEdge;
+
+               fError += fdError;
+               if (fError >= 0) {
+                  fError -= (1 << 11);
+# 846 "swrast/s_tritemp.h"
+                  zLeft += fdzOuter;
+
+
+                  rLeft += fdrOuter;
+                  gLeft += fdgOuter;
+                  bLeft += fdbOuter;
+
+
+                  aLeft += fdaOuter;
+
+
+
+
+
+
+                  wLeft += dwOuter;
+                  { GLuint a; for (a = 0; a < swrast->_NumActiveAttribs; a++) { const GLuint attr = swrast->_ActiveAttribs[a];
+                     GLuint c;
+                     for (c = 0; c < 4; c++) {
+                        attrLeft[attr][c] += daOuter[attr][c];
+                     }
+                  } }
+
+               }
+               else {
+
+
+
+
+
+
+
+                  zLeft += fdzInner;
+
+
+                  rLeft += fdrInner;
+                  gLeft += fdgInner;
+                  bLeft += fdbInner;
+
+
+                  aLeft += fdaInner;
+
+
+
+
+
+
+                  wLeft += dwInner;
+                  { GLuint a; for (a = 0; a < swrast->_NumActiveAttribs; a++) { const GLuint attr = swrast->_ActiveAttribs[a];
+                     GLuint c;
+                     for (c = 0; c < 4; c++) {
+                        attrLeft[attr][c] += daInner[attr][c];
+                     }
+                  } }
+
+               }
+            }
+
+         }
+
+      }
+   }
+}
+# 860 "swrast/s_triangle.c" 2
+# 902 "swrast/s_triangle.c"
+# 1 "swrast/s_tritemp.h" 1
+# 111 "swrast/s_tritemp.h"
+static void occlusion_zless_triangle(struct gl_context *ctx, const SWvertex *v0,
+                                 const SWvertex *v1,
+                                 const SWvertex *v2 )
+{
+   typedef struct {
+      const SWvertex *v0, *v1;
+      GLfloat dx;
+      GLfloat dy;
+      GLfloat dxdy;
+      GLfixed fdxdy;
+      GLfloat adjy;
+      GLfixed fsx;
+      GLfixed fsy;
+      GLfixed fx0;
+      GLint lines;
+   } EdgeT;
+
+   const SWcontext *swrast = SWRAST_CONTEXT(ctx);
+
+   const GLint depthBits = ctx->DrawBuffer->Visual.depthBits;
+   const GLint fixedToDepthShift = depthBits <= 16 ? 11 : 0;
+   const GLfloat maxDepth = ctx->DrawBuffer->_DepthMaxF;
+
+
+   EdgeT eMaj, eTop, eBot;
+   GLfloat oneOverArea;
+   const SWvertex *vMin, *vMid, *vMax;
+   GLfloat bf = SWRAST_CONTEXT(ctx)->_BackfaceSign;
+   const GLint snapMask = ~(((1 << 11) / (1 << 4)) - 1);
+   GLfixed vMin_fx, vMin_fy, vMid_fx, vMid_fy, vMax_fx, vMax_fy;
+
+   SWspan span;
+
+   (void) swrast;
+
+   do { (span).primitive = (0x0009); (span).interpMask = 0x0; (span).arrayMask = 0x0; (span).arrayAttribs = 0x0; (span).end = 0; (span).leftClip = 0; (span).facing = 0; (span).array = SWRAST_CONTEXT(ctx)->SpanArrays; } while (0);
+   span.y = 0;
+
+
+   (void) fixedToDepthShift;
+# 172 "swrast/s_tritemp.h"
+   {
+      const GLfixed fy0 = (((int) ((((v0->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((v0->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) + 0.5F) : (((v0->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      const GLfixed fy1 = (((int) ((((v1->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((v1->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) + 0.5F) : (((v1->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      const GLfixed fy2 = (((int) ((((v2->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((v2->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) + 0.5F) : (((v2->attrib[FRAG_ATTRIB_WPOS][1] - 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      if (fy0 <= fy1) {
+         if (fy1 <= fy2) {
+
+            vMin = v0; vMid = v1; vMax = v2;
+            vMin_fy = fy0; vMid_fy = fy1; vMax_fy = fy2;
+         }
+         else if (fy2 <= fy0) {
+
+            vMin = v2; vMid = v0; vMax = v1;
+            vMin_fy = fy2; vMid_fy = fy0; vMax_fy = fy1;
+         }
+         else {
+
+            vMin = v0; vMid = v2; vMax = v1;
+            vMin_fy = fy0; vMid_fy = fy2; vMax_fy = fy1;
+            bf = -bf;
+         }
+      }
+      else {
+         if (fy0 <= fy2) {
+
+            vMin = v1; vMid = v0; vMax = v2;
+            vMin_fy = fy1; vMid_fy = fy0; vMax_fy = fy2;
+            bf = -bf;
+         }
+         else if (fy2 <= fy1) {
+
+            vMin = v2; vMid = v1; vMax = v0;
+            vMin_fy = fy2; vMid_fy = fy1; vMax_fy = fy0;
+            bf = -bf;
+         }
+         else {
+
+            vMin = v1; vMid = v2; vMax = v0;
+            vMin_fy = fy1; vMid_fy = fy2; vMax_fy = fy0;
+         }
+      }
+
+
+      vMin_fx = (((int) ((((vMin->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((vMin->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) + 0.5F) : (((vMin->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      vMid_fx = (((int) ((((vMid->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((vMid->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) + 0.5F) : (((vMid->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+      vMax_fx = (((int) ((((vMax->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) >= 0.0F) ? (((vMax->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) + 0.5F) : (((vMax->attrib[FRAG_ATTRIB_WPOS][0] + 0.5F) * ((float) (1 << 11))) - 0.5F)))) & snapMask;
+   }
+
+
+   eMaj.v0 = vMin; eMaj.v1 = vMax;
+   eTop.v0 = vMid; eTop.v1 = vMax;
+   eBot.v0 = vMin; eBot.v1 = vMid;
+
+
+   eMaj.dx = ((vMax_fx - vMin_fx) * (1.0F / ((float) (1 << 11))));
+   eMaj.dy = ((vMax_fy - vMin_fy) * (1.0F / ((float) (1 << 11))));
+   eTop.dx = ((vMax_fx - vMid_fx) * (1.0F / ((float) (1 << 11))));
+   eTop.dy = ((vMax_fy - vMid_fy) * (1.0F / ((float) (1 << 11))));
+   eBot.dx = ((vMid_fx - vMin_fx) * (1.0F / ((float) (1 << 11))));
+   eBot.dy = ((vMid_fy - vMin_fy) * (1.0F / ((float) (1 << 11))));
+
+
+   {
+      const GLfloat area = eMaj.dx * eBot.dy - eBot.dx * eMaj.dy;
+
+      if (IS_INF_OR_NAN(area) || area == 0.0F)
+         return;
+
+      if (area * bf * swrast->_BackfaceCullSign < 0.0)
+         return;
+
+      oneOverArea = 1.0F / area;
+
+
+      span.facing = oneOverArea * bf > 0.0F;
+   }
+
+
+   {
+      eMaj.fsy = (((vMin_fy) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+      eMaj.lines = (((((vMax_fy - eMaj.fsy) + (1 << 11) - 1) & (~((1 << 11) - 1)))) >> 11);
+      if (eMaj.lines > 0) {
+         eMaj.dxdy = eMaj.dx / eMaj.dy;
+         eMaj.fdxdy = (((int) ((((eMaj.dxdy) * ((float) (1 << 11))) >= 0.0F) ? (((eMaj.dxdy) * ((float) (1 << 11))) + 0.5F) : (((eMaj.dxdy) * ((float) (1 << 11))) - 0.5F))));
+         eMaj.adjy = (GLfloat) (eMaj.fsy - vMin_fy);
+         eMaj.fx0 = vMin_fx;
+         eMaj.fsx = eMaj.fx0 + (GLfixed) (eMaj.adjy * eMaj.dxdy);
+      }
+      else {
+         return;
+      }
+
+      eTop.fsy = (((vMid_fy) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+      eTop.lines = (((((vMax_fy - eTop.fsy) + (1 << 11) - 1) & (~((1 << 11) - 1)))) >> 11);
+      if (eTop.lines > 0) {
+         eTop.dxdy = eTop.dx / eTop.dy;
+         eTop.fdxdy = (((int) ((((eTop.dxdy) * ((float) (1 << 11))) >= 0.0F) ? (((eTop.dxdy) * ((float) (1 << 11))) + 0.5F) : (((eTop.dxdy) * ((float) (1 << 11))) - 0.5F))));
+         eTop.adjy = (GLfloat) (eTop.fsy - vMid_fy);
+         eTop.fx0 = vMid_fx;
+         eTop.fsx = eTop.fx0 + (GLfixed) (eTop.adjy * eTop.dxdy);
+      }
+
+      eBot.fsy = (((vMin_fy) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+      eBot.lines = (((((vMid_fy - eBot.fsy) + (1 << 11) - 1) & (~((1 << 11) - 1)))) >> 11);
+      if (eBot.lines > 0) {
+         eBot.dxdy = eBot.dx / eBot.dy;
+         eBot.fdxdy = (((int) ((((eBot.dxdy) * ((float) (1 << 11))) >= 0.0F) ? (((eBot.dxdy) * ((float) (1 << 11))) + 0.5F) : (((eBot.dxdy) * ((float) (1 << 11))) - 0.5F))));
+         eBot.adjy = (GLfloat) (eBot.fsy - vMin_fy);
+         eBot.fx0 = vMin_fx;
+         eBot.fsx = eBot.fx0 + (GLfixed) (eBot.adjy * eBot.dxdy);
+      }
+   }
+# 319 "swrast/s_tritemp.h"
+   {
+      GLint scan_from_left_to_right;
+
+
+
+
+
+      struct gl_renderbuffer *rb = ctx->DrawBuffer->_DepthBuffer; struct gl_query_object *q = ctx->Query.CurrentOcclusionObject; ; ; ; if (!q) { return; }
+
+
+      scan_from_left_to_right = (oneOverArea < 0.0F);
+
+
+
+
+      span.interpMask |= 0x02;
+      {
+         GLfloat eMaj_dz = vMax->attrib[FRAG_ATTRIB_WPOS][2] - vMin->attrib[FRAG_ATTRIB_WPOS][2];
+         GLfloat eBot_dz = vMid->attrib[FRAG_ATTRIB_WPOS][2] - vMin->attrib[FRAG_ATTRIB_WPOS][2];
+         span.attrStepX[FRAG_ATTRIB_WPOS][2] = oneOverArea * (eMaj_dz * eBot.dy - eMaj.dy * eBot_dz);
+         if (span.attrStepX[FRAG_ATTRIB_WPOS][2] > maxDepth ||
+             span.attrStepX[FRAG_ATTRIB_WPOS][2] < -maxDepth) {
+
+            span.attrStepX[FRAG_ATTRIB_WPOS][2] = 0.0;
+            span.attrStepY[FRAG_ATTRIB_WPOS][2] = 0.0;
+         }
+         else {
+            span.attrStepY[FRAG_ATTRIB_WPOS][2] = oneOverArea * (eMaj.dx * eBot_dz - eMaj_dz * eBot.dx);
+         }
+         if (depthBits <= 16)
+            span.zStep = (((int) ((((span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) - 0.5F))));
+         else
+            span.zStep = (GLint) span.attrStepX[FRAG_ATTRIB_WPOS][2];
+      }
+# 488 "swrast/s_tritemp.h"
+      {
+         GLint subTriangle;
+         GLfixed fxLeftEdge = 0, fxRightEdge = 0;
+         GLfixed fdxLeftEdge = 0, fdxRightEdge = 0;
+         GLfixed fError = 0, fdError = 0;
+# 504 "swrast/s_tritemp.h"
+         GLuint zLeft = 0;
+         GLfixed fdzOuter = 0, fdzInner;
+# 525 "swrast/s_tritemp.h"
+         for (subTriangle=0; subTriangle<=1; subTriangle++) {
+            EdgeT *eLeft, *eRight;
+            int setupLeft, setupRight;
+            int lines;
+
+            if (subTriangle==0) {
+
+               if (scan_from_left_to_right) {
+                  eLeft = &eMaj;
+                  eRight = &eBot;
+                  lines = eRight->lines;
+                  setupLeft = 1;
+                  setupRight = 1;
+               }
+               else {
+                  eLeft = &eBot;
+                  eRight = &eMaj;
+                  lines = eLeft->lines;
+                  setupLeft = 1;
+                  setupRight = 1;
+               }
+            }
+            else {
+
+               if (scan_from_left_to_right) {
+                  eLeft = &eMaj;
+                  eRight = &eTop;
+                  lines = eRight->lines;
+                  setupLeft = 0;
+                  setupRight = 1;
+               }
+               else {
+                  eLeft = &eTop;
+                  eRight = &eMaj;
+                  lines = eLeft->lines;
+                  setupLeft = 1;
+                  setupRight = 0;
+               }
+               if (lines == 0)
+                  return;
+            }
+
+            if (setupLeft && eLeft->lines > 0) {
+               const SWvertex *vLower = eLeft->v0;
+               const GLfixed fsy = eLeft->fsy;
+               const GLfixed fsx = eLeft->fsx;
+               const GLfixed fx = (((fsx) + (1 << 11) - 1) & (~((1 << 11) - 1)));
+               const GLfixed adjx = (GLfixed) (fx - eLeft->fx0);
+               const GLfixed adjy = (GLfixed) eLeft->adjy;
+               GLint idxOuter;
+               GLfloat dxOuter;
+               GLfixed fdxOuter;
+
+               fError = fx - fsx - (1 << 11);
+               fxLeftEdge = fsx - 1;
+               fdxLeftEdge = eLeft->fdxdy;
+               fdxOuter = ((fdxLeftEdge - 1) & (~((1 << 11) - 1)));
+               fdError = fdxOuter - fdxLeftEdge + (1 << 11);
+               idxOuter = ((fdxOuter) >> 11);
+               dxOuter = (GLfloat) idxOuter;
+               span.y = ((fsy) >> 11);
+
+
+               (void) dxOuter;
+               (void) adjx;
+               (void) adjy;
+               (void) vLower;
+# 611 "swrast/s_tritemp.h"
+               {
+                  GLfloat z0 = vLower->attrib[FRAG_ATTRIB_WPOS][2];
+                  if (depthBits <= 16) {
+
+                     GLfloat tmp = (z0 * ((float) (1 << 11))
+                                    + span.attrStepX[FRAG_ATTRIB_WPOS][2] * adjx
+                                    + span.attrStepY[FRAG_ATTRIB_WPOS][2] * adjy) + (1 << (11 -1));
+                     if (tmp < 0xffffffff / 2)
+                        zLeft = (GLfixed) tmp;
+                     else
+                        zLeft = 0xffffffff / 2;
+                     fdzOuter = (((int) ((((span.attrStepY[FRAG_ATTRIB_WPOS][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) >= 0.0F) ? (((span.attrStepY[FRAG_ATTRIB_WPOS][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) + 0.5F) : (((span.attrStepY[FRAG_ATTRIB_WPOS][2] + dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]) * ((float) (1 << 11))) - 0.5F))))
+                                                                                                 ;
+                  }
+                  else {
+
+                     zLeft = (GLuint) (z0 + span.attrStepX[FRAG_ATTRIB_WPOS][2] * ((adjx) * (1.0F / ((float) (1 << 11))))
+                                          + span.attrStepY[FRAG_ATTRIB_WPOS][2] * ((adjy) * (1.0F / ((float) (1 << 11)))));
+                     fdzOuter = (GLint) (span.attrStepY[FRAG_ATTRIB_WPOS][2] +
+                                         dxOuter * span.attrStepX[FRAG_ATTRIB_WPOS][2]);
+                  }
+
+
+
+
+
+               }
+# 722 "swrast/s_tritemp.h"
+            }
+
+
+            if (setupRight && eRight->lines>0) {
+               fxRightEdge = eRight->fsx - 1;
+               fdxRightEdge = eRight->fdxdy;
+            }
+
+            if (lines==0) {
+               continue;
+            }
+# 743 "swrast/s_tritemp.h"
+            fdzInner = fdzOuter + span.zStep;
+# 767 "swrast/s_tritemp.h"
+            while (lines > 0) {
+
+
+               const GLint right = ((fxRightEdge) >> 11);
+               span.x = ((fxLeftEdge) >> 11);
+               if (right <= span.x)
+                  span.end = 0;
+               else
+                  span.end = right - span.x;
+
+
+               span.z = zLeft;
+# 807 "swrast/s_tritemp.h"
+               if (span.end > 0 && span.y >= 0) {
+                  const GLint len = span.end - 1;
+                  (void) len;
+# 818 "swrast/s_tritemp.h"
+                  {
+                     if (rb->Format == MESA_FORMAT_Z16) { GLuint i; const GLushort *zRow = (const GLushort *) rb->GetPointer(ctx, rb, span.x, span.y); for (i = 0; i < span.end; i++) { GLuint z = ((span.z) >> fixedToDepthShift); if (z < zRow[i]) { q->Result++; } span.z += span.zStep; } } else { GLuint i; const GLuint *zRow = (const GLuint *) rb->GetPointer(ctx, rb, span.x, span.y); for (i = 0; i < span.end; i++) { if ((GLuint)span.z < zRow[i]) { q->Result++; } span.z += span.zStep; } };
+                  }
+               }
+
+
+
+
+
+
+
+               span.y++;
+               lines--;
+
+               fxLeftEdge += fdxLeftEdge;
+               fxRightEdge += fdxRightEdge;
+
+               fError += fdError;
+               if (fError >= 0) {
+                  fError -= (1 << 11);
+# 846 "swrast/s_tritemp.h"
+                  zLeft += fdzOuter;
+# 869 "swrast/s_tritemp.h"
+               }
+               else {
+
+
+
+
+
+
+
+                  zLeft += fdzInner;
+# 901 "swrast/s_tritemp.h"
+               }
+            }
+
+         }
+
+      }
+   }
+}
+# 903 "swrast/s_triangle.c" 2
+
+
+
+static void
+nodraw_triangle( struct gl_context *ctx,
+                 const SWvertex *v0,
+                 const SWvertex *v1,
+                 const SWvertex *v2 )
+{
+   (void) (ctx && v0 && v1 && v2);
+}
+# 922 "swrast/s_triangle.c"
+void
+_swrast_add_spec_terms_triangle(struct gl_context *ctx, const SWvertex *v0,
+                                const SWvertex *v1, const SWvertex *v2)
+{
+   SWvertex *ncv0 = (SWvertex *)v0;
+   SWvertex *ncv1 = (SWvertex *)v1;
+   SWvertex *ncv2 = (SWvertex *)v2;
+   GLfloat rSum, gSum, bSum;
+   GLchan cSave[3][4];
+
+
+   do { (cSave[0])[0] = (ncv0->color)[0]; (cSave[0])[1] = (ncv0->color)[1]; (cSave[0])[2] = (ncv0->color)[2]; (cSave[0])[3] = (ncv0->color)[3]; } while (0);
+   do { (cSave[1])[0] = (ncv1->color)[0]; (cSave[1])[1] = (ncv1->color)[1]; (cSave[1])[2] = (ncv1->color)[2]; (cSave[1])[3] = (ncv1->color)[3]; } while (0);
+   do { (cSave[2])[0] = (ncv2->color)[0]; (cSave[2])[1] = (ncv2->color)[1]; (cSave[2])[2] = (ncv2->color)[2]; (cSave[2])[3] = (ncv2->color)[3]; } while (0);
+
+   rSum = _mesa_ubyte_to_float_color_tab[(unsigned int)(ncv0->color[0])] + ncv0->attrib[FRAG_ATTRIB_COL1][0];
+   gSum = _mesa_ubyte_to_float_color_tab[(unsigned int)(ncv0->color[1])] + ncv0->attrib[FRAG_ATTRIB_COL1][1];
+   bSum = _mesa_ubyte_to_float_color_tab[(unsigned int)(ncv0->color[2])] + ncv0->attrib[FRAG_ATTRIB_COL1][2];
+   do { fi_type __tmp; __tmp.f = (rSum); if (__tmp.i < 0) ncv0->color[0] = (GLubyte) 0; else if (__tmp.i >= 0x3f7f0000) ncv0->color[0] = (GLubyte) 255; else { __tmp.f = __tmp.f * (255.0F/256.0F) + 32768.0F; ncv0->color[0] = (GLubyte) __tmp.i; } } while (0);
+   do { fi_type __tmp; __tmp.f = (gSum); if (__tmp.i < 0) ncv0->color[1] = (GLubyte) 0; else if (__tmp.i >= 0x3f7f0000) ncv0->color[1] = (GLubyte) 255; else { __tmp.f = __tmp.f * (255.0F/256.0F) + 32768.0F; ncv0->color[1] = (GLubyte) __tmp.i; } } while (0);
+   do { fi_type __tmp; __tmp.f = (bSum); if (__tmp.i < 0) ncv0->color[2] = (GLubyte) 0; else if (__tmp.i >= 0x3f7f0000) ncv0->color[2] = (GLubyte) 255; else { __tmp.f = __tmp.f * (255.0F/256.0F) + 32768.0F; ncv0->color[2] = (GLubyte) __tmp.i; } } while (0);
+
+   rSum = _mesa_ubyte_to_float_color_tab[(unsigned int)(ncv1->color[0])] + ncv1->attrib[FRAG_ATTRIB_COL1][0];
+   gSum = _mesa_ubyte_to_float_color_tab[(unsigned int)(ncv1->color[1])] + ncv1->attrib[FRAG_ATTRIB_COL1][1];
+   bSum = _mesa_ubyte_to_float_color_tab[(unsigned int)(ncv1->color[2])] + ncv1->attrib[FRAG_ATTRIB_COL1][2];
+   do { fi_type __tmp; __tmp.f = (rSum); if (__tmp.i < 0) ncv1->color[0] = (GLubyte) 0; else if (__tmp.i >= 0x3f7f0000) ncv1->color[0] = (GLubyte) 255; else { __tmp.f = __tmp.f * (255.0F/256.0F) + 32768.0F; ncv1->color[0] = (GLubyte) __tmp.i; } } while (0);
+   do { fi_type __tmp; __tmp.f = (gSum); if (__tmp.i < 0) ncv1->color[1] = (GLubyte) 0; else if (__tmp.i >= 0x3f7f0000) ncv1->color[1] = (GLubyte) 255; else { __tmp.f = __tmp.f * (255.0F/256.0F) + 32768.0F; ncv1->color[1] = (GLubyte) __tmp.i; } } while (0);
+   do { fi_type __tmp; __tmp.f = (bSum); if (__tmp.i < 0) ncv1->color[2] = (GLubyte) 0; else if (__tmp.i >= 0x3f7f0000) ncv1->color[2] = (GLubyte) 255; else { __tmp.f = __tmp.f * (255.0F/256.0F) + 32768.0F; ncv1->color[2] = (GLubyte) __tmp.i; } } while (0);
+
+   rSum = _mesa_ubyte_to_float_color_tab[(unsigned int)(ncv2->color[0])] + ncv2->attrib[FRAG_ATTRIB_COL1][0];
+   gSum = _mesa_ubyte_to_float_color_tab[(unsigned int)(ncv2->color[1])] + ncv2->attrib[FRAG_ATTRIB_COL1][1];
+   bSum = _mesa_ubyte_to_float_color_tab[(unsigned int)(ncv2->color[2])] + ncv2->attrib[FRAG_ATTRIB_COL1][2];
+   do { fi_type __tmp; __tmp.f = (rSum); if (__tmp.i < 0) ncv2->color[0] = (GLubyte) 0; else if (__tmp.i >= 0x3f7f0000) ncv2->color[0] = (GLubyte) 255; else { __tmp.f = __tmp.f * (255.0F/256.0F) + 32768.0F; ncv2->color[0] = (GLubyte) __tmp.i; } } while (0);
+   do { fi_type __tmp; __tmp.f = (gSum); if (__tmp.i < 0) ncv2->color[1] = (GLubyte) 0; else if (__tmp.i >= 0x3f7f0000) ncv2->color[1] = (GLubyte) 255; else { __tmp.f = __tmp.f * (255.0F/256.0F) + 32768.0F; ncv2->color[1] = (GLubyte) __tmp.i; } } while (0);
+   do { fi_type __tmp; __tmp.f = (bSum); if (__tmp.i < 0) ncv2->color[2] = (GLubyte) 0; else if (__tmp.i >= 0x3f7f0000) ncv2->color[2] = (GLubyte) 255; else { __tmp.f = __tmp.f * (255.0F/256.0F) + 32768.0F; ncv2->color[2] = (GLubyte) __tmp.i; } } while (0);
+
+   SWRAST_CONTEXT(ctx)->SpecTriangle( ctx, ncv0, ncv1, ncv2 );
+
+   do { (ncv0->color)[0] = (cSave[0])[0]; (ncv0->color)[1] = (cSave[0])[1]; (ncv0->color)[2] = (cSave[0])[2]; (ncv0->color)[3] = (cSave[0])[3]; } while (0);
+   do { (ncv1->color)[0] = (cSave[1])[0]; (ncv1->color)[1] = (cSave[1])[1]; (ncv1->color)[2] = (cSave[1])[2]; (ncv1->color)[3] = (cSave[1])[3]; } while (0);
+   do { (ncv2->color)[0] = (cSave[2])[0]; (ncv2->color)[1] = (cSave[2])[1]; (ncv2->color)[2] = (cSave[2])[2]; (ncv2->color)[3] = (cSave[2])[3]; } while (0);
+}
+# 995 "swrast/s_triangle.c"
+void
+_swrast_choose_triangle( struct gl_context *ctx )
+{
+   SWcontext *swrast = SWRAST_CONTEXT(ctx);
+
+   if (ctx->Polygon.CullFlag &&
+       ctx->Polygon.CullFaceMode == 0x0408) {
+      swrast->Triangle = nodraw_triangle;;
+      return;
+   }
+
+   if (ctx->RenderMode==0x1C00) {
+
+      if (ctx->Polygon.SmoothFlag) {
+         _swrast_set_aa_triangle_function(ctx);
+         ;
+         return;
+      }
+
+
+      if (ctx->Query.CurrentOcclusionObject &&
+          ctx->Depth.Test &&
+          ctx->Depth.Mask == 0x0 &&
+          ctx->Depth.Func == 0x0201 &&
+          !ctx->Stencil._Enabled) {
+         if (ctx->Color.ColorMask[0][0] == 0 &&
+      ctx->Color.ColorMask[0][1] == 0 &&
+      ctx->Color.ColorMask[0][2] == 0 &&
+      ctx->Color.ColorMask[0][3] == 0) {
+            swrast->Triangle = occlusion_zless_triangle;;
+            return;
+         }
+      }
+
+
+
+
+
+      if (ctx->Texture._EnabledCoordUnits ||
+          ctx->FragmentProgram._Current ||
+          ctx->ATIFragmentShader._Enabled ||
+          _mesa_need_secondary_color(ctx) ||
+          swrast->_FogEnabled) {
+
+         const struct gl_texture_object *texObj2D;
+         const struct gl_texture_image *texImg;
+         GLenum minFilter, magFilter, envMode;
+         gl_format format;
+         texObj2D = ctx->Texture.Unit[0].CurrentTex[TEXTURE_2D_INDEX];
+
+         texImg = texObj2D ? texObj2D->Image[0][texObj2D->BaseLevel] : ((void *)0);
+         format = texImg ? texImg->TexFormat : MESA_FORMAT_NONE;
+         minFilter = texObj2D ? texObj2D->Sampler.MinFilter : 0x0;
+         magFilter = texObj2D ? texObj2D->Sampler.MagFilter : 0x0;
+         envMode = ctx->Texture.Unit[0].EnvMode;
+
+
+         if (ctx->Texture._EnabledCoordUnits == 0x1
+             && !ctx->FragmentProgram._Current
+             && !ctx->ATIFragmentShader._Enabled
+             && ctx->Texture._EnabledUnits == 0x1
+             && ctx->Texture.Unit[0]._ReallyEnabled == (1 << TEXTURE_2D_INDEX)
+             && texObj2D->Sampler.WrapS == 0x2901
+             && texObj2D->Sampler.WrapT == 0x2901
+             && texObj2D->_Swizzle == (((0)<<0) | ((1)<<3) | ((2)<<6) | ((3)<<9))
+             && texImg->_IsPowerOfTwo
+             && texImg->Border == 0
+             && texImg->Width == texImg->RowStride
+             && (format == MESA_FORMAT_RGB888 || format == MESA_FORMAT_RGBA8888)
+             && minFilter == magFilter
+             && ctx->Light.Model.ColorControl == 0x81F9
+             && !swrast->_FogEnabled
+             && ctx->Texture.Unit[0].EnvMode != 0x8570
+             && ctx->Texture.Unit[0].EnvMode != 0x8503) {
+     if (ctx->Hint.PerspectiveCorrection==0x1101) {
+        if (minFilter == 0x2600
+     && format == MESA_FORMAT_RGB888
+     && (envMode == 0x1E01 || envMode == 0x2101)
+     && ((swrast->_RasterMask == (0x004 | 0x1000)
+   && ctx->Depth.Func == 0x0201
+   && ctx->Depth.Mask == 0x1)
+         || swrast->_RasterMask == 0x1000)
+     && ctx->Polygon.StippleFlag == 0x0
+                   && ctx->DrawBuffer->Visual.depthBits <= 16) {
+    if (swrast->_RasterMask == (0x004 | 0x1000)) {
+       swrast->Triangle = simple_z_textured_triangle;;
+    }
+    else {
+       swrast->Triangle = simple_textured_triangle;;
+    }
+        }
+        else {
+
+
+
+                  if (format == MESA_FORMAT_RGBA8888 && !_mesa_little_endian()) {
+
+
+
+                     swrast->Triangle = general_triangle;;
+                  }
+                  else {
+                     swrast->Triangle = affine_textured_triangle;;
+                 }
+
+        }
+     }
+     else {
+
+
+
+               swrast->Triangle = persp_textured_triangle;;
+
+     }
+  }
+         else {
+
+            swrast->Triangle = general_triangle;;
+         }
+      }
+      else {
+         ;
+         ;
+  if (ctx->Light.ShadeModel==0x1D01) {
+
+
+
+
+               swrast->Triangle = smooth_rgba_triangle;;
+
+  }
+  else {
+
+
+
+
+            swrast->Triangle = flat_rgba_triangle;;
+
+  }
+      }
+   }
+   else if (ctx->RenderMode==0x1C01) {
+      swrast->Triangle = _swrast_feedback_triangle;;
+   }
+   else {
+
+      swrast->Triangle = _swrast_select_triangle;;
+   }
+}