Quake-III-Arena

Quake III Arena GPL Source Release
Log | Files | Refs

linux_qgl.c (181737B)


      1 /*
      2 ===========================================================================
      3 Copyright (C) 1999-2005 Id Software, Inc.
      4 
      5 This file is part of Quake III Arena source code.
      6 
      7 Quake III Arena source code is free software; you can redistribute it
      8 and/or modify it under the terms of the GNU General Public License as
      9 published by the Free Software Foundation; either version 2 of the License,
     10 or (at your option) any later version.
     11 
     12 Quake III Arena source code is distributed in the hope that it will be
     13 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 GNU General Public License for more details.
     16 
     17 You should have received a copy of the GNU General Public License
     18 along with Foobar; if not, write to the Free Software
     19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
     20 ===========================================================================
     21 */
     22 /*
     23 ** LINUX_QGL.C
     24 **
     25 ** This file implements the operating system binding of GL to QGL function
     26 ** pointers.  When doing a port of Quake2 you must implement the following
     27 ** two functions:
     28 **
     29 ** QGL_Init() - loads libraries, assigns function pointers, etc.
     30 ** QGL_Shutdown() - unloads libraries, NULLs function pointers
     31 */
     32 
     33 // bk001204
     34 #include <unistd.h>
     35 #include <sys/types.h>
     36 
     37 
     38 #include <float.h>
     39 #include "../renderer/tr_local.h"
     40 #include "unix_glw.h"
     41 
     42 // bk001129 - from cvs1.17 (mkv)
     43 //#if defined(__FX__)
     44 //#include <GL/fxmesa.h>
     45 //#endif
     46 //#include <GL/glx.h> // bk010216 - FIXME: all of the above redundant? renderer/qgl.h
     47 
     48 #include <dlfcn.h>
     49 
     50 
     51 // bk001129 - from cvs1.17 (mkv)
     52 #if defined(__FX__)
     53 //FX Mesa Functions
     54 fxMesaContext (*qfxMesaCreateContext)(GLuint win, GrScreenResolution_t, GrScreenRefresh_t, const GLint attribList[]);
     55 fxMesaContext (*qfxMesaCreateBestContext)(GLuint win, GLint width, GLint height, const GLint attribList[]);
     56 void (*qfxMesaDestroyContext)(fxMesaContext ctx);
     57 void (*qfxMesaMakeCurrent)(fxMesaContext ctx);
     58 fxMesaContext (*qfxMesaGetCurrentContext)(void);
     59 void (*qfxMesaSwapBuffers)(void);
     60 #endif
     61 
     62 //GLX Functions
     63 XVisualInfo * (*qglXChooseVisual)( Display *dpy, int screen, int *attribList );
     64 GLXContext (*qglXCreateContext)( Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct );
     65 void (*qglXDestroyContext)( Display *dpy, GLXContext ctx );
     66 Bool (*qglXMakeCurrent)( Display *dpy, GLXDrawable drawable, GLXContext ctx);
     67 void (*qglXCopyContext)( Display *dpy, GLXContext src, GLXContext dst, GLuint mask );
     68 void (*qglXSwapBuffers)( Display *dpy, GLXDrawable drawable );
     69 
     70 void ( APIENTRY * qglAccum )(GLenum op, GLfloat value);
     71 void ( APIENTRY * qglAlphaFunc )(GLenum func, GLclampf ref);
     72 GLboolean ( APIENTRY * qglAreTexturesResident )(GLsizei n, const GLuint *textures, GLboolean *residences);
     73 void ( APIENTRY * qglArrayElement )(GLint i);
     74 void ( APIENTRY * qglBegin )(GLenum mode);
     75 void ( APIENTRY * qglBindTexture )(GLenum target, GLuint texture);
     76 void ( APIENTRY * qglBitmap )(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);
     77 void ( APIENTRY * qglBlendFunc )(GLenum sfactor, GLenum dfactor);
     78 void ( APIENTRY * qglCallList )(GLuint list);
     79 void ( APIENTRY * qglCallLists )(GLsizei n, GLenum type, const GLvoid *lists);
     80 void ( APIENTRY * qglClear )(GLbitfield mask);
     81 void ( APIENTRY * qglClearAccum )(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
     82 void ( APIENTRY * qglClearColor )(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
     83 void ( APIENTRY * qglClearDepth )(GLclampd depth);
     84 void ( APIENTRY * qglClearIndex )(GLfloat c);
     85 void ( APIENTRY * qglClearStencil )(GLint s);
     86 void ( APIENTRY * qglClipPlane )(GLenum plane, const GLdouble *equation);
     87 void ( APIENTRY * qglColor3b )(GLbyte red, GLbyte green, GLbyte blue);
     88 void ( APIENTRY * qglColor3bv )(const GLbyte *v);
     89 void ( APIENTRY * qglColor3d )(GLdouble red, GLdouble green, GLdouble blue);
     90 void ( APIENTRY * qglColor3dv )(const GLdouble *v);
     91 void ( APIENTRY * qglColor3f )(GLfloat red, GLfloat green, GLfloat blue);
     92 void ( APIENTRY * qglColor3fv )(const GLfloat *v);
     93 void ( APIENTRY * qglColor3i )(GLint red, GLint green, GLint blue);
     94 void ( APIENTRY * qglColor3iv )(const GLint *v);
     95 void ( APIENTRY * qglColor3s )(GLshort red, GLshort green, GLshort blue);
     96 void ( APIENTRY * qglColor3sv )(const GLshort *v);
     97 void ( APIENTRY * qglColor3ub )(GLubyte red, GLubyte green, GLubyte blue);
     98 void ( APIENTRY * qglColor3ubv )(const GLubyte *v);
     99 void ( APIENTRY * qglColor3ui )(GLuint red, GLuint green, GLuint blue);
    100 void ( APIENTRY * qglColor3uiv )(const GLuint *v);
    101 void ( APIENTRY * qglColor3us )(GLushort red, GLushort green, GLushort blue);
    102 void ( APIENTRY * qglColor3usv )(const GLushort *v);
    103 void ( APIENTRY * qglColor4b )(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
    104 void ( APIENTRY * qglColor4bv )(const GLbyte *v);
    105 void ( APIENTRY * qglColor4d )(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
    106 void ( APIENTRY * qglColor4dv )(const GLdouble *v);
    107 void ( APIENTRY * qglColor4f )(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
    108 void ( APIENTRY * qglColor4fv )(const GLfloat *v);
    109 void ( APIENTRY * qglColor4i )(GLint red, GLint green, GLint blue, GLint alpha);
    110 void ( APIENTRY * qglColor4iv )(const GLint *v);
    111 void ( APIENTRY * qglColor4s )(GLshort red, GLshort green, GLshort blue, GLshort alpha);
    112 void ( APIENTRY * qglColor4sv )(const GLshort *v);
    113 void ( APIENTRY * qglColor4ub )(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
    114 void ( APIENTRY * qglColor4ubv )(const GLubyte *v);
    115 void ( APIENTRY * qglColor4ui )(GLuint red, GLuint green, GLuint blue, GLuint alpha);
    116 void ( APIENTRY * qglColor4uiv )(const GLuint *v);
    117 void ( APIENTRY * qglColor4us )(GLushort red, GLushort green, GLushort blue, GLushort alpha);
    118 void ( APIENTRY * qglColor4usv )(const GLushort *v);
    119 void ( APIENTRY * qglColorMask )(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
    120 void ( APIENTRY * qglColorMaterial )(GLenum face, GLenum mode);
    121 void ( APIENTRY * qglColorPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
    122 void ( APIENTRY * qglCopyPixels )(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
    123 void ( APIENTRY * qglCopyTexImage1D )(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border);
    124 void ( APIENTRY * qglCopyTexImage2D )(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
    125 void ( APIENTRY * qglCopyTexSubImage1D )(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
    126 void ( APIENTRY * qglCopyTexSubImage2D )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
    127 void ( APIENTRY * qglCullFace )(GLenum mode);
    128 void ( APIENTRY * qglDeleteLists )(GLuint list, GLsizei range);
    129 void ( APIENTRY * qglDeleteTextures )(GLsizei n, const GLuint *textures);
    130 void ( APIENTRY * qglDepthFunc )(GLenum func);
    131 void ( APIENTRY * qglDepthMask )(GLboolean flag);
    132 void ( APIENTRY * qglDepthRange )(GLclampd zNear, GLclampd zFar);
    133 void ( APIENTRY * qglDisable )(GLenum cap);
    134 void ( APIENTRY * qglDisableClientState )(GLenum array);
    135 void ( APIENTRY * qglDrawArrays )(GLenum mode, GLint first, GLsizei count);
    136 void ( APIENTRY * qglDrawBuffer )(GLenum mode);
    137 void ( APIENTRY * qglDrawElements )(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
    138 void ( APIENTRY * qglDrawPixels )(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
    139 void ( APIENTRY * qglEdgeFlag )(GLboolean flag);
    140 void ( APIENTRY * qglEdgeFlagPointer )(GLsizei stride, const GLvoid *pointer);
    141 void ( APIENTRY * qglEdgeFlagv )(const GLboolean *flag);
    142 void ( APIENTRY * qglEnable )(GLenum cap);
    143 void ( APIENTRY * qglEnableClientState )(GLenum array);
    144 void ( APIENTRY * qglEnd )(void);
    145 void ( APIENTRY * qglEndList )(void);
    146 void ( APIENTRY * qglEvalCoord1d )(GLdouble u);
    147 void ( APIENTRY * qglEvalCoord1dv )(const GLdouble *u);
    148 void ( APIENTRY * qglEvalCoord1f )(GLfloat u);
    149 void ( APIENTRY * qglEvalCoord1fv )(const GLfloat *u);
    150 void ( APIENTRY * qglEvalCoord2d )(GLdouble u, GLdouble v);
    151 void ( APIENTRY * qglEvalCoord2dv )(const GLdouble *u);
    152 void ( APIENTRY * qglEvalCoord2f )(GLfloat u, GLfloat v);
    153 void ( APIENTRY * qglEvalCoord2fv )(const GLfloat *u);
    154 void ( APIENTRY * qglEvalMesh1 )(GLenum mode, GLint i1, GLint i2);
    155 void ( APIENTRY * qglEvalMesh2 )(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
    156 void ( APIENTRY * qglEvalPoint1 )(GLint i);
    157 void ( APIENTRY * qglEvalPoint2 )(GLint i, GLint j);
    158 void ( APIENTRY * qglFeedbackBuffer )(GLsizei size, GLenum type, GLfloat *buffer);
    159 void ( APIENTRY * qglFinish )(void);
    160 void ( APIENTRY * qglFlush )(void);
    161 void ( APIENTRY * qglFogf )(GLenum pname, GLfloat param);
    162 void ( APIENTRY * qglFogfv )(GLenum pname, const GLfloat *params);
    163 void ( APIENTRY * qglFogi )(GLenum pname, GLint param);
    164 void ( APIENTRY * qglFogiv )(GLenum pname, const GLint *params);
    165 void ( APIENTRY * qglFrontFace )(GLenum mode);
    166 void ( APIENTRY * qglFrustum )(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
    167 GLuint ( APIENTRY * qglGenLists )(GLsizei range);
    168 void ( APIENTRY * qglGenTextures )(GLsizei n, GLuint *textures);
    169 void ( APIENTRY * qglGetBooleanv )(GLenum pname, GLboolean *params);
    170 void ( APIENTRY * qglGetClipPlane )(GLenum plane, GLdouble *equation);
    171 void ( APIENTRY * qglGetDoublev )(GLenum pname, GLdouble *params);
    172 GLenum ( APIENTRY * qglGetError )(void);
    173 void ( APIENTRY * qglGetFloatv )(GLenum pname, GLfloat *params);
    174 void ( APIENTRY * qglGetIntegerv )(GLenum pname, GLint *params);
    175 void ( APIENTRY * qglGetLightfv )(GLenum light, GLenum pname, GLfloat *params);
    176 void ( APIENTRY * qglGetLightiv )(GLenum light, GLenum pname, GLint *params);
    177 void ( APIENTRY * qglGetMapdv )(GLenum target, GLenum query, GLdouble *v);
    178 void ( APIENTRY * qglGetMapfv )(GLenum target, GLenum query, GLfloat *v);
    179 void ( APIENTRY * qglGetMapiv )(GLenum target, GLenum query, GLint *v);
    180 void ( APIENTRY * qglGetMaterialfv )(GLenum face, GLenum pname, GLfloat *params);
    181 void ( APIENTRY * qglGetMaterialiv )(GLenum face, GLenum pname, GLint *params);
    182 void ( APIENTRY * qglGetPixelMapfv )(GLenum map, GLfloat *values);
    183 void ( APIENTRY * qglGetPixelMapuiv )(GLenum map, GLuint *values);
    184 void ( APIENTRY * qglGetPixelMapusv )(GLenum map, GLushort *values);
    185 void ( APIENTRY * qglGetPointerv )(GLenum pname, GLvoid* *params);
    186 void ( APIENTRY * qglGetPolygonStipple )(GLubyte *mask);
    187 const GLubyte * ( APIENTRY * qglGetString )(GLenum name);
    188 void ( APIENTRY * qglGetTexEnvfv )(GLenum target, GLenum pname, GLfloat *params);
    189 void ( APIENTRY * qglGetTexEnviv )(GLenum target, GLenum pname, GLint *params);
    190 void ( APIENTRY * qglGetTexGendv )(GLenum coord, GLenum pname, GLdouble *params);
    191 void ( APIENTRY * qglGetTexGenfv )(GLenum coord, GLenum pname, GLfloat *params);
    192 void ( APIENTRY * qglGetTexGeniv )(GLenum coord, GLenum pname, GLint *params);
    193 void ( APIENTRY * qglGetTexImage )(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
    194 void ( APIENTRY * qglGetTexLevelParameterfv )(GLenum target, GLint level, GLenum pname, GLfloat *params);
    195 void ( APIENTRY * qglGetTexLevelParameteriv )(GLenum target, GLint level, GLenum pname, GLint *params);
    196 void ( APIENTRY * qglGetTexParameterfv )(GLenum target, GLenum pname, GLfloat *params);
    197 void ( APIENTRY * qglGetTexParameteriv )(GLenum target, GLenum pname, GLint *params);
    198 void ( APIENTRY * qglHint )(GLenum target, GLenum mode);
    199 void ( APIENTRY * qglIndexMask )(GLuint mask);
    200 void ( APIENTRY * qglIndexPointer )(GLenum type, GLsizei stride, const GLvoid *pointer);
    201 void ( APIENTRY * qglIndexd )(GLdouble c);
    202 void ( APIENTRY * qglIndexdv )(const GLdouble *c);
    203 void ( APIENTRY * qglIndexf )(GLfloat c);
    204 void ( APIENTRY * qglIndexfv )(const GLfloat *c);
    205 void ( APIENTRY * qglIndexi )(GLint c);
    206 void ( APIENTRY * qglIndexiv )(const GLint *c);
    207 void ( APIENTRY * qglIndexs )(GLshort c);
    208 void ( APIENTRY * qglIndexsv )(const GLshort *c);
    209 void ( APIENTRY * qglIndexub )(GLubyte c);
    210 void ( APIENTRY * qglIndexubv )(const GLubyte *c);
    211 void ( APIENTRY * qglInitNames )(void);
    212 void ( APIENTRY * qglInterleavedArrays )(GLenum format, GLsizei stride, const GLvoid *pointer);
    213 GLboolean ( APIENTRY * qglIsEnabled )(GLenum cap);
    214 GLboolean ( APIENTRY * qglIsList )(GLuint list);
    215 GLboolean ( APIENTRY * qglIsTexture )(GLuint texture);
    216 void ( APIENTRY * qglLightModelf )(GLenum pname, GLfloat param);
    217 void ( APIENTRY * qglLightModelfv )(GLenum pname, const GLfloat *params);
    218 void ( APIENTRY * qglLightModeli )(GLenum pname, GLint param);
    219 void ( APIENTRY * qglLightModeliv )(GLenum pname, const GLint *params);
    220 void ( APIENTRY * qglLightf )(GLenum light, GLenum pname, GLfloat param);
    221 void ( APIENTRY * qglLightfv )(GLenum light, GLenum pname, const GLfloat *params);
    222 void ( APIENTRY * qglLighti )(GLenum light, GLenum pname, GLint param);
    223 void ( APIENTRY * qglLightiv )(GLenum light, GLenum pname, const GLint *params);
    224 void ( APIENTRY * qglLineStipple )(GLint factor, GLushort pattern);
    225 void ( APIENTRY * qglLineWidth )(GLfloat width);
    226 void ( APIENTRY * qglListBase )(GLuint base);
    227 void ( APIENTRY * qglLoadIdentity )(void);
    228 void ( APIENTRY * qglLoadMatrixd )(const GLdouble *m);
    229 void ( APIENTRY * qglLoadMatrixf )(const GLfloat *m);
    230 void ( APIENTRY * qglLoadName )(GLuint name);
    231 void ( APIENTRY * qglLogicOp )(GLenum opcode);
    232 void ( APIENTRY * qglMap1d )(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
    233 void ( APIENTRY * qglMap1f )(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
    234 void ( APIENTRY * qglMap2d )(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
    235 void ( APIENTRY * qglMap2f )(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
    236 void ( APIENTRY * qglMapGrid1d )(GLint un, GLdouble u1, GLdouble u2);
    237 void ( APIENTRY * qglMapGrid1f )(GLint un, GLfloat u1, GLfloat u2);
    238 void ( APIENTRY * qglMapGrid2d )(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);
    239 void ( APIENTRY * qglMapGrid2f )(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);
    240 void ( APIENTRY * qglMaterialf )(GLenum face, GLenum pname, GLfloat param);
    241 void ( APIENTRY * qglMaterialfv )(GLenum face, GLenum pname, const GLfloat *params);
    242 void ( APIENTRY * qglMateriali )(GLenum face, GLenum pname, GLint param);
    243 void ( APIENTRY * qglMaterialiv )(GLenum face, GLenum pname, const GLint *params);
    244 void ( APIENTRY * qglMatrixMode )(GLenum mode);
    245 void ( APIENTRY * qglMultMatrixd )(const GLdouble *m);
    246 void ( APIENTRY * qglMultMatrixf )(const GLfloat *m);
    247 void ( APIENTRY * qglNewList )(GLuint list, GLenum mode);
    248 void ( APIENTRY * qglNormal3b )(GLbyte nx, GLbyte ny, GLbyte nz);
    249 void ( APIENTRY * qglNormal3bv )(const GLbyte *v);
    250 void ( APIENTRY * qglNormal3d )(GLdouble nx, GLdouble ny, GLdouble nz);
    251 void ( APIENTRY * qglNormal3dv )(const GLdouble *v);
    252 void ( APIENTRY * qglNormal3f )(GLfloat nx, GLfloat ny, GLfloat nz);
    253 void ( APIENTRY * qglNormal3fv )(const GLfloat *v);
    254 void ( APIENTRY * qglNormal3i )(GLint nx, GLint ny, GLint nz);
    255 void ( APIENTRY * qglNormal3iv )(const GLint *v);
    256 void ( APIENTRY * qglNormal3s )(GLshort nx, GLshort ny, GLshort nz);
    257 void ( APIENTRY * qglNormal3sv )(const GLshort *v);
    258 void ( APIENTRY * qglNormalPointer )(GLenum type, GLsizei stride, const GLvoid *pointer);
    259 void ( APIENTRY * qglOrtho )(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
    260 void ( APIENTRY * qglPassThrough )(GLfloat token);
    261 void ( APIENTRY * qglPixelMapfv )(GLenum map, GLsizei mapsize, const GLfloat *values);
    262 void ( APIENTRY * qglPixelMapuiv )(GLenum map, GLsizei mapsize, const GLuint *values);
    263 void ( APIENTRY * qglPixelMapusv )(GLenum map, GLsizei mapsize, const GLushort *values);
    264 void ( APIENTRY * qglPixelStoref )(GLenum pname, GLfloat param);
    265 void ( APIENTRY * qglPixelStorei )(GLenum pname, GLint param);
    266 void ( APIENTRY * qglPixelTransferf )(GLenum pname, GLfloat param);
    267 void ( APIENTRY * qglPixelTransferi )(GLenum pname, GLint param);
    268 void ( APIENTRY * qglPixelZoom )(GLfloat xfactor, GLfloat yfactor);
    269 void ( APIENTRY * qglPointSize )(GLfloat size);
    270 void ( APIENTRY * qglPolygonMode )(GLenum face, GLenum mode);
    271 void ( APIENTRY * qglPolygonOffset )(GLfloat factor, GLfloat units);
    272 void ( APIENTRY * qglPolygonStipple )(const GLubyte *mask);
    273 void ( APIENTRY * qglPopAttrib )(void);
    274 void ( APIENTRY * qglPopClientAttrib )(void);
    275 void ( APIENTRY * qglPopMatrix )(void);
    276 void ( APIENTRY * qglPopName )(void);
    277 void ( APIENTRY * qglPrioritizeTextures )(GLsizei n, const GLuint *textures, const GLclampf *priorities);
    278 void ( APIENTRY * qglPushAttrib )(GLbitfield mask);
    279 void ( APIENTRY * qglPushClientAttrib )(GLbitfield mask);
    280 void ( APIENTRY * qglPushMatrix )(void);
    281 void ( APIENTRY * qglPushName )(GLuint name);
    282 void ( APIENTRY * qglRasterPos2d )(GLdouble x, GLdouble y);
    283 void ( APIENTRY * qglRasterPos2dv )(const GLdouble *v);
    284 void ( APIENTRY * qglRasterPos2f )(GLfloat x, GLfloat y);
    285 void ( APIENTRY * qglRasterPos2fv )(const GLfloat *v);
    286 void ( APIENTRY * qglRasterPos2i )(GLint x, GLint y);
    287 void ( APIENTRY * qglRasterPos2iv )(const GLint *v);
    288 void ( APIENTRY * qglRasterPos2s )(GLshort x, GLshort y);
    289 void ( APIENTRY * qglRasterPos2sv )(const GLshort *v);
    290 void ( APIENTRY * qglRasterPos3d )(GLdouble x, GLdouble y, GLdouble z);
    291 void ( APIENTRY * qglRasterPos3dv )(const GLdouble *v);
    292 void ( APIENTRY * qglRasterPos3f )(GLfloat x, GLfloat y, GLfloat z);
    293 void ( APIENTRY * qglRasterPos3fv )(const GLfloat *v);
    294 void ( APIENTRY * qglRasterPos3i )(GLint x, GLint y, GLint z);
    295 void ( APIENTRY * qglRasterPos3iv )(const GLint *v);
    296 void ( APIENTRY * qglRasterPos3s )(GLshort x, GLshort y, GLshort z);
    297 void ( APIENTRY * qglRasterPos3sv )(const GLshort *v);
    298 void ( APIENTRY * qglRasterPos4d )(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
    299 void ( APIENTRY * qglRasterPos4dv )(const GLdouble *v);
    300 void ( APIENTRY * qglRasterPos4f )(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
    301 void ( APIENTRY * qglRasterPos4fv )(const GLfloat *v);
    302 void ( APIENTRY * qglRasterPos4i )(GLint x, GLint y, GLint z, GLint w);
    303 void ( APIENTRY * qglRasterPos4iv )(const GLint *v);
    304 void ( APIENTRY * qglRasterPos4s )(GLshort x, GLshort y, GLshort z, GLshort w);
    305 void ( APIENTRY * qglRasterPos4sv )(const GLshort *v);
    306 void ( APIENTRY * qglReadBuffer )(GLenum mode);
    307 void ( APIENTRY * qglReadPixels )(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
    308 void ( APIENTRY * qglRectd )(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
    309 void ( APIENTRY * qglRectdv )(const GLdouble *v1, const GLdouble *v2);
    310 void ( APIENTRY * qglRectf )(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
    311 void ( APIENTRY * qglRectfv )(const GLfloat *v1, const GLfloat *v2);
    312 void ( APIENTRY * qglRecti )(GLint x1, GLint y1, GLint x2, GLint y2);
    313 void ( APIENTRY * qglRectiv )(const GLint *v1, const GLint *v2);
    314 void ( APIENTRY * qglRects )(GLshort x1, GLshort y1, GLshort x2, GLshort y2);
    315 void ( APIENTRY * qglRectsv )(const GLshort *v1, const GLshort *v2);
    316 GLint ( APIENTRY * qglRenderMode )(GLenum mode);
    317 void ( APIENTRY * qglRotated )(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
    318 void ( APIENTRY * qglRotatef )(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
    319 void ( APIENTRY * qglScaled )(GLdouble x, GLdouble y, GLdouble z);
    320 void ( APIENTRY * qglScalef )(GLfloat x, GLfloat y, GLfloat z);
    321 void ( APIENTRY * qglScissor )(GLint x, GLint y, GLsizei width, GLsizei height);
    322 void ( APIENTRY * qglSelectBuffer )(GLsizei size, GLuint *buffer);
    323 void ( APIENTRY * qglShadeModel )(GLenum mode);
    324 void ( APIENTRY * qglStencilFunc )(GLenum func, GLint ref, GLuint mask);
    325 void ( APIENTRY * qglStencilMask )(GLuint mask);
    326 void ( APIENTRY * qglStencilOp )(GLenum fail, GLenum zfail, GLenum zpass);
    327 void ( APIENTRY * qglTexCoord1d )(GLdouble s);
    328 void ( APIENTRY * qglTexCoord1dv )(const GLdouble *v);
    329 void ( APIENTRY * qglTexCoord1f )(GLfloat s);
    330 void ( APIENTRY * qglTexCoord1fv )(const GLfloat *v);
    331 void ( APIENTRY * qglTexCoord1i )(GLint s);
    332 void ( APIENTRY * qglTexCoord1iv )(const GLint *v);
    333 void ( APIENTRY * qglTexCoord1s )(GLshort s);
    334 void ( APIENTRY * qglTexCoord1sv )(const GLshort *v);
    335 void ( APIENTRY * qglTexCoord2d )(GLdouble s, GLdouble t);
    336 void ( APIENTRY * qglTexCoord2dv )(const GLdouble *v);
    337 void ( APIENTRY * qglTexCoord2f )(GLfloat s, GLfloat t);
    338 void ( APIENTRY * qglTexCoord2fv )(const GLfloat *v);
    339 void ( APIENTRY * qglTexCoord2i )(GLint s, GLint t);
    340 void ( APIENTRY * qglTexCoord2iv )(const GLint *v);
    341 void ( APIENTRY * qglTexCoord2s )(GLshort s, GLshort t);
    342 void ( APIENTRY * qglTexCoord2sv )(const GLshort *v);
    343 void ( APIENTRY * qglTexCoord3d )(GLdouble s, GLdouble t, GLdouble r);
    344 void ( APIENTRY * qglTexCoord3dv )(const GLdouble *v);
    345 void ( APIENTRY * qglTexCoord3f )(GLfloat s, GLfloat t, GLfloat r);
    346 void ( APIENTRY * qglTexCoord3fv )(const GLfloat *v);
    347 void ( APIENTRY * qglTexCoord3i )(GLint s, GLint t, GLint r);
    348 void ( APIENTRY * qglTexCoord3iv )(const GLint *v);
    349 void ( APIENTRY * qglTexCoord3s )(GLshort s, GLshort t, GLshort r);
    350 void ( APIENTRY * qglTexCoord3sv )(const GLshort *v);
    351 void ( APIENTRY * qglTexCoord4d )(GLdouble s, GLdouble t, GLdouble r, GLdouble q);
    352 void ( APIENTRY * qglTexCoord4dv )(const GLdouble *v);
    353 void ( APIENTRY * qglTexCoord4f )(GLfloat s, GLfloat t, GLfloat r, GLfloat q);
    354 void ( APIENTRY * qglTexCoord4fv )(const GLfloat *v);
    355 void ( APIENTRY * qglTexCoord4i )(GLint s, GLint t, GLint r, GLint q);
    356 void ( APIENTRY * qglTexCoord4iv )(const GLint *v);
    357 void ( APIENTRY * qglTexCoord4s )(GLshort s, GLshort t, GLshort r, GLshort q);
    358 void ( APIENTRY * qglTexCoord4sv )(const GLshort *v);
    359 void ( APIENTRY * qglTexCoordPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
    360 void ( APIENTRY * qglTexEnvf )(GLenum target, GLenum pname, GLfloat param);
    361 void ( APIENTRY * qglTexEnvfv )(GLenum target, GLenum pname, const GLfloat *params);
    362 void ( APIENTRY * qglTexEnvi )(GLenum target, GLenum pname, GLint param);
    363 void ( APIENTRY * qglTexEnviv )(GLenum target, GLenum pname, const GLint *params);
    364 void ( APIENTRY * qglTexGend )(GLenum coord, GLenum pname, GLdouble param);
    365 void ( APIENTRY * qglTexGendv )(GLenum coord, GLenum pname, const GLdouble *params);
    366 void ( APIENTRY * qglTexGenf )(GLenum coord, GLenum pname, GLfloat param);
    367 void ( APIENTRY * qglTexGenfv )(GLenum coord, GLenum pname, const GLfloat *params);
    368 void ( APIENTRY * qglTexGeni )(GLenum coord, GLenum pname, GLint param);
    369 void ( APIENTRY * qglTexGeniv )(GLenum coord, GLenum pname, const GLint *params);
    370 void ( APIENTRY * qglTexImage1D )(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
    371 void ( APIENTRY * qglTexImage2D )(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
    372 void ( APIENTRY * qglTexParameterf )(GLenum target, GLenum pname, GLfloat param);
    373 void ( APIENTRY * qglTexParameterfv )(GLenum target, GLenum pname, const GLfloat *params);
    374 void ( APIENTRY * qglTexParameteri )(GLenum target, GLenum pname, GLint param);
    375 void ( APIENTRY * qglTexParameteriv )(GLenum target, GLenum pname, const GLint *params);
    376 void ( APIENTRY * qglTexSubImage1D )(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
    377 void ( APIENTRY * qglTexSubImage2D )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
    378 void ( APIENTRY * qglTranslated )(GLdouble x, GLdouble y, GLdouble z);
    379 void ( APIENTRY * qglTranslatef )(GLfloat x, GLfloat y, GLfloat z);
    380 void ( APIENTRY * qglVertex2d )(GLdouble x, GLdouble y);
    381 void ( APIENTRY * qglVertex2dv )(const GLdouble *v);
    382 void ( APIENTRY * qglVertex2f )(GLfloat x, GLfloat y);
    383 void ( APIENTRY * qglVertex2fv )(const GLfloat *v);
    384 void ( APIENTRY * qglVertex2i )(GLint x, GLint y);
    385 void ( APIENTRY * qglVertex2iv )(const GLint *v);
    386 void ( APIENTRY * qglVertex2s )(GLshort x, GLshort y);
    387 void ( APIENTRY * qglVertex2sv )(const GLshort *v);
    388 void ( APIENTRY * qglVertex3d )(GLdouble x, GLdouble y, GLdouble z);
    389 void ( APIENTRY * qglVertex3dv )(const GLdouble *v);
    390 void ( APIENTRY * qglVertex3f )(GLfloat x, GLfloat y, GLfloat z);
    391 void ( APIENTRY * qglVertex3fv )(const GLfloat *v);
    392 void ( APIENTRY * qglVertex3i )(GLint x, GLint y, GLint z);
    393 void ( APIENTRY * qglVertex3iv )(const GLint *v);
    394 void ( APIENTRY * qglVertex3s )(GLshort x, GLshort y, GLshort z);
    395 void ( APIENTRY * qglVertex3sv )(const GLshort *v);
    396 void ( APIENTRY * qglVertex4d )(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
    397 void ( APIENTRY * qglVertex4dv )(const GLdouble *v);
    398 void ( APIENTRY * qglVertex4f )(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
    399 void ( APIENTRY * qglVertex4fv )(const GLfloat *v);
    400 void ( APIENTRY * qglVertex4i )(GLint x, GLint y, GLint z, GLint w);
    401 void ( APIENTRY * qglVertex4iv )(const GLint *v);
    402 void ( APIENTRY * qglVertex4s )(GLshort x, GLshort y, GLshort z, GLshort w);
    403 void ( APIENTRY * qglVertex4sv )(const GLshort *v);
    404 void ( APIENTRY * qglVertexPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
    405 void ( APIENTRY * qglViewport )(GLint x, GLint y, GLsizei width, GLsizei height);
    406 
    407 void ( APIENTRY * qglMultiTexCoord2fARB )( GLenum texture, GLfloat s, GLfloat t );
    408 void ( APIENTRY * qglActiveTextureARB )( GLenum texture );
    409 void ( APIENTRY * qglClientActiveTextureARB )( GLenum texture );
    410 
    411 void ( APIENTRY * qglLockArraysEXT)( int, int);
    412 void ( APIENTRY * qglUnlockArraysEXT) ( void );
    413 
    414 void ( APIENTRY * qglPointParameterfEXT)( GLenum param, GLfloat value );
    415 void ( APIENTRY * qglPointParameterfvEXT)( GLenum param, const GLfloat *value );
    416 void ( APIENTRY * qglColorTableEXT)( int, int, int, int, int, const void * );
    417 void ( APIENTRY * qgl3DfxSetPaletteEXT)( GLuint * );
    418 void ( APIENTRY * qglSelectTextureSGIS)( GLenum );
    419 void ( APIENTRY * qglMTexCoord2fSGIS)( GLenum, GLfloat, GLfloat );
    420 
    421 static void ( APIENTRY * dllAccum )(GLenum op, GLfloat value);
    422 static void ( APIENTRY * dllAlphaFunc )(GLenum func, GLclampf ref);
    423 GLboolean ( APIENTRY * dllAreTexturesResident )(GLsizei n, const GLuint *textures, GLboolean *residences);
    424 static void ( APIENTRY * dllArrayElement )(GLint i);
    425 static void ( APIENTRY * dllBegin )(GLenum mode);
    426 static void ( APIENTRY * dllBindTexture )(GLenum target, GLuint texture);
    427 static void ( APIENTRY * dllBitmap )(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);
    428 static void ( APIENTRY * dllBlendFunc )(GLenum sfactor, GLenum dfactor);
    429 static void ( APIENTRY * dllCallList )(GLuint list);
    430 static void ( APIENTRY * dllCallLists )(GLsizei n, GLenum type, const GLvoid *lists);
    431 static void ( APIENTRY * dllClear )(GLbitfield mask);
    432 static void ( APIENTRY * dllClearAccum )(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
    433 static void ( APIENTRY * dllClearColor )(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
    434 static void ( APIENTRY * dllClearDepth )(GLclampd depth);
    435 static void ( APIENTRY * dllClearIndex )(GLfloat c);
    436 static void ( APIENTRY * dllClearStencil )(GLint s);
    437 static void ( APIENTRY * dllClipPlane )(GLenum plane, const GLdouble *equation);
    438 static void ( APIENTRY * dllColor3b )(GLbyte red, GLbyte green, GLbyte blue);
    439 static void ( APIENTRY * dllColor3bv )(const GLbyte *v);
    440 static void ( APIENTRY * dllColor3d )(GLdouble red, GLdouble green, GLdouble blue);
    441 static void ( APIENTRY * dllColor3dv )(const GLdouble *v);
    442 static void ( APIENTRY * dllColor3f )(GLfloat red, GLfloat green, GLfloat blue);
    443 static void ( APIENTRY * dllColor3fv )(const GLfloat *v);
    444 static void ( APIENTRY * dllColor3i )(GLint red, GLint green, GLint blue);
    445 static void ( APIENTRY * dllColor3iv )(const GLint *v);
    446 static void ( APIENTRY * dllColor3s )(GLshort red, GLshort green, GLshort blue);
    447 static void ( APIENTRY * dllColor3sv )(const GLshort *v);
    448 static void ( APIENTRY * dllColor3ub )(GLubyte red, GLubyte green, GLubyte blue);
    449 static void ( APIENTRY * dllColor3ubv )(const GLubyte *v);
    450 static void ( APIENTRY * dllColor3ui )(GLuint red, GLuint green, GLuint blue);
    451 static void ( APIENTRY * dllColor3uiv )(const GLuint *v);
    452 static void ( APIENTRY * dllColor3us )(GLushort red, GLushort green, GLushort blue);
    453 static void ( APIENTRY * dllColor3usv )(const GLushort *v);
    454 static void ( APIENTRY * dllColor4b )(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
    455 static void ( APIENTRY * dllColor4bv )(const GLbyte *v);
    456 static void ( APIENTRY * dllColor4d )(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
    457 static void ( APIENTRY * dllColor4dv )(const GLdouble *v);
    458 static void ( APIENTRY * dllColor4f )(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
    459 static void ( APIENTRY * dllColor4fv )(const GLfloat *v);
    460 static void ( APIENTRY * dllColor4i )(GLint red, GLint green, GLint blue, GLint alpha);
    461 static void ( APIENTRY * dllColor4iv )(const GLint *v);
    462 static void ( APIENTRY * dllColor4s )(GLshort red, GLshort green, GLshort blue, GLshort alpha);
    463 static void ( APIENTRY * dllColor4sv )(const GLshort *v);
    464 static void ( APIENTRY * dllColor4ub )(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
    465 static void ( APIENTRY * dllColor4ubv )(const GLubyte *v);
    466 static void ( APIENTRY * dllColor4ui )(GLuint red, GLuint green, GLuint blue, GLuint alpha);
    467 static void ( APIENTRY * dllColor4uiv )(const GLuint *v);
    468 static void ( APIENTRY * dllColor4us )(GLushort red, GLushort green, GLushort blue, GLushort alpha);
    469 static void ( APIENTRY * dllColor4usv )(const GLushort *v);
    470 static void ( APIENTRY * dllColorMask )(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
    471 static void ( APIENTRY * dllColorMaterial )(GLenum face, GLenum mode);
    472 static void ( APIENTRY * dllColorPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
    473 static void ( APIENTRY * dllCopyPixels )(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
    474 static void ( APIENTRY * dllCopyTexImage1D )(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border);
    475 static void ( APIENTRY * dllCopyTexImage2D )(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
    476 static void ( APIENTRY * dllCopyTexSubImage1D )(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
    477 static void ( APIENTRY * dllCopyTexSubImage2D )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
    478 static void ( APIENTRY * dllCullFace )(GLenum mode);
    479 static void ( APIENTRY * dllDeleteLists )(GLuint list, GLsizei range);
    480 static void ( APIENTRY * dllDeleteTextures )(GLsizei n, const GLuint *textures);
    481 static void ( APIENTRY * dllDepthFunc )(GLenum func);
    482 static void ( APIENTRY * dllDepthMask )(GLboolean flag);
    483 static void ( APIENTRY * dllDepthRange )(GLclampd zNear, GLclampd zFar);
    484 static void ( APIENTRY * dllDisable )(GLenum cap);
    485 static void ( APIENTRY * dllDisableClientState )(GLenum array);
    486 static void ( APIENTRY * dllDrawArrays )(GLenum mode, GLint first, GLsizei count);
    487 static void ( APIENTRY * dllDrawBuffer )(GLenum mode);
    488 static void ( APIENTRY * dllDrawElements )(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
    489 static void ( APIENTRY * dllDrawPixels )(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
    490 static void ( APIENTRY * dllEdgeFlag )(GLboolean flag);
    491 static void ( APIENTRY * dllEdgeFlagPointer )(GLsizei stride, const GLvoid *pointer);
    492 static void ( APIENTRY * dllEdgeFlagv )(const GLboolean *flag);
    493 static void ( APIENTRY * dllEnable )(GLenum cap);
    494 static void ( APIENTRY * dllEnableClientState )(GLenum array);
    495 static void ( APIENTRY * dllEnd )(void);
    496 static void ( APIENTRY * dllEndList )(void);
    497 static void ( APIENTRY * dllEvalCoord1d )(GLdouble u);
    498 static void ( APIENTRY * dllEvalCoord1dv )(const GLdouble *u);
    499 static void ( APIENTRY * dllEvalCoord1f )(GLfloat u);
    500 static void ( APIENTRY * dllEvalCoord1fv )(const GLfloat *u);
    501 static void ( APIENTRY * dllEvalCoord2d )(GLdouble u, GLdouble v);
    502 static void ( APIENTRY * dllEvalCoord2dv )(const GLdouble *u);
    503 static void ( APIENTRY * dllEvalCoord2f )(GLfloat u, GLfloat v);
    504 static void ( APIENTRY * dllEvalCoord2fv )(const GLfloat *u);
    505 static void ( APIENTRY * dllEvalMesh1 )(GLenum mode, GLint i1, GLint i2);
    506 static void ( APIENTRY * dllEvalMesh2 )(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
    507 static void ( APIENTRY * dllEvalPoint1 )(GLint i);
    508 static void ( APIENTRY * dllEvalPoint2 )(GLint i, GLint j);
    509 static void ( APIENTRY * dllFeedbackBuffer )(GLsizei size, GLenum type, GLfloat *buffer);
    510 static void ( APIENTRY * dllFinish )(void);
    511 static void ( APIENTRY * dllFlush )(void);
    512 static void ( APIENTRY * dllFogf )(GLenum pname, GLfloat param);
    513 static void ( APIENTRY * dllFogfv )(GLenum pname, const GLfloat *params);
    514 static void ( APIENTRY * dllFogi )(GLenum pname, GLint param);
    515 static void ( APIENTRY * dllFogiv )(GLenum pname, const GLint *params);
    516 static void ( APIENTRY * dllFrontFace )(GLenum mode);
    517 static void ( APIENTRY * dllFrustum )(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
    518 GLuint ( APIENTRY * dllGenLists )(GLsizei range);
    519 static void ( APIENTRY * dllGenTextures )(GLsizei n, GLuint *textures);
    520 static void ( APIENTRY * dllGetBooleanv )(GLenum pname, GLboolean *params);
    521 static void ( APIENTRY * dllGetClipPlane )(GLenum plane, GLdouble *equation);
    522 static void ( APIENTRY * dllGetDoublev )(GLenum pname, GLdouble *params);
    523 GLenum ( APIENTRY * dllGetError )(void);
    524 static void ( APIENTRY * dllGetFloatv )(GLenum pname, GLfloat *params);
    525 static void ( APIENTRY * dllGetIntegerv )(GLenum pname, GLint *params);
    526 static void ( APIENTRY * dllGetLightfv )(GLenum light, GLenum pname, GLfloat *params);
    527 static void ( APIENTRY * dllGetLightiv )(GLenum light, GLenum pname, GLint *params);
    528 static void ( APIENTRY * dllGetMapdv )(GLenum target, GLenum query, GLdouble *v);
    529 static void ( APIENTRY * dllGetMapfv )(GLenum target, GLenum query, GLfloat *v);
    530 static void ( APIENTRY * dllGetMapiv )(GLenum target, GLenum query, GLint *v);
    531 static void ( APIENTRY * dllGetMaterialfv )(GLenum face, GLenum pname, GLfloat *params);
    532 static void ( APIENTRY * dllGetMaterialiv )(GLenum face, GLenum pname, GLint *params);
    533 static void ( APIENTRY * dllGetPixelMapfv )(GLenum map, GLfloat *values);
    534 static void ( APIENTRY * dllGetPixelMapuiv )(GLenum map, GLuint *values);
    535 static void ( APIENTRY * dllGetPixelMapusv )(GLenum map, GLushort *values);
    536 static void ( APIENTRY * dllGetPointerv )(GLenum pname, GLvoid* *params);
    537 static void ( APIENTRY * dllGetPolygonStipple )(GLubyte *mask);
    538 const GLubyte * ( APIENTRY * dllGetString )(GLenum name);
    539 static void ( APIENTRY * dllGetTexEnvfv )(GLenum target, GLenum pname, GLfloat *params);
    540 static void ( APIENTRY * dllGetTexEnviv )(GLenum target, GLenum pname, GLint *params);
    541 static void ( APIENTRY * dllGetTexGendv )(GLenum coord, GLenum pname, GLdouble *params);
    542 static void ( APIENTRY * dllGetTexGenfv )(GLenum coord, GLenum pname, GLfloat *params);
    543 static void ( APIENTRY * dllGetTexGeniv )(GLenum coord, GLenum pname, GLint *params);
    544 static void ( APIENTRY * dllGetTexImage )(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
    545 static void ( APIENTRY * dllGetTexLevelParameterfv )(GLenum target, GLint level, GLenum pname, GLfloat *params);
    546 static void ( APIENTRY * dllGetTexLevelParameteriv )(GLenum target, GLint level, GLenum pname, GLint *params);
    547 static void ( APIENTRY * dllGetTexParameterfv )(GLenum target, GLenum pname, GLfloat *params);
    548 static void ( APIENTRY * dllGetTexParameteriv )(GLenum target, GLenum pname, GLint *params);
    549 static void ( APIENTRY * dllHint )(GLenum target, GLenum mode);
    550 static void ( APIENTRY * dllIndexMask )(GLuint mask);
    551 static void ( APIENTRY * dllIndexPointer )(GLenum type, GLsizei stride, const GLvoid *pointer);
    552 static void ( APIENTRY * dllIndexd )(GLdouble c);
    553 static void ( APIENTRY * dllIndexdv )(const GLdouble *c);
    554 static void ( APIENTRY * dllIndexf )(GLfloat c);
    555 static void ( APIENTRY * dllIndexfv )(const GLfloat *c);
    556 static void ( APIENTRY * dllIndexi )(GLint c);
    557 static void ( APIENTRY * dllIndexiv )(const GLint *c);
    558 static void ( APIENTRY * dllIndexs )(GLshort c);
    559 static void ( APIENTRY * dllIndexsv )(const GLshort *c);
    560 static void ( APIENTRY * dllIndexub )(GLubyte c);
    561 static void ( APIENTRY * dllIndexubv )(const GLubyte *c);
    562 static void ( APIENTRY * dllInitNames )(void);
    563 static void ( APIENTRY * dllInterleavedArrays )(GLenum format, GLsizei stride, const GLvoid *pointer);
    564 GLboolean ( APIENTRY * dllIsEnabled )(GLenum cap);
    565 GLboolean ( APIENTRY * dllIsList )(GLuint list);
    566 GLboolean ( APIENTRY * dllIsTexture )(GLuint texture);
    567 static void ( APIENTRY * dllLightModelf )(GLenum pname, GLfloat param);
    568 static void ( APIENTRY * dllLightModelfv )(GLenum pname, const GLfloat *params);
    569 static void ( APIENTRY * dllLightModeli )(GLenum pname, GLint param);
    570 static void ( APIENTRY * dllLightModeliv )(GLenum pname, const GLint *params);
    571 static void ( APIENTRY * dllLightf )(GLenum light, GLenum pname, GLfloat param);
    572 static void ( APIENTRY * dllLightfv )(GLenum light, GLenum pname, const GLfloat *params);
    573 static void ( APIENTRY * dllLighti )(GLenum light, GLenum pname, GLint param);
    574 static void ( APIENTRY * dllLightiv )(GLenum light, GLenum pname, const GLint *params);
    575 static void ( APIENTRY * dllLineStipple )(GLint factor, GLushort pattern);
    576 static void ( APIENTRY * dllLineWidth )(GLfloat width);
    577 static void ( APIENTRY * dllListBase )(GLuint base);
    578 static void ( APIENTRY * dllLoadIdentity )(void);
    579 static void ( APIENTRY * dllLoadMatrixd )(const GLdouble *m);
    580 static void ( APIENTRY * dllLoadMatrixf )(const GLfloat *m);
    581 static void ( APIENTRY * dllLoadName )(GLuint name);
    582 static void ( APIENTRY * dllLogicOp )(GLenum opcode);
    583 static void ( APIENTRY * dllMap1d )(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
    584 static void ( APIENTRY * dllMap1f )(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
    585 static void ( APIENTRY * dllMap2d )(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
    586 static void ( APIENTRY * dllMap2f )(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
    587 static void ( APIENTRY * dllMapGrid1d )(GLint un, GLdouble u1, GLdouble u2);
    588 static void ( APIENTRY * dllMapGrid1f )(GLint un, GLfloat u1, GLfloat u2);
    589 static void ( APIENTRY * dllMapGrid2d )(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);
    590 static void ( APIENTRY * dllMapGrid2f )(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);
    591 static void ( APIENTRY * dllMaterialf )(GLenum face, GLenum pname, GLfloat param);
    592 static void ( APIENTRY * dllMaterialfv )(GLenum face, GLenum pname, const GLfloat *params);
    593 static void ( APIENTRY * dllMateriali )(GLenum face, GLenum pname, GLint param);
    594 static void ( APIENTRY * dllMaterialiv )(GLenum face, GLenum pname, const GLint *params);
    595 static void ( APIENTRY * dllMatrixMode )(GLenum mode);
    596 static void ( APIENTRY * dllMultMatrixd )(const GLdouble *m);
    597 static void ( APIENTRY * dllMultMatrixf )(const GLfloat *m);
    598 static void ( APIENTRY * dllNewList )(GLuint list, GLenum mode);
    599 static void ( APIENTRY * dllNormal3b )(GLbyte nx, GLbyte ny, GLbyte nz);
    600 static void ( APIENTRY * dllNormal3bv )(const GLbyte *v);
    601 static void ( APIENTRY * dllNormal3d )(GLdouble nx, GLdouble ny, GLdouble nz);
    602 static void ( APIENTRY * dllNormal3dv )(const GLdouble *v);
    603 static void ( APIENTRY * dllNormal3f )(GLfloat nx, GLfloat ny, GLfloat nz);
    604 static void ( APIENTRY * dllNormal3fv )(const GLfloat *v);
    605 static void ( APIENTRY * dllNormal3i )(GLint nx, GLint ny, GLint nz);
    606 static void ( APIENTRY * dllNormal3iv )(const GLint *v);
    607 static void ( APIENTRY * dllNormal3s )(GLshort nx, GLshort ny, GLshort nz);
    608 static void ( APIENTRY * dllNormal3sv )(const GLshort *v);
    609 static void ( APIENTRY * dllNormalPointer )(GLenum type, GLsizei stride, const GLvoid *pointer);
    610 static void ( APIENTRY * dllOrtho )(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
    611 static void ( APIENTRY * dllPassThrough )(GLfloat token);
    612 static void ( APIENTRY * dllPixelMapfv )(GLenum map, GLsizei mapsize, const GLfloat *values);
    613 static void ( APIENTRY * dllPixelMapuiv )(GLenum map, GLsizei mapsize, const GLuint *values);
    614 static void ( APIENTRY * dllPixelMapusv )(GLenum map, GLsizei mapsize, const GLushort *values);
    615 static void ( APIENTRY * dllPixelStoref )(GLenum pname, GLfloat param);
    616 static void ( APIENTRY * dllPixelStorei )(GLenum pname, GLint param);
    617 static void ( APIENTRY * dllPixelTransferf )(GLenum pname, GLfloat param);
    618 static void ( APIENTRY * dllPixelTransferi )(GLenum pname, GLint param);
    619 static void ( APIENTRY * dllPixelZoom )(GLfloat xfactor, GLfloat yfactor);
    620 static void ( APIENTRY * dllPointSize )(GLfloat size);
    621 static void ( APIENTRY * dllPolygonMode )(GLenum face, GLenum mode);
    622 static void ( APIENTRY * dllPolygonOffset )(GLfloat factor, GLfloat units);
    623 static void ( APIENTRY * dllPolygonStipple )(const GLubyte *mask);
    624 static void ( APIENTRY * dllPopAttrib )(void);
    625 static void ( APIENTRY * dllPopClientAttrib )(void);
    626 static void ( APIENTRY * dllPopMatrix )(void);
    627 static void ( APIENTRY * dllPopName )(void);
    628 static void ( APIENTRY * dllPrioritizeTextures )(GLsizei n, const GLuint *textures, const GLclampf *priorities);
    629 static void ( APIENTRY * dllPushAttrib )(GLbitfield mask);
    630 static void ( APIENTRY * dllPushClientAttrib )(GLbitfield mask);
    631 static void ( APIENTRY * dllPushMatrix )(void);
    632 static void ( APIENTRY * dllPushName )(GLuint name);
    633 static void ( APIENTRY * dllRasterPos2d )(GLdouble x, GLdouble y);
    634 static void ( APIENTRY * dllRasterPos2dv )(const GLdouble *v);
    635 static void ( APIENTRY * dllRasterPos2f )(GLfloat x, GLfloat y);
    636 static void ( APIENTRY * dllRasterPos2fv )(const GLfloat *v);
    637 static void ( APIENTRY * dllRasterPos2i )(GLint x, GLint y);
    638 static void ( APIENTRY * dllRasterPos2iv )(const GLint *v);
    639 static void ( APIENTRY * dllRasterPos2s )(GLshort x, GLshort y);
    640 static void ( APIENTRY * dllRasterPos2sv )(const GLshort *v);
    641 static void ( APIENTRY * dllRasterPos3d )(GLdouble x, GLdouble y, GLdouble z);
    642 static void ( APIENTRY * dllRasterPos3dv )(const GLdouble *v);
    643 static void ( APIENTRY * dllRasterPos3f )(GLfloat x, GLfloat y, GLfloat z);
    644 static void ( APIENTRY * dllRasterPos3fv )(const GLfloat *v);
    645 static void ( APIENTRY * dllRasterPos3i )(GLint x, GLint y, GLint z);
    646 static void ( APIENTRY * dllRasterPos3iv )(const GLint *v);
    647 static void ( APIENTRY * dllRasterPos3s )(GLshort x, GLshort y, GLshort z);
    648 static void ( APIENTRY * dllRasterPos3sv )(const GLshort *v);
    649 static void ( APIENTRY * dllRasterPos4d )(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
    650 static void ( APIENTRY * dllRasterPos4dv )(const GLdouble *v);
    651 static void ( APIENTRY * dllRasterPos4f )(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
    652 static void ( APIENTRY * dllRasterPos4fv )(const GLfloat *v);
    653 static void ( APIENTRY * dllRasterPos4i )(GLint x, GLint y, GLint z, GLint w);
    654 static void ( APIENTRY * dllRasterPos4iv )(const GLint *v);
    655 static void ( APIENTRY * dllRasterPos4s )(GLshort x, GLshort y, GLshort z, GLshort w);
    656 static void ( APIENTRY * dllRasterPos4sv )(const GLshort *v);
    657 static void ( APIENTRY * dllReadBuffer )(GLenum mode);
    658 static void ( APIENTRY * dllReadPixels )(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
    659 static void ( APIENTRY * dllRectd )(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
    660 static void ( APIENTRY * dllRectdv )(const GLdouble *v1, const GLdouble *v2);
    661 static void ( APIENTRY * dllRectf )(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
    662 static void ( APIENTRY * dllRectfv )(const GLfloat *v1, const GLfloat *v2);
    663 static void ( APIENTRY * dllRecti )(GLint x1, GLint y1, GLint x2, GLint y2);
    664 static void ( APIENTRY * dllRectiv )(const GLint *v1, const GLint *v2);
    665 static void ( APIENTRY * dllRects )(GLshort x1, GLshort y1, GLshort x2, GLshort y2);
    666 static void ( APIENTRY * dllRectsv )(const GLshort *v1, const GLshort *v2);
    667 GLint ( APIENTRY * dllRenderMode )(GLenum mode);
    668 static void ( APIENTRY * dllRotated )(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
    669 static void ( APIENTRY * dllRotatef )(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
    670 static void ( APIENTRY * dllScaled )(GLdouble x, GLdouble y, GLdouble z);
    671 static void ( APIENTRY * dllScalef )(GLfloat x, GLfloat y, GLfloat z);
    672 static void ( APIENTRY * dllScissor )(GLint x, GLint y, GLsizei width, GLsizei height);
    673 static void ( APIENTRY * dllSelectBuffer )(GLsizei size, GLuint *buffer);
    674 static void ( APIENTRY * dllShadeModel )(GLenum mode);
    675 static void ( APIENTRY * dllStencilFunc )(GLenum func, GLint ref, GLuint mask);
    676 static void ( APIENTRY * dllStencilMask )(GLuint mask);
    677 static void ( APIENTRY * dllStencilOp )(GLenum fail, GLenum zfail, GLenum zpass);
    678 static void ( APIENTRY * dllTexCoord1d )(GLdouble s);
    679 static void ( APIENTRY * dllTexCoord1dv )(const GLdouble *v);
    680 static void ( APIENTRY * dllTexCoord1f )(GLfloat s);
    681 static void ( APIENTRY * dllTexCoord1fv )(const GLfloat *v);
    682 static void ( APIENTRY * dllTexCoord1i )(GLint s);
    683 static void ( APIENTRY * dllTexCoord1iv )(const GLint *v);
    684 static void ( APIENTRY * dllTexCoord1s )(GLshort s);
    685 static void ( APIENTRY * dllTexCoord1sv )(const GLshort *v);
    686 static void ( APIENTRY * dllTexCoord2d )(GLdouble s, GLdouble t);
    687 static void ( APIENTRY * dllTexCoord2dv )(const GLdouble *v);
    688 static void ( APIENTRY * dllTexCoord2f )(GLfloat s, GLfloat t);
    689 static void ( APIENTRY * dllTexCoord2fv )(const GLfloat *v);
    690 static void ( APIENTRY * dllTexCoord2i )(GLint s, GLint t);
    691 static void ( APIENTRY * dllTexCoord2iv )(const GLint *v);
    692 static void ( APIENTRY * dllTexCoord2s )(GLshort s, GLshort t);
    693 static void ( APIENTRY * dllTexCoord2sv )(const GLshort *v);
    694 static void ( APIENTRY * dllTexCoord3d )(GLdouble s, GLdouble t, GLdouble r);
    695 static void ( APIENTRY * dllTexCoord3dv )(const GLdouble *v);
    696 static void ( APIENTRY * dllTexCoord3f )(GLfloat s, GLfloat t, GLfloat r);
    697 static void ( APIENTRY * dllTexCoord3fv )(const GLfloat *v);
    698 static void ( APIENTRY * dllTexCoord3i )(GLint s, GLint t, GLint r);
    699 static void ( APIENTRY * dllTexCoord3iv )(const GLint *v);
    700 static void ( APIENTRY * dllTexCoord3s )(GLshort s, GLshort t, GLshort r);
    701 static void ( APIENTRY * dllTexCoord3sv )(const GLshort *v);
    702 static void ( APIENTRY * dllTexCoord4d )(GLdouble s, GLdouble t, GLdouble r, GLdouble q);
    703 static void ( APIENTRY * dllTexCoord4dv )(const GLdouble *v);
    704 static void ( APIENTRY * dllTexCoord4f )(GLfloat s, GLfloat t, GLfloat r, GLfloat q);
    705 static void ( APIENTRY * dllTexCoord4fv )(const GLfloat *v);
    706 static void ( APIENTRY * dllTexCoord4i )(GLint s, GLint t, GLint r, GLint q);
    707 static void ( APIENTRY * dllTexCoord4iv )(const GLint *v);
    708 static void ( APIENTRY * dllTexCoord4s )(GLshort s, GLshort t, GLshort r, GLshort q);
    709 static void ( APIENTRY * dllTexCoord4sv )(const GLshort *v);
    710 static void ( APIENTRY * dllTexCoordPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
    711 static void ( APIENTRY * dllTexEnvf )(GLenum target, GLenum pname, GLfloat param);
    712 static void ( APIENTRY * dllTexEnvfv )(GLenum target, GLenum pname, const GLfloat *params);
    713 static void ( APIENTRY * dllTexEnvi )(GLenum target, GLenum pname, GLint param);
    714 static void ( APIENTRY * dllTexEnviv )(GLenum target, GLenum pname, const GLint *params);
    715 static void ( APIENTRY * dllTexGend )(GLenum coord, GLenum pname, GLdouble param);
    716 static void ( APIENTRY * dllTexGendv )(GLenum coord, GLenum pname, const GLdouble *params);
    717 static void ( APIENTRY * dllTexGenf )(GLenum coord, GLenum pname, GLfloat param);
    718 static void ( APIENTRY * dllTexGenfv )(GLenum coord, GLenum pname, const GLfloat *params);
    719 static void ( APIENTRY * dllTexGeni )(GLenum coord, GLenum pname, GLint param);
    720 static void ( APIENTRY * dllTexGeniv )(GLenum coord, GLenum pname, const GLint *params);
    721 static void ( APIENTRY * dllTexImage1D )(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
    722 static void ( APIENTRY * dllTexImage2D )(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
    723 static void ( APIENTRY * dllTexParameterf )(GLenum target, GLenum pname, GLfloat param);
    724 static void ( APIENTRY * dllTexParameterfv )(GLenum target, GLenum pname, const GLfloat *params);
    725 static void ( APIENTRY * dllTexParameteri )(GLenum target, GLenum pname, GLint param);
    726 static void ( APIENTRY * dllTexParameteriv )(GLenum target, GLenum pname, const GLint *params);
    727 static void ( APIENTRY * dllTexSubImage1D )(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
    728 static void ( APIENTRY * dllTexSubImage2D )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
    729 static void ( APIENTRY * dllTranslated )(GLdouble x, GLdouble y, GLdouble z);
    730 static void ( APIENTRY * dllTranslatef )(GLfloat x, GLfloat y, GLfloat z);
    731 static void ( APIENTRY * dllVertex2d )(GLdouble x, GLdouble y);
    732 static void ( APIENTRY * dllVertex2dv )(const GLdouble *v);
    733 static void ( APIENTRY * dllVertex2f )(GLfloat x, GLfloat y);
    734 static void ( APIENTRY * dllVertex2fv )(const GLfloat *v);
    735 static void ( APIENTRY * dllVertex2i )(GLint x, GLint y);
    736 static void ( APIENTRY * dllVertex2iv )(const GLint *v);
    737 static void ( APIENTRY * dllVertex2s )(GLshort x, GLshort y);
    738 static void ( APIENTRY * dllVertex2sv )(const GLshort *v);
    739 static void ( APIENTRY * dllVertex3d )(GLdouble x, GLdouble y, GLdouble z);
    740 static void ( APIENTRY * dllVertex3dv )(const GLdouble *v);
    741 static void ( APIENTRY * dllVertex3f )(GLfloat x, GLfloat y, GLfloat z);
    742 static void ( APIENTRY * dllVertex3fv )(const GLfloat *v);
    743 static void ( APIENTRY * dllVertex3i )(GLint x, GLint y, GLint z);
    744 static void ( APIENTRY * dllVertex3iv )(const GLint *v);
    745 static void ( APIENTRY * dllVertex3s )(GLshort x, GLshort y, GLshort z);
    746 static void ( APIENTRY * dllVertex3sv )(const GLshort *v);
    747 static void ( APIENTRY * dllVertex4d )(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
    748 static void ( APIENTRY * dllVertex4dv )(const GLdouble *v);
    749 static void ( APIENTRY * dllVertex4f )(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
    750 static void ( APIENTRY * dllVertex4fv )(const GLfloat *v);
    751 static void ( APIENTRY * dllVertex4i )(GLint x, GLint y, GLint z, GLint w);
    752 static void ( APIENTRY * dllVertex4iv )(const GLint *v);
    753 static void ( APIENTRY * dllVertex4s )(GLshort x, GLshort y, GLshort z, GLshort w);
    754 static void ( APIENTRY * dllVertex4sv )(const GLshort *v);
    755 static void ( APIENTRY * dllVertexPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
    756 static void ( APIENTRY * dllViewport )(GLint x, GLint y, GLsizei width, GLsizei height);
    757 
    758 static void APIENTRY logAccum(GLenum op, GLfloat value)
    759 {
    760 	fprintf( glw_state.log_fp, "glAccum\n" );
    761 	dllAccum( op, value );
    762 }
    763 
    764 static void APIENTRY logAlphaFunc(GLenum func, GLclampf ref)
    765 {
    766 	fprintf( glw_state.log_fp, "glAlphaFunc( 0x%x, %f )\n", func, ref );
    767 	dllAlphaFunc( func, ref );
    768 }
    769 
    770 static GLboolean APIENTRY logAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences)
    771 {
    772 	fprintf( glw_state.log_fp, "glAreTexturesResident\n" );
    773 	return dllAreTexturesResident( n, textures, residences );
    774 }
    775 
    776 static void APIENTRY logArrayElement(GLint i)
    777 {
    778 	fprintf( glw_state.log_fp, "glArrayElement\n" );
    779 	dllArrayElement( i );
    780 }
    781 
    782 static void APIENTRY logBegin(GLenum mode)
    783 {
    784 	fprintf( glw_state.log_fp, "glBegin( 0x%x )\n", mode );
    785 	dllBegin( mode );
    786 }
    787 
    788 static void APIENTRY logBindTexture(GLenum target, GLuint texture)
    789 {
    790 	fprintf( glw_state.log_fp, "glBindTexture( 0x%x, %u )\n", target, texture );
    791 	dllBindTexture( target, texture );
    792 }
    793 
    794 static void APIENTRY logBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap)
    795 {
    796 	fprintf( glw_state.log_fp, "glBitmap\n" );
    797 	dllBitmap( width, height, xorig, yorig, xmove, ymove, bitmap );
    798 }
    799 
    800 static void APIENTRY logBlendFunc(GLenum sfactor, GLenum dfactor)
    801 {
    802 	fprintf( glw_state.log_fp, "glBlendFunc( 0x%x, 0x%x )\n", sfactor, dfactor );
    803 	dllBlendFunc( sfactor, dfactor );
    804 }
    805 
    806 static void APIENTRY logCallList(GLuint list)
    807 {
    808 	fprintf( glw_state.log_fp, "glCallList( %u )\n", list );
    809 	dllCallList( list );
    810 }
    811 
    812 static void APIENTRY logCallLists(GLsizei n, GLenum type, const void *lists)
    813 {
    814 	fprintf( glw_state.log_fp, "glCallLists\n" );
    815 	dllCallLists( n, type, lists );
    816 }
    817 
    818 static void APIENTRY logClear(GLbitfield mask)
    819 {
    820 	fprintf( glw_state.log_fp, "glClear\n" );
    821 	dllClear( mask );
    822 }
    823 
    824 static void APIENTRY logClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
    825 {
    826 	fprintf( glw_state.log_fp, "glClearAccum\n" );
    827 	dllClearAccum( red, green, blue, alpha );
    828 }
    829 
    830 static void APIENTRY logClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
    831 {
    832 	fprintf( glw_state.log_fp, "glClearColor\n" );
    833 	dllClearColor( red, green, blue, alpha );
    834 }
    835 
    836 static void APIENTRY logClearDepth(GLclampd depth)
    837 {
    838 	fprintf( glw_state.log_fp, "glClearDepth\n" );
    839 	dllClearDepth( depth );
    840 }
    841 
    842 static void APIENTRY logClearIndex(GLfloat c)
    843 {
    844 	fprintf( glw_state.log_fp, "glClearIndex\n" );
    845 	dllClearIndex( c );
    846 }
    847 
    848 static void APIENTRY logClearStencil(GLint s)
    849 {
    850 	fprintf( glw_state.log_fp, "glClearStencil\n" );
    851 	dllClearStencil( s );
    852 }
    853 
    854 static void APIENTRY logClipPlane(GLenum plane, const GLdouble *equation)
    855 {
    856 	fprintf( glw_state.log_fp, "glClipPlane\n" );
    857 	dllClipPlane( plane, equation );
    858 }
    859 
    860 static void APIENTRY logColor3b(GLbyte red, GLbyte green, GLbyte blue)
    861 {
    862 	fprintf( glw_state.log_fp, "glColor3b\n" );
    863 	dllColor3b( red, green, blue );
    864 }
    865 
    866 static void APIENTRY logColor3bv(const GLbyte *v)
    867 {
    868 	fprintf( glw_state.log_fp, "glColor3bv\n" );
    869 	dllColor3bv( v );
    870 }
    871 
    872 static void APIENTRY logColor3d(GLdouble red, GLdouble green, GLdouble blue)
    873 {
    874 	fprintf( glw_state.log_fp, "glColor3d\n" );
    875 	dllColor3d( red, green, blue );
    876 }
    877 
    878 static void APIENTRY logColor3dv(const GLdouble *v)
    879 {
    880 	fprintf( glw_state.log_fp, "glColor3dv\n" );
    881 	dllColor3dv( v );
    882 }
    883 
    884 static void APIENTRY logColor3f(GLfloat red, GLfloat green, GLfloat blue)
    885 {
    886 	fprintf( glw_state.log_fp, "glColor3f\n" );
    887 	dllColor3f( red, green, blue );
    888 }
    889 
    890 static void APIENTRY logColor3fv(const GLfloat *v)
    891 {
    892 	fprintf( glw_state.log_fp, "glColor3fv\n" );
    893 	dllColor3fv( v );
    894 }
    895 
    896 static void APIENTRY logColor3i(GLint red, GLint green, GLint blue)
    897 {
    898 	fprintf( glw_state.log_fp, "glColor3i\n" );
    899 	dllColor3i( red, green, blue );
    900 }
    901 
    902 static void APIENTRY logColor3iv(const GLint *v)
    903 {
    904 	fprintf( glw_state.log_fp, "glColor3iv\n" );
    905 	dllColor3iv( v );
    906 }
    907 
    908 static void APIENTRY logColor3s(GLshort red, GLshort green, GLshort blue)
    909 {
    910 	fprintf( glw_state.log_fp, "glColor3s\n" );
    911 	dllColor3s( red, green, blue );
    912 }
    913 
    914 static void APIENTRY logColor3sv(const GLshort *v)
    915 {
    916 	fprintf( glw_state.log_fp, "glColor3sv\n" );
    917 	dllColor3sv( v );
    918 }
    919 
    920 static void APIENTRY logColor3ub(GLubyte red, GLubyte green, GLubyte blue)
    921 {
    922 	fprintf( glw_state.log_fp, "glColor3ub\n" );
    923 	dllColor3ub( red, green, blue );
    924 }
    925 
    926 static void APIENTRY logColor3ubv(const GLubyte *v)
    927 {
    928 	fprintf( glw_state.log_fp, "glColor3ubv\n" );
    929 	dllColor3ubv( v );
    930 }
    931 
    932 #define SIG( x ) fprintf( glw_state.log_fp, x "\n" )
    933 
    934 static void APIENTRY logColor3ui(GLuint red, GLuint green, GLuint blue)
    935 {
    936 	SIG( "glColor3ui" );
    937 	dllColor3ui( red, green, blue );
    938 }
    939 
    940 static void APIENTRY logColor3uiv(const GLuint *v)
    941 {
    942 	SIG( "glColor3uiv" );
    943 	dllColor3uiv( v );
    944 }
    945 
    946 static void APIENTRY logColor3us(GLushort red, GLushort green, GLushort blue)
    947 {
    948 	SIG( "glColor3us" );
    949 	dllColor3us( red, green, blue );
    950 }
    951 
    952 static void APIENTRY logColor3usv(const GLushort *v)
    953 {
    954 	SIG( "glColor3usv" );
    955 	dllColor3usv( v );
    956 }
    957 
    958 static void APIENTRY logColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha)
    959 {
    960 	SIG( "glColor4b" );
    961 	dllColor4b( red, green, blue, alpha );
    962 }
    963 
    964 static void APIENTRY logColor4bv(const GLbyte *v)
    965 {
    966 	SIG( "glColor4bv" );
    967 	dllColor4bv( v );
    968 }
    969 
    970 static void APIENTRY logColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha)
    971 {
    972 	SIG( "glColor4d" );
    973 	dllColor4d( red, green, blue, alpha );
    974 }
    975 static void APIENTRY logColor4dv(const GLdouble *v)
    976 {
    977 	SIG( "glColor4dv" );
    978 	dllColor4dv( v );
    979 }
    980 static void APIENTRY logColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
    981 {
    982 	fprintf( glw_state.log_fp, "glColor4f( %f,%f,%f,%f )\n", red, green, blue, alpha );
    983 	dllColor4f( red, green, blue, alpha );
    984 }
    985 static void APIENTRY logColor4fv(const GLfloat *v)
    986 {
    987 	fprintf( glw_state.log_fp, "glColor4fv( %f,%f,%f,%f )\n", v[0], v[1], v[2], v[3] );
    988 	dllColor4fv( v );
    989 }
    990 static void APIENTRY logColor4i(GLint red, GLint green, GLint blue, GLint alpha)
    991 {
    992 	SIG( "glColor4i" );
    993 	dllColor4i( red, green, blue, alpha );
    994 }
    995 static void APIENTRY logColor4iv(const GLint *v)
    996 {
    997 	SIG( "glColor4iv" );
    998 	dllColor4iv( v );
    999 }
   1000 static void APIENTRY logColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha)
   1001 {
   1002 	SIG( "glColor4s" );
   1003 	dllColor4s( red, green, blue, alpha );
   1004 }
   1005 static void APIENTRY logColor4sv(const GLshort *v)
   1006 {
   1007 	SIG( "glColor4sv" );
   1008 	dllColor4sv( v );
   1009 }
   1010 static void APIENTRY logColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha)
   1011 {
   1012 	SIG( "glColor4b" );
   1013 	dllColor4b( red, green, blue, alpha );
   1014 }
   1015 static void APIENTRY logColor4ubv(const GLubyte *v)
   1016 {
   1017 	SIG( "glColor4ubv" );
   1018 	dllColor4ubv( v );
   1019 }
   1020 static void APIENTRY logColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha)
   1021 {
   1022 	SIG( "glColor4ui" );
   1023 	dllColor4ui( red, green, blue, alpha );
   1024 }
   1025 static void APIENTRY logColor4uiv(const GLuint *v)
   1026 {
   1027 	SIG( "glColor4uiv" );
   1028 	dllColor4uiv( v );
   1029 }
   1030 static void APIENTRY logColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha)
   1031 {
   1032 	SIG( "glColor4us" );
   1033 	dllColor4us( red, green, blue, alpha );
   1034 }
   1035 static void APIENTRY logColor4usv(const GLushort *v)
   1036 {
   1037 	SIG( "glColor4usv" );
   1038 	dllColor4usv( v );
   1039 }
   1040 static void APIENTRY logColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
   1041 {
   1042 	SIG( "glColorMask" );
   1043 	dllColorMask( red, green, blue, alpha );
   1044 }
   1045 static void APIENTRY logColorMaterial(GLenum face, GLenum mode)
   1046 {
   1047 	SIG( "glColorMaterial" );
   1048 	dllColorMaterial( face, mode );
   1049 }
   1050 
   1051 static void APIENTRY logColorPointer(GLint size, GLenum type, GLsizei stride, const void *pointer)
   1052 {
   1053 	SIG( "glColorPointer" );
   1054 	dllColorPointer( size, type, stride, pointer );
   1055 }
   1056 
   1057 static void APIENTRY logCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type)
   1058 {
   1059 	SIG( "glCopyPixels" );
   1060 	dllCopyPixels( x, y, width, height, type );
   1061 }
   1062 
   1063 static void APIENTRY logCopyTexImage1D(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border)
   1064 {
   1065 	SIG( "glCopyTexImage1D" );
   1066 	dllCopyTexImage1D( target, level, internalFormat, x, y, width, border );
   1067 }
   1068 
   1069 static void APIENTRY logCopyTexImage2D(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
   1070 {
   1071 	SIG( "glCopyTexImage2D" );
   1072 	dllCopyTexImage2D( target, level, internalFormat, x, y, width, height, border );
   1073 }
   1074 
   1075 static void APIENTRY logCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
   1076 {
   1077 	SIG( "glCopyTexSubImage1D" );
   1078 	dllCopyTexSubImage1D( target, level, xoffset, x, y, width );
   1079 }
   1080 
   1081 static void APIENTRY logCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
   1082 {
   1083 	SIG( "glCopyTexSubImage2D" );
   1084 	dllCopyTexSubImage2D( target, level, xoffset, yoffset, x, y, width, height );
   1085 }
   1086 
   1087 static void APIENTRY logCullFace(GLenum mode)
   1088 {
   1089 	SIG( "glCullFace" );
   1090 	dllCullFace( mode );
   1091 }
   1092 
   1093 static void APIENTRY logDeleteLists(GLuint list, GLsizei range)
   1094 {
   1095 	SIG( "glDeleteLists" );
   1096 	dllDeleteLists( list, range );
   1097 }
   1098 
   1099 static void APIENTRY logDeleteTextures(GLsizei n, const GLuint *textures)
   1100 {
   1101 	SIG( "glDeleteTextures" );
   1102 	dllDeleteTextures( n, textures );
   1103 }
   1104 
   1105 static void APIENTRY logDepthFunc(GLenum func)
   1106 {
   1107 	SIG( "glDepthFunc" );
   1108 	dllDepthFunc( func );
   1109 }
   1110 
   1111 static void APIENTRY logDepthMask(GLboolean flag)
   1112 {
   1113 	SIG( "glDepthMask" );
   1114 	dllDepthMask( flag );
   1115 }
   1116 
   1117 static void APIENTRY logDepthRange(GLclampd zNear, GLclampd zFar)
   1118 {
   1119 	SIG( "glDepthRange" );
   1120 	dllDepthRange( zNear, zFar );
   1121 }
   1122 
   1123 static void APIENTRY logDisable(GLenum cap)
   1124 {
   1125 	fprintf( glw_state.log_fp, "glDisable( 0x%x )\n", cap );
   1126 	dllDisable( cap );
   1127 }
   1128 
   1129 static void APIENTRY logDisableClientState(GLenum array)
   1130 {
   1131 	SIG( "glDisableClientState" );
   1132 	dllDisableClientState( array );
   1133 }
   1134 
   1135 static void APIENTRY logDrawArrays(GLenum mode, GLint first, GLsizei count)
   1136 {
   1137 	SIG( "glDrawArrays" );
   1138 	dllDrawArrays( mode, first, count );
   1139 }
   1140 
   1141 static void APIENTRY logDrawBuffer(GLenum mode)
   1142 {
   1143 	SIG( "glDrawBuffer" );
   1144 	dllDrawBuffer( mode );
   1145 }
   1146 
   1147 static void APIENTRY logDrawElements(GLenum mode, GLsizei count, GLenum type, const void *indices)
   1148 {
   1149 	SIG( "glDrawElements" );
   1150 	dllDrawElements( mode, count, type, indices );
   1151 }
   1152 
   1153 static void APIENTRY logDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels)
   1154 {
   1155 	SIG( "glDrawPixels" );
   1156 	dllDrawPixels( width, height, format, type, pixels );
   1157 }
   1158 
   1159 static void APIENTRY logEdgeFlag(GLboolean flag)
   1160 {
   1161 	SIG( "glEdgeFlag" );
   1162 	dllEdgeFlag( flag );
   1163 }
   1164 
   1165 static void APIENTRY logEdgeFlagPointer(GLsizei stride, const void *pointer)
   1166 {
   1167 	SIG( "glEdgeFlagPointer" );
   1168 	dllEdgeFlagPointer( stride, pointer );
   1169 }
   1170 
   1171 static void APIENTRY logEdgeFlagv(const GLboolean *flag)
   1172 {
   1173 	SIG( "glEdgeFlagv" );
   1174 	dllEdgeFlagv( flag );
   1175 }
   1176 
   1177 static void APIENTRY logEnable(GLenum cap)
   1178 {
   1179 	fprintf( glw_state.log_fp, "glEnable( 0x%x )\n", cap );
   1180 	dllEnable( cap );
   1181 }
   1182 
   1183 static void APIENTRY logEnableClientState(GLenum array)
   1184 {
   1185 	SIG( "glEnableClientState" );
   1186 	dllEnableClientState( array );
   1187 }
   1188 
   1189 static void APIENTRY logEnd(void)
   1190 {
   1191 	SIG( "glEnd" );
   1192 	dllEnd();
   1193 }
   1194 
   1195 static void APIENTRY logEndList(void)
   1196 {
   1197 	SIG( "glEndList" );
   1198 	dllEndList();
   1199 }
   1200 
   1201 static void APIENTRY logEvalCoord1d(GLdouble u)
   1202 {
   1203 	SIG( "glEvalCoord1d" );
   1204 	dllEvalCoord1d( u );
   1205 }
   1206 
   1207 static void APIENTRY logEvalCoord1dv(const GLdouble *u)
   1208 {
   1209 	SIG( "glEvalCoord1dv" );
   1210 	dllEvalCoord1dv( u );
   1211 }
   1212 
   1213 static void APIENTRY logEvalCoord1f(GLfloat u)
   1214 {
   1215 	SIG( "glEvalCoord1f" );
   1216 	dllEvalCoord1f( u );
   1217 }
   1218 
   1219 static void APIENTRY logEvalCoord1fv(const GLfloat *u)
   1220 {
   1221 	SIG( "glEvalCoord1fv" );
   1222 	dllEvalCoord1fv( u );
   1223 }
   1224 static void APIENTRY logEvalCoord2d(GLdouble u, GLdouble v)
   1225 {
   1226 	SIG( "glEvalCoord2d" );
   1227 	dllEvalCoord2d( u, v );
   1228 }
   1229 static void APIENTRY logEvalCoord2dv(const GLdouble *u)
   1230 {
   1231 	SIG( "glEvalCoord2dv" );
   1232 	dllEvalCoord2dv( u );
   1233 }
   1234 static void APIENTRY logEvalCoord2f(GLfloat u, GLfloat v)
   1235 {
   1236 	SIG( "glEvalCoord2f" );
   1237 	dllEvalCoord2f( u, v );
   1238 }
   1239 static void APIENTRY logEvalCoord2fv(const GLfloat *u)
   1240 {
   1241 	SIG( "glEvalCoord2fv" );
   1242 	dllEvalCoord2fv( u );
   1243 }
   1244 
   1245 static void APIENTRY logEvalMesh1(GLenum mode, GLint i1, GLint i2)
   1246 {
   1247 	SIG( "glEvalMesh1" );
   1248 	dllEvalMesh1( mode, i1, i2 );
   1249 }
   1250 static void APIENTRY logEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2)
   1251 {
   1252 	SIG( "glEvalMesh2" );
   1253 	dllEvalMesh2( mode, i1, i2, j1, j2 );
   1254 }
   1255 static void APIENTRY logEvalPoint1(GLint i)
   1256 {
   1257 	SIG( "glEvalPoint1" );
   1258 	dllEvalPoint1( i );
   1259 }
   1260 static void APIENTRY logEvalPoint2(GLint i, GLint j)
   1261 {
   1262 	SIG( "glEvalPoint2" );
   1263 	dllEvalPoint2( i, j );
   1264 }
   1265 
   1266 static void APIENTRY logFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer)
   1267 {
   1268 	SIG( "glFeedbackBuffer" );
   1269 	dllFeedbackBuffer( size, type, buffer );
   1270 }
   1271 
   1272 static void APIENTRY logFinish(void)
   1273 {
   1274 	SIG( "glFinish" );
   1275 	dllFinish();
   1276 }
   1277 
   1278 static void APIENTRY logFlush(void)
   1279 {
   1280 	SIG( "glFlush" );
   1281 	dllFlush();
   1282 }
   1283 
   1284 static void APIENTRY logFogf(GLenum pname, GLfloat param)
   1285 {
   1286 	SIG( "glFogf" );
   1287 	dllFogf( pname, param );
   1288 }
   1289 
   1290 static void APIENTRY logFogfv(GLenum pname, const GLfloat *params)
   1291 {
   1292 	SIG( "glFogfv" );
   1293 	dllFogfv( pname, params );
   1294 }
   1295 
   1296 static void APIENTRY logFogi(GLenum pname, GLint param)
   1297 {
   1298 	SIG( "glFogi" );
   1299 	dllFogi( pname, param );
   1300 }
   1301 
   1302 static void APIENTRY logFogiv(GLenum pname, const GLint *params)
   1303 {
   1304 	SIG( "glFogiv" );
   1305 	dllFogiv( pname, params );
   1306 }
   1307 
   1308 static void APIENTRY logFrontFace(GLenum mode)
   1309 {
   1310 	SIG( "glFrontFace" );
   1311 	dllFrontFace( mode );
   1312 }
   1313 
   1314 static void APIENTRY logFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
   1315 {
   1316 	SIG( "glFrustum" );
   1317 	dllFrustum( left, right, bottom, top, zNear, zFar );
   1318 }
   1319 
   1320 static GLuint APIENTRY logGenLists(GLsizei range)
   1321 {
   1322 	SIG( "glGenLists" );
   1323 	return dllGenLists( range );
   1324 }
   1325 
   1326 static void APIENTRY logGenTextures(GLsizei n, GLuint *textures)
   1327 {
   1328 	SIG( "glGenTextures" );
   1329 	dllGenTextures( n, textures );
   1330 }
   1331 
   1332 static void APIENTRY logGetBooleanv(GLenum pname, GLboolean *params)
   1333 {
   1334 	SIG( "glGetBooleanv" );
   1335 	dllGetBooleanv( pname, params );
   1336 }
   1337 
   1338 static void APIENTRY logGetClipPlane(GLenum plane, GLdouble *equation)
   1339 {
   1340 	SIG( "glGetClipPlane" );
   1341 	dllGetClipPlane( plane, equation );
   1342 }
   1343 
   1344 static void APIENTRY logGetDoublev(GLenum pname, GLdouble *params)
   1345 {
   1346 	SIG( "glGetDoublev" );
   1347 	dllGetDoublev( pname, params );
   1348 }
   1349 
   1350 static GLenum APIENTRY logGetError(void)
   1351 {
   1352 	SIG( "glGetError" );
   1353 	return dllGetError();
   1354 }
   1355 
   1356 static void APIENTRY logGetFloatv(GLenum pname, GLfloat *params)
   1357 {
   1358 	SIG( "glGetFloatv" );
   1359 	dllGetFloatv( pname, params );
   1360 }
   1361 
   1362 static void APIENTRY logGetIntegerv(GLenum pname, GLint *params)
   1363 {
   1364 	SIG( "glGetIntegerv" );
   1365 	dllGetIntegerv( pname, params );
   1366 }
   1367 
   1368 static void APIENTRY logGetLightfv(GLenum light, GLenum pname, GLfloat *params)
   1369 {
   1370 	SIG( "glGetLightfv" );
   1371 	dllGetLightfv( light, pname, params );
   1372 }
   1373 
   1374 static void APIENTRY logGetLightiv(GLenum light, GLenum pname, GLint *params)
   1375 {
   1376 	SIG( "glGetLightiv" );
   1377 	dllGetLightiv( light, pname, params );
   1378 }
   1379 
   1380 static void APIENTRY logGetMapdv(GLenum target, GLenum query, GLdouble *v)
   1381 {
   1382 	SIG( "glGetMapdv" );
   1383 	dllGetMapdv( target, query, v );
   1384 }
   1385 
   1386 static void APIENTRY logGetMapfv(GLenum target, GLenum query, GLfloat *v)
   1387 {
   1388 	SIG( "glGetMapfv" );
   1389 	dllGetMapfv( target, query, v );
   1390 }
   1391 
   1392 static void APIENTRY logGetMapiv(GLenum target, GLenum query, GLint *v)
   1393 {
   1394 	SIG( "glGetMapiv" );
   1395 	dllGetMapiv( target, query, v );
   1396 }
   1397 
   1398 static void APIENTRY logGetMaterialfv(GLenum face, GLenum pname, GLfloat *params)
   1399 {
   1400 	SIG( "glGetMaterialfv" );
   1401 	dllGetMaterialfv( face, pname, params );
   1402 }
   1403 
   1404 static void APIENTRY logGetMaterialiv(GLenum face, GLenum pname, GLint *params)
   1405 {
   1406 	SIG( "glGetMaterialiv" );
   1407 	dllGetMaterialiv( face, pname, params );
   1408 }
   1409 
   1410 static void APIENTRY logGetPixelMapfv(GLenum map, GLfloat *values)
   1411 {
   1412 	SIG( "glGetPixelMapfv" );
   1413 	dllGetPixelMapfv( map, values );
   1414 }
   1415 
   1416 static void APIENTRY logGetPixelMapuiv(GLenum map, GLuint *values)
   1417 {
   1418 	SIG( "glGetPixelMapuiv" );
   1419 	dllGetPixelMapuiv( map, values );
   1420 }
   1421 
   1422 static void APIENTRY logGetPixelMapusv(GLenum map, GLushort *values)
   1423 {
   1424 	SIG( "glGetPixelMapusv" );
   1425 	dllGetPixelMapusv( map, values );
   1426 }
   1427 
   1428 static void APIENTRY logGetPointerv(GLenum pname, GLvoid* *params)
   1429 {
   1430 	SIG( "glGetPointerv" );
   1431 	dllGetPointerv( pname, params );
   1432 }
   1433 
   1434 static void APIENTRY logGetPolygonStipple(GLubyte *mask)
   1435 {
   1436 	SIG( "glGetPolygonStipple" );
   1437 	dllGetPolygonStipple( mask );
   1438 }
   1439 
   1440 static const GLubyte * APIENTRY logGetString(GLenum name)
   1441 {
   1442 	SIG( "glGetString" );
   1443 	return dllGetString( name );
   1444 }
   1445 
   1446 static void APIENTRY logGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params)
   1447 {
   1448 	SIG( "glGetTexEnvfv" );
   1449 	dllGetTexEnvfv( target, pname, params );
   1450 }
   1451 
   1452 static void APIENTRY logGetTexEnviv(GLenum target, GLenum pname, GLint *params)
   1453 {
   1454 	SIG( "glGetTexEnviv" );
   1455 	dllGetTexEnviv( target, pname, params );
   1456 }
   1457 
   1458 static void APIENTRY logGetTexGendv(GLenum coord, GLenum pname, GLdouble *params)
   1459 {
   1460 	SIG( "glGetTexGendv" );
   1461 	dllGetTexGendv( coord, pname, params );
   1462 }
   1463 
   1464 static void APIENTRY logGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params)
   1465 {
   1466 	SIG( "glGetTexGenfv" );
   1467 	dllGetTexGenfv( coord, pname, params );
   1468 }
   1469 
   1470 static void APIENTRY logGetTexGeniv(GLenum coord, GLenum pname, GLint *params)
   1471 {
   1472 	SIG( "glGetTexGeniv" );
   1473 	dllGetTexGeniv( coord, pname, params );
   1474 }
   1475 
   1476 static void APIENTRY logGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, void *pixels)
   1477 {
   1478 	SIG( "glGetTexImage" );
   1479 	dllGetTexImage( target, level, format, type, pixels );
   1480 }
   1481 static void APIENTRY logGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params )
   1482 {
   1483 	SIG( "glGetTexLevelParameterfv" );
   1484 	dllGetTexLevelParameterfv( target, level, pname, params );
   1485 }
   1486 
   1487 static void APIENTRY logGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params)
   1488 {
   1489 	SIG( "glGetTexLevelParameteriv" );
   1490 	dllGetTexLevelParameteriv( target, level, pname, params );
   1491 }
   1492 
   1493 static void APIENTRY logGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params)
   1494 {
   1495 	SIG( "glGetTexParameterfv" );
   1496 	dllGetTexParameterfv( target, pname, params );
   1497 }
   1498 
   1499 static void APIENTRY logGetTexParameteriv(GLenum target, GLenum pname, GLint *params)
   1500 {
   1501 	SIG( "glGetTexParameteriv" );
   1502 	dllGetTexParameteriv( target, pname, params );
   1503 }
   1504 
   1505 static void APIENTRY logHint(GLenum target, GLenum mode)
   1506 {
   1507 	fprintf( glw_state.log_fp, "glHint( 0x%x, 0x%x )\n", target, mode );
   1508 	dllHint( target, mode );
   1509 }
   1510 
   1511 static void APIENTRY logIndexMask(GLuint mask)
   1512 {
   1513 	SIG( "glIndexMask" );
   1514 	dllIndexMask( mask );
   1515 }
   1516 
   1517 static void APIENTRY logIndexPointer(GLenum type, GLsizei stride, const void *pointer)
   1518 {
   1519 	SIG( "glIndexPointer" );
   1520 	dllIndexPointer( type, stride, pointer );
   1521 }
   1522 
   1523 static void APIENTRY logIndexd(GLdouble c)
   1524 {
   1525 	SIG( "glIndexd" );
   1526 	dllIndexd( c );
   1527 }
   1528 
   1529 static void APIENTRY logIndexdv(const GLdouble *c)
   1530 {
   1531 	SIG( "glIndexdv" );
   1532 	dllIndexdv( c );
   1533 }
   1534 
   1535 static void APIENTRY logIndexf(GLfloat c)
   1536 {
   1537 	SIG( "glIndexf" );
   1538 	dllIndexf( c );
   1539 }
   1540 
   1541 static void APIENTRY logIndexfv(const GLfloat *c)
   1542 {
   1543 	SIG( "glIndexfv" );
   1544 	dllIndexfv( c );
   1545 }
   1546 
   1547 static void APIENTRY logIndexi(GLint c)
   1548 {
   1549 	SIG( "glIndexi" );
   1550 	dllIndexi( c );
   1551 }
   1552 
   1553 static void APIENTRY logIndexiv(const GLint *c)
   1554 {
   1555 	SIG( "glIndexiv" );
   1556 	dllIndexiv( c );
   1557 }
   1558 
   1559 static void APIENTRY logIndexs(GLshort c)
   1560 {
   1561 	SIG( "glIndexs" );
   1562 	dllIndexs( c );
   1563 }
   1564 
   1565 static void APIENTRY logIndexsv(const GLshort *c)
   1566 {
   1567 	SIG( "glIndexsv" );
   1568 	dllIndexsv( c );
   1569 }
   1570 
   1571 static void APIENTRY logIndexub(GLubyte c)
   1572 {
   1573 	SIG( "glIndexub" );
   1574 	dllIndexub( c );
   1575 }
   1576 
   1577 static void APIENTRY logIndexubv(const GLubyte *c)
   1578 {
   1579 	SIG( "glIndexubv" );
   1580 	dllIndexubv( c );
   1581 }
   1582 
   1583 static void APIENTRY logInitNames(void)
   1584 {
   1585 	SIG( "glInitNames" );
   1586 	dllInitNames();
   1587 }
   1588 
   1589 static void APIENTRY logInterleavedArrays(GLenum format, GLsizei stride, const void *pointer)
   1590 {
   1591 	SIG( "glInterleavedArrays" );
   1592 	dllInterleavedArrays( format, stride, pointer );
   1593 }
   1594 
   1595 static GLboolean APIENTRY logIsEnabled(GLenum cap)
   1596 {
   1597 	SIG( "glIsEnabled" );
   1598 	return dllIsEnabled( cap );
   1599 }
   1600 static GLboolean APIENTRY logIsList(GLuint list)
   1601 {
   1602 	SIG( "glIsList" );
   1603 	return dllIsList( list );
   1604 }
   1605 static GLboolean APIENTRY logIsTexture(GLuint texture)
   1606 {
   1607 	SIG( "glIsTexture" );
   1608 	return dllIsTexture( texture );
   1609 }
   1610 
   1611 static void APIENTRY logLightModelf(GLenum pname, GLfloat param)
   1612 {
   1613 	SIG( "glLightModelf" );
   1614 	dllLightModelf( pname, param );
   1615 }
   1616 
   1617 static void APIENTRY logLightModelfv(GLenum pname, const GLfloat *params)
   1618 {
   1619 	SIG( "glLightModelfv" );
   1620 	dllLightModelfv( pname, params );
   1621 }
   1622 
   1623 static void APIENTRY logLightModeli(GLenum pname, GLint param)
   1624 {
   1625 	SIG( "glLightModeli" );
   1626 	dllLightModeli( pname, param );
   1627 
   1628 }
   1629 
   1630 static void APIENTRY logLightModeliv(GLenum pname, const GLint *params)
   1631 {
   1632 	SIG( "glLightModeliv" );
   1633 	dllLightModeliv( pname, params );
   1634 }
   1635 
   1636 static void APIENTRY logLightf(GLenum light, GLenum pname, GLfloat param)
   1637 {
   1638 	SIG( "glLightf" );
   1639 	dllLightf( light, pname, param );
   1640 }
   1641 
   1642 static void APIENTRY logLightfv(GLenum light, GLenum pname, const GLfloat *params)
   1643 {
   1644 	SIG( "glLightfv" );
   1645 	dllLightfv( light, pname, params );
   1646 }
   1647 
   1648 static void APIENTRY logLighti(GLenum light, GLenum pname, GLint param)
   1649 {
   1650 	SIG( "glLighti" );
   1651 	dllLighti( light, pname, param );
   1652 }
   1653 
   1654 static void APIENTRY logLightiv(GLenum light, GLenum pname, const GLint *params)
   1655 {
   1656 	SIG( "glLightiv" );
   1657 	dllLightiv( light, pname, params );
   1658 }
   1659 
   1660 static void APIENTRY logLineStipple(GLint factor, GLushort pattern)
   1661 {
   1662 	SIG( "glLineStipple" );
   1663 	dllLineStipple( factor, pattern );
   1664 }
   1665 
   1666 static void APIENTRY logLineWidth(GLfloat width)
   1667 {
   1668 	SIG( "glLineWidth" );
   1669 	dllLineWidth( width );
   1670 }
   1671 
   1672 static void APIENTRY logListBase(GLuint base)
   1673 {
   1674 	SIG( "glListBase" );
   1675 	dllListBase( base );
   1676 }
   1677 
   1678 static void APIENTRY logLoadIdentity(void)
   1679 {
   1680 	SIG( "glLoadIdentity" );
   1681 	dllLoadIdentity();
   1682 }
   1683 
   1684 static void APIENTRY logLoadMatrixd(const GLdouble *m)
   1685 {
   1686 	SIG( "glLoadMatrixd" );
   1687 	dllLoadMatrixd( m );
   1688 }
   1689 
   1690 static void APIENTRY logLoadMatrixf(const GLfloat *m)
   1691 {
   1692 	SIG( "glLoadMatrixf" );
   1693 	dllLoadMatrixf( m );
   1694 }
   1695 
   1696 static void APIENTRY logLoadName(GLuint name)
   1697 {
   1698 	SIG( "glLoadName" );
   1699 	dllLoadName( name );
   1700 }
   1701 
   1702 static void APIENTRY logLogicOp(GLenum opcode)
   1703 {
   1704 	SIG( "glLogicOp" );
   1705 	dllLogicOp( opcode );
   1706 }
   1707 
   1708 static void APIENTRY logMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points)
   1709 {
   1710 	SIG( "glMap1d" );
   1711 	dllMap1d( target, u1, u2, stride, order, points );
   1712 }
   1713 
   1714 static void APIENTRY logMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points)
   1715 {
   1716 	SIG( "glMap1f" );
   1717 	dllMap1f( target, u1, u2, stride, order, points );
   1718 }
   1719 
   1720 static void APIENTRY logMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points)
   1721 {
   1722 	SIG( "glMap2d" );
   1723 	dllMap2d( target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points );
   1724 }
   1725 
   1726 static void APIENTRY logMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points)
   1727 {
   1728 	SIG( "glMap2f" );
   1729 	dllMap2f( target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points );
   1730 }
   1731 
   1732 static void APIENTRY logMapGrid1d(GLint un, GLdouble u1, GLdouble u2)
   1733 {
   1734 	SIG( "glMapGrid1d" );
   1735 	dllMapGrid1d( un, u1, u2 );
   1736 }
   1737 
   1738 static void APIENTRY logMapGrid1f(GLint un, GLfloat u1, GLfloat u2)
   1739 {
   1740 	SIG( "glMapGrid1f" );
   1741 	dllMapGrid1f( un, u1, u2 );
   1742 }
   1743 
   1744 static void APIENTRY logMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2)
   1745 {
   1746 	SIG( "glMapGrid2d" );
   1747 	dllMapGrid2d( un, u1, u2, vn, v1, v2 );
   1748 }
   1749 static void APIENTRY logMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2)
   1750 {
   1751 	SIG( "glMapGrid2f" );
   1752 	dllMapGrid2f( un, u1, u2, vn, v1, v2 );
   1753 }
   1754 static void APIENTRY logMaterialf(GLenum face, GLenum pname, GLfloat param)
   1755 {
   1756 	SIG( "glMaterialf" );
   1757 	dllMaterialf( face, pname, param );
   1758 }
   1759 static void APIENTRY logMaterialfv(GLenum face, GLenum pname, const GLfloat *params)
   1760 {
   1761 	SIG( "glMaterialfv" );
   1762 	dllMaterialfv( face, pname, params );
   1763 }
   1764 
   1765 static void APIENTRY logMateriali(GLenum face, GLenum pname, GLint param)
   1766 {
   1767 	SIG( "glMateriali" );
   1768 	dllMateriali( face, pname, param );
   1769 }
   1770 
   1771 static void APIENTRY logMaterialiv(GLenum face, GLenum pname, const GLint *params)
   1772 {
   1773 	SIG( "glMaterialiv" );
   1774 	dllMaterialiv( face, pname, params );
   1775 }
   1776 
   1777 static void APIENTRY logMatrixMode(GLenum mode)
   1778 {
   1779 	SIG( "glMatrixMode" );
   1780 	dllMatrixMode( mode );
   1781 }
   1782 
   1783 static void APIENTRY logMultMatrixd(const GLdouble *m)
   1784 {
   1785 	SIG( "glMultMatrixd" );
   1786 	dllMultMatrixd( m );
   1787 }
   1788 
   1789 static void APIENTRY logMultMatrixf(const GLfloat *m)
   1790 {
   1791 	SIG( "glMultMatrixf" );
   1792 	dllMultMatrixf( m );
   1793 }
   1794 
   1795 static void APIENTRY logNewList(GLuint list, GLenum mode)
   1796 {
   1797 	SIG( "glNewList" );
   1798 	dllNewList( list, mode );
   1799 }
   1800 
   1801 static void APIENTRY logNormal3b(GLbyte nx, GLbyte ny, GLbyte nz)
   1802 {
   1803 	SIG ("glNormal3b" );
   1804 	dllNormal3b( nx, ny, nz );
   1805 }
   1806 
   1807 static void APIENTRY logNormal3bv(const GLbyte *v)
   1808 {
   1809 	SIG( "glNormal3bv" );
   1810 	dllNormal3bv( v );
   1811 }
   1812 
   1813 static void APIENTRY logNormal3d(GLdouble nx, GLdouble ny, GLdouble nz)
   1814 {
   1815 	SIG( "glNormal3d" );
   1816 	dllNormal3d( nx, ny, nz );
   1817 }
   1818 
   1819 static void APIENTRY logNormal3dv(const GLdouble *v)
   1820 {
   1821 	SIG( "glNormal3dv" );
   1822 	dllNormal3dv( v );
   1823 }
   1824 
   1825 static void APIENTRY logNormal3f(GLfloat nx, GLfloat ny, GLfloat nz)
   1826 {
   1827 	SIG( "glNormal3f" );
   1828 	dllNormal3f( nx, ny, nz );
   1829 }
   1830 
   1831 static void APIENTRY logNormal3fv(const GLfloat *v)
   1832 {
   1833 	SIG( "glNormal3fv" );
   1834 	dllNormal3fv( v );
   1835 }
   1836 static void APIENTRY logNormal3i(GLint nx, GLint ny, GLint nz)
   1837 {
   1838 	SIG( "glNormal3i" );
   1839 	dllNormal3i( nx, ny, nz );
   1840 }
   1841 static void APIENTRY logNormal3iv(const GLint *v)
   1842 {
   1843 	SIG( "glNormal3iv" );
   1844 	dllNormal3iv( v );
   1845 }
   1846 static void APIENTRY logNormal3s(GLshort nx, GLshort ny, GLshort nz)
   1847 {
   1848 	SIG( "glNormal3s" );
   1849 	dllNormal3s( nx, ny, nz );
   1850 }
   1851 static void APIENTRY logNormal3sv(const GLshort *v)
   1852 {
   1853 	SIG( "glNormal3sv" );
   1854 	dllNormal3sv( v );
   1855 }
   1856 static void APIENTRY logNormalPointer(GLenum type, GLsizei stride, const void *pointer)
   1857 {
   1858 	SIG( "glNormalPointer" );
   1859 	dllNormalPointer( type, stride, pointer );
   1860 }
   1861 static void APIENTRY logOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
   1862 {
   1863 	SIG( "glOrtho" );
   1864 	dllOrtho( left, right, bottom, top, zNear, zFar );
   1865 }
   1866 
   1867 static void APIENTRY logPassThrough(GLfloat token)
   1868 {
   1869 	SIG( "glPassThrough" );
   1870 	dllPassThrough( token );
   1871 }
   1872 
   1873 static void APIENTRY logPixelMapfv(GLenum map, GLsizei mapsize, const GLfloat *values)
   1874 {
   1875 	SIG( "glPixelMapfv" );
   1876 	dllPixelMapfv( map, mapsize, values );
   1877 }
   1878 
   1879 static void APIENTRY logPixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values)
   1880 {
   1881 	SIG( "glPixelMapuiv" );
   1882 	dllPixelMapuiv( map, mapsize, values );
   1883 }
   1884 
   1885 static void APIENTRY logPixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values)
   1886 {
   1887 	SIG( "glPixelMapusv" );
   1888 	dllPixelMapusv( map, mapsize, values );
   1889 }
   1890 static void APIENTRY logPixelStoref(GLenum pname, GLfloat param)
   1891 {
   1892 	SIG( "glPixelStoref" );
   1893 	dllPixelStoref( pname, param );
   1894 }
   1895 static void APIENTRY logPixelStorei(GLenum pname, GLint param)
   1896 {
   1897 	SIG( "glPixelStorei" );
   1898 	dllPixelStorei( pname, param );
   1899 }
   1900 static void APIENTRY logPixelTransferf(GLenum pname, GLfloat param)
   1901 {
   1902 	SIG( "glPixelTransferf" );
   1903 	dllPixelTransferf( pname, param );
   1904 }
   1905 
   1906 static void APIENTRY logPixelTransferi(GLenum pname, GLint param)
   1907 {
   1908 	SIG( "glPixelTransferi" );
   1909 	dllPixelTransferi( pname, param );
   1910 }
   1911 
   1912 static void APIENTRY logPixelZoom(GLfloat xfactor, GLfloat yfactor)
   1913 {
   1914 	SIG( "glPixelZoom" );
   1915 	dllPixelZoom( xfactor, yfactor );
   1916 }
   1917 
   1918 static void APIENTRY logPointSize(GLfloat size)
   1919 {
   1920 	SIG( "glPointSize" );
   1921 	dllPointSize( size );
   1922 }
   1923 
   1924 static void APIENTRY logPolygonMode(GLenum face, GLenum mode)
   1925 {
   1926 	fprintf( glw_state.log_fp, "glPolygonMode( 0x%x, 0x%x )\n", face, mode );
   1927 	dllPolygonMode( face, mode );
   1928 }
   1929 
   1930 static void APIENTRY logPolygonOffset(GLfloat factor, GLfloat units)
   1931 {
   1932 	SIG( "glPolygonOffset" );
   1933 	dllPolygonOffset( factor, units );
   1934 }
   1935 static void APIENTRY logPolygonStipple(const GLubyte *mask )
   1936 {
   1937 	SIG( "glPolygonStipple" );
   1938 	dllPolygonStipple( mask );
   1939 }
   1940 static void APIENTRY logPopAttrib(void)
   1941 {
   1942 	SIG( "glPopAttrib" );
   1943 	dllPopAttrib();
   1944 }
   1945 
   1946 static void APIENTRY logPopClientAttrib(void)
   1947 {
   1948 	SIG( "glPopClientAttrib" );
   1949 	dllPopClientAttrib();
   1950 }
   1951 
   1952 static void APIENTRY logPopMatrix(void)
   1953 {
   1954 	SIG( "glPopMatrix" );
   1955 	dllPopMatrix();
   1956 }
   1957 
   1958 static void APIENTRY logPopName(void)
   1959 {
   1960 	SIG( "glPopName" );
   1961 	dllPopName();
   1962 }
   1963 
   1964 static void APIENTRY logPrioritizeTextures(GLsizei n, const GLuint *textures, const GLclampf *priorities)
   1965 {
   1966 	SIG( "glPrioritizeTextures" );
   1967 	dllPrioritizeTextures( n, textures, priorities );
   1968 }
   1969 
   1970 static void APIENTRY logPushAttrib(GLbitfield mask)
   1971 {
   1972 	SIG( "glPushAttrib" );
   1973 	dllPushAttrib( mask );
   1974 }
   1975 
   1976 static void APIENTRY logPushClientAttrib(GLbitfield mask)
   1977 {
   1978 	SIG( "glPushClientAttrib" );
   1979 	dllPushClientAttrib( mask );
   1980 }
   1981 
   1982 static void APIENTRY logPushMatrix(void)
   1983 {
   1984 	SIG( "glPushMatrix" );
   1985 	dllPushMatrix();
   1986 }
   1987 
   1988 static void APIENTRY logPushName(GLuint name)
   1989 {
   1990 	SIG( "glPushName" );
   1991 	dllPushName( name );
   1992 }
   1993 
   1994 static void APIENTRY logRasterPos2d(GLdouble x, GLdouble y)
   1995 {
   1996 	SIG ("glRasterPot2d" );
   1997 	dllRasterPos2d( x, y );
   1998 }
   1999 
   2000 static void APIENTRY logRasterPos2dv(const GLdouble *v)
   2001 {
   2002 	SIG( "glRasterPos2dv" );
   2003 	dllRasterPos2dv( v );
   2004 }
   2005 
   2006 static void APIENTRY logRasterPos2f(GLfloat x, GLfloat y)
   2007 {
   2008 	SIG( "glRasterPos2f" );
   2009 	dllRasterPos2f( x, y );
   2010 }
   2011 static void APIENTRY logRasterPos2fv(const GLfloat *v)
   2012 {
   2013 	SIG( "glRasterPos2dv" );
   2014 	dllRasterPos2fv( v );
   2015 }
   2016 static void APIENTRY logRasterPos2i(GLint x, GLint y)
   2017 {
   2018 	SIG( "glRasterPos2if" );
   2019 	dllRasterPos2i( x, y );
   2020 }
   2021 static void APIENTRY logRasterPos2iv(const GLint *v)
   2022 {
   2023 	SIG( "glRasterPos2iv" );
   2024 	dllRasterPos2iv( v );
   2025 }
   2026 static void APIENTRY logRasterPos2s(GLshort x, GLshort y)
   2027 {
   2028 	SIG( "glRasterPos2s" );
   2029 	dllRasterPos2s( x, y );
   2030 }
   2031 static void APIENTRY logRasterPos2sv(const GLshort *v)
   2032 {
   2033 	SIG( "glRasterPos2sv" );
   2034 	dllRasterPos2sv( v );
   2035 }
   2036 static void APIENTRY logRasterPos3d(GLdouble x, GLdouble y, GLdouble z)
   2037 {
   2038 	SIG( "glRasterPos3d" );
   2039 	dllRasterPos3d( x, y, z );
   2040 }
   2041 static void APIENTRY logRasterPos3dv(const GLdouble *v)
   2042 {
   2043 	SIG( "glRasterPos3dv" );
   2044 	dllRasterPos3dv( v );
   2045 }
   2046 static void APIENTRY logRasterPos3f(GLfloat x, GLfloat y, GLfloat z)
   2047 {
   2048 	SIG( "glRasterPos3f" );
   2049 	dllRasterPos3f( x, y, z );
   2050 }
   2051 static void APIENTRY logRasterPos3fv(const GLfloat *v)
   2052 {
   2053 	SIG( "glRasterPos3fv" );
   2054 	dllRasterPos3fv( v );
   2055 }
   2056 static void APIENTRY logRasterPos3i(GLint x, GLint y, GLint z)
   2057 {
   2058 	SIG( "glRasterPos3i" );
   2059 	dllRasterPos3i( x, y, z );
   2060 }
   2061 static void APIENTRY logRasterPos3iv(const GLint *v)
   2062 {
   2063 	SIG( "glRasterPos3iv" );
   2064 	dllRasterPos3iv( v );
   2065 }
   2066 static void APIENTRY logRasterPos3s(GLshort x, GLshort y, GLshort z)
   2067 {
   2068 	SIG( "glRasterPos3s" );
   2069 	dllRasterPos3s( x, y, z );
   2070 }
   2071 static void APIENTRY logRasterPos3sv(const GLshort *v)
   2072 {
   2073 	SIG( "glRasterPos3sv" );
   2074 	dllRasterPos3sv( v );
   2075 }
   2076 static void APIENTRY logRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w)
   2077 {
   2078 	SIG( "glRasterPos4d" );
   2079 	dllRasterPos4d( x, y, z, w );
   2080 }
   2081 static void APIENTRY logRasterPos4dv(const GLdouble *v)
   2082 {
   2083 	SIG( "glRasterPos4dv" );
   2084 	dllRasterPos4dv( v );
   2085 }
   2086 static void APIENTRY logRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w)
   2087 {
   2088 	SIG( "glRasterPos4f" );
   2089 	dllRasterPos4f( x, y, z, w );
   2090 }
   2091 static void APIENTRY logRasterPos4fv(const GLfloat *v)
   2092 {
   2093 	SIG( "glRasterPos4fv" );
   2094 	dllRasterPos4fv( v );
   2095 }
   2096 static void APIENTRY logRasterPos4i(GLint x, GLint y, GLint z, GLint w)
   2097 {
   2098 	SIG( "glRasterPos4i" );
   2099 	dllRasterPos4i( x, y, z, w );
   2100 }
   2101 static void APIENTRY logRasterPos4iv(const GLint *v)
   2102 {
   2103 	SIG( "glRasterPos4iv" );
   2104 	dllRasterPos4iv( v );
   2105 }
   2106 static void APIENTRY logRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w)
   2107 {
   2108 	SIG( "glRasterPos4s" );
   2109 	dllRasterPos4s( x, y, z, w );
   2110 }
   2111 static void APIENTRY logRasterPos4sv(const GLshort *v)
   2112 {
   2113 	SIG( "glRasterPos4sv" );
   2114 	dllRasterPos4sv( v );
   2115 }
   2116 static void APIENTRY logReadBuffer(GLenum mode)
   2117 {
   2118 	SIG( "glReadBuffer" );
   2119 	dllReadBuffer( mode );
   2120 }
   2121 static void APIENTRY logReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels)
   2122 {
   2123 	SIG( "glReadPixels" );
   2124 	dllReadPixels( x, y, width, height, format, type, pixels );
   2125 }
   2126 
   2127 static void APIENTRY logRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2)
   2128 {
   2129 	SIG( "glRectd" );
   2130 	dllRectd( x1, y1, x2, y2 );
   2131 }
   2132 
   2133 static void APIENTRY logRectdv(const GLdouble *v1, const GLdouble *v2)
   2134 {
   2135 	SIG( "glRectdv" );
   2136 	dllRectdv( v1, v2 );
   2137 }
   2138 
   2139 static void APIENTRY logRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
   2140 {
   2141 	SIG( "glRectf" );
   2142 	dllRectf( x1, y1, x2, y2 );
   2143 }
   2144 
   2145 static void APIENTRY logRectfv(const GLfloat *v1, const GLfloat *v2)
   2146 {
   2147 	SIG( "glRectfv" );
   2148 	dllRectfv( v1, v2 );
   2149 }
   2150 static void APIENTRY logRecti(GLint x1, GLint y1, GLint x2, GLint y2)
   2151 {
   2152 	SIG( "glRecti" );
   2153 	dllRecti( x1, y1, x2, y2 );
   2154 }
   2155 static void APIENTRY logRectiv(const GLint *v1, const GLint *v2)
   2156 {
   2157 	SIG( "glRectiv" );
   2158 	dllRectiv( v1, v2 );
   2159 }
   2160 static void APIENTRY logRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2)
   2161 {
   2162 	SIG( "glRects" );
   2163 	dllRects( x1, y1, x2, y2 );
   2164 }
   2165 static void APIENTRY logRectsv(const GLshort *v1, const GLshort *v2)
   2166 {
   2167 	SIG( "glRectsv" );
   2168 	dllRectsv( v1, v2 );
   2169 }
   2170 static GLint APIENTRY logRenderMode(GLenum mode)
   2171 {
   2172 	SIG( "glRenderMode" );
   2173 	return dllRenderMode( mode );
   2174 }
   2175 static void APIENTRY logRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z)
   2176 {
   2177 	SIG( "glRotated" );
   2178 	dllRotated( angle, x, y, z );
   2179 }
   2180 
   2181 static void APIENTRY logRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z)
   2182 {
   2183 	SIG( "glRotatef" );
   2184 	dllRotatef( angle, x, y, z );
   2185 }
   2186 
   2187 static void APIENTRY logScaled(GLdouble x, GLdouble y, GLdouble z)
   2188 {
   2189 	SIG( "glScaled" );
   2190 	dllScaled( x, y, z );
   2191 }
   2192 
   2193 static void APIENTRY logScalef(GLfloat x, GLfloat y, GLfloat z)
   2194 {
   2195 	SIG( "glScalef" );
   2196 	dllScalef( x, y, z );
   2197 }
   2198 
   2199 static void APIENTRY logScissor(GLint x, GLint y, GLsizei width, GLsizei height)
   2200 {
   2201 	SIG( "glScissor" );
   2202 	dllScissor( x, y, width, height );
   2203 }
   2204 
   2205 static void APIENTRY logSelectBuffer(GLsizei size, GLuint *buffer)
   2206 {
   2207 	SIG( "glSelectBuffer" );
   2208 	dllSelectBuffer( size, buffer );
   2209 }
   2210 
   2211 static void APIENTRY logShadeModel(GLenum mode)
   2212 {
   2213 	SIG( "glShadeModel" );
   2214 	dllShadeModel( mode );
   2215 }
   2216 
   2217 static void APIENTRY logStencilFunc(GLenum func, GLint ref, GLuint mask)
   2218 {
   2219 	SIG( "glStencilFunc" );
   2220 	dllStencilFunc( func, ref, mask );
   2221 }
   2222 
   2223 static void APIENTRY logStencilMask(GLuint mask)
   2224 {
   2225 	SIG( "glStencilMask" );
   2226 	dllStencilMask( mask );
   2227 }
   2228 
   2229 static void APIENTRY logStencilOp(GLenum fail, GLenum zfail, GLenum zpass)
   2230 {
   2231 	SIG( "glStencilOp" );
   2232 	dllStencilOp( fail, zfail, zpass );
   2233 }
   2234 
   2235 static void APIENTRY logTexCoord1d(GLdouble s)
   2236 {
   2237 	SIG( "glTexCoord1d" );
   2238 	dllTexCoord1d( s );
   2239 }
   2240 
   2241 static void APIENTRY logTexCoord1dv(const GLdouble *v)
   2242 {
   2243 	SIG( "glTexCoord1dv" );
   2244 	dllTexCoord1dv( v );
   2245 }
   2246 
   2247 static void APIENTRY logTexCoord1f(GLfloat s)
   2248 {
   2249 	SIG( "glTexCoord1f" );
   2250 	dllTexCoord1f( s );
   2251 }
   2252 static void APIENTRY logTexCoord1fv(const GLfloat *v)
   2253 {
   2254 	SIG( "glTexCoord1fv" );
   2255 	dllTexCoord1fv( v );
   2256 }
   2257 static void APIENTRY logTexCoord1i(GLint s)
   2258 {
   2259 	SIG( "glTexCoord1i" );
   2260 	dllTexCoord1i( s );
   2261 }
   2262 static void APIENTRY logTexCoord1iv(const GLint *v)
   2263 {
   2264 	SIG( "glTexCoord1iv" );
   2265 	dllTexCoord1iv( v );
   2266 }
   2267 static void APIENTRY logTexCoord1s(GLshort s)
   2268 {
   2269 	SIG( "glTexCoord1s" );
   2270 	dllTexCoord1s( s );
   2271 }
   2272 static void APIENTRY logTexCoord1sv(const GLshort *v)
   2273 {
   2274 	SIG( "glTexCoord1sv" );
   2275 	dllTexCoord1sv( v );
   2276 }
   2277 static void APIENTRY logTexCoord2d(GLdouble s, GLdouble t)
   2278 {
   2279 	SIG( "glTexCoord2d" );
   2280 	dllTexCoord2d( s, t );
   2281 }
   2282 
   2283 static void APIENTRY logTexCoord2dv(const GLdouble *v)
   2284 {
   2285 	SIG( "glTexCoord2dv" );
   2286 	dllTexCoord2dv( v );
   2287 }
   2288 static void APIENTRY logTexCoord2f(GLfloat s, GLfloat t)
   2289 {
   2290 	SIG( "glTexCoord2f" );
   2291 	dllTexCoord2f( s, t );
   2292 }
   2293 static void APIENTRY logTexCoord2fv(const GLfloat *v)
   2294 {
   2295 	SIG( "glTexCoord2fv" );
   2296 	dllTexCoord2fv( v );
   2297 }
   2298 static void APIENTRY logTexCoord2i(GLint s, GLint t)
   2299 {
   2300 	SIG( "glTexCoord2i" );
   2301 	dllTexCoord2i( s, t );
   2302 }
   2303 static void APIENTRY logTexCoord2iv(const GLint *v)
   2304 {
   2305 	SIG( "glTexCoord2iv" );
   2306 	dllTexCoord2iv( v );
   2307 }
   2308 static void APIENTRY logTexCoord2s(GLshort s, GLshort t)
   2309 {
   2310 	SIG( "glTexCoord2s" );
   2311 	dllTexCoord2s( s, t );
   2312 }
   2313 static void APIENTRY logTexCoord2sv(const GLshort *v)
   2314 {
   2315 	SIG( "glTexCoord2sv" );
   2316 	dllTexCoord2sv( v );
   2317 }
   2318 static void APIENTRY logTexCoord3d(GLdouble s, GLdouble t, GLdouble r)
   2319 {
   2320 	SIG( "glTexCoord3d" );
   2321 	dllTexCoord3d( s, t, r );
   2322 }
   2323 static void APIENTRY logTexCoord3dv(const GLdouble *v)
   2324 {
   2325 	SIG( "glTexCoord3dv" );
   2326 	dllTexCoord3dv( v );
   2327 }
   2328 static void APIENTRY logTexCoord3f(GLfloat s, GLfloat t, GLfloat r)
   2329 {
   2330 	SIG( "glTexCoord3f" );
   2331 	dllTexCoord3f( s, t, r );
   2332 }
   2333 static void APIENTRY logTexCoord3fv(const GLfloat *v)
   2334 {
   2335 	SIG( "glTexCoord3fv" );
   2336 	dllTexCoord3fv( v );
   2337 }
   2338 static void APIENTRY logTexCoord3i(GLint s, GLint t, GLint r)
   2339 {
   2340 	SIG( "glTexCoord3i" );
   2341 	dllTexCoord3i( s, t, r );
   2342 }
   2343 static void APIENTRY logTexCoord3iv(const GLint *v)
   2344 {
   2345 	SIG( "glTexCoord3iv" );
   2346 	dllTexCoord3iv( v );
   2347 }
   2348 static void APIENTRY logTexCoord3s(GLshort s, GLshort t, GLshort r)
   2349 {
   2350 	SIG( "glTexCoord3s" );
   2351 	dllTexCoord3s( s, t, r );
   2352 }
   2353 static void APIENTRY logTexCoord3sv(const GLshort *v)
   2354 {
   2355 	SIG( "glTexCoord3sv" );
   2356 	dllTexCoord3sv( v );
   2357 }
   2358 static void APIENTRY logTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q)
   2359 {
   2360 	SIG( "glTexCoord4d" );
   2361 	dllTexCoord4d( s, t, r, q );
   2362 }
   2363 static void APIENTRY logTexCoord4dv(const GLdouble *v)
   2364 {
   2365 	SIG( "glTexCoord4dv" );
   2366 	dllTexCoord4dv( v );
   2367 }
   2368 static void APIENTRY logTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q)
   2369 {
   2370 	SIG( "glTexCoord4f" );
   2371 	dllTexCoord4f( s, t, r, q );
   2372 }
   2373 static void APIENTRY logTexCoord4fv(const GLfloat *v)
   2374 {
   2375 	SIG( "glTexCoord4fv" );
   2376 	dllTexCoord4fv( v );
   2377 }
   2378 static void APIENTRY logTexCoord4i(GLint s, GLint t, GLint r, GLint q)
   2379 {
   2380 	SIG( "glTexCoord4i" );
   2381 	dllTexCoord4i( s, t, r, q );
   2382 }
   2383 static void APIENTRY logTexCoord4iv(const GLint *v)
   2384 {
   2385 	SIG( "glTexCoord4iv" );
   2386 	dllTexCoord4iv( v );
   2387 }
   2388 static void APIENTRY logTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q)
   2389 {
   2390 	SIG( "glTexCoord4s" );
   2391 	dllTexCoord4s( s, t, r, q );
   2392 }
   2393 static void APIENTRY logTexCoord4sv(const GLshort *v)
   2394 {
   2395 	SIG( "glTexCoord4sv" );
   2396 	dllTexCoord4sv( v );
   2397 }
   2398 static void APIENTRY logTexCoordPointer(GLint size, GLenum type, GLsizei stride, const void *pointer)
   2399 {
   2400 	SIG( "glTexCoordPointer" );
   2401 	dllTexCoordPointer( size, type, stride, pointer );
   2402 }
   2403 
   2404 static void APIENTRY logTexEnvf(GLenum target, GLenum pname, GLfloat param)
   2405 {
   2406 	fprintf( glw_state.log_fp, "glTexEnvf( 0x%x, 0x%x, %f )\n", target, pname, param );
   2407 	dllTexEnvf( target, pname, param );
   2408 }
   2409 
   2410 static void APIENTRY logTexEnvfv(GLenum target, GLenum pname, const GLfloat *params)
   2411 {
   2412 	SIG( "glTexEnvfv" );
   2413 	dllTexEnvfv( target, pname, params );
   2414 }
   2415 
   2416 static void APIENTRY logTexEnvi(GLenum target, GLenum pname, GLint param)
   2417 {
   2418 	fprintf( glw_state.log_fp, "glTexEnvi( 0x%x, 0x%x, 0x%x )\n", target, pname, param );
   2419 	dllTexEnvi( target, pname, param );
   2420 }
   2421 static void APIENTRY logTexEnviv(GLenum target, GLenum pname, const GLint *params)
   2422 {
   2423 	SIG( "glTexEnviv" );
   2424 	dllTexEnviv( target, pname, params );
   2425 }
   2426 
   2427 static void APIENTRY logTexGend(GLenum coord, GLenum pname, GLdouble param)
   2428 {
   2429 	SIG( "glTexGend" );
   2430 	dllTexGend( coord, pname, param );
   2431 }
   2432 
   2433 static void APIENTRY logTexGendv(GLenum coord, GLenum pname, const GLdouble *params)
   2434 {
   2435 	SIG( "glTexGendv" );
   2436 	dllTexGendv( coord, pname, params );
   2437 }
   2438 
   2439 static void APIENTRY logTexGenf(GLenum coord, GLenum pname, GLfloat param)
   2440 {
   2441 	SIG( "glTexGenf" );
   2442 	dllTexGenf( coord, pname, param );
   2443 }
   2444 static void APIENTRY logTexGenfv(GLenum coord, GLenum pname, const GLfloat *params)
   2445 {
   2446 	SIG( "glTexGenfv" );
   2447 	dllTexGenfv( coord, pname, params );
   2448 }
   2449 static void APIENTRY logTexGeni(GLenum coord, GLenum pname, GLint param)
   2450 {
   2451 	SIG( "glTexGeni" );
   2452 	dllTexGeni( coord, pname, param );
   2453 }
   2454 static void APIENTRY logTexGeniv(GLenum coord, GLenum pname, const GLint *params)
   2455 {
   2456 	SIG( "glTexGeniv" );
   2457 	dllTexGeniv( coord, pname, params );
   2458 }
   2459 static void APIENTRY logTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels)
   2460 {
   2461 	SIG( "glTexImage1D" );
   2462 	dllTexImage1D( target, level, internalformat, width, border, format, type, pixels );
   2463 }
   2464 static void APIENTRY logTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels)
   2465 {
   2466 	SIG( "glTexImage2D" );
   2467 	dllTexImage2D( target, level, internalformat, width, height, border, format, type, pixels );
   2468 }
   2469 
   2470 static void APIENTRY logTexParameterf(GLenum target, GLenum pname, GLfloat param)
   2471 {
   2472 	fprintf( glw_state.log_fp, "glTexParameterf( 0x%x, 0x%x, %f )\n", target, pname, param );
   2473 	dllTexParameterf( target, pname, param );
   2474 }
   2475 
   2476 static void APIENTRY logTexParameterfv(GLenum target, GLenum pname, const GLfloat *params)
   2477 {
   2478 	SIG( "glTexParameterfv" );
   2479 	dllTexParameterfv( target, pname, params );
   2480 }
   2481 static void APIENTRY logTexParameteri(GLenum target, GLenum pname, GLint param)
   2482 {
   2483 	fprintf( glw_state.log_fp, "glTexParameteri( 0x%x, 0x%x, 0x%x )\n", target, pname, param );
   2484 	dllTexParameteri( target, pname, param );
   2485 }
   2486 static void APIENTRY logTexParameteriv(GLenum target, GLenum pname, const GLint *params)
   2487 {
   2488 	SIG( "glTexParameteriv" );
   2489 	dllTexParameteriv( target, pname, params );
   2490 }
   2491 static void APIENTRY logTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels)
   2492 {
   2493 	SIG( "glTexSubImage1D" );
   2494 	dllTexSubImage1D( target, level, xoffset, width, format, type, pixels );
   2495 }
   2496 static void APIENTRY logTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels)
   2497 {
   2498 	SIG( "glTexSubImage2D" );
   2499 	dllTexSubImage2D( target, level, xoffset, yoffset, width, height, format, type, pixels );
   2500 }
   2501 static void APIENTRY logTranslated(GLdouble x, GLdouble y, GLdouble z)
   2502 {
   2503 	SIG( "glTranslated" );
   2504 	dllTranslated( x, y, z );
   2505 }
   2506 
   2507 static void APIENTRY logTranslatef(GLfloat x, GLfloat y, GLfloat z)
   2508 {
   2509 	SIG( "glTranslatef" );
   2510 	dllTranslatef( x, y, z );
   2511 }
   2512 
   2513 static void APIENTRY logVertex2d(GLdouble x, GLdouble y)
   2514 {
   2515 	SIG( "glVertex2d" );
   2516 	dllVertex2d( x, y );
   2517 }
   2518 
   2519 static void APIENTRY logVertex2dv(const GLdouble *v)
   2520 {
   2521 	SIG( "glVertex2dv" );
   2522 	dllVertex2dv( v );
   2523 }
   2524 static void APIENTRY logVertex2f(GLfloat x, GLfloat y)
   2525 {
   2526 	SIG( "glVertex2f" );
   2527 	dllVertex2f( x, y );
   2528 }
   2529 static void APIENTRY logVertex2fv(const GLfloat *v)
   2530 {
   2531 	SIG( "glVertex2fv" );
   2532 	dllVertex2fv( v );
   2533 }
   2534 static void APIENTRY logVertex2i(GLint x, GLint y)
   2535 {
   2536 	SIG( "glVertex2i" );
   2537 	dllVertex2i( x, y );
   2538 }
   2539 static void APIENTRY logVertex2iv(const GLint *v)
   2540 {
   2541 	SIG( "glVertex2iv" );
   2542 	dllVertex2iv( v );
   2543 }
   2544 static void APIENTRY logVertex2s(GLshort x, GLshort y)
   2545 {
   2546 	SIG( "glVertex2s" );
   2547 	dllVertex2s( x, y );
   2548 }
   2549 static void APIENTRY logVertex2sv(const GLshort *v)
   2550 {
   2551 	SIG( "glVertex2sv" );
   2552 	dllVertex2sv( v );
   2553 }
   2554 static void APIENTRY logVertex3d(GLdouble x, GLdouble y, GLdouble z)
   2555 {
   2556 	SIG( "glVertex3d" );
   2557 	dllVertex3d( x, y, z );
   2558 }
   2559 static void APIENTRY logVertex3dv(const GLdouble *v)
   2560 {
   2561 	SIG( "glVertex3dv" );
   2562 	dllVertex3dv( v );
   2563 }
   2564 static void APIENTRY logVertex3f(GLfloat x, GLfloat y, GLfloat z)
   2565 {
   2566 	SIG( "glVertex3f" );
   2567 	dllVertex3f( x, y, z );
   2568 }
   2569 static void APIENTRY logVertex3fv(const GLfloat *v)
   2570 {
   2571 	SIG( "glVertex3fv" );
   2572 	dllVertex3fv( v );
   2573 }
   2574 static void APIENTRY logVertex3i(GLint x, GLint y, GLint z)
   2575 {
   2576 	SIG( "glVertex3i" );
   2577 	dllVertex3i( x, y, z );
   2578 }
   2579 static void APIENTRY logVertex3iv(const GLint *v)
   2580 {
   2581 	SIG( "glVertex3iv" );
   2582 	dllVertex3iv( v );
   2583 }
   2584 static void APIENTRY logVertex3s(GLshort x, GLshort y, GLshort z)
   2585 {
   2586 	SIG( "glVertex3s" );
   2587 	dllVertex3s( x, y, z );
   2588 }
   2589 static void APIENTRY logVertex3sv(const GLshort *v)
   2590 {
   2591 	SIG( "glVertex3sv" );
   2592 	dllVertex3sv( v );
   2593 }
   2594 static void APIENTRY logVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w)
   2595 {
   2596 	SIG( "glVertex4d" );
   2597 	dllVertex4d( x, y, z, w );
   2598 }
   2599 static void APIENTRY logVertex4dv(const GLdouble *v)
   2600 {
   2601 	SIG( "glVertex4dv" );
   2602 	dllVertex4dv( v );
   2603 }
   2604 static void APIENTRY logVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w)
   2605 {
   2606 	SIG( "glVertex4f" );
   2607 	dllVertex4f( x, y, z, w );
   2608 }
   2609 static void APIENTRY logVertex4fv(const GLfloat *v)
   2610 {
   2611 	SIG( "glVertex4fv" );
   2612 	dllVertex4fv( v );
   2613 }
   2614 static void APIENTRY logVertex4i(GLint x, GLint y, GLint z, GLint w)
   2615 {
   2616 	SIG( "glVertex4i" );
   2617 	dllVertex4i( x, y, z, w );
   2618 }
   2619 static void APIENTRY logVertex4iv(const GLint *v)
   2620 {
   2621 	SIG( "glVertex4iv" );
   2622 	dllVertex4iv( v );
   2623 }
   2624 static void APIENTRY logVertex4s(GLshort x, GLshort y, GLshort z, GLshort w)
   2625 {
   2626 	SIG( "glVertex4s" );
   2627 	dllVertex4s( x, y, z, w );
   2628 }
   2629 static void APIENTRY logVertex4sv(const GLshort *v)
   2630 {
   2631 	SIG( "glVertex4sv" );
   2632 	dllVertex4sv( v );
   2633 }
   2634 static void APIENTRY logVertexPointer(GLint size, GLenum type, GLsizei stride, const void *pointer)
   2635 {
   2636 	SIG( "glVertexPointer" );
   2637 	dllVertexPointer( size, type, stride, pointer );
   2638 }
   2639 static void APIENTRY logViewport(GLint x, GLint y, GLsizei width, GLsizei height)
   2640 {
   2641 	SIG( "glViewport" );
   2642 	dllViewport( x, y, width, height );
   2643 }
   2644 
   2645 /*
   2646 ** QGL_Shutdown
   2647 **
   2648 ** Unloads the specified DLL then nulls out all the proc pointers.
   2649 */
   2650 void QGL_Shutdown( void )
   2651 {
   2652 	if ( glw_state.OpenGLLib )
   2653 	{
   2654 		dlclose ( glw_state.OpenGLLib );
   2655 		glw_state.OpenGLLib = NULL;
   2656 	}
   2657 
   2658 	glw_state.OpenGLLib = NULL;
   2659 
   2660 	qglAccum                     = NULL;
   2661 	qglAlphaFunc                 = NULL;
   2662 	qglAreTexturesResident       = NULL;
   2663 	qglArrayElement              = NULL;
   2664 	qglBegin                     = NULL;
   2665 	qglBindTexture               = NULL;
   2666 	qglBitmap                    = NULL;
   2667 	qglBlendFunc                 = NULL;
   2668 	qglCallList                  = NULL;
   2669 	qglCallLists                 = NULL;
   2670 	qglClear                     = NULL;
   2671 	qglClearAccum                = NULL;
   2672 	qglClearColor                = NULL;
   2673 	qglClearDepth                = NULL;
   2674 	qglClearIndex                = NULL;
   2675 	qglClearStencil              = NULL;
   2676 	qglClipPlane                 = NULL;
   2677 	qglColor3b                   = NULL;
   2678 	qglColor3bv                  = NULL;
   2679 	qglColor3d                   = NULL;
   2680 	qglColor3dv                  = NULL;
   2681 	qglColor3f                   = NULL;
   2682 	qglColor3fv                  = NULL;
   2683 	qglColor3i                   = NULL;
   2684 	qglColor3iv                  = NULL;
   2685 	qglColor3s                   = NULL;
   2686 	qglColor3sv                  = NULL;
   2687 	qglColor3ub                  = NULL;
   2688 	qglColor3ubv                 = NULL;
   2689 	qglColor3ui                  = NULL;
   2690 	qglColor3uiv                 = NULL;
   2691 	qglColor3us                  = NULL;
   2692 	qglColor3usv                 = NULL;
   2693 	qglColor4b                   = NULL;
   2694 	qglColor4bv                  = NULL;
   2695 	qglColor4d                   = NULL;
   2696 	qglColor4dv                  = NULL;
   2697 	qglColor4f                   = NULL;
   2698 	qglColor4fv                  = NULL;
   2699 	qglColor4i                   = NULL;
   2700 	qglColor4iv                  = NULL;
   2701 	qglColor4s                   = NULL;
   2702 	qglColor4sv                  = NULL;
   2703 	qglColor4ub                  = NULL;
   2704 	qglColor4ubv                 = NULL;
   2705 	qglColor4ui                  = NULL;
   2706 	qglColor4uiv                 = NULL;
   2707 	qglColor4us                  = NULL;
   2708 	qglColor4usv                 = NULL;
   2709 	qglColorMask                 = NULL;
   2710 	qglColorMaterial             = NULL;
   2711 	qglColorPointer              = NULL;
   2712 	qglCopyPixels                = NULL;
   2713 	qglCopyTexImage1D            = NULL;
   2714 	qglCopyTexImage2D            = NULL;
   2715 	qglCopyTexSubImage1D         = NULL;
   2716 	qglCopyTexSubImage2D         = NULL;
   2717 	qglCullFace                  = NULL;
   2718 	qglDeleteLists               = NULL;
   2719 	qglDeleteTextures            = NULL;
   2720 	qglDepthFunc                 = NULL;
   2721 	qglDepthMask                 = NULL;
   2722 	qglDepthRange                = NULL;
   2723 	qglDisable                   = NULL;
   2724 	qglDisableClientState        = NULL;
   2725 	qglDrawArrays                = NULL;
   2726 	qglDrawBuffer                = NULL;
   2727 	qglDrawElements              = NULL;
   2728 	qglDrawPixels                = NULL;
   2729 	qglEdgeFlag                  = NULL;
   2730 	qglEdgeFlagPointer           = NULL;
   2731 	qglEdgeFlagv                 = NULL;
   2732 	qglEnable                    = NULL;
   2733 	qglEnableClientState         = NULL;
   2734 	qglEnd                       = NULL;
   2735 	qglEndList                   = NULL;
   2736 	qglEvalCoord1d               = NULL;
   2737 	qglEvalCoord1dv              = NULL;
   2738 	qglEvalCoord1f               = NULL;
   2739 	qglEvalCoord1fv              = NULL;
   2740 	qglEvalCoord2d               = NULL;
   2741 	qglEvalCoord2dv              = NULL;
   2742 	qglEvalCoord2f               = NULL;
   2743 	qglEvalCoord2fv              = NULL;
   2744 	qglEvalMesh1                 = NULL;
   2745 	qglEvalMesh2                 = NULL;
   2746 	qglEvalPoint1                = NULL;
   2747 	qglEvalPoint2                = NULL;
   2748 	qglFeedbackBuffer            = NULL;
   2749 	qglFinish                    = NULL;
   2750 	qglFlush                     = NULL;
   2751 	qglFogf                      = NULL;
   2752 	qglFogfv                     = NULL;
   2753 	qglFogi                      = NULL;
   2754 	qglFogiv                     = NULL;
   2755 	qglFrontFace                 = NULL;
   2756 	qglFrustum                   = NULL;
   2757 	qglGenLists                  = NULL;
   2758 	qglGenTextures               = NULL;
   2759 	qglGetBooleanv               = NULL;
   2760 	qglGetClipPlane              = NULL;
   2761 	qglGetDoublev                = NULL;
   2762 	qglGetError                  = NULL;
   2763 	qglGetFloatv                 = NULL;
   2764 	qglGetIntegerv               = NULL;
   2765 	qglGetLightfv                = NULL;
   2766 	qglGetLightiv                = NULL;
   2767 	qglGetMapdv                  = NULL;
   2768 	qglGetMapfv                  = NULL;
   2769 	qglGetMapiv                  = NULL;
   2770 	qglGetMaterialfv             = NULL;
   2771 	qglGetMaterialiv             = NULL;
   2772 	qglGetPixelMapfv             = NULL;
   2773 	qglGetPixelMapuiv            = NULL;
   2774 	qglGetPixelMapusv            = NULL;
   2775 	qglGetPointerv               = NULL;
   2776 	qglGetPolygonStipple         = NULL;
   2777 	qglGetString                 = NULL;
   2778 	qglGetTexEnvfv               = NULL;
   2779 	qglGetTexEnviv               = NULL;
   2780 	qglGetTexGendv               = NULL;
   2781 	qglGetTexGenfv               = NULL;
   2782 	qglGetTexGeniv               = NULL;
   2783 	qglGetTexImage               = NULL;
   2784 	qglGetTexLevelParameterfv    = NULL;
   2785 	qglGetTexLevelParameteriv    = NULL;
   2786 	qglGetTexParameterfv         = NULL;
   2787 	qglGetTexParameteriv         = NULL;
   2788 	qglHint                      = NULL;
   2789 	qglIndexMask                 = NULL;
   2790 	qglIndexPointer              = NULL;
   2791 	qglIndexd                    = NULL;
   2792 	qglIndexdv                   = NULL;
   2793 	qglIndexf                    = NULL;
   2794 	qglIndexfv                   = NULL;
   2795 	qglIndexi                    = NULL;
   2796 	qglIndexiv                   = NULL;
   2797 	qglIndexs                    = NULL;
   2798 	qglIndexsv                   = NULL;
   2799 	qglIndexub                   = NULL;
   2800 	qglIndexubv                  = NULL;
   2801 	qglInitNames                 = NULL;
   2802 	qglInterleavedArrays         = NULL;
   2803 	qglIsEnabled                 = NULL;
   2804 	qglIsList                    = NULL;
   2805 	qglIsTexture                 = NULL;
   2806 	qglLightModelf               = NULL;
   2807 	qglLightModelfv              = NULL;
   2808 	qglLightModeli               = NULL;
   2809 	qglLightModeliv              = NULL;
   2810 	qglLightf                    = NULL;
   2811 	qglLightfv                   = NULL;
   2812 	qglLighti                    = NULL;
   2813 	qglLightiv                   = NULL;
   2814 	qglLineStipple               = NULL;
   2815 	qglLineWidth                 = NULL;
   2816 	qglListBase                  = NULL;
   2817 	qglLoadIdentity              = NULL;
   2818 	qglLoadMatrixd               = NULL;
   2819 	qglLoadMatrixf               = NULL;
   2820 	qglLoadName                  = NULL;
   2821 	qglLogicOp                   = NULL;
   2822 	qglMap1d                     = NULL;
   2823 	qglMap1f                     = NULL;
   2824 	qglMap2d                     = NULL;
   2825 	qglMap2f                     = NULL;
   2826 	qglMapGrid1d                 = NULL;
   2827 	qglMapGrid1f                 = NULL;
   2828 	qglMapGrid2d                 = NULL;
   2829 	qglMapGrid2f                 = NULL;
   2830 	qglMaterialf                 = NULL;
   2831 	qglMaterialfv                = NULL;
   2832 	qglMateriali                 = NULL;
   2833 	qglMaterialiv                = NULL;
   2834 	qglMatrixMode                = NULL;
   2835 	qglMultMatrixd               = NULL;
   2836 	qglMultMatrixf               = NULL;
   2837 	qglNewList                   = NULL;
   2838 	qglNormal3b                  = NULL;
   2839 	qglNormal3bv                 = NULL;
   2840 	qglNormal3d                  = NULL;
   2841 	qglNormal3dv                 = NULL;
   2842 	qglNormal3f                  = NULL;
   2843 	qglNormal3fv                 = NULL;
   2844 	qglNormal3i                  = NULL;
   2845 	qglNormal3iv                 = NULL;
   2846 	qglNormal3s                  = NULL;
   2847 	qglNormal3sv                 = NULL;
   2848 	qglNormalPointer             = NULL;
   2849 	qglOrtho                     = NULL;
   2850 	qglPassThrough               = NULL;
   2851 	qglPixelMapfv                = NULL;
   2852 	qglPixelMapuiv               = NULL;
   2853 	qglPixelMapusv               = NULL;
   2854 	qglPixelStoref               = NULL;
   2855 	qglPixelStorei               = NULL;
   2856 	qglPixelTransferf            = NULL;
   2857 	qglPixelTransferi            = NULL;
   2858 	qglPixelZoom                 = NULL;
   2859 	qglPointSize                 = NULL;
   2860 	qglPolygonMode               = NULL;
   2861 	qglPolygonOffset             = NULL;
   2862 	qglPolygonStipple            = NULL;
   2863 	qglPopAttrib                 = NULL;
   2864 	qglPopClientAttrib           = NULL;
   2865 	qglPopMatrix                 = NULL;
   2866 	qglPopName                   = NULL;
   2867 	qglPrioritizeTextures        = NULL;
   2868 	qglPushAttrib                = NULL;
   2869 	qglPushClientAttrib          = NULL;
   2870 	qglPushMatrix                = NULL;
   2871 	qglPushName                  = NULL;
   2872 	qglRasterPos2d               = NULL;
   2873 	qglRasterPos2dv              = NULL;
   2874 	qglRasterPos2f               = NULL;
   2875 	qglRasterPos2fv              = NULL;
   2876 	qglRasterPos2i               = NULL;
   2877 	qglRasterPos2iv              = NULL;
   2878 	qglRasterPos2s               = NULL;
   2879 	qglRasterPos2sv              = NULL;
   2880 	qglRasterPos3d               = NULL;
   2881 	qglRasterPos3dv              = NULL;
   2882 	qglRasterPos3f               = NULL;
   2883 	qglRasterPos3fv              = NULL;
   2884 	qglRasterPos3i               = NULL;
   2885 	qglRasterPos3iv              = NULL;
   2886 	qglRasterPos3s               = NULL;
   2887 	qglRasterPos3sv              = NULL;
   2888 	qglRasterPos4d               = NULL;
   2889 	qglRasterPos4dv              = NULL;
   2890 	qglRasterPos4f               = NULL;
   2891 	qglRasterPos4fv              = NULL;
   2892 	qglRasterPos4i               = NULL;
   2893 	qglRasterPos4iv              = NULL;
   2894 	qglRasterPos4s               = NULL;
   2895 	qglRasterPos4sv              = NULL;
   2896 	qglReadBuffer                = NULL;
   2897 	qglReadPixels                = NULL;
   2898 	qglRectd                     = NULL;
   2899 	qglRectdv                    = NULL;
   2900 	qglRectf                     = NULL;
   2901 	qglRectfv                    = NULL;
   2902 	qglRecti                     = NULL;
   2903 	qglRectiv                    = NULL;
   2904 	qglRects                     = NULL;
   2905 	qglRectsv                    = NULL;
   2906 	qglRenderMode                = NULL;
   2907 	qglRotated                   = NULL;
   2908 	qglRotatef                   = NULL;
   2909 	qglScaled                    = NULL;
   2910 	qglScalef                    = NULL;
   2911 	qglScissor                   = NULL;
   2912 	qglSelectBuffer              = NULL;
   2913 	qglShadeModel                = NULL;
   2914 	qglStencilFunc               = NULL;
   2915 	qglStencilMask               = NULL;
   2916 	qglStencilOp                 = NULL;
   2917 	qglTexCoord1d                = NULL;
   2918 	qglTexCoord1dv               = NULL;
   2919 	qglTexCoord1f                = NULL;
   2920 	qglTexCoord1fv               = NULL;
   2921 	qglTexCoord1i                = NULL;
   2922 	qglTexCoord1iv               = NULL;
   2923 	qglTexCoord1s                = NULL;
   2924 	qglTexCoord1sv               = NULL;
   2925 	qglTexCoord2d                = NULL;
   2926 	qglTexCoord2dv               = NULL;
   2927 	qglTexCoord2f                = NULL;
   2928 	qglTexCoord2fv               = NULL;
   2929 	qglTexCoord2i                = NULL;
   2930 	qglTexCoord2iv               = NULL;
   2931 	qglTexCoord2s                = NULL;
   2932 	qglTexCoord2sv               = NULL;
   2933 	qglTexCoord3d                = NULL;
   2934 	qglTexCoord3dv               = NULL;
   2935 	qglTexCoord3f                = NULL;
   2936 	qglTexCoord3fv               = NULL;
   2937 	qglTexCoord3i                = NULL;
   2938 	qglTexCoord3iv               = NULL;
   2939 	qglTexCoord3s                = NULL;
   2940 	qglTexCoord3sv               = NULL;
   2941 	qglTexCoord4d                = NULL;
   2942 	qglTexCoord4dv               = NULL;
   2943 	qglTexCoord4f                = NULL;
   2944 	qglTexCoord4fv               = NULL;
   2945 	qglTexCoord4i                = NULL;
   2946 	qglTexCoord4iv               = NULL;
   2947 	qglTexCoord4s                = NULL;
   2948 	qglTexCoord4sv               = NULL;
   2949 	qglTexCoordPointer           = NULL;
   2950 	qglTexEnvf                   = NULL;
   2951 	qglTexEnvfv                  = NULL;
   2952 	qglTexEnvi                   = NULL;
   2953 	qglTexEnviv                  = NULL;
   2954 	qglTexGend                   = NULL;
   2955 	qglTexGendv                  = NULL;
   2956 	qglTexGenf                   = NULL;
   2957 	qglTexGenfv                  = NULL;
   2958 	qglTexGeni                   = NULL;
   2959 	qglTexGeniv                  = NULL;
   2960 	qglTexImage1D                = NULL;
   2961 	qglTexImage2D                = NULL;
   2962 	qglTexParameterf             = NULL;
   2963 	qglTexParameterfv            = NULL;
   2964 	qglTexParameteri             = NULL;
   2965 	qglTexParameteriv            = NULL;
   2966 	qglTexSubImage1D             = NULL;
   2967 	qglTexSubImage2D             = NULL;
   2968 	qglTranslated                = NULL;
   2969 	qglTranslatef                = NULL;
   2970 	qglVertex2d                  = NULL;
   2971 	qglVertex2dv                 = NULL;
   2972 	qglVertex2f                  = NULL;
   2973 	qglVertex2fv                 = NULL;
   2974 	qglVertex2i                  = NULL;
   2975 	qglVertex2iv                 = NULL;
   2976 	qglVertex2s                  = NULL;
   2977 	qglVertex2sv                 = NULL;
   2978 	qglVertex3d                  = NULL;
   2979 	qglVertex3dv                 = NULL;
   2980 	qglVertex3f                  = NULL;
   2981 	qglVertex3fv                 = NULL;
   2982 	qglVertex3i                  = NULL;
   2983 	qglVertex3iv                 = NULL;
   2984 	qglVertex3s                  = NULL;
   2985 	qglVertex3sv                 = NULL;
   2986 	qglVertex4d                  = NULL;
   2987 	qglVertex4dv                 = NULL;
   2988 	qglVertex4f                  = NULL;
   2989 	qglVertex4fv                 = NULL;
   2990 	qglVertex4i                  = NULL;
   2991 	qglVertex4iv                 = NULL;
   2992 	qglVertex4s                  = NULL;
   2993 	qglVertex4sv                 = NULL;
   2994 	qglVertexPointer             = NULL;
   2995 	qglViewport                  = NULL;
   2996 
   2997 // bk001129 - from cvs1.17 (mkv)
   2998 #if defined(__FX__)
   2999 	qfxMesaCreateContext         = NULL;
   3000 	qfxMesaCreateBestContext     = NULL;
   3001 	qfxMesaDestroyContext        = NULL;
   3002 	qfxMesaMakeCurrent           = NULL;
   3003 	qfxMesaGetCurrentContext     = NULL;
   3004 	qfxMesaSwapBuffers           = NULL;
   3005 #endif
   3006 
   3007 	qglXChooseVisual             = NULL;
   3008 	qglXCreateContext            = NULL;
   3009 	qglXDestroyContext           = NULL;
   3010 	qglXMakeCurrent              = NULL;
   3011 	qglXCopyContext              = NULL;
   3012 	qglXSwapBuffers              = NULL;
   3013 }
   3014 
   3015 #define GPA( a ) dlsym( glw_state.OpenGLLib, a )
   3016 
   3017 void *qwglGetProcAddress(char *symbol)
   3018 {
   3019 	if (glw_state.OpenGLLib)
   3020 		return GPA ( symbol );
   3021 	return NULL;
   3022 }
   3023 
   3024 /*
   3025 ** QGL_Init
   3026 **
   3027 ** This is responsible for binding our qgl function pointers to 
   3028 ** the appropriate GL stuff.  In Windows this means doing a 
   3029 ** LoadLibrary and a bunch of calls to GetProcAddress.  On other
   3030 ** operating systems we need to do the right thing, whatever that
   3031 ** might be.
   3032 ** 
   3033 */
   3034 
   3035 qboolean QGL_Init( const char *dllname )
   3036 {
   3037 	if ( ( glw_state.OpenGLLib = dlopen( dllname, RTLD_LAZY|RTLD_GLOBAL ) ) == 0 )
   3038 	{
   3039 		char	fn[1024];
   3040 		// FILE *fp; // bk001204 - unused
   3041 		extern uid_t saved_euid; // unix_main.c
   3042 
   3043 		// if we are not setuid, try current directory
   3044 		if (getuid() == saved_euid) {
   3045 			getcwd(fn, sizeof(fn));
   3046 			Q_strcat(fn, sizeof(fn), "/");
   3047 			Q_strcat(fn, sizeof(fn), dllname);
   3048 
   3049 			if ( ( glw_state.OpenGLLib = dlopen( fn, RTLD_LAZY ) ) == 0 ) {
   3050 				ri.Printf(PRINT_ALL, "QGL_Init: Can't load %s from /etc/ld.so.conf or current dir: %s\n", dllname, dlerror());
   3051 				return qfalse;
   3052 			}
   3053 		} else {
   3054 			ri.Printf(PRINT_ALL, "QGL_Init: Can't load %s from /etc/ld.so.conf: %s\n", dllname, dlerror());
   3055 			return qfalse;
   3056 		}
   3057 	}
   3058 
   3059 	qglAccum                     = dllAccum = GPA( "glAccum" );
   3060 	qglAlphaFunc                 = dllAlphaFunc = GPA( "glAlphaFunc" );
   3061 	qglAreTexturesResident       = dllAreTexturesResident = GPA( "glAreTexturesResident" );
   3062 	qglArrayElement              = dllArrayElement = GPA( "glArrayElement" );
   3063 	qglBegin                     = dllBegin = GPA( "glBegin" );
   3064 	qglBindTexture               = dllBindTexture = GPA( "glBindTexture" );
   3065 	qglBitmap                    = dllBitmap = GPA( "glBitmap" );
   3066 	qglBlendFunc                 = dllBlendFunc = GPA( "glBlendFunc" );
   3067 	qglCallList                  = dllCallList = GPA( "glCallList" );
   3068 	qglCallLists                 = dllCallLists = GPA( "glCallLists" );
   3069 	qglClear                     = dllClear = GPA( "glClear" );
   3070 	qglClearAccum                = dllClearAccum = GPA( "glClearAccum" );
   3071 	qglClearColor                = dllClearColor = GPA( "glClearColor" );
   3072 	qglClearDepth                = dllClearDepth = GPA( "glClearDepth" );
   3073 	qglClearIndex                = dllClearIndex = GPA( "glClearIndex" );
   3074 	qglClearStencil              = dllClearStencil = GPA( "glClearStencil" );
   3075 	qglClipPlane                 = dllClipPlane = GPA( "glClipPlane" );
   3076 	qglColor3b                   = dllColor3b = GPA( "glColor3b" );
   3077 	qglColor3bv                  = dllColor3bv = GPA( "glColor3bv" );
   3078 	qglColor3d                   = dllColor3d = GPA( "glColor3d" );
   3079 	qglColor3dv                  = dllColor3dv = GPA( "glColor3dv" );
   3080 	qglColor3f                   = dllColor3f = GPA( "glColor3f" );
   3081 	qglColor3fv                  = dllColor3fv = GPA( "glColor3fv" );
   3082 	qglColor3i                   = dllColor3i = GPA( "glColor3i" );
   3083 	qglColor3iv                  = dllColor3iv = GPA( "glColor3iv" );
   3084 	qglColor3s                   = dllColor3s = GPA( "glColor3s" );
   3085 	qglColor3sv                  = dllColor3sv = GPA( "glColor3sv" );
   3086 	qglColor3ub                  = dllColor3ub = GPA( "glColor3ub" );
   3087 	qglColor3ubv                 = dllColor3ubv = GPA( "glColor3ubv" );
   3088 	qglColor3ui                  = dllColor3ui = GPA( "glColor3ui" );
   3089 	qglColor3uiv                 = dllColor3uiv = GPA( "glColor3uiv" );
   3090 	qglColor3us                  = dllColor3us = GPA( "glColor3us" );
   3091 	qglColor3usv                 = dllColor3usv = GPA( "glColor3usv" );
   3092 	qglColor4b                   = dllColor4b = GPA( "glColor4b" );
   3093 	qglColor4bv                  = dllColor4bv = GPA( "glColor4bv" );
   3094 	qglColor4d                   = dllColor4d = GPA( "glColor4d" );
   3095 	qglColor4dv                  = dllColor4dv = GPA( "glColor4dv" );
   3096 	qglColor4f                   = dllColor4f = GPA( "glColor4f" );
   3097 	qglColor4fv                  = dllColor4fv = GPA( "glColor4fv" );
   3098 	qglColor4i                   = dllColor4i = GPA( "glColor4i" );
   3099 	qglColor4iv                  = dllColor4iv = GPA( "glColor4iv" );
   3100 	qglColor4s                   = dllColor4s = GPA( "glColor4s" );
   3101 	qglColor4sv                  = dllColor4sv = GPA( "glColor4sv" );
   3102 	qglColor4ub                  = dllColor4ub = GPA( "glColor4ub" );
   3103 	qglColor4ubv                 = dllColor4ubv = GPA( "glColor4ubv" );
   3104 	qglColor4ui                  = dllColor4ui = GPA( "glColor4ui" );
   3105 	qglColor4uiv                 = dllColor4uiv = GPA( "glColor4uiv" );
   3106 	qglColor4us                  = dllColor4us = GPA( "glColor4us" );
   3107 	qglColor4usv                 = dllColor4usv = GPA( "glColor4usv" );
   3108 	qglColorMask                 = dllColorMask = GPA( "glColorMask" );
   3109 	qglColorMaterial             = dllColorMaterial = GPA( "glColorMaterial" );
   3110 	qglColorPointer              = dllColorPointer = GPA( "glColorPointer" );
   3111 	qglCopyPixels                = dllCopyPixels = GPA( "glCopyPixels" );
   3112 	qglCopyTexImage1D            = dllCopyTexImage1D = GPA( "glCopyTexImage1D" );
   3113 	qglCopyTexImage2D            = dllCopyTexImage2D = GPA( "glCopyTexImage2D" );
   3114 	qglCopyTexSubImage1D         = dllCopyTexSubImage1D = GPA( "glCopyTexSubImage1D" );
   3115 	qglCopyTexSubImage2D         = dllCopyTexSubImage2D = GPA( "glCopyTexSubImage2D" );
   3116 	qglCullFace                  = dllCullFace = GPA( "glCullFace" );
   3117 	qglDeleteLists               = dllDeleteLists = GPA( "glDeleteLists" );
   3118 	qglDeleteTextures            = dllDeleteTextures = GPA( "glDeleteTextures" );
   3119 	qglDepthFunc                 = dllDepthFunc = GPA( "glDepthFunc" );
   3120 	qglDepthMask                 = dllDepthMask = GPA( "glDepthMask" );
   3121 	qglDepthRange                = dllDepthRange = GPA( "glDepthRange" );
   3122 	qglDisable                   = dllDisable = GPA( "glDisable" );
   3123 	qglDisableClientState        = dllDisableClientState = GPA( "glDisableClientState" );
   3124 	qglDrawArrays                = dllDrawArrays = GPA( "glDrawArrays" );
   3125 	qglDrawBuffer                = dllDrawBuffer = GPA( "glDrawBuffer" );
   3126 	qglDrawElements              = dllDrawElements = GPA( "glDrawElements" );
   3127 	qglDrawPixels                = dllDrawPixels = GPA( "glDrawPixels" );
   3128 	qglEdgeFlag                  = dllEdgeFlag = GPA( "glEdgeFlag" );
   3129 	qglEdgeFlagPointer           = dllEdgeFlagPointer = GPA( "glEdgeFlagPointer" );
   3130 	qglEdgeFlagv                 = dllEdgeFlagv = GPA( "glEdgeFlagv" );
   3131 	qglEnable                    = 	dllEnable                    = GPA( "glEnable" );
   3132 	qglEnableClientState         = 	dllEnableClientState         = GPA( "glEnableClientState" );
   3133 	qglEnd                       = 	dllEnd                       = GPA( "glEnd" );
   3134 	qglEndList                   = 	dllEndList                   = GPA( "glEndList" );
   3135 	qglEvalCoord1d				 = 	dllEvalCoord1d				 = GPA( "glEvalCoord1d" );
   3136 	qglEvalCoord1dv              = 	dllEvalCoord1dv              = GPA( "glEvalCoord1dv" );
   3137 	qglEvalCoord1f               = 	dllEvalCoord1f               = GPA( "glEvalCoord1f" );
   3138 	qglEvalCoord1fv              = 	dllEvalCoord1fv              = GPA( "glEvalCoord1fv" );
   3139 	qglEvalCoord2d               = 	dllEvalCoord2d               = GPA( "glEvalCoord2d" );
   3140 	qglEvalCoord2dv              = 	dllEvalCoord2dv              = GPA( "glEvalCoord2dv" );
   3141 	qglEvalCoord2f               = 	dllEvalCoord2f               = GPA( "glEvalCoord2f" );
   3142 	qglEvalCoord2fv              = 	dllEvalCoord2fv              = GPA( "glEvalCoord2fv" );
   3143 	qglEvalMesh1                 = 	dllEvalMesh1                 = GPA( "glEvalMesh1" );
   3144 	qglEvalMesh2                 = 	dllEvalMesh2                 = GPA( "glEvalMesh2" );
   3145 	qglEvalPoint1                = 	dllEvalPoint1                = GPA( "glEvalPoint1" );
   3146 	qglEvalPoint2                = 	dllEvalPoint2                = GPA( "glEvalPoint2" );
   3147 	qglFeedbackBuffer            = 	dllFeedbackBuffer            = GPA( "glFeedbackBuffer" );
   3148 	qglFinish                    = 	dllFinish                    = GPA( "glFinish" );
   3149 	qglFlush                     = 	dllFlush                     = GPA( "glFlush" );
   3150 	qglFogf                      = 	dllFogf                      = GPA( "glFogf" );
   3151 	qglFogfv                     = 	dllFogfv                     = GPA( "glFogfv" );
   3152 	qglFogi                      = 	dllFogi                      = GPA( "glFogi" );
   3153 	qglFogiv                     = 	dllFogiv                     = GPA( "glFogiv" );
   3154 	qglFrontFace                 = 	dllFrontFace                 = GPA( "glFrontFace" );
   3155 	qglFrustum                   = 	dllFrustum                   = GPA( "glFrustum" );
   3156 	qglGenLists                  = 	dllGenLists                  = GPA( "glGenLists" );
   3157 	qglGenTextures               = 	dllGenTextures               = GPA( "glGenTextures" );
   3158 	qglGetBooleanv               = 	dllGetBooleanv               = GPA( "glGetBooleanv" );
   3159 	qglGetClipPlane              = 	dllGetClipPlane              = GPA( "glGetClipPlane" );
   3160 	qglGetDoublev                = 	dllGetDoublev                = GPA( "glGetDoublev" );
   3161 	qglGetError                  = 	dllGetError                  = GPA( "glGetError" );
   3162 	qglGetFloatv                 = 	dllGetFloatv                 = GPA( "glGetFloatv" );
   3163 	qglGetIntegerv               = 	dllGetIntegerv               = GPA( "glGetIntegerv" );
   3164 	qglGetLightfv                = 	dllGetLightfv                = GPA( "glGetLightfv" );
   3165 	qglGetLightiv                = 	dllGetLightiv                = GPA( "glGetLightiv" );
   3166 	qglGetMapdv                  = 	dllGetMapdv                  = GPA( "glGetMapdv" );
   3167 	qglGetMapfv                  = 	dllGetMapfv                  = GPA( "glGetMapfv" );
   3168 	qglGetMapiv                  = 	dllGetMapiv                  = GPA( "glGetMapiv" );
   3169 	qglGetMaterialfv             = 	dllGetMaterialfv             = GPA( "glGetMaterialfv" );
   3170 	qglGetMaterialiv             = 	dllGetMaterialiv             = GPA( "glGetMaterialiv" );
   3171 	qglGetPixelMapfv             = 	dllGetPixelMapfv             = GPA( "glGetPixelMapfv" );
   3172 	qglGetPixelMapuiv            = 	dllGetPixelMapuiv            = GPA( "glGetPixelMapuiv" );
   3173 	qglGetPixelMapusv            = 	dllGetPixelMapusv            = GPA( "glGetPixelMapusv" );
   3174 	qglGetPointerv               = 	dllGetPointerv               = GPA( "glGetPointerv" );
   3175 	qglGetPolygonStipple         = 	dllGetPolygonStipple         = GPA( "glGetPolygonStipple" );
   3176 	qglGetString                 = 	dllGetString                 = GPA( "glGetString" );
   3177 	qglGetTexEnvfv               = 	dllGetTexEnvfv               = GPA( "glGetTexEnvfv" );
   3178 	qglGetTexEnviv               = 	dllGetTexEnviv               = GPA( "glGetTexEnviv" );
   3179 	qglGetTexGendv               = 	dllGetTexGendv               = GPA( "glGetTexGendv" );
   3180 	qglGetTexGenfv               = 	dllGetTexGenfv               = GPA( "glGetTexGenfv" );
   3181 	qglGetTexGeniv               = 	dllGetTexGeniv               = GPA( "glGetTexGeniv" );
   3182 	qglGetTexImage               = 	dllGetTexImage               = GPA( "glGetTexImage" );
   3183 	qglGetTexParameterfv         = 	dllGetTexParameterfv         = GPA( "glGetTexParameterfv" );
   3184 	qglGetTexParameteriv         = 	dllGetTexParameteriv         = GPA( "glGetTexParameteriv" );
   3185 	qglHint                      = 	dllHint                      = GPA( "glHint" );
   3186 	qglIndexMask                 = 	dllIndexMask                 = GPA( "glIndexMask" );
   3187 	qglIndexPointer              = 	dllIndexPointer              = GPA( "glIndexPointer" );
   3188 	qglIndexd                    = 	dllIndexd                    = GPA( "glIndexd" );
   3189 	qglIndexdv                   = 	dllIndexdv                   = GPA( "glIndexdv" );
   3190 	qglIndexf                    = 	dllIndexf                    = GPA( "glIndexf" );
   3191 	qglIndexfv                   = 	dllIndexfv                   = GPA( "glIndexfv" );
   3192 	qglIndexi                    = 	dllIndexi                    = GPA( "glIndexi" );
   3193 	qglIndexiv                   = 	dllIndexiv                   = GPA( "glIndexiv" );
   3194 	qglIndexs                    = 	dllIndexs                    = GPA( "glIndexs" );
   3195 	qglIndexsv                   = 	dllIndexsv                   = GPA( "glIndexsv" );
   3196 	qglIndexub                   = 	dllIndexub                   = GPA( "glIndexub" );
   3197 	qglIndexubv                  = 	dllIndexubv                  = GPA( "glIndexubv" );
   3198 	qglInitNames                 = 	dllInitNames                 = GPA( "glInitNames" );
   3199 	qglInterleavedArrays         = 	dllInterleavedArrays         = GPA( "glInterleavedArrays" );
   3200 	qglIsEnabled                 = 	dllIsEnabled                 = GPA( "glIsEnabled" );
   3201 	qglIsList                    = 	dllIsList                    = GPA( "glIsList" );
   3202 	qglIsTexture                 = 	dllIsTexture                 = GPA( "glIsTexture" );
   3203 	qglLightModelf               = 	dllLightModelf               = GPA( "glLightModelf" );
   3204 	qglLightModelfv              = 	dllLightModelfv              = GPA( "glLightModelfv" );
   3205 	qglLightModeli               = 	dllLightModeli               = GPA( "glLightModeli" );
   3206 	qglLightModeliv              = 	dllLightModeliv              = GPA( "glLightModeliv" );
   3207 	qglLightf                    = 	dllLightf                    = GPA( "glLightf" );
   3208 	qglLightfv                   = 	dllLightfv                   = GPA( "glLightfv" );
   3209 	qglLighti                    = 	dllLighti                    = GPA( "glLighti" );
   3210 	qglLightiv                   = 	dllLightiv                   = GPA( "glLightiv" );
   3211 	qglLineStipple               = 	dllLineStipple               = GPA( "glLineStipple" );
   3212 	qglLineWidth                 = 	dllLineWidth                 = GPA( "glLineWidth" );
   3213 	qglListBase                  = 	dllListBase                  = GPA( "glListBase" );
   3214 	qglLoadIdentity              = 	dllLoadIdentity              = GPA( "glLoadIdentity" );
   3215 	qglLoadMatrixd               = 	dllLoadMatrixd               = GPA( "glLoadMatrixd" );
   3216 	qglLoadMatrixf               = 	dllLoadMatrixf               = GPA( "glLoadMatrixf" );
   3217 	qglLoadName                  = 	dllLoadName                  = GPA( "glLoadName" );
   3218 	qglLogicOp                   = 	dllLogicOp                   = GPA( "glLogicOp" );
   3219 	qglMap1d                     = 	dllMap1d                     = GPA( "glMap1d" );
   3220 	qglMap1f                     = 	dllMap1f                     = GPA( "glMap1f" );
   3221 	qglMap2d                     = 	dllMap2d                     = GPA( "glMap2d" );
   3222 	qglMap2f                     = 	dllMap2f                     = GPA( "glMap2f" );
   3223 	qglMapGrid1d                 = 	dllMapGrid1d                 = GPA( "glMapGrid1d" );
   3224 	qglMapGrid1f                 = 	dllMapGrid1f                 = GPA( "glMapGrid1f" );
   3225 	qglMapGrid2d                 = 	dllMapGrid2d                 = GPA( "glMapGrid2d" );
   3226 	qglMapGrid2f                 = 	dllMapGrid2f                 = GPA( "glMapGrid2f" );
   3227 	qglMaterialf                 = 	dllMaterialf                 = GPA( "glMaterialf" );
   3228 	qglMaterialfv                = 	dllMaterialfv                = GPA( "glMaterialfv" );
   3229 	qglMateriali                 = 	dllMateriali                 = GPA( "glMateriali" );
   3230 	qglMaterialiv                = 	dllMaterialiv                = GPA( "glMaterialiv" );
   3231 	qglMatrixMode                = 	dllMatrixMode                = GPA( "glMatrixMode" );
   3232 	qglMultMatrixd               = 	dllMultMatrixd               = GPA( "glMultMatrixd" );
   3233 	qglMultMatrixf               = 	dllMultMatrixf               = GPA( "glMultMatrixf" );
   3234 	qglNewList                   = 	dllNewList                   = GPA( "glNewList" );
   3235 	qglNormal3b                  = 	dllNormal3b                  = GPA( "glNormal3b" );
   3236 	qglNormal3bv                 = 	dllNormal3bv                 = GPA( "glNormal3bv" );
   3237 	qglNormal3d                  = 	dllNormal3d                  = GPA( "glNormal3d" );
   3238 	qglNormal3dv                 = 	dllNormal3dv                 = GPA( "glNormal3dv" );
   3239 	qglNormal3f                  = 	dllNormal3f                  = GPA( "glNormal3f" );
   3240 	qglNormal3fv                 = 	dllNormal3fv                 = GPA( "glNormal3fv" );
   3241 	qglNormal3i                  = 	dllNormal3i                  = GPA( "glNormal3i" );
   3242 	qglNormal3iv                 = 	dllNormal3iv                 = GPA( "glNormal3iv" );
   3243 	qglNormal3s                  = 	dllNormal3s                  = GPA( "glNormal3s" );
   3244 	qglNormal3sv                 = 	dllNormal3sv                 = GPA( "glNormal3sv" );
   3245 	qglNormalPointer             = 	dllNormalPointer             = GPA( "glNormalPointer" );
   3246 	qglOrtho                     = 	dllOrtho                     = GPA( "glOrtho" );
   3247 	qglPassThrough               = 	dllPassThrough               = GPA( "glPassThrough" );
   3248 	qglPixelMapfv                = 	dllPixelMapfv                = GPA( "glPixelMapfv" );
   3249 	qglPixelMapuiv               = 	dllPixelMapuiv               = GPA( "glPixelMapuiv" );
   3250 	qglPixelMapusv               = 	dllPixelMapusv               = GPA( "glPixelMapusv" );
   3251 	qglPixelStoref               = 	dllPixelStoref               = GPA( "glPixelStoref" );
   3252 	qglPixelStorei               = 	dllPixelStorei               = GPA( "glPixelStorei" );
   3253 	qglPixelTransferf            = 	dllPixelTransferf            = GPA( "glPixelTransferf" );
   3254 	qglPixelTransferi            = 	dllPixelTransferi            = GPA( "glPixelTransferi" );
   3255 	qglPixelZoom                 = 	dllPixelZoom                 = GPA( "glPixelZoom" );
   3256 	qglPointSize                 = 	dllPointSize                 = GPA( "glPointSize" );
   3257 	qglPolygonMode               = 	dllPolygonMode               = GPA( "glPolygonMode" );
   3258 	qglPolygonOffset             = 	dllPolygonOffset             = GPA( "glPolygonOffset" );
   3259 	qglPolygonStipple            = 	dllPolygonStipple            = GPA( "glPolygonStipple" );
   3260 	qglPopAttrib                 = 	dllPopAttrib                 = GPA( "glPopAttrib" );
   3261 	qglPopClientAttrib           = 	dllPopClientAttrib           = GPA( "glPopClientAttrib" );
   3262 	qglPopMatrix                 = 	dllPopMatrix                 = GPA( "glPopMatrix" );
   3263 	qglPopName                   = 	dllPopName                   = GPA( "glPopName" );
   3264 	qglPrioritizeTextures        = 	dllPrioritizeTextures        = GPA( "glPrioritizeTextures" );
   3265 	qglPushAttrib                = 	dllPushAttrib                = GPA( "glPushAttrib" );
   3266 	qglPushClientAttrib          = 	dllPushClientAttrib          = GPA( "glPushClientAttrib" );
   3267 	qglPushMatrix                = 	dllPushMatrix                = GPA( "glPushMatrix" );
   3268 	qglPushName                  = 	dllPushName                  = GPA( "glPushName" );
   3269 	qglRasterPos2d               = 	dllRasterPos2d               = GPA( "glRasterPos2d" );
   3270 	qglRasterPos2dv              = 	dllRasterPos2dv              = GPA( "glRasterPos2dv" );
   3271 	qglRasterPos2f               = 	dllRasterPos2f               = GPA( "glRasterPos2f" );
   3272 	qglRasterPos2fv              = 	dllRasterPos2fv              = GPA( "glRasterPos2fv" );
   3273 	qglRasterPos2i               = 	dllRasterPos2i               = GPA( "glRasterPos2i" );
   3274 	qglRasterPos2iv              = 	dllRasterPos2iv              = GPA( "glRasterPos2iv" );
   3275 	qglRasterPos2s               = 	dllRasterPos2s               = GPA( "glRasterPos2s" );
   3276 	qglRasterPos2sv              = 	dllRasterPos2sv              = GPA( "glRasterPos2sv" );
   3277 	qglRasterPos3d               = 	dllRasterPos3d               = GPA( "glRasterPos3d" );
   3278 	qglRasterPos3dv              = 	dllRasterPos3dv              = GPA( "glRasterPos3dv" );
   3279 	qglRasterPos3f               = 	dllRasterPos3f               = GPA( "glRasterPos3f" );
   3280 	qglRasterPos3fv              = 	dllRasterPos3fv              = GPA( "glRasterPos3fv" );
   3281 	qglRasterPos3i               = 	dllRasterPos3i               = GPA( "glRasterPos3i" );
   3282 	qglRasterPos3iv              = 	dllRasterPos3iv              = GPA( "glRasterPos3iv" );
   3283 	qglRasterPos3s               = 	dllRasterPos3s               = GPA( "glRasterPos3s" );
   3284 	qglRasterPos3sv              = 	dllRasterPos3sv              = GPA( "glRasterPos3sv" );
   3285 	qglRasterPos4d               = 	dllRasterPos4d               = GPA( "glRasterPos4d" );
   3286 	qglRasterPos4dv              = 	dllRasterPos4dv              = GPA( "glRasterPos4dv" );
   3287 	qglRasterPos4f               = 	dllRasterPos4f               = GPA( "glRasterPos4f" );
   3288 	qglRasterPos4fv              = 	dllRasterPos4fv              = GPA( "glRasterPos4fv" );
   3289 	qglRasterPos4i               = 	dllRasterPos4i               = GPA( "glRasterPos4i" );
   3290 	qglRasterPos4iv              = 	dllRasterPos4iv              = GPA( "glRasterPos4iv" );
   3291 	qglRasterPos4s               = 	dllRasterPos4s               = GPA( "glRasterPos4s" );
   3292 	qglRasterPos4sv              = 	dllRasterPos4sv              = GPA( "glRasterPos4sv" );
   3293 	qglReadBuffer                = 	dllReadBuffer                = GPA( "glReadBuffer" );
   3294 	qglReadPixels                = 	dllReadPixels                = GPA( "glReadPixels" );
   3295 	qglRectd                     = 	dllRectd                     = GPA( "glRectd" );
   3296 	qglRectdv                    = 	dllRectdv                    = GPA( "glRectdv" );
   3297 	qglRectf                     = 	dllRectf                     = GPA( "glRectf" );
   3298 	qglRectfv                    = 	dllRectfv                    = GPA( "glRectfv" );
   3299 	qglRecti                     = 	dllRecti                     = GPA( "glRecti" );
   3300 	qglRectiv                    = 	dllRectiv                    = GPA( "glRectiv" );
   3301 	qglRects                     = 	dllRects                     = GPA( "glRects" );
   3302 	qglRectsv                    = 	dllRectsv                    = GPA( "glRectsv" );
   3303 	qglRenderMode                = 	dllRenderMode                = GPA( "glRenderMode" );
   3304 	qglRotated                   = 	dllRotated                   = GPA( "glRotated" );
   3305 	qglRotatef                   = 	dllRotatef                   = GPA( "glRotatef" );
   3306 	qglScaled                    = 	dllScaled                    = GPA( "glScaled" );
   3307 	qglScalef                    = 	dllScalef                    = GPA( "glScalef" );
   3308 	qglScissor                   = 	dllScissor                   = GPA( "glScissor" );
   3309 	qglSelectBuffer              = 	dllSelectBuffer              = GPA( "glSelectBuffer" );
   3310 	qglShadeModel                = 	dllShadeModel                = GPA( "glShadeModel" );
   3311 	qglStencilFunc               = 	dllStencilFunc               = GPA( "glStencilFunc" );
   3312 	qglStencilMask               = 	dllStencilMask               = GPA( "glStencilMask" );
   3313 	qglStencilOp                 = 	dllStencilOp                 = GPA( "glStencilOp" );
   3314 	qglTexCoord1d                = 	dllTexCoord1d                = GPA( "glTexCoord1d" );
   3315 	qglTexCoord1dv               = 	dllTexCoord1dv               = GPA( "glTexCoord1dv" );
   3316 	qglTexCoord1f                = 	dllTexCoord1f                = GPA( "glTexCoord1f" );
   3317 	qglTexCoord1fv               = 	dllTexCoord1fv               = GPA( "glTexCoord1fv" );
   3318 	qglTexCoord1i                = 	dllTexCoord1i                = GPA( "glTexCoord1i" );
   3319 	qglTexCoord1iv               = 	dllTexCoord1iv               = GPA( "glTexCoord1iv" );
   3320 	qglTexCoord1s                = 	dllTexCoord1s                = GPA( "glTexCoord1s" );
   3321 	qglTexCoord1sv               = 	dllTexCoord1sv               = GPA( "glTexCoord1sv" );
   3322 	qglTexCoord2d                = 	dllTexCoord2d                = GPA( "glTexCoord2d" );
   3323 	qglTexCoord2dv               = 	dllTexCoord2dv               = GPA( "glTexCoord2dv" );
   3324 	qglTexCoord2f                = 	dllTexCoord2f                = GPA( "glTexCoord2f" );
   3325 	qglTexCoord2fv               = 	dllTexCoord2fv               = GPA( "glTexCoord2fv" );
   3326 	qglTexCoord2i                = 	dllTexCoord2i                = GPA( "glTexCoord2i" );
   3327 	qglTexCoord2iv               = 	dllTexCoord2iv               = GPA( "glTexCoord2iv" );
   3328 	qglTexCoord2s                = 	dllTexCoord2s                = GPA( "glTexCoord2s" );
   3329 	qglTexCoord2sv               = 	dllTexCoord2sv               = GPA( "glTexCoord2sv" );
   3330 	qglTexCoord3d                = 	dllTexCoord3d                = GPA( "glTexCoord3d" );
   3331 	qglTexCoord3dv               = 	dllTexCoord3dv               = GPA( "glTexCoord3dv" );
   3332 	qglTexCoord3f                = 	dllTexCoord3f                = GPA( "glTexCoord3f" );
   3333 	qglTexCoord3fv               = 	dllTexCoord3fv               = GPA( "glTexCoord3fv" );
   3334 	qglTexCoord3i                = 	dllTexCoord3i                = GPA( "glTexCoord3i" );
   3335 	qglTexCoord3iv               = 	dllTexCoord3iv               = GPA( "glTexCoord3iv" );
   3336 	qglTexCoord3s                = 	dllTexCoord3s                = GPA( "glTexCoord3s" );
   3337 	qglTexCoord3sv               = 	dllTexCoord3sv               = GPA( "glTexCoord3sv" );
   3338 	qglTexCoord4d                = 	dllTexCoord4d                = GPA( "glTexCoord4d" );
   3339 	qglTexCoord4dv               = 	dllTexCoord4dv               = GPA( "glTexCoord4dv" );
   3340 	qglTexCoord4f                = 	dllTexCoord4f                = GPA( "glTexCoord4f" );
   3341 	qglTexCoord4fv               = 	dllTexCoord4fv               = GPA( "glTexCoord4fv" );
   3342 	qglTexCoord4i                = 	dllTexCoord4i                = GPA( "glTexCoord4i" );
   3343 	qglTexCoord4iv               = 	dllTexCoord4iv               = GPA( "glTexCoord4iv" );
   3344 	qglTexCoord4s                = 	dllTexCoord4s                = GPA( "glTexCoord4s" );
   3345 	qglTexCoord4sv               = 	dllTexCoord4sv               = GPA( "glTexCoord4sv" );
   3346 	qglTexCoordPointer           = 	dllTexCoordPointer           = GPA( "glTexCoordPointer" );
   3347 	qglTexEnvf                   = 	dllTexEnvf                   = GPA( "glTexEnvf" );
   3348 	qglTexEnvfv                  = 	dllTexEnvfv                  = GPA( "glTexEnvfv" );
   3349 	qglTexEnvi                   = 	dllTexEnvi                   = GPA( "glTexEnvi" );
   3350 	qglTexEnviv                  = 	dllTexEnviv                  = GPA( "glTexEnviv" );
   3351 	qglTexGend                   = 	dllTexGend                   = GPA( "glTexGend" );
   3352 	qglTexGendv                  = 	dllTexGendv                  = GPA( "glTexGendv" );
   3353 	qglTexGenf                   = 	dllTexGenf                   = GPA( "glTexGenf" );
   3354 	qglTexGenfv                  = 	dllTexGenfv                  = GPA( "glTexGenfv" );
   3355 	qglTexGeni                   = 	dllTexGeni                   = GPA( "glTexGeni" );
   3356 	qglTexGeniv                  = 	dllTexGeniv                  = GPA( "glTexGeniv" );
   3357 	qglTexImage1D                = 	dllTexImage1D                = GPA( "glTexImage1D" );
   3358 	qglTexImage2D                = 	dllTexImage2D                = GPA( "glTexImage2D" );
   3359 	qglTexParameterf             = 	dllTexParameterf             = GPA( "glTexParameterf" );
   3360 	qglTexParameterfv            = 	dllTexParameterfv            = GPA( "glTexParameterfv" );
   3361 	qglTexParameteri             = 	dllTexParameteri             = GPA( "glTexParameteri" );
   3362 	qglTexParameteriv            = 	dllTexParameteriv            = GPA( "glTexParameteriv" );
   3363 	qglTexSubImage1D             = 	dllTexSubImage1D             = GPA( "glTexSubImage1D" );
   3364 	qglTexSubImage2D             = 	dllTexSubImage2D             = GPA( "glTexSubImage2D" );
   3365 	qglTranslated                = 	dllTranslated                = GPA( "glTranslated" );
   3366 	qglTranslatef                = 	dllTranslatef                = GPA( "glTranslatef" );
   3367 	qglVertex2d                  = 	dllVertex2d                  = GPA( "glVertex2d" );
   3368 	qglVertex2dv                 = 	dllVertex2dv                 = GPA( "glVertex2dv" );
   3369 	qglVertex2f                  = 	dllVertex2f                  = GPA( "glVertex2f" );
   3370 	qglVertex2fv                 = 	dllVertex2fv                 = GPA( "glVertex2fv" );
   3371 	qglVertex2i                  = 	dllVertex2i                  = GPA( "glVertex2i" );
   3372 	qglVertex2iv                 = 	dllVertex2iv                 = GPA( "glVertex2iv" );
   3373 	qglVertex2s                  = 	dllVertex2s                  = GPA( "glVertex2s" );
   3374 	qglVertex2sv                 = 	dllVertex2sv                 = GPA( "glVertex2sv" );
   3375 	qglVertex3d                  = 	dllVertex3d                  = GPA( "glVertex3d" );
   3376 	qglVertex3dv                 = 	dllVertex3dv                 = GPA( "glVertex3dv" );
   3377 	qglVertex3f                  = 	dllVertex3f                  = GPA( "glVertex3f" );
   3378 	qglVertex3fv                 = 	dllVertex3fv                 = GPA( "glVertex3fv" );
   3379 	qglVertex3i                  = 	dllVertex3i                  = GPA( "glVertex3i" );
   3380 	qglVertex3iv                 = 	dllVertex3iv                 = GPA( "glVertex3iv" );
   3381 	qglVertex3s                  = 	dllVertex3s                  = GPA( "glVertex3s" );
   3382 	qglVertex3sv                 = 	dllVertex3sv                 = GPA( "glVertex3sv" );
   3383 	qglVertex4d                  = 	dllVertex4d                  = GPA( "glVertex4d" );
   3384 	qglVertex4dv                 = 	dllVertex4dv                 = GPA( "glVertex4dv" );
   3385 	qglVertex4f                  = 	dllVertex4f                  = GPA( "glVertex4f" );
   3386 	qglVertex4fv                 = 	dllVertex4fv                 = GPA( "glVertex4fv" );
   3387 	qglVertex4i                  = 	dllVertex4i                  = GPA( "glVertex4i" );
   3388 	qglVertex4iv                 = 	dllVertex4iv                 = GPA( "glVertex4iv" );
   3389 	qglVertex4s                  = 	dllVertex4s                  = GPA( "glVertex4s" );
   3390 	qglVertex4sv                 = 	dllVertex4sv                 = GPA( "glVertex4sv" );
   3391 	qglVertexPointer             = 	dllVertexPointer             = GPA( "glVertexPointer" );
   3392 	qglViewport                  = 	dllViewport                  = GPA( "glViewport" );
   3393 
   3394 // bk001129 - from cvs1.17 (mkv)
   3395 #if defined(__FX__)
   3396 	qfxMesaCreateContext         =  GPA("fxMesaCreateContext");
   3397 	qfxMesaCreateBestContext     =  GPA("fxMesaCreateBestContext");
   3398 	qfxMesaDestroyContext        =  GPA("fxMesaDestroyContext");
   3399 	qfxMesaMakeCurrent           =  GPA("fxMesaMakeCurrent");
   3400 	qfxMesaGetCurrentContext     =  GPA("fxMesaGetCurrentContext");
   3401 	qfxMesaSwapBuffers           =  GPA("fxMesaSwapBuffers");
   3402 #endif
   3403 
   3404 	qglXChooseVisual             =  GPA("glXChooseVisual");
   3405 	qglXCreateContext            =  GPA("glXCreateContext");
   3406 	qglXDestroyContext           =  GPA("glXDestroyContext");
   3407 	qglXMakeCurrent              =  GPA("glXMakeCurrent");
   3408 	qglXCopyContext              =  GPA("glXCopyContext");
   3409 	qglXSwapBuffers              =  GPA("glXSwapBuffers");
   3410 
   3411 	qglLockArraysEXT = 0;
   3412 	qglUnlockArraysEXT = 0;
   3413 	qglPointParameterfEXT = 0;
   3414 	qglPointParameterfvEXT = 0;
   3415 	qglColorTableEXT = 0;
   3416 	qgl3DfxSetPaletteEXT = 0;
   3417 	qglSelectTextureSGIS = 0;
   3418 	qglMTexCoord2fSGIS = 0;
   3419 	qglActiveTextureARB = 0;
   3420 	qglClientActiveTextureARB = 0;
   3421 	qglMultiTexCoord2fARB = 0;
   3422 
   3423 	return qtrue;
   3424 }
   3425 
   3426 void QGL_EnableLogging( qboolean enable ) {
   3427   // bk001205 - fixed for new countdown
   3428   static qboolean isEnabled = qfalse; // init
   3429   
   3430   // return if we're already active
   3431   if ( isEnabled && enable ) {
   3432     // decrement log counter and stop if it has reached 0
   3433     ri.Cvar_Set( "r_logFile", va("%d", r_logFile->integer - 1 ) );
   3434     if ( r_logFile->integer ) {
   3435       return;
   3436     }
   3437     enable = qfalse;
   3438   }
   3439 
   3440   // return if we're already disabled
   3441   if ( !enable && !isEnabled )
   3442     return;
   3443 
   3444   isEnabled = enable;
   3445 
   3446   // bk001205 - old code starts here
   3447   if ( enable ) {
   3448     if ( !glw_state.log_fp ) {
   3449       struct tm *newtime;
   3450       time_t aclock;
   3451       char buffer[1024];
   3452       cvar_t	*basedir;
   3453       
   3454       time( &aclock );
   3455       newtime = localtime( &aclock );
   3456       
   3457       asctime( newtime );
   3458       
   3459       basedir = ri.Cvar_Get( "fs_basepath", "", 0 ); // FIXME: userdir?
   3460       assert(basedir);
   3461       Com_sprintf( buffer, sizeof(buffer), "%s/gl.log", basedir->string ); 
   3462       glw_state.log_fp = fopen( buffer, "wt" );
   3463       assert(glw_state.log_fp);
   3464       ri.Printf(PRINT_ALL, "QGL_EnableLogging(%d): writing %s\n", r_logFile->integer, buffer );
   3465 
   3466       fprintf( glw_state.log_fp, "%s\n", asctime( newtime ) );
   3467     }
   3468 
   3469                 qglAccum                     = logAccum;
   3470                 qglAlphaFunc                 = logAlphaFunc;
   3471                 qglAreTexturesResident       = logAreTexturesResident;
   3472 		qglArrayElement              = logArrayElement;
   3473 		qglBegin                     = logBegin;
   3474 		qglBindTexture               = logBindTexture;
   3475 		qglBitmap                    = logBitmap;
   3476 		qglBlendFunc                 = logBlendFunc;
   3477 		qglCallList                  = logCallList;
   3478 		qglCallLists                 = logCallLists;
   3479 		qglClear                     = logClear;
   3480 		qglClearAccum                = logClearAccum;
   3481 		qglClearColor                = logClearColor;
   3482 		qglClearDepth                = logClearDepth;
   3483 		qglClearIndex                = logClearIndex;
   3484 		qglClearStencil              = logClearStencil;
   3485 		qglClipPlane                 = logClipPlane;
   3486 		qglColor3b                   = logColor3b;
   3487 		qglColor3bv                  = logColor3bv;
   3488 		qglColor3d                   = logColor3d;
   3489 		qglColor3dv                  = logColor3dv;
   3490 		qglColor3f                   = logColor3f;
   3491 		qglColor3fv                  = logColor3fv;
   3492 		qglColor3i                   = logColor3i;
   3493 		qglColor3iv                  = logColor3iv;
   3494 		qglColor3s                   = logColor3s;
   3495 		qglColor3sv                  = logColor3sv;
   3496 		qglColor3ub                  = logColor3ub;
   3497 		qglColor3ubv                 = logColor3ubv;
   3498 		qglColor3ui                  = logColor3ui;
   3499 		qglColor3uiv                 = logColor3uiv;
   3500 		qglColor3us                  = logColor3us;
   3501 		qglColor3usv                 = logColor3usv;
   3502 		qglColor4b                   = logColor4b;
   3503 		qglColor4bv                  = logColor4bv;
   3504 		qglColor4d                   = logColor4d;
   3505 		qglColor4dv                  = logColor4dv;
   3506 		qglColor4f                   = logColor4f;
   3507 		qglColor4fv                  = logColor4fv;
   3508 		qglColor4i                   = logColor4i;
   3509 		qglColor4iv                  = logColor4iv;
   3510 		qglColor4s                   = logColor4s;
   3511 		qglColor4sv                  = logColor4sv;
   3512 		qglColor4ub                  = logColor4ub;
   3513 		qglColor4ubv                 = logColor4ubv;
   3514 		qglColor4ui                  = logColor4ui;
   3515 		qglColor4uiv                 = logColor4uiv;
   3516 		qglColor4us                  = logColor4us;
   3517 		qglColor4usv                 = logColor4usv;
   3518 		qglColorMask                 = logColorMask;
   3519 		qglColorMaterial             = logColorMaterial;
   3520 		qglColorPointer              = logColorPointer;
   3521 		qglCopyPixels                = logCopyPixels;
   3522 		qglCopyTexImage1D            = logCopyTexImage1D;
   3523 		qglCopyTexImage2D            = logCopyTexImage2D;
   3524 		qglCopyTexSubImage1D         = logCopyTexSubImage1D;
   3525 		qglCopyTexSubImage2D         = logCopyTexSubImage2D;
   3526 		qglCullFace                  = logCullFace;
   3527 		qglDeleteLists               = logDeleteLists ;
   3528 		qglDeleteTextures            = logDeleteTextures ;
   3529 		qglDepthFunc                 = logDepthFunc ;
   3530 		qglDepthMask                 = logDepthMask ;
   3531 		qglDepthRange                = logDepthRange ;
   3532 		qglDisable                   = logDisable ;
   3533 		qglDisableClientState        = logDisableClientState ;
   3534 		qglDrawArrays                = logDrawArrays ;
   3535 		qglDrawBuffer                = logDrawBuffer ;
   3536 		qglDrawElements              = logDrawElements ;
   3537 		qglDrawPixels                = logDrawPixels ;
   3538 		qglEdgeFlag                  = logEdgeFlag ;
   3539 		qglEdgeFlagPointer           = logEdgeFlagPointer ;
   3540 		qglEdgeFlagv                 = logEdgeFlagv ;
   3541 		qglEnable                    = 	logEnable                    ;
   3542 		qglEnableClientState         = 	logEnableClientState         ;
   3543 		qglEnd                       = 	logEnd                       ;
   3544 		qglEndList                   = 	logEndList                   ;
   3545 		qglEvalCoord1d				 = 	logEvalCoord1d				 ;
   3546 		qglEvalCoord1dv              = 	logEvalCoord1dv              ;
   3547 		qglEvalCoord1f               = 	logEvalCoord1f               ;
   3548 		qglEvalCoord1fv              = 	logEvalCoord1fv              ;
   3549 		qglEvalCoord2d               = 	logEvalCoord2d               ;
   3550 		qglEvalCoord2dv              = 	logEvalCoord2dv              ;
   3551 		qglEvalCoord2f               = 	logEvalCoord2f               ;
   3552 		qglEvalCoord2fv              = 	logEvalCoord2fv              ;
   3553 		qglEvalMesh1                 = 	logEvalMesh1                 ;
   3554 		qglEvalMesh2                 = 	logEvalMesh2                 ;
   3555 		qglEvalPoint1                = 	logEvalPoint1                ;
   3556 		qglEvalPoint2                = 	logEvalPoint2                ;
   3557 		qglFeedbackBuffer            = 	logFeedbackBuffer            ;
   3558 		qglFinish                    = 	logFinish                    ;
   3559 		qglFlush                     = 	logFlush                     ;
   3560 		qglFogf                      = 	logFogf                      ;
   3561 		qglFogfv                     = 	logFogfv                     ;
   3562 		qglFogi                      = 	logFogi                      ;
   3563 		qglFogiv                     = 	logFogiv                     ;
   3564 		qglFrontFace                 = 	logFrontFace                 ;
   3565 		qglFrustum                   = 	logFrustum                   ;
   3566 		qglGenLists                  = 	logGenLists                  ;
   3567 		qglGenTextures               = 	logGenTextures               ;
   3568 		qglGetBooleanv               = 	logGetBooleanv               ;
   3569 		qglGetClipPlane              = 	logGetClipPlane              ;
   3570 		qglGetDoublev                = 	logGetDoublev                ;
   3571 		qglGetError                  = 	logGetError                  ;
   3572 		qglGetFloatv                 = 	logGetFloatv                 ;
   3573 		qglGetIntegerv               = 	logGetIntegerv               ;
   3574 		qglGetLightfv                = 	logGetLightfv                ;
   3575 		qglGetLightiv                = 	logGetLightiv                ;
   3576 		qglGetMapdv                  = 	logGetMapdv                  ;
   3577 		qglGetMapfv                  = 	logGetMapfv                  ;
   3578 		qglGetMapiv                  = 	logGetMapiv                  ;
   3579 		qglGetMaterialfv             = 	logGetMaterialfv             ;
   3580 		qglGetMaterialiv             = 	logGetMaterialiv             ;
   3581 		qglGetPixelMapfv             = 	logGetPixelMapfv             ;
   3582 		qglGetPixelMapuiv            = 	logGetPixelMapuiv            ;
   3583 		qglGetPixelMapusv            = 	logGetPixelMapusv            ;
   3584 		qglGetPointerv               = 	logGetPointerv               ;
   3585 		qglGetPolygonStipple         = 	logGetPolygonStipple         ;
   3586 		qglGetString                 = 	logGetString                 ;
   3587 		qglGetTexEnvfv               = 	logGetTexEnvfv               ;
   3588 		qglGetTexEnviv               = 	logGetTexEnviv               ;
   3589 		qglGetTexGendv               = 	logGetTexGendv               ;
   3590 		qglGetTexGenfv               = 	logGetTexGenfv               ;
   3591 		qglGetTexGeniv               = 	logGetTexGeniv               ;
   3592 		qglGetTexImage               = 	logGetTexImage               ;
   3593 		qglGetTexLevelParameterfv    = 	logGetTexLevelParameterfv    ;
   3594 		qglGetTexLevelParameteriv    = 	logGetTexLevelParameteriv    ;
   3595 		qglGetTexParameterfv         = 	logGetTexParameterfv         ;
   3596 		qglGetTexParameteriv         = 	logGetTexParameteriv         ;
   3597 		qglHint                      = 	logHint                      ;
   3598 		qglIndexMask                 = 	logIndexMask                 ;
   3599 		qglIndexPointer              = 	logIndexPointer              ;
   3600 		qglIndexd                    = 	logIndexd                    ;
   3601 		qglIndexdv                   = 	logIndexdv                   ;
   3602 		qglIndexf                    = 	logIndexf                    ;
   3603 		qglIndexfv                   = 	logIndexfv                   ;
   3604 		qglIndexi                    = 	logIndexi                    ;
   3605 		qglIndexiv                   = 	logIndexiv                   ;
   3606 		qglIndexs                    = 	logIndexs                    ;
   3607 		qglIndexsv                   = 	logIndexsv                   ;
   3608 		qglIndexub                   = 	logIndexub                   ;
   3609 		qglIndexubv                  = 	logIndexubv                  ;
   3610 		qglInitNames                 = 	logInitNames                 ;
   3611 		qglInterleavedArrays         = 	logInterleavedArrays         ;
   3612 		qglIsEnabled                 = 	logIsEnabled                 ;
   3613 		qglIsList                    = 	logIsList                    ;
   3614 		qglIsTexture                 = 	logIsTexture                 ;
   3615 		qglLightModelf               = 	logLightModelf               ;
   3616 		qglLightModelfv              = 	logLightModelfv              ;
   3617 		qglLightModeli               = 	logLightModeli               ;
   3618 		qglLightModeliv              = 	logLightModeliv              ;
   3619 		qglLightf                    = 	logLightf                    ;
   3620 		qglLightfv                   = 	logLightfv                   ;
   3621 		qglLighti                    = 	logLighti                    ;
   3622 		qglLightiv                   = 	logLightiv                   ;
   3623 		qglLineStipple               = 	logLineStipple               ;
   3624 		qglLineWidth                 = 	logLineWidth                 ;
   3625 		qglListBase                  = 	logListBase                  ;
   3626 		qglLoadIdentity              = 	logLoadIdentity              ;
   3627 		qglLoadMatrixd               = 	logLoadMatrixd               ;
   3628 		qglLoadMatrixf               = 	logLoadMatrixf               ;
   3629 		qglLoadName                  = 	logLoadName                  ;
   3630 		qglLogicOp                   = 	logLogicOp                   ;
   3631 		qglMap1d                     = 	logMap1d                     ;
   3632 		qglMap1f                     = 	logMap1f                     ;
   3633 		qglMap2d                     = 	logMap2d                     ;
   3634 		qglMap2f                     = 	logMap2f                     ;
   3635 		qglMapGrid1d                 = 	logMapGrid1d                 ;
   3636 		qglMapGrid1f                 = 	logMapGrid1f                 ;
   3637 		qglMapGrid2d                 = 	logMapGrid2d                 ;
   3638 		qglMapGrid2f                 = 	logMapGrid2f                 ;
   3639 		qglMaterialf                 = 	logMaterialf                 ;
   3640 		qglMaterialfv                = 	logMaterialfv                ;
   3641 		qglMateriali                 = 	logMateriali                 ;
   3642 		qglMaterialiv                = 	logMaterialiv                ;
   3643 		qglMatrixMode                = 	logMatrixMode                ;
   3644 		qglMultMatrixd               = 	logMultMatrixd               ;
   3645 		qglMultMatrixf               = 	logMultMatrixf               ;
   3646 		qglNewList                   = 	logNewList                   ;
   3647 		qglNormal3b                  = 	logNormal3b                  ;
   3648 		qglNormal3bv                 = 	logNormal3bv                 ;
   3649 		qglNormal3d                  = 	logNormal3d                  ;
   3650 		qglNormal3dv                 = 	logNormal3dv                 ;
   3651 		qglNormal3f                  = 	logNormal3f                  ;
   3652 		qglNormal3fv                 = 	logNormal3fv                 ;
   3653 		qglNormal3i                  = 	logNormal3i                  ;
   3654 		qglNormal3iv                 = 	logNormal3iv                 ;
   3655 		qglNormal3s                  = 	logNormal3s                  ;
   3656 		qglNormal3sv                 = 	logNormal3sv                 ;
   3657 		qglNormalPointer             = 	logNormalPointer             ;
   3658 		qglOrtho                     = 	logOrtho                     ;
   3659 		qglPassThrough               = 	logPassThrough               ;
   3660 		qglPixelMapfv                = 	logPixelMapfv                ;
   3661 		qglPixelMapuiv               = 	logPixelMapuiv               ;
   3662 		qglPixelMapusv               = 	logPixelMapusv               ;
   3663 		qglPixelStoref               = 	logPixelStoref               ;
   3664 		qglPixelStorei               = 	logPixelStorei               ;
   3665 		qglPixelTransferf            = 	logPixelTransferf            ;
   3666 		qglPixelTransferi            = 	logPixelTransferi            ;
   3667 		qglPixelZoom                 = 	logPixelZoom                 ;
   3668 		qglPointSize                 = 	logPointSize                 ;
   3669 		qglPolygonMode               = 	logPolygonMode               ;
   3670 		qglPolygonOffset             = 	logPolygonOffset             ;
   3671 		qglPolygonStipple            = 	logPolygonStipple            ;
   3672 		qglPopAttrib                 = 	logPopAttrib                 ;
   3673 		qglPopClientAttrib           = 	logPopClientAttrib           ;
   3674 		qglPopMatrix                 = 	logPopMatrix                 ;
   3675 		qglPopName                   = 	logPopName                   ;
   3676 		qglPrioritizeTextures        = 	logPrioritizeTextures        ;
   3677 		qglPushAttrib                = 	logPushAttrib                ;
   3678 		qglPushClientAttrib          = 	logPushClientAttrib          ;
   3679 		qglPushMatrix                = 	logPushMatrix                ;
   3680 		qglPushName                  = 	logPushName                  ;
   3681 		qglRasterPos2d               = 	logRasterPos2d               ;
   3682 		qglRasterPos2dv              = 	logRasterPos2dv              ;
   3683 		qglRasterPos2f               = 	logRasterPos2f               ;
   3684 		qglRasterPos2fv              = 	logRasterPos2fv              ;
   3685 		qglRasterPos2i               = 	logRasterPos2i               ;
   3686 		qglRasterPos2iv              = 	logRasterPos2iv              ;
   3687 		qglRasterPos2s               = 	logRasterPos2s               ;
   3688 		qglRasterPos2sv              = 	logRasterPos2sv              ;
   3689 		qglRasterPos3d               = 	logRasterPos3d               ;
   3690 		qglRasterPos3dv              = 	logRasterPos3dv              ;
   3691 		qglRasterPos3f               = 	logRasterPos3f               ;
   3692 		qglRasterPos3fv              = 	logRasterPos3fv              ;
   3693 		qglRasterPos3i               = 	logRasterPos3i               ;
   3694 		qglRasterPos3iv              = 	logRasterPos3iv              ;
   3695 		qglRasterPos3s               = 	logRasterPos3s               ;
   3696 		qglRasterPos3sv              = 	logRasterPos3sv              ;
   3697 		qglRasterPos4d               = 	logRasterPos4d               ;
   3698 		qglRasterPos4dv              = 	logRasterPos4dv              ;
   3699 		qglRasterPos4f               = 	logRasterPos4f               ;
   3700 		qglRasterPos4fv              = 	logRasterPos4fv              ;
   3701 		qglRasterPos4i               = 	logRasterPos4i               ;
   3702 		qglRasterPos4iv              = 	logRasterPos4iv              ;
   3703 		qglRasterPos4s               = 	logRasterPos4s               ;
   3704 		qglRasterPos4sv              = 	logRasterPos4sv              ;
   3705 		qglReadBuffer                = 	logReadBuffer                ;
   3706 		qglReadPixels                = 	logReadPixels                ;
   3707 		qglRectd                     = 	logRectd                     ;
   3708 		qglRectdv                    = 	logRectdv                    ;
   3709 		qglRectf                     = 	logRectf                     ;
   3710 		qglRectfv                    = 	logRectfv                    ;
   3711 		qglRecti                     = 	logRecti                     ;
   3712 		qglRectiv                    = 	logRectiv                    ;
   3713 		qglRects                     = 	logRects                     ;
   3714 		qglRectsv                    = 	logRectsv                    ;
   3715 		qglRenderMode                = 	logRenderMode                ;
   3716 		qglRotated                   = 	logRotated                   ;
   3717 		qglRotatef                   = 	logRotatef                   ;
   3718 		qglScaled                    = 	logScaled                    ;
   3719 		qglScalef                    = 	logScalef                    ;
   3720 		qglScissor                   = 	logScissor                   ;
   3721 		qglSelectBuffer              = 	logSelectBuffer              ;
   3722 		qglShadeModel                = 	logShadeModel                ;
   3723 		qglStencilFunc               = 	logStencilFunc               ;
   3724 		qglStencilMask               = 	logStencilMask               ;
   3725 		qglStencilOp                 = 	logStencilOp                 ;
   3726 		qglTexCoord1d                = 	logTexCoord1d                ;
   3727 		qglTexCoord1dv               = 	logTexCoord1dv               ;
   3728 		qglTexCoord1f                = 	logTexCoord1f                ;
   3729 		qglTexCoord1fv               = 	logTexCoord1fv               ;
   3730 		qglTexCoord1i                = 	logTexCoord1i                ;
   3731 		qglTexCoord1iv               = 	logTexCoord1iv               ;
   3732 		qglTexCoord1s                = 	logTexCoord1s                ;
   3733 		qglTexCoord1sv               = 	logTexCoord1sv               ;
   3734 		qglTexCoord2d                = 	logTexCoord2d                ;
   3735 		qglTexCoord2dv               = 	logTexCoord2dv               ;
   3736 		qglTexCoord2f                = 	logTexCoord2f                ;
   3737 		qglTexCoord2fv               = 	logTexCoord2fv               ;
   3738 		qglTexCoord2i                = 	logTexCoord2i                ;
   3739 		qglTexCoord2iv               = 	logTexCoord2iv               ;
   3740 		qglTexCoord2s                = 	logTexCoord2s                ;
   3741 		qglTexCoord2sv               = 	logTexCoord2sv               ;
   3742 		qglTexCoord3d                = 	logTexCoord3d                ;
   3743 		qglTexCoord3dv               = 	logTexCoord3dv               ;
   3744 		qglTexCoord3f                = 	logTexCoord3f                ;
   3745 		qglTexCoord3fv               = 	logTexCoord3fv               ;
   3746 		qglTexCoord3i                = 	logTexCoord3i                ;
   3747 		qglTexCoord3iv               = 	logTexCoord3iv               ;
   3748 		qglTexCoord3s                = 	logTexCoord3s                ;
   3749 		qglTexCoord3sv               = 	logTexCoord3sv               ;
   3750 		qglTexCoord4d                = 	logTexCoord4d                ;
   3751 		qglTexCoord4dv               = 	logTexCoord4dv               ;
   3752 		qglTexCoord4f                = 	logTexCoord4f                ;
   3753 		qglTexCoord4fv               = 	logTexCoord4fv               ;
   3754 		qglTexCoord4i                = 	logTexCoord4i                ;
   3755 		qglTexCoord4iv               = 	logTexCoord4iv               ;
   3756 		qglTexCoord4s                = 	logTexCoord4s                ;
   3757 		qglTexCoord4sv               = 	logTexCoord4sv               ;
   3758 		qglTexCoordPointer           = 	logTexCoordPointer           ;
   3759 		qglTexEnvf                   = 	logTexEnvf                   ;
   3760 		qglTexEnvfv                  = 	logTexEnvfv                  ;
   3761 		qglTexEnvi                   = 	logTexEnvi                   ;
   3762 		qglTexEnviv                  = 	logTexEnviv                  ;
   3763 		qglTexGend                   = 	logTexGend                   ;
   3764 		qglTexGendv                  = 	logTexGendv                  ;
   3765 		qglTexGenf                   = 	logTexGenf                   ;
   3766 		qglTexGenfv                  = 	logTexGenfv                  ;
   3767 		qglTexGeni                   = 	logTexGeni                   ;
   3768 		qglTexGeniv                  = 	logTexGeniv                  ;
   3769 		qglTexImage1D                = 	logTexImage1D                ;
   3770 		qglTexImage2D                = 	logTexImage2D                ;
   3771 		qglTexParameterf             = 	logTexParameterf             ;
   3772 		qglTexParameterfv            = 	logTexParameterfv            ;
   3773 		qglTexParameteri             = 	logTexParameteri             ;
   3774 		qglTexParameteriv            = 	logTexParameteriv            ;
   3775 		qglTexSubImage1D             = 	logTexSubImage1D             ;
   3776 		qglTexSubImage2D             = 	logTexSubImage2D             ;
   3777 		qglTranslated                = 	logTranslated                ;
   3778 		qglTranslatef                = 	logTranslatef                ;
   3779 		qglVertex2d                  = 	logVertex2d                  ;
   3780 		qglVertex2dv                 = 	logVertex2dv                 ;
   3781 		qglVertex2f                  = 	logVertex2f                  ;
   3782 		qglVertex2fv                 = 	logVertex2fv                 ;
   3783 		qglVertex2i                  = 	logVertex2i                  ;
   3784 		qglVertex2iv                 = 	logVertex2iv                 ;
   3785 		qglVertex2s                  = 	logVertex2s                  ;
   3786 		qglVertex2sv                 = 	logVertex2sv                 ;
   3787 		qglVertex3d                  = 	logVertex3d                  ;
   3788 		qglVertex3dv                 = 	logVertex3dv                 ;
   3789 		qglVertex3f                  = 	logVertex3f                  ;
   3790 		qglVertex3fv                 = 	logVertex3fv                 ;
   3791 		qglVertex3i                  = 	logVertex3i                  ;
   3792 		qglVertex3iv                 = 	logVertex3iv                 ;
   3793 		qglVertex3s                  = 	logVertex3s                  ;
   3794 		qglVertex3sv                 = 	logVertex3sv                 ;
   3795 		qglVertex4d                  = 	logVertex4d                  ;
   3796 		qglVertex4dv                 = 	logVertex4dv                 ;
   3797 		qglVertex4f                  = 	logVertex4f                  ;
   3798 		qglVertex4fv                 = 	logVertex4fv                 ;
   3799 		qglVertex4i                  = 	logVertex4i                  ;
   3800 		qglVertex4iv                 = 	logVertex4iv                 ;
   3801 		qglVertex4s                  = 	logVertex4s                  ;
   3802 		qglVertex4sv                 = 	logVertex4sv                 ;
   3803 		qglVertexPointer             = 	logVertexPointer             ;
   3804 		qglViewport                  = 	logViewport                  ;
   3805 	}
   3806 	else
   3807 	{
   3808 		qglAccum                     = dllAccum;
   3809 		qglAlphaFunc                 = dllAlphaFunc;
   3810 		qglAreTexturesResident       = dllAreTexturesResident;
   3811 		qglArrayElement              = dllArrayElement;
   3812 		qglBegin                     = dllBegin;
   3813 		qglBindTexture               = dllBindTexture;
   3814 		qglBitmap                    = dllBitmap;
   3815 		qglBlendFunc                 = dllBlendFunc;
   3816 		qglCallList                  = dllCallList;
   3817 		qglCallLists                 = dllCallLists;
   3818 		qglClear                     = dllClear;
   3819 		qglClearAccum                = dllClearAccum;
   3820 		qglClearColor                = dllClearColor;
   3821 		qglClearDepth                = dllClearDepth;
   3822 		qglClearIndex                = dllClearIndex;
   3823 		qglClearStencil              = dllClearStencil;
   3824 		qglClipPlane                 = dllClipPlane;
   3825 		qglColor3b                   = dllColor3b;
   3826 		qglColor3bv                  = dllColor3bv;
   3827 		qglColor3d                   = dllColor3d;
   3828 		qglColor3dv                  = dllColor3dv;
   3829 		qglColor3f                   = dllColor3f;
   3830 		qglColor3fv                  = dllColor3fv;
   3831 		qglColor3i                   = dllColor3i;
   3832 		qglColor3iv                  = dllColor3iv;
   3833 		qglColor3s                   = dllColor3s;
   3834 		qglColor3sv                  = dllColor3sv;
   3835 		qglColor3ub                  = dllColor3ub;
   3836 		qglColor3ubv                 = dllColor3ubv;
   3837 		qglColor3ui                  = dllColor3ui;
   3838 		qglColor3uiv                 = dllColor3uiv;
   3839 		qglColor3us                  = dllColor3us;
   3840 		qglColor3usv                 = dllColor3usv;
   3841 		qglColor4b                   = dllColor4b;
   3842 		qglColor4bv                  = dllColor4bv;
   3843 		qglColor4d                   = dllColor4d;
   3844 		qglColor4dv                  = dllColor4dv;
   3845 		qglColor4f                   = dllColor4f;
   3846 		qglColor4fv                  = dllColor4fv;
   3847 		qglColor4i                   = dllColor4i;
   3848 		qglColor4iv                  = dllColor4iv;
   3849 		qglColor4s                   = dllColor4s;
   3850 		qglColor4sv                  = dllColor4sv;
   3851 		qglColor4ub                  = dllColor4ub;
   3852 		qglColor4ubv                 = dllColor4ubv;
   3853 		qglColor4ui                  = dllColor4ui;
   3854 		qglColor4uiv                 = dllColor4uiv;
   3855 		qglColor4us                  = dllColor4us;
   3856 		qglColor4usv                 = dllColor4usv;
   3857 		qglColorMask                 = dllColorMask;
   3858 		qglColorMaterial             = dllColorMaterial;
   3859 		qglColorPointer              = dllColorPointer;
   3860 		qglCopyPixels                = dllCopyPixels;
   3861 		qglCopyTexImage1D            = dllCopyTexImage1D;
   3862 		qglCopyTexImage2D            = dllCopyTexImage2D;
   3863 		qglCopyTexSubImage1D         = dllCopyTexSubImage1D;
   3864 		qglCopyTexSubImage2D         = dllCopyTexSubImage2D;
   3865 		qglCullFace                  = dllCullFace;
   3866 		qglDeleteLists               = dllDeleteLists ;
   3867 		qglDeleteTextures            = dllDeleteTextures ;
   3868 		qglDepthFunc                 = dllDepthFunc ;
   3869 		qglDepthMask                 = dllDepthMask ;
   3870 		qglDepthRange                = dllDepthRange ;
   3871 		qglDisable                   = dllDisable ;
   3872 		qglDisableClientState        = dllDisableClientState ;
   3873 		qglDrawArrays                = dllDrawArrays ;
   3874 		qglDrawBuffer                = dllDrawBuffer ;
   3875 		qglDrawElements              = dllDrawElements ;
   3876 		qglDrawPixels                = dllDrawPixels ;
   3877 		qglEdgeFlag                  = dllEdgeFlag ;
   3878 		qglEdgeFlagPointer           = dllEdgeFlagPointer ;
   3879 		qglEdgeFlagv                 = dllEdgeFlagv ;
   3880 		qglEnable                    = 	dllEnable                    ;
   3881 		qglEnableClientState         = 	dllEnableClientState         ;
   3882 		qglEnd                       = 	dllEnd                       ;
   3883 		qglEndList                   = 	dllEndList                   ;
   3884 		qglEvalCoord1d				 = 	dllEvalCoord1d				 ;
   3885 		qglEvalCoord1dv              = 	dllEvalCoord1dv              ;
   3886 		qglEvalCoord1f               = 	dllEvalCoord1f               ;
   3887 		qglEvalCoord1fv              = 	dllEvalCoord1fv              ;
   3888 		qglEvalCoord2d               = 	dllEvalCoord2d               ;
   3889 		qglEvalCoord2dv              = 	dllEvalCoord2dv              ;
   3890 		qglEvalCoord2f               = 	dllEvalCoord2f               ;
   3891 		qglEvalCoord2fv              = 	dllEvalCoord2fv              ;
   3892 		qglEvalMesh1                 = 	dllEvalMesh1                 ;
   3893 		qglEvalMesh2                 = 	dllEvalMesh2                 ;
   3894 		qglEvalPoint1                = 	dllEvalPoint1                ;
   3895 		qglEvalPoint2                = 	dllEvalPoint2                ;
   3896 		qglFeedbackBuffer            = 	dllFeedbackBuffer            ;
   3897 		qglFinish                    = 	dllFinish                    ;
   3898 		qglFlush                     = 	dllFlush                     ;
   3899 		qglFogf                      = 	dllFogf                      ;
   3900 		qglFogfv                     = 	dllFogfv                     ;
   3901 		qglFogi                      = 	dllFogi                      ;
   3902 		qglFogiv                     = 	dllFogiv                     ;
   3903 		qglFrontFace                 = 	dllFrontFace                 ;
   3904 		qglFrustum                   = 	dllFrustum                   ;
   3905 		qglGenLists                  = 	dllGenLists                  ;
   3906 		qglGenTextures               = 	dllGenTextures               ;
   3907 		qglGetBooleanv               = 	dllGetBooleanv               ;
   3908 		qglGetClipPlane              = 	dllGetClipPlane              ;
   3909 		qglGetDoublev                = 	dllGetDoublev                ;
   3910 		qglGetError                  = 	dllGetError                  ;
   3911 		qglGetFloatv                 = 	dllGetFloatv                 ;
   3912 		qglGetIntegerv               = 	dllGetIntegerv               ;
   3913 		qglGetLightfv                = 	dllGetLightfv                ;
   3914 		qglGetLightiv                = 	dllGetLightiv                ;
   3915 		qglGetMapdv                  = 	dllGetMapdv                  ;
   3916 		qglGetMapfv                  = 	dllGetMapfv                  ;
   3917 		qglGetMapiv                  = 	dllGetMapiv                  ;
   3918 		qglGetMaterialfv             = 	dllGetMaterialfv             ;
   3919 		qglGetMaterialiv             = 	dllGetMaterialiv             ;
   3920 		qglGetPixelMapfv             = 	dllGetPixelMapfv             ;
   3921 		qglGetPixelMapuiv            = 	dllGetPixelMapuiv            ;
   3922 		qglGetPixelMapusv            = 	dllGetPixelMapusv            ;
   3923 		qglGetPointerv               = 	dllGetPointerv               ;
   3924 		qglGetPolygonStipple         = 	dllGetPolygonStipple         ;
   3925 		qglGetString                 = 	dllGetString                 ;
   3926 		qglGetTexEnvfv               = 	dllGetTexEnvfv               ;
   3927 		qglGetTexEnviv               = 	dllGetTexEnviv               ;
   3928 		qglGetTexGendv               = 	dllGetTexGendv               ;
   3929 		qglGetTexGenfv               = 	dllGetTexGenfv               ;
   3930 		qglGetTexGeniv               = 	dllGetTexGeniv               ;
   3931 		qglGetTexImage               = 	dllGetTexImage               ;
   3932 		qglGetTexLevelParameterfv    = 	dllGetTexLevelParameterfv    ;
   3933 		qglGetTexLevelParameteriv    = 	dllGetTexLevelParameteriv    ;
   3934 		qglGetTexParameterfv         = 	dllGetTexParameterfv         ;
   3935 		qglGetTexParameteriv         = 	dllGetTexParameteriv         ;
   3936 		qglHint                      = 	dllHint                      ;
   3937 		qglIndexMask                 = 	dllIndexMask                 ;
   3938 		qglIndexPointer              = 	dllIndexPointer              ;
   3939 		qglIndexd                    = 	dllIndexd                    ;
   3940 		qglIndexdv                   = 	dllIndexdv                   ;
   3941 		qglIndexf                    = 	dllIndexf                    ;
   3942 		qglIndexfv                   = 	dllIndexfv                   ;
   3943 		qglIndexi                    = 	dllIndexi                    ;
   3944 		qglIndexiv                   = 	dllIndexiv                   ;
   3945 		qglIndexs                    = 	dllIndexs                    ;
   3946 		qglIndexsv                   = 	dllIndexsv                   ;
   3947 		qglIndexub                   = 	dllIndexub                   ;
   3948 		qglIndexubv                  = 	dllIndexubv                  ;
   3949 		qglInitNames                 = 	dllInitNames                 ;
   3950 		qglInterleavedArrays         = 	dllInterleavedArrays         ;
   3951 		qglIsEnabled                 = 	dllIsEnabled                 ;
   3952 		qglIsList                    = 	dllIsList                    ;
   3953 		qglIsTexture                 = 	dllIsTexture                 ;
   3954 		qglLightModelf               = 	dllLightModelf               ;
   3955 		qglLightModelfv              = 	dllLightModelfv              ;
   3956 		qglLightModeli               = 	dllLightModeli               ;
   3957 		qglLightModeliv              = 	dllLightModeliv              ;
   3958 		qglLightf                    = 	dllLightf                    ;
   3959 		qglLightfv                   = 	dllLightfv                   ;
   3960 		qglLighti                    = 	dllLighti                    ;
   3961 		qglLightiv                   = 	dllLightiv                   ;
   3962 		qglLineStipple               = 	dllLineStipple               ;
   3963 		qglLineWidth                 = 	dllLineWidth                 ;
   3964 		qglListBase                  = 	dllListBase                  ;
   3965 		qglLoadIdentity              = 	dllLoadIdentity              ;
   3966 		qglLoadMatrixd               = 	dllLoadMatrixd               ;
   3967 		qglLoadMatrixf               = 	dllLoadMatrixf               ;
   3968 		qglLoadName                  = 	dllLoadName                  ;
   3969 		qglLogicOp                   = 	dllLogicOp                   ;
   3970 		qglMap1d                     = 	dllMap1d                     ;
   3971 		qglMap1f                     = 	dllMap1f                     ;
   3972 		qglMap2d                     = 	dllMap2d                     ;
   3973 		qglMap2f                     = 	dllMap2f                     ;
   3974 		qglMapGrid1d                 = 	dllMapGrid1d                 ;
   3975 		qglMapGrid1f                 = 	dllMapGrid1f                 ;
   3976 		qglMapGrid2d                 = 	dllMapGrid2d                 ;
   3977 		qglMapGrid2f                 = 	dllMapGrid2f                 ;
   3978 		qglMaterialf                 = 	dllMaterialf                 ;
   3979 		qglMaterialfv                = 	dllMaterialfv                ;
   3980 		qglMateriali                 = 	dllMateriali                 ;
   3981 		qglMaterialiv                = 	dllMaterialiv                ;
   3982 		qglMatrixMode                = 	dllMatrixMode                ;
   3983 		qglMultMatrixd               = 	dllMultMatrixd               ;
   3984 		qglMultMatrixf               = 	dllMultMatrixf               ;
   3985 		qglNewList                   = 	dllNewList                   ;
   3986 		qglNormal3b                  = 	dllNormal3b                  ;
   3987 		qglNormal3bv                 = 	dllNormal3bv                 ;
   3988 		qglNormal3d                  = 	dllNormal3d                  ;
   3989 		qglNormal3dv                 = 	dllNormal3dv                 ;
   3990 		qglNormal3f                  = 	dllNormal3f                  ;
   3991 		qglNormal3fv                 = 	dllNormal3fv                 ;
   3992 		qglNormal3i                  = 	dllNormal3i                  ;
   3993 		qglNormal3iv                 = 	dllNormal3iv                 ;
   3994 		qglNormal3s                  = 	dllNormal3s                  ;
   3995 		qglNormal3sv                 = 	dllNormal3sv                 ;
   3996 		qglNormalPointer             = 	dllNormalPointer             ;
   3997 		qglOrtho                     = 	dllOrtho                     ;
   3998 		qglPassThrough               = 	dllPassThrough               ;
   3999 		qglPixelMapfv                = 	dllPixelMapfv                ;
   4000 		qglPixelMapuiv               = 	dllPixelMapuiv               ;
   4001 		qglPixelMapusv               = 	dllPixelMapusv               ;
   4002 		qglPixelStoref               = 	dllPixelStoref               ;
   4003 		qglPixelStorei               = 	dllPixelStorei               ;
   4004 		qglPixelTransferf            = 	dllPixelTransferf            ;
   4005 		qglPixelTransferi            = 	dllPixelTransferi            ;
   4006 		qglPixelZoom                 = 	dllPixelZoom                 ;
   4007 		qglPointSize                 = 	dllPointSize                 ;
   4008 		qglPolygonMode               = 	dllPolygonMode               ;
   4009 		qglPolygonOffset             = 	dllPolygonOffset             ;
   4010 		qglPolygonStipple            = 	dllPolygonStipple            ;
   4011 		qglPopAttrib                 = 	dllPopAttrib                 ;
   4012 		qglPopClientAttrib           = 	dllPopClientAttrib           ;
   4013 		qglPopMatrix                 = 	dllPopMatrix                 ;
   4014 		qglPopName                   = 	dllPopName                   ;
   4015 		qglPrioritizeTextures        = 	dllPrioritizeTextures        ;
   4016 		qglPushAttrib                = 	dllPushAttrib                ;
   4017 		qglPushClientAttrib          = 	dllPushClientAttrib          ;
   4018 		qglPushMatrix                = 	dllPushMatrix                ;
   4019 		qglPushName                  = 	dllPushName                  ;
   4020 		qglRasterPos2d               = 	dllRasterPos2d               ;
   4021 		qglRasterPos2dv              = 	dllRasterPos2dv              ;
   4022 		qglRasterPos2f               = 	dllRasterPos2f               ;
   4023 		qglRasterPos2fv              = 	dllRasterPos2fv              ;
   4024 		qglRasterPos2i               = 	dllRasterPos2i               ;
   4025 		qglRasterPos2iv              = 	dllRasterPos2iv              ;
   4026 		qglRasterPos2s               = 	dllRasterPos2s               ;
   4027 		qglRasterPos2sv              = 	dllRasterPos2sv              ;
   4028 		qglRasterPos3d               = 	dllRasterPos3d               ;
   4029 		qglRasterPos3dv              = 	dllRasterPos3dv              ;
   4030 		qglRasterPos3f               = 	dllRasterPos3f               ;
   4031 		qglRasterPos3fv              = 	dllRasterPos3fv              ;
   4032 		qglRasterPos3i               = 	dllRasterPos3i               ;
   4033 		qglRasterPos3iv              = 	dllRasterPos3iv              ;
   4034 		qglRasterPos3s               = 	dllRasterPos3s               ;
   4035 		qglRasterPos3sv              = 	dllRasterPos3sv              ;
   4036 		qglRasterPos4d               = 	dllRasterPos4d               ;
   4037 		qglRasterPos4dv              = 	dllRasterPos4dv              ;
   4038 		qglRasterPos4f               = 	dllRasterPos4f               ;
   4039 		qglRasterPos4fv              = 	dllRasterPos4fv              ;
   4040 		qglRasterPos4i               = 	dllRasterPos4i               ;
   4041 		qglRasterPos4iv              = 	dllRasterPos4iv              ;
   4042 		qglRasterPos4s               = 	dllRasterPos4s               ;
   4043 		qglRasterPos4sv              = 	dllRasterPos4sv              ;
   4044 		qglReadBuffer                = 	dllReadBuffer                ;
   4045 		qglReadPixels                = 	dllReadPixels                ;
   4046 		qglRectd                     = 	dllRectd                     ;
   4047 		qglRectdv                    = 	dllRectdv                    ;
   4048 		qglRectf                     = 	dllRectf                     ;
   4049 		qglRectfv                    = 	dllRectfv                    ;
   4050 		qglRecti                     = 	dllRecti                     ;
   4051 		qglRectiv                    = 	dllRectiv                    ;
   4052 		qglRects                     = 	dllRects                     ;
   4053 		qglRectsv                    = 	dllRectsv                    ;
   4054 		qglRenderMode                = 	dllRenderMode                ;
   4055 		qglRotated                   = 	dllRotated                   ;
   4056 		qglRotatef                   = 	dllRotatef                   ;
   4057 		qglScaled                    = 	dllScaled                    ;
   4058 		qglScalef                    = 	dllScalef                    ;
   4059 		qglScissor                   = 	dllScissor                   ;
   4060 		qglSelectBuffer              = 	dllSelectBuffer              ;
   4061 		qglShadeModel                = 	dllShadeModel                ;
   4062 		qglStencilFunc               = 	dllStencilFunc               ;
   4063 		qglStencilMask               = 	dllStencilMask               ;
   4064 		qglStencilOp                 = 	dllStencilOp                 ;
   4065 		qglTexCoord1d                = 	dllTexCoord1d                ;
   4066 		qglTexCoord1dv               = 	dllTexCoord1dv               ;
   4067 		qglTexCoord1f                = 	dllTexCoord1f                ;
   4068 		qglTexCoord1fv               = 	dllTexCoord1fv               ;
   4069 		qglTexCoord1i                = 	dllTexCoord1i                ;
   4070 		qglTexCoord1iv               = 	dllTexCoord1iv               ;
   4071 		qglTexCoord1s                = 	dllTexCoord1s                ;
   4072 		qglTexCoord1sv               = 	dllTexCoord1sv               ;
   4073 		qglTexCoord2d                = 	dllTexCoord2d                ;
   4074 		qglTexCoord2dv               = 	dllTexCoord2dv               ;
   4075 		qglTexCoord2f                = 	dllTexCoord2f                ;
   4076 		qglTexCoord2fv               = 	dllTexCoord2fv               ;
   4077 		qglTexCoord2i                = 	dllTexCoord2i                ;
   4078 		qglTexCoord2iv               = 	dllTexCoord2iv               ;
   4079 		qglTexCoord2s                = 	dllTexCoord2s                ;
   4080 		qglTexCoord2sv               = 	dllTexCoord2sv               ;
   4081 		qglTexCoord3d                = 	dllTexCoord3d                ;
   4082 		qglTexCoord3dv               = 	dllTexCoord3dv               ;
   4083 		qglTexCoord3f                = 	dllTexCoord3f                ;
   4084 		qglTexCoord3fv               = 	dllTexCoord3fv               ;
   4085 		qglTexCoord3i                = 	dllTexCoord3i                ;
   4086 		qglTexCoord3iv               = 	dllTexCoord3iv               ;
   4087 		qglTexCoord3s                = 	dllTexCoord3s                ;
   4088 		qglTexCoord3sv               = 	dllTexCoord3sv               ;
   4089 		qglTexCoord4d                = 	dllTexCoord4d                ;
   4090 		qglTexCoord4dv               = 	dllTexCoord4dv               ;
   4091 		qglTexCoord4f                = 	dllTexCoord4f                ;
   4092 		qglTexCoord4fv               = 	dllTexCoord4fv               ;
   4093 		qglTexCoord4i                = 	dllTexCoord4i                ;
   4094 		qglTexCoord4iv               = 	dllTexCoord4iv               ;
   4095 		qglTexCoord4s                = 	dllTexCoord4s                ;
   4096 		qglTexCoord4sv               = 	dllTexCoord4sv               ;
   4097 		qglTexCoordPointer           = 	dllTexCoordPointer           ;
   4098 		qglTexEnvf                   = 	dllTexEnvf                   ;
   4099 		qglTexEnvfv                  = 	dllTexEnvfv                  ;
   4100 		qglTexEnvi                   = 	dllTexEnvi                   ;
   4101 		qglTexEnviv                  = 	dllTexEnviv                  ;
   4102 		qglTexGend                   = 	dllTexGend                   ;
   4103 		qglTexGendv                  = 	dllTexGendv                  ;
   4104 		qglTexGenf                   = 	dllTexGenf                   ;
   4105 		qglTexGenfv                  = 	dllTexGenfv                  ;
   4106 		qglTexGeni                   = 	dllTexGeni                   ;
   4107 		qglTexGeniv                  = 	dllTexGeniv                  ;
   4108 		qglTexImage1D                = 	dllTexImage1D                ;
   4109 		qglTexImage2D                = 	dllTexImage2D                ;
   4110 		qglTexParameterf             = 	dllTexParameterf             ;
   4111 		qglTexParameterfv            = 	dllTexParameterfv            ;
   4112 		qglTexParameteri             = 	dllTexParameteri             ;
   4113 		qglTexParameteriv            = 	dllTexParameteriv            ;
   4114 		qglTexSubImage1D             = 	dllTexSubImage1D             ;
   4115 		qglTexSubImage2D             = 	dllTexSubImage2D             ;
   4116 		qglTranslated                = 	dllTranslated                ;
   4117 		qglTranslatef                = 	dllTranslatef                ;
   4118 		qglVertex2d                  = 	dllVertex2d                  ;
   4119 		qglVertex2dv                 = 	dllVertex2dv                 ;
   4120 		qglVertex2f                  = 	dllVertex2f                  ;
   4121 		qglVertex2fv                 = 	dllVertex2fv                 ;
   4122 		qglVertex2i                  = 	dllVertex2i                  ;
   4123 		qglVertex2iv                 = 	dllVertex2iv                 ;
   4124 		qglVertex2s                  = 	dllVertex2s                  ;
   4125 		qglVertex2sv                 = 	dllVertex2sv                 ;
   4126 		qglVertex3d                  = 	dllVertex3d                  ;
   4127 		qglVertex3dv                 = 	dllVertex3dv                 ;
   4128 		qglVertex3f                  = 	dllVertex3f                  ;
   4129 		qglVertex3fv                 = 	dllVertex3fv                 ;
   4130 		qglVertex3i                  = 	dllVertex3i                  ;
   4131 		qglVertex3iv                 = 	dllVertex3iv                 ;
   4132 		qglVertex3s                  = 	dllVertex3s                  ;
   4133 		qglVertex3sv                 = 	dllVertex3sv                 ;
   4134 		qglVertex4d                  = 	dllVertex4d                  ;
   4135 		qglVertex4dv                 = 	dllVertex4dv                 ;
   4136 		qglVertex4f                  = 	dllVertex4f                  ;
   4137 		qglVertex4fv                 = 	dllVertex4fv                 ;
   4138 		qglVertex4i                  = 	dllVertex4i                  ;
   4139 		qglVertex4iv                 = 	dllVertex4iv                 ;
   4140 		qglVertex4s                  = 	dllVertex4s                  ;
   4141 		qglVertex4sv                 = 	dllVertex4sv                 ;
   4142 		qglVertexPointer             = 	dllVertexPointer             ;
   4143 		qglViewport                  = 	dllViewport                  ;
   4144 	}
   4145 }
   4146 
   4147 
   4148 void GLimp_LogNewFrame( void )
   4149 {
   4150 	fprintf( glw_state.log_fp, "*** R_BeginFrame ***\n" );
   4151 }
   4152 
   4153