/* NOTE: Do not edit this file, it is generated by a script:
   ExportTrace.py --api gl 3.0 --prefix traceGL -t traverseTraceGL --library GL -o traceGL.c -e GLAPIENTRY
*/

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <stddef.h>
#include <assert.h>
#include "trace.h"

#ifdef _WIN32
# define DLLEXPORT __declspec(dllexport)
#elif defined(__GNUC__) && __GNUC__>=4
# define DLLEXPORT __attribute__ ((visibility("default")))
#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
# define DLLEXPORT __global
#else
# define DLLEXPORT
#endif

/* Define GL calling convention. */

#if defined(__MINGW32__) || defined(__CYGWIN32__) || defined(__CYGWIN__) || defined(_MSC_VER)
# define GLAPIENTRY __stdcall
#else
# define GLAPIENTRY
#endif

/* Undefine DLLEXPORT for Windows. Use module definition file instead. */

#if defined(_WIN32)
# undef  DLLEXPORT
# define DLLEXPORT
#endif

#if !defined(_MSC_VER)
#include <stdint.h>
#endif

typedef unsigned int GLenum;
typedef unsigned int GLbitfield;
typedef unsigned int GLuint;
typedef int GLint;
typedef int GLsizei;
typedef unsigned char GLboolean;
typedef signed char GLbyte;
typedef short GLshort;
typedef unsigned char GLubyte;
typedef unsigned short GLushort;
typedef unsigned long GLulong;
typedef float GLfloat;
typedef float GLclampf;
typedef double GLdouble;
typedef double GLclampd;
typedef void GLvoid;
#if defined(_MSC_VER)
#  if _MSC_VER < 1400
typedef __int64 GLint64EXT;
typedef unsigned __int64 GLuint64EXT;
#  else
typedef signed long long GLint64EXT;
typedef unsigned long long GLuint64EXT;
#  endif
#else
#  if defined(__MINGW32__) || defined(__CYGWIN__)
#include <inttypes.h>
#  endif
typedef int64_t GLint64EXT;
typedef uint64_t GLuint64EXT;
#endif
typedef GLint64EXT  GLint64;
typedef GLuint64EXT GLuint64;
typedef struct __GLsync *GLsync;

typedef ptrdiff_t GLsizeiptr;
typedef ptrdiff_t GLintptr;

typedef char GLchar;

typedef GLsizeiptr GLsizeiptrARB;
typedef GLintptr   GLintptrARB;

typedef char GLcharARB;
typedef unsigned int GLhandleARB;

typedef unsigned short GLhalf;
typedef GLhalf GLhalfNV;

typedef void (GLAPIENTRY *GLDEBUGPROCARB)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *, GLvoid *);

typedef GLintptr GLvdpauSurfaceNV;

/* Define GL constants. */

#define GL_FALSE 0
#define GL_NO_ERROR 0
#define GL_VERSION 0x1F02
#define GL_MAJOR_VERSION 0x821B
#define GL_MINOR_VERSION 0x821C

/* Declare GL API functions. */

DLLEXPORT void GLAPIENTRY glNewList(GLuint, GLenum);
DLLEXPORT void GLAPIENTRY glEndList(void);
DLLEXPORT void GLAPIENTRY glCallList(GLuint);
DLLEXPORT void GLAPIENTRY glCallLists(GLsizei, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glDeleteLists(GLuint, GLsizei);
DLLEXPORT GLuint GLAPIENTRY glGenLists(GLsizei);
DLLEXPORT void GLAPIENTRY glListBase(GLuint);
DLLEXPORT void GLAPIENTRY glBegin(GLenum);
DLLEXPORT void GLAPIENTRY glBitmap(GLsizei, GLsizei, GLfloat, GLfloat, GLfloat, GLfloat, const GLubyte *);
DLLEXPORT void GLAPIENTRY glColor3b(GLbyte, GLbyte, GLbyte);
DLLEXPORT void GLAPIENTRY glColor3bv(const GLbyte *);
DLLEXPORT void GLAPIENTRY glColor3d(GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glColor3dv(const GLdouble *);
DLLEXPORT void GLAPIENTRY glColor3f(GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glColor3fv(const GLfloat *);
DLLEXPORT void GLAPIENTRY glColor3i(GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glColor3iv(const GLint *);
DLLEXPORT void GLAPIENTRY glColor3s(GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glColor3sv(const GLshort *);
DLLEXPORT void GLAPIENTRY glColor3ub(GLubyte, GLubyte, GLubyte);
DLLEXPORT void GLAPIENTRY glColor3ubv(const GLubyte *);
DLLEXPORT void GLAPIENTRY glColor3ui(GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glColor3uiv(const GLuint *);
DLLEXPORT void GLAPIENTRY glColor3us(GLushort, GLushort, GLushort);
DLLEXPORT void GLAPIENTRY glColor3usv(const GLushort *);
DLLEXPORT void GLAPIENTRY glColor4b(GLbyte, GLbyte, GLbyte, GLbyte);
DLLEXPORT void GLAPIENTRY glColor4bv(const GLbyte *);
DLLEXPORT void GLAPIENTRY glColor4d(GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glColor4dv(const GLdouble *);
DLLEXPORT void GLAPIENTRY glColor4f(GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glColor4fv(const GLfloat *);
DLLEXPORT void GLAPIENTRY glColor4i(GLint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glColor4iv(const GLint *);
DLLEXPORT void GLAPIENTRY glColor4s(GLshort, GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glColor4sv(const GLshort *);
DLLEXPORT void GLAPIENTRY glColor4ub(GLubyte, GLubyte, GLubyte, GLubyte);
DLLEXPORT void GLAPIENTRY glColor4ubv(const GLubyte *);
DLLEXPORT void GLAPIENTRY glColor4ui(GLuint, GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glColor4uiv(const GLuint *);
DLLEXPORT void GLAPIENTRY glColor4us(GLushort, GLushort, GLushort, GLushort);
DLLEXPORT void GLAPIENTRY glColor4usv(const GLushort *);
DLLEXPORT void GLAPIENTRY glEdgeFlag(GLboolean);
DLLEXPORT void GLAPIENTRY glEdgeFlagv(const GLboolean *);
DLLEXPORT void GLAPIENTRY glEnd(void);
DLLEXPORT void GLAPIENTRY glIndexd(GLdouble);
DLLEXPORT void GLAPIENTRY glIndexdv(const GLdouble *);
DLLEXPORT void GLAPIENTRY glIndexf(GLfloat);
DLLEXPORT void GLAPIENTRY glIndexfv(const GLfloat *);
DLLEXPORT void GLAPIENTRY glIndexi(GLint);
DLLEXPORT void GLAPIENTRY glIndexiv(const GLint *);
DLLEXPORT void GLAPIENTRY glIndexs(GLshort);
DLLEXPORT void GLAPIENTRY glIndexsv(const GLshort *);
DLLEXPORT void GLAPIENTRY glNormal3b(GLbyte, GLbyte, GLbyte);
DLLEXPORT void GLAPIENTRY glNormal3bv(const GLbyte *);
DLLEXPORT void GLAPIENTRY glNormal3d(GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glNormal3dv(const GLdouble *);
DLLEXPORT void GLAPIENTRY glNormal3f(GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glNormal3fv(const GLfloat *);
DLLEXPORT void GLAPIENTRY glNormal3i(GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glNormal3iv(const GLint *);
DLLEXPORT void GLAPIENTRY glNormal3s(GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glNormal3sv(const GLshort *);
DLLEXPORT void GLAPIENTRY glRasterPos2d(GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glRasterPos2dv(const GLdouble *);
DLLEXPORT void GLAPIENTRY glRasterPos2f(GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glRasterPos2fv(const GLfloat *);
DLLEXPORT void GLAPIENTRY glRasterPos2i(GLint, GLint);
DLLEXPORT void GLAPIENTRY glRasterPos2iv(const GLint *);
DLLEXPORT void GLAPIENTRY glRasterPos2s(GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glRasterPos2sv(const GLshort *);
DLLEXPORT void GLAPIENTRY glRasterPos3d(GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glRasterPos3dv(const GLdouble *);
DLLEXPORT void GLAPIENTRY glRasterPos3f(GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glRasterPos3fv(const GLfloat *);
DLLEXPORT void GLAPIENTRY glRasterPos3i(GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glRasterPos3iv(const GLint *);
DLLEXPORT void GLAPIENTRY glRasterPos3s(GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glRasterPos3sv(const GLshort *);
DLLEXPORT void GLAPIENTRY glRasterPos4d(GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glRasterPos4dv(const GLdouble *);
DLLEXPORT void GLAPIENTRY glRasterPos4f(GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glRasterPos4fv(const GLfloat *);
DLLEXPORT void GLAPIENTRY glRasterPos4i(GLint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glRasterPos4iv(const GLint *);
DLLEXPORT void GLAPIENTRY glRasterPos4s(GLshort, GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glRasterPos4sv(const GLshort *);
DLLEXPORT void GLAPIENTRY glRectd(GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glRectdv(const GLdouble *, const GLdouble *);
DLLEXPORT void GLAPIENTRY glRectf(GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glRectfv(const GLfloat *, const GLfloat *);
DLLEXPORT void GLAPIENTRY glRecti(GLint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glRectiv(const GLint *, const GLint *);
DLLEXPORT void GLAPIENTRY glRects(GLshort, GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glRectsv(const GLshort *, const GLshort *);
DLLEXPORT void GLAPIENTRY glTexCoord1d(GLdouble);
DLLEXPORT void GLAPIENTRY glTexCoord1dv(const GLdouble *);
DLLEXPORT void GLAPIENTRY glTexCoord1f(GLfloat);
DLLEXPORT void GLAPIENTRY glTexCoord1fv(const GLfloat *);
DLLEXPORT void GLAPIENTRY glTexCoord1i(GLint);
DLLEXPORT void GLAPIENTRY glTexCoord1iv(const GLint *);
DLLEXPORT void GLAPIENTRY glTexCoord1s(GLshort);
DLLEXPORT void GLAPIENTRY glTexCoord1sv(const GLshort *);
DLLEXPORT void GLAPIENTRY glTexCoord2d(GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glTexCoord2dv(const GLdouble *);
DLLEXPORT void GLAPIENTRY glTexCoord2f(GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glTexCoord2fv(const GLfloat *);
DLLEXPORT void GLAPIENTRY glTexCoord2i(GLint, GLint);
DLLEXPORT void GLAPIENTRY glTexCoord2iv(const GLint *);
DLLEXPORT void GLAPIENTRY glTexCoord2s(GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glTexCoord2sv(const GLshort *);
DLLEXPORT void GLAPIENTRY glTexCoord3d(GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glTexCoord3dv(const GLdouble *);
DLLEXPORT void GLAPIENTRY glTexCoord3f(GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glTexCoord3fv(const GLfloat *);
DLLEXPORT void GLAPIENTRY glTexCoord3i(GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glTexCoord3iv(const GLint *);
DLLEXPORT void GLAPIENTRY glTexCoord3s(GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glTexCoord3sv(const GLshort *);
DLLEXPORT void GLAPIENTRY glTexCoord4d(GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glTexCoord4dv(const GLdouble *);
DLLEXPORT void GLAPIENTRY glTexCoord4f(GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glTexCoord4fv(const GLfloat *);
DLLEXPORT void GLAPIENTRY glTexCoord4i(GLint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glTexCoord4iv(const GLint *);
DLLEXPORT void GLAPIENTRY glTexCoord4s(GLshort, GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glTexCoord4sv(const GLshort *);
DLLEXPORT void GLAPIENTRY glVertex2d(GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glVertex2dv(const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertex2f(GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glVertex2fv(const GLfloat *);
DLLEXPORT void GLAPIENTRY glVertex2i(GLint, GLint);
DLLEXPORT void GLAPIENTRY glVertex2iv(const GLint *);
DLLEXPORT void GLAPIENTRY glVertex2s(GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glVertex2sv(const GLshort *);
DLLEXPORT void GLAPIENTRY glVertex3d(GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glVertex3dv(const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertex3f(GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glVertex3fv(const GLfloat *);
DLLEXPORT void GLAPIENTRY glVertex3i(GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glVertex3iv(const GLint *);
DLLEXPORT void GLAPIENTRY glVertex3s(GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glVertex3sv(const GLshort *);
DLLEXPORT void GLAPIENTRY glVertex4d(GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glVertex4dv(const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertex4f(GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glVertex4fv(const GLfloat *);
DLLEXPORT void GLAPIENTRY glVertex4i(GLint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glVertex4iv(const GLint *);
DLLEXPORT void GLAPIENTRY glVertex4s(GLshort, GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glVertex4sv(const GLshort *);
DLLEXPORT void GLAPIENTRY glClipPlane(GLenum, const GLdouble *);
DLLEXPORT void GLAPIENTRY glColorMaterial(GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glCullFace(GLenum);
DLLEXPORT void GLAPIENTRY glFogf(GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glFogfv(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glFogi(GLenum, GLint);
DLLEXPORT void GLAPIENTRY glFogiv(GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glFrontFace(GLenum);
DLLEXPORT void GLAPIENTRY glHint(GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glLightf(GLenum, GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glLightfv(GLenum, GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glLighti(GLenum, GLenum, GLint);
DLLEXPORT void GLAPIENTRY glLightiv(GLenum, GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glLightModelf(GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glLightModelfv(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glLightModeli(GLenum, GLint);
DLLEXPORT void GLAPIENTRY glLightModeliv(GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glLineStipple(GLint, GLushort);
DLLEXPORT void GLAPIENTRY glLineWidth(GLfloat);
DLLEXPORT void GLAPIENTRY glMaterialf(GLenum, GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glMaterialfv(GLenum, GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glMateriali(GLenum, GLenum, GLint);
DLLEXPORT void GLAPIENTRY glMaterialiv(GLenum, GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glPointSize(GLfloat);
DLLEXPORT void GLAPIENTRY glPolygonMode(GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glPolygonStipple(const GLubyte *);
DLLEXPORT void GLAPIENTRY glScissor(GLint, GLint, GLsizei, GLsizei);
DLLEXPORT void GLAPIENTRY glShadeModel(GLenum);
DLLEXPORT void GLAPIENTRY glTexParameterf(GLenum, GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glTexParameterfv(GLenum, GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glTexParameteri(GLenum, GLenum, GLint);
DLLEXPORT void GLAPIENTRY glTexParameteriv(GLenum, GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glTexImage1D(GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glTexImage2D(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glTexEnvf(GLenum, GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glTexEnvfv(GLenum, GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glTexEnvi(GLenum, GLenum, GLint);
DLLEXPORT void GLAPIENTRY glTexEnviv(GLenum, GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glTexGend(GLenum, GLenum, GLdouble);
DLLEXPORT void GLAPIENTRY glTexGendv(GLenum, GLenum, const GLdouble *);
DLLEXPORT void GLAPIENTRY glTexGenf(GLenum, GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glTexGenfv(GLenum, GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glTexGeni(GLenum, GLenum, GLint);
DLLEXPORT void GLAPIENTRY glTexGeniv(GLenum, GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glFeedbackBuffer(GLsizei, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glSelectBuffer(GLsizei, GLuint *);
DLLEXPORT GLint GLAPIENTRY glRenderMode(GLenum);
DLLEXPORT void GLAPIENTRY glInitNames(void);
DLLEXPORT void GLAPIENTRY glLoadName(GLuint);
DLLEXPORT void GLAPIENTRY glPassThrough(GLfloat);
DLLEXPORT void GLAPIENTRY glPopName(void);
DLLEXPORT void GLAPIENTRY glPushName(GLuint);
DLLEXPORT void GLAPIENTRY glDrawBuffer(GLenum);
DLLEXPORT void GLAPIENTRY glClear(GLbitfield);
DLLEXPORT void GLAPIENTRY glClearAccum(GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glClearColor(GLclampf, GLclampf, GLclampf, GLclampf);
DLLEXPORT void GLAPIENTRY glClearDepth(GLclampd);
DLLEXPORT void GLAPIENTRY glClearIndex(GLfloat);
DLLEXPORT void GLAPIENTRY glClearStencil(GLint);
DLLEXPORT void GLAPIENTRY glColorMask(GLboolean, GLboolean, GLboolean, GLboolean);
DLLEXPORT void GLAPIENTRY glDepthMask(GLboolean);
DLLEXPORT void GLAPIENTRY glIndexMask(GLuint);
DLLEXPORT void GLAPIENTRY glStencilMask(GLuint);
DLLEXPORT void GLAPIENTRY glAccum(GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glDisable(GLenum);
DLLEXPORT void GLAPIENTRY glEnable(GLenum);
DLLEXPORT void GLAPIENTRY glFinish(void);
DLLEXPORT void GLAPIENTRY glFlush(void);
DLLEXPORT void GLAPIENTRY glPopAttrib(void);
DLLEXPORT void GLAPIENTRY glPushAttrib(GLbitfield);
DLLEXPORT void GLAPIENTRY glMap1d(GLenum, GLdouble, GLdouble, GLint, GLint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glMap1f(GLenum, GLfloat, GLfloat, GLint, GLint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glMap2d(GLenum, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glMap2f(GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glMapGrid1d(GLint, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glMapGrid1f(GLint, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glMapGrid2d(GLint, GLdouble, GLdouble, GLint, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glMapGrid2f(GLint, GLfloat, GLfloat, GLint, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glEvalCoord1d(GLdouble);
DLLEXPORT void GLAPIENTRY glEvalCoord1dv(const GLdouble *);
DLLEXPORT void GLAPIENTRY glEvalCoord1f(GLfloat);
DLLEXPORT void GLAPIENTRY glEvalCoord1fv(const GLfloat *);
DLLEXPORT void GLAPIENTRY glEvalCoord2d(GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glEvalCoord2dv(const GLdouble *);
DLLEXPORT void GLAPIENTRY glEvalCoord2f(GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glEvalCoord2fv(const GLfloat *);
DLLEXPORT void GLAPIENTRY glEvalMesh1(GLenum, GLint, GLint);
DLLEXPORT void GLAPIENTRY glEvalMesh2(GLenum, GLint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glEvalPoint1(GLint);
DLLEXPORT void GLAPIENTRY glEvalPoint2(GLint, GLint);
DLLEXPORT void GLAPIENTRY glAlphaFunc(GLenum, GLclampf);
DLLEXPORT void GLAPIENTRY glBlendFunc(GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glDepthFunc(GLenum);
DLLEXPORT void GLAPIENTRY glStencilFunc(GLenum, GLint, GLuint);
DLLEXPORT void GLAPIENTRY glLogicOp(GLenum);
DLLEXPORT void GLAPIENTRY glStencilOp(GLenum, GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glPixelZoom(GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glPixelTransferf(GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glPixelTransferi(GLenum, GLint);
DLLEXPORT void GLAPIENTRY glPixelStoref(GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glPixelStorei(GLenum, GLint);
DLLEXPORT void GLAPIENTRY glPixelMapfv(GLenum, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glPixelMapuiv(GLenum, GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glPixelMapusv(GLenum, GLsizei, const GLushort *);
DLLEXPORT void GLAPIENTRY glReadBuffer(GLenum);
DLLEXPORT void GLAPIENTRY glCopyPixels(GLint, GLint, GLsizei, GLsizei, GLenum);
DLLEXPORT void GLAPIENTRY glReadPixels(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLvoid *);
DLLEXPORT void GLAPIENTRY glDrawPixels(GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glGetBooleanv(GLenum, GLboolean *);
DLLEXPORT void GLAPIENTRY glGetDoublev(GLenum, GLdouble *);
DLLEXPORT void GLAPIENTRY glGetFloatv(GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetIntegerv(GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetClipPlane(GLenum, GLdouble *);
DLLEXPORT GLenum GLAPIENTRY glGetError(void);
DLLEXPORT void GLAPIENTRY glGetLightfv(GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetLightiv(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetMapdv(GLenum, GLenum, GLdouble *);
DLLEXPORT void GLAPIENTRY glGetMapfv(GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetMapiv(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetMaterialfv(GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetMaterialiv(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetPixelMapfv(GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetPixelMapuiv(GLenum, GLuint *);
DLLEXPORT void GLAPIENTRY glGetPixelMapusv(GLenum, GLushort *);
DLLEXPORT void GLAPIENTRY glGetPolygonStipple(GLubyte *);
DLLEXPORT const GLubyte *GLAPIENTRY glGetString(GLenum);
DLLEXPORT void GLAPIENTRY glGetTexEnvfv(GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetTexEnviv(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetTexGendv(GLenum, GLenum, GLdouble *);
DLLEXPORT void GLAPIENTRY glGetTexGenfv(GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetTexGeniv(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetTexImage(GLenum, GLint, GLenum, GLenum, GLvoid *);
DLLEXPORT void GLAPIENTRY glGetTexParameterfv(GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetTexParameteriv(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetTexLevelParameterfv(GLenum, GLint, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetTexLevelParameteriv(GLenum, GLint, GLenum, GLint *);
DLLEXPORT GLboolean GLAPIENTRY glIsEnabled(GLenum);
DLLEXPORT GLboolean GLAPIENTRY glIsList(GLuint);
DLLEXPORT void GLAPIENTRY glDepthRange(GLclampd, GLclampd);
DLLEXPORT void GLAPIENTRY glFrustum(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glLoadIdentity(void);
DLLEXPORT void GLAPIENTRY glLoadMatrixd(const GLdouble *);
DLLEXPORT void GLAPIENTRY glLoadMatrixf(const GLfloat *);
DLLEXPORT void GLAPIENTRY glMatrixMode(GLenum);
DLLEXPORT void GLAPIENTRY glMultMatrixd(const GLdouble *);
DLLEXPORT void GLAPIENTRY glMultMatrixf(const GLfloat *);
DLLEXPORT void GLAPIENTRY glOrtho(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glPopMatrix(void);
DLLEXPORT void GLAPIENTRY glPushMatrix(void);
DLLEXPORT void GLAPIENTRY glRotated(GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glRotatef(GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glScaled(GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glScalef(GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glTranslated(GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glTranslatef(GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glViewport(GLint, GLint, GLsizei, GLsizei);
DLLEXPORT void GLAPIENTRY glArrayElement(GLint);
DLLEXPORT void GLAPIENTRY glDrawArrays(GLenum, GLint, GLsizei);
DLLEXPORT void GLAPIENTRY glDrawElements(GLenum, GLsizei, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glInterleavedArrays(GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glDisableClientState(GLenum);
DLLEXPORT void GLAPIENTRY glEnableClientState(GLenum);
DLLEXPORT void GLAPIENTRY glGetPointerv(GLenum, GLvoid **);
DLLEXPORT void GLAPIENTRY glColorPointer(GLint, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glEdgeFlagPointer(GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glIndexPointer(GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glNormalPointer(GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glTexCoordPointer(GLint, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glVertexPointer(GLint, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glPolygonOffset(GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glCopyTexImage1D(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
DLLEXPORT void GLAPIENTRY glCopyTexImage2D(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
DLLEXPORT void GLAPIENTRY glCopyTexSubImage1D(GLenum, GLint, GLint, GLint, GLint, GLsizei);
DLLEXPORT void GLAPIENTRY glCopyTexSubImage2D(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
DLLEXPORT void GLAPIENTRY glTexSubImage1D(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glTexSubImage2D(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
DLLEXPORT GLboolean GLAPIENTRY glAreTexturesResident(GLsizei, const GLuint *, GLboolean *);
DLLEXPORT void GLAPIENTRY glBindTexture(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glDeleteTextures(GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glGenTextures(GLsizei, GLuint *);
DLLEXPORT GLboolean GLAPIENTRY glIsTexture(GLuint);
DLLEXPORT void GLAPIENTRY glPrioritizeTextures(GLsizei, const GLuint *, const GLclampf *);
DLLEXPORT void GLAPIENTRY glIndexub(GLubyte);
DLLEXPORT void GLAPIENTRY glIndexubv(const GLubyte *);
DLLEXPORT void GLAPIENTRY glPopClientAttrib(void);
DLLEXPORT void GLAPIENTRY glPushClientAttrib(GLbitfield);
DLLEXPORT void GLAPIENTRY glBlendColor(GLclampf, GLclampf, GLclampf, GLclampf);
DLLEXPORT void GLAPIENTRY glBlendEquation(GLenum);
DLLEXPORT void GLAPIENTRY glDrawRangeElements(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glTexImage3D(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glTexSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCopyTexSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
DLLEXPORT void GLAPIENTRY glColorTable(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glColorTableParameterfv(GLenum, GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glColorTableParameteriv(GLenum, GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glCopyColorTable(GLenum, GLenum, GLint, GLint, GLsizei);
DLLEXPORT void GLAPIENTRY glGetColorTable(GLenum, GLenum, GLenum, GLvoid *);
DLLEXPORT void GLAPIENTRY glGetColorTableParameterfv(GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetColorTableParameteriv(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glColorSubTable(GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCopyColorSubTable(GLenum, GLsizei, GLint, GLint, GLsizei);
DLLEXPORT void GLAPIENTRY glConvolutionFilter1D(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glConvolutionFilter2D(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glConvolutionParameterf(GLenum, GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glConvolutionParameterfv(GLenum, GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glConvolutionParameteri(GLenum, GLenum, GLint);
DLLEXPORT void GLAPIENTRY glConvolutionParameteriv(GLenum, GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glCopyConvolutionFilter1D(GLenum, GLenum, GLint, GLint, GLsizei);
DLLEXPORT void GLAPIENTRY glCopyConvolutionFilter2D(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei);
DLLEXPORT void GLAPIENTRY glGetConvolutionFilter(GLenum, GLenum, GLenum, GLvoid *);
DLLEXPORT void GLAPIENTRY glGetConvolutionParameterfv(GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetConvolutionParameteriv(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetSeparableFilter(GLenum, GLenum, GLenum, GLvoid *, GLvoid *, GLvoid *);
DLLEXPORT void GLAPIENTRY glSeparableFilter2D(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *, const GLvoid *);
DLLEXPORT void GLAPIENTRY glGetHistogram(GLenum, GLboolean, GLenum, GLenum, GLvoid *);
DLLEXPORT void GLAPIENTRY glGetHistogramParameterfv(GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetHistogramParameteriv(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetMinmax(GLenum, GLboolean, GLenum, GLenum, GLvoid *);
DLLEXPORT void GLAPIENTRY glGetMinmaxParameterfv(GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetMinmaxParameteriv(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glHistogram(GLenum, GLsizei, GLenum, GLboolean);
DLLEXPORT void GLAPIENTRY glMinmax(GLenum, GLenum, GLboolean);
DLLEXPORT void GLAPIENTRY glResetHistogram(GLenum);
DLLEXPORT void GLAPIENTRY glResetMinmax(GLenum);
DLLEXPORT void GLAPIENTRY glActiveTexture(GLenum);
DLLEXPORT void GLAPIENTRY glSampleCoverage(GLclampf, GLboolean);
DLLEXPORT void GLAPIENTRY glCompressedTexImage3D(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCompressedTexImage2D(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCompressedTexImage1D(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCompressedTexSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCompressedTexSubImage2D(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCompressedTexSubImage1D(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glGetCompressedTexImage(GLenum, GLint, GLvoid *);
DLLEXPORT void GLAPIENTRY glClientActiveTexture(GLenum);
DLLEXPORT void GLAPIENTRY glMultiTexCoord1d(GLenum, GLdouble);
DLLEXPORT void GLAPIENTRY glMultiTexCoord1dv(GLenum, const GLdouble *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord1f(GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glMultiTexCoord1fv(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord1i(GLenum, GLint);
DLLEXPORT void GLAPIENTRY glMultiTexCoord1iv(GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord1s(GLenum, GLshort);
DLLEXPORT void GLAPIENTRY glMultiTexCoord1sv(GLenum, const GLshort *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord2d(GLenum, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glMultiTexCoord2dv(GLenum, const GLdouble *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord2f(GLenum, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glMultiTexCoord2fv(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord2i(GLenum, GLint, GLint);
DLLEXPORT void GLAPIENTRY glMultiTexCoord2iv(GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord2s(GLenum, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glMultiTexCoord2sv(GLenum, const GLshort *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord3d(GLenum, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glMultiTexCoord3dv(GLenum, const GLdouble *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord3f(GLenum, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glMultiTexCoord3fv(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord3i(GLenum, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glMultiTexCoord3iv(GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord3s(GLenum, GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glMultiTexCoord3sv(GLenum, const GLshort *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord4d(GLenum, GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glMultiTexCoord4dv(GLenum, const GLdouble *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord4f(GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glMultiTexCoord4fv(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord4i(GLenum, GLint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glMultiTexCoord4iv(GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord4s(GLenum, GLshort, GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glMultiTexCoord4sv(GLenum, const GLshort *);
DLLEXPORT void GLAPIENTRY glLoadTransposeMatrixf(const GLfloat *);
DLLEXPORT void GLAPIENTRY glLoadTransposeMatrixd(const GLdouble *);
DLLEXPORT void GLAPIENTRY glMultTransposeMatrixf(const GLfloat *);
DLLEXPORT void GLAPIENTRY glMultTransposeMatrixd(const GLdouble *);
DLLEXPORT void GLAPIENTRY glBlendFuncSeparate(GLenum, GLenum, GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glMultiDrawArrays(GLenum, const GLint *, const GLsizei *, GLsizei);
DLLEXPORT void GLAPIENTRY glMultiDrawElements(GLenum, const GLsizei *, GLenum, const GLvoid **, GLsizei);
DLLEXPORT void GLAPIENTRY glPointParameterf(GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glPointParameterfv(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glPointParameteri(GLenum, GLint);
DLLEXPORT void GLAPIENTRY glPointParameteriv(GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glFogCoordf(GLfloat);
DLLEXPORT void GLAPIENTRY glFogCoordfv(const GLfloat *);
DLLEXPORT void GLAPIENTRY glFogCoordd(GLdouble);
DLLEXPORT void GLAPIENTRY glFogCoorddv(const GLdouble *);
DLLEXPORT void GLAPIENTRY glFogCoordPointer(GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glSecondaryColor3b(GLbyte, GLbyte, GLbyte);
DLLEXPORT void GLAPIENTRY glSecondaryColor3bv(const GLbyte *);
DLLEXPORT void GLAPIENTRY glSecondaryColor3d(GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glSecondaryColor3dv(const GLdouble *);
DLLEXPORT void GLAPIENTRY glSecondaryColor3f(GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glSecondaryColor3fv(const GLfloat *);
DLLEXPORT void GLAPIENTRY glSecondaryColor3i(GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glSecondaryColor3iv(const GLint *);
DLLEXPORT void GLAPIENTRY glSecondaryColor3s(GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glSecondaryColor3sv(const GLshort *);
DLLEXPORT void GLAPIENTRY glSecondaryColor3ub(GLubyte, GLubyte, GLubyte);
DLLEXPORT void GLAPIENTRY glSecondaryColor3ubv(const GLubyte *);
DLLEXPORT void GLAPIENTRY glSecondaryColor3ui(GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glSecondaryColor3uiv(const GLuint *);
DLLEXPORT void GLAPIENTRY glSecondaryColor3us(GLushort, GLushort, GLushort);
DLLEXPORT void GLAPIENTRY glSecondaryColor3usv(const GLushort *);
DLLEXPORT void GLAPIENTRY glSecondaryColorPointer(GLint, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glWindowPos2d(GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glWindowPos2dv(const GLdouble *);
DLLEXPORT void GLAPIENTRY glWindowPos2f(GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glWindowPos2fv(const GLfloat *);
DLLEXPORT void GLAPIENTRY glWindowPos2i(GLint, GLint);
DLLEXPORT void GLAPIENTRY glWindowPos2iv(const GLint *);
DLLEXPORT void GLAPIENTRY glWindowPos2s(GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glWindowPos2sv(const GLshort *);
DLLEXPORT void GLAPIENTRY glWindowPos3d(GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glWindowPos3dv(const GLdouble *);
DLLEXPORT void GLAPIENTRY glWindowPos3f(GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glWindowPos3fv(const GLfloat *);
DLLEXPORT void GLAPIENTRY glWindowPos3i(GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glWindowPos3iv(const GLint *);
DLLEXPORT void GLAPIENTRY glWindowPos3s(GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glWindowPos3sv(const GLshort *);
DLLEXPORT void GLAPIENTRY glGenQueries(GLsizei, GLuint *);
DLLEXPORT void GLAPIENTRY glDeleteQueries(GLsizei, const GLuint *);
DLLEXPORT GLboolean GLAPIENTRY glIsQuery(GLuint);
DLLEXPORT void GLAPIENTRY glBeginQuery(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glEndQuery(GLenum);
DLLEXPORT void GLAPIENTRY glGetQueryiv(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetQueryObjectiv(GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetQueryObjectuiv(GLuint, GLenum, GLuint *);
DLLEXPORT void GLAPIENTRY glBindBuffer(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glDeleteBuffers(GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glGenBuffers(GLsizei, GLuint *);
DLLEXPORT GLboolean GLAPIENTRY glIsBuffer(GLuint);
DLLEXPORT void GLAPIENTRY glBufferData(GLenum, GLsizeiptr, const GLvoid *, GLenum);
DLLEXPORT void GLAPIENTRY glBufferSubData(GLenum, GLintptr, GLsizeiptr, const GLvoid *);
DLLEXPORT void GLAPIENTRY glGetBufferSubData(GLenum, GLintptr, GLsizeiptr, GLvoid *);
DLLEXPORT GLvoid *GLAPIENTRY glMapBuffer(GLenum, GLenum);
DLLEXPORT GLboolean GLAPIENTRY glUnmapBuffer(GLenum);
DLLEXPORT void GLAPIENTRY glGetBufferParameteriv(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetBufferPointerv(GLenum, GLenum, GLvoid **);
DLLEXPORT void GLAPIENTRY glBlendEquationSeparate(GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glDrawBuffers(GLsizei, const GLenum *);
DLLEXPORT void GLAPIENTRY glStencilOpSeparate(GLenum, GLenum, GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glStencilFuncSeparate(GLenum, GLenum, GLint, GLuint);
DLLEXPORT void GLAPIENTRY glStencilMaskSeparate(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glAttachShader(GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glBindAttribLocation(GLuint, GLuint, const GLchar *);
DLLEXPORT void GLAPIENTRY glCompileShader(GLuint);
DLLEXPORT GLuint GLAPIENTRY glCreateProgram(void);
DLLEXPORT GLuint GLAPIENTRY glCreateShader(GLenum);
DLLEXPORT void GLAPIENTRY glDeleteProgram(GLuint);
DLLEXPORT void GLAPIENTRY glDeleteShader(GLuint);
DLLEXPORT void GLAPIENTRY glDetachShader(GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glDisableVertexAttribArray(GLuint);
DLLEXPORT void GLAPIENTRY glEnableVertexAttribArray(GLuint);
DLLEXPORT void GLAPIENTRY glGetActiveAttrib(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *);
DLLEXPORT void GLAPIENTRY glGetActiveUniform(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *);
DLLEXPORT void GLAPIENTRY glGetAttachedShaders(GLuint, GLsizei, GLsizei *, GLuint *);
DLLEXPORT GLint GLAPIENTRY glGetAttribLocation(GLuint, const GLchar *);
DLLEXPORT void GLAPIENTRY glGetProgramiv(GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetProgramInfoLog(GLuint, GLsizei, GLsizei *, GLchar *);
DLLEXPORT void GLAPIENTRY glGetShaderiv(GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetShaderInfoLog(GLuint, GLsizei, GLsizei *, GLchar *);
DLLEXPORT void GLAPIENTRY glGetShaderSource(GLuint, GLsizei, GLsizei *, GLchar *);
DLLEXPORT GLint GLAPIENTRY glGetUniformLocation(GLuint, const GLchar *);
DLLEXPORT void GLAPIENTRY glGetUniformfv(GLuint, GLint, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetUniformiv(GLuint, GLint, GLint *);
DLLEXPORT void GLAPIENTRY glGetVertexAttribdv(GLuint, GLenum, GLdouble *);
DLLEXPORT void GLAPIENTRY glGetVertexAttribfv(GLuint, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetVertexAttribiv(GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetVertexAttribPointerv(GLuint, GLenum, GLvoid **);
DLLEXPORT GLboolean GLAPIENTRY glIsProgram(GLuint);
DLLEXPORT GLboolean GLAPIENTRY glIsShader(GLuint);
DLLEXPORT void GLAPIENTRY glLinkProgram(GLuint);
DLLEXPORT void GLAPIENTRY glShaderSource(GLuint, GLsizei, const GLchar **, const GLint *);
DLLEXPORT void GLAPIENTRY glUseProgram(GLuint);
DLLEXPORT void GLAPIENTRY glUniform1f(GLint, GLfloat);
DLLEXPORT void GLAPIENTRY glUniform2f(GLint, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glUniform3f(GLint, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glUniform4f(GLint, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glUniform1i(GLint, GLint);
DLLEXPORT void GLAPIENTRY glUniform2i(GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glUniform3i(GLint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glUniform4i(GLint, GLint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glUniform1fv(GLint, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glUniform2fv(GLint, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glUniform3fv(GLint, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glUniform4fv(GLint, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glUniform1iv(GLint, GLsizei, const GLint *);
DLLEXPORT void GLAPIENTRY glUniform2iv(GLint, GLsizei, const GLint *);
DLLEXPORT void GLAPIENTRY glUniform3iv(GLint, GLsizei, const GLint *);
DLLEXPORT void GLAPIENTRY glUniform4iv(GLint, GLsizei, const GLint *);
DLLEXPORT void GLAPIENTRY glUniformMatrix2fv(GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glUniformMatrix3fv(GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glUniformMatrix4fv(GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glValidateProgram(GLuint);
DLLEXPORT void GLAPIENTRY glVertexAttrib1d(GLuint, GLdouble);
DLLEXPORT void GLAPIENTRY glVertexAttrib1dv(GLuint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexAttrib1f(GLuint, GLfloat);
DLLEXPORT void GLAPIENTRY glVertexAttrib1fv(GLuint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glVertexAttrib1s(GLuint, GLshort);
DLLEXPORT void GLAPIENTRY glVertexAttrib1sv(GLuint, const GLshort *);
DLLEXPORT void GLAPIENTRY glVertexAttrib2d(GLuint, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glVertexAttrib2dv(GLuint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexAttrib2f(GLuint, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glVertexAttrib2fv(GLuint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glVertexAttrib2s(GLuint, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glVertexAttrib2sv(GLuint, const GLshort *);
DLLEXPORT void GLAPIENTRY glVertexAttrib3d(GLuint, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glVertexAttrib3dv(GLuint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexAttrib3f(GLuint, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glVertexAttrib3fv(GLuint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glVertexAttrib3s(GLuint, GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glVertexAttrib3sv(GLuint, const GLshort *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4Nbv(GLuint, const GLbyte *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4Niv(GLuint, const GLint *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4Nsv(GLuint, const GLshort *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4Nub(GLuint, GLubyte, GLubyte, GLubyte, GLubyte);
DLLEXPORT void GLAPIENTRY glVertexAttrib4Nubv(GLuint, const GLubyte *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4Nuiv(GLuint, const GLuint *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4Nusv(GLuint, const GLushort *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4bv(GLuint, const GLbyte *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4d(GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glVertexAttrib4dv(GLuint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4f(GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glVertexAttrib4fv(GLuint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4iv(GLuint, const GLint *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4s(GLuint, GLshort, GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glVertexAttrib4sv(GLuint, const GLshort *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4ubv(GLuint, const GLubyte *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4uiv(GLuint, const GLuint *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4usv(GLuint, const GLushort *);
DLLEXPORT void GLAPIENTRY glVertexAttribPointer(GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glUniformMatrix2x3fv(GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glUniformMatrix3x2fv(GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glUniformMatrix2x4fv(GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glUniformMatrix4x2fv(GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glUniformMatrix3x4fv(GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glUniformMatrix4x3fv(GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glColorMaski(GLuint, GLboolean, GLboolean, GLboolean, GLboolean);
DLLEXPORT void GLAPIENTRY glGetBooleani_v(GLenum, GLuint, GLboolean *);
DLLEXPORT void GLAPIENTRY glGetIntegeri_v(GLenum, GLuint, GLint *);
DLLEXPORT void GLAPIENTRY glEnablei(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glDisablei(GLenum, GLuint);
DLLEXPORT GLboolean GLAPIENTRY glIsEnabledi(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glBeginTransformFeedback(GLenum);
DLLEXPORT void GLAPIENTRY glEndTransformFeedback(void);
DLLEXPORT void GLAPIENTRY glBindBufferRange(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr);
DLLEXPORT void GLAPIENTRY glBindBufferBase(GLenum, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glTransformFeedbackVaryings(GLuint, GLsizei, const GLchar **, GLenum);
DLLEXPORT void GLAPIENTRY glGetTransformFeedbackVarying(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *);
DLLEXPORT void GLAPIENTRY glClampColor(GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glBeginConditionalRender(GLuint, GLenum);
DLLEXPORT void GLAPIENTRY glEndConditionalRender(void);
DLLEXPORT void GLAPIENTRY glVertexAttribIPointer(GLuint, GLint, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glGetVertexAttribIiv(GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetVertexAttribIuiv(GLuint, GLenum, GLuint *);
DLLEXPORT void GLAPIENTRY glVertexAttribI1i(GLuint, GLint);
DLLEXPORT void GLAPIENTRY glVertexAttribI2i(GLuint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glVertexAttribI3i(GLuint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glVertexAttribI4i(GLuint, GLint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glVertexAttribI1ui(GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glVertexAttribI2ui(GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glVertexAttribI3ui(GLuint, GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glVertexAttribI4ui(GLuint, GLuint, GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glVertexAttribI1iv(GLuint, const GLint *);
DLLEXPORT void GLAPIENTRY glVertexAttribI2iv(GLuint, const GLint *);
DLLEXPORT void GLAPIENTRY glVertexAttribI3iv(GLuint, const GLint *);
DLLEXPORT void GLAPIENTRY glVertexAttribI4iv(GLuint, const GLint *);
DLLEXPORT void GLAPIENTRY glVertexAttribI1uiv(GLuint, const GLuint *);
DLLEXPORT void GLAPIENTRY glVertexAttribI2uiv(GLuint, const GLuint *);
DLLEXPORT void GLAPIENTRY glVertexAttribI3uiv(GLuint, const GLuint *);
DLLEXPORT void GLAPIENTRY glVertexAttribI4uiv(GLuint, const GLuint *);
DLLEXPORT void GLAPIENTRY glVertexAttribI4bv(GLuint, const GLbyte *);
DLLEXPORT void GLAPIENTRY glVertexAttribI4sv(GLuint, const GLshort *);
DLLEXPORT void GLAPIENTRY glVertexAttribI4ubv(GLuint, const GLubyte *);
DLLEXPORT void GLAPIENTRY glVertexAttribI4usv(GLuint, const GLushort *);
DLLEXPORT void GLAPIENTRY glGetUniformuiv(GLuint, GLint, GLuint *);
DLLEXPORT void GLAPIENTRY glBindFragDataLocation(GLuint, GLuint, const GLchar *);
DLLEXPORT GLint GLAPIENTRY glGetFragDataLocation(GLuint, const GLchar *);
DLLEXPORT void GLAPIENTRY glUniform1ui(GLint, GLuint);
DLLEXPORT void GLAPIENTRY glUniform2ui(GLint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glUniform3ui(GLint, GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glUniform4ui(GLint, GLuint, GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glUniform1uiv(GLint, GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glUniform2uiv(GLint, GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glUniform3uiv(GLint, GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glUniform4uiv(GLint, GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glTexParameterIiv(GLenum, GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glTexParameterIuiv(GLenum, GLenum, const GLuint *);
DLLEXPORT void GLAPIENTRY glGetTexParameterIiv(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetTexParameterIuiv(GLenum, GLenum, GLuint *);
DLLEXPORT void GLAPIENTRY glClearBufferiv(GLenum, GLint, const GLint *);
DLLEXPORT void GLAPIENTRY glClearBufferuiv(GLenum, GLint, const GLuint *);
DLLEXPORT void GLAPIENTRY glClearBufferfv(GLenum, GLint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glClearBufferfi(GLenum, GLint, GLfloat, GLint);
DLLEXPORT const GLubyte *GLAPIENTRY glGetStringi(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glDrawArraysInstanced(GLenum, GLint, GLsizei, GLsizei);
DLLEXPORT void GLAPIENTRY glDrawElementsInstanced(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei);
DLLEXPORT void GLAPIENTRY glTexBuffer(GLenum, GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glPrimitiveRestartIndex(GLuint);
DLLEXPORT void GLAPIENTRY glGetInteger64i_v(GLenum, GLuint, GLint64 *);
DLLEXPORT void GLAPIENTRY glGetBufferParameteri64v(GLenum, GLenum, GLint64 *);
DLLEXPORT void GLAPIENTRY glFramebufferTexture(GLenum, GLenum, GLuint, GLint);
DLLEXPORT void GLAPIENTRY glFramebufferTextureFace(GLenum, GLenum, GLuint, GLint, GLenum);
DLLEXPORT void GLAPIENTRY glGenSamplers(GLsizei, GLuint *);
DLLEXPORT void GLAPIENTRY glDeleteSamplers(GLsizei, const GLuint *);
DLLEXPORT GLboolean GLAPIENTRY glIsSampler(GLuint);
DLLEXPORT void GLAPIENTRY glBindSampler(GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glSamplerParameteri(GLuint, GLenum, GLint);
DLLEXPORT void GLAPIENTRY glSamplerParameterf(GLuint, GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glSamplerParameteriv(GLuint, GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glSamplerParameterfv(GLuint, GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glSamplerParameterIiv(GLuint, GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glSamplerParameterIuiv(GLuint, GLenum, const GLuint *);
DLLEXPORT void GLAPIENTRY glGetSamplerParameteriv(GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetSamplerParameterfv(GLuint, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetSamplerParameterIiv(GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetSamplerParameterIuiv(GLuint, GLenum, GLuint *);
DLLEXPORT void GLAPIENTRY glBindFragDataLocationIndexed(GLuint, GLuint, GLuint, const GLchar *);
DLLEXPORT GLint GLAPIENTRY glGetFragDataIndex(GLuint, const GLchar *);
DLLEXPORT void GLAPIENTRY glGetQueryObjecti64v(GLuint, GLenum, GLint64 *);
DLLEXPORT void GLAPIENTRY glGetQueryObjectui64v(GLuint, GLenum, GLuint64 *);
DLLEXPORT void GLAPIENTRY glQueryCounter(GLuint, GLenum);
DLLEXPORT void GLAPIENTRY glVertexAttribDivisor(GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glVertexP2ui(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glVertexP2uiv(GLenum, const GLuint *);
DLLEXPORT void GLAPIENTRY glVertexP3ui(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glVertexP3uiv(GLenum, const GLuint *);
DLLEXPORT void GLAPIENTRY glVertexP4ui(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glVertexP4uiv(GLenum, const GLuint *);
DLLEXPORT void GLAPIENTRY glTexCoordP1ui(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glTexCoordP1uiv(GLenum, const GLuint *);
DLLEXPORT void GLAPIENTRY glTexCoordP2ui(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glTexCoordP2uiv(GLenum, const GLuint *);
DLLEXPORT void GLAPIENTRY glTexCoordP3ui(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glTexCoordP3uiv(GLenum, const GLuint *);
DLLEXPORT void GLAPIENTRY glTexCoordP4ui(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glTexCoordP4uiv(GLenum, const GLuint *);
DLLEXPORT void GLAPIENTRY glMultiTexCoordP1ui(GLenum, GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glMultiTexCoordP1uiv(GLenum, GLenum, const GLuint *);
DLLEXPORT void GLAPIENTRY glMultiTexCoordP2ui(GLenum, GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glMultiTexCoordP2uiv(GLenum, GLenum, const GLuint *);
DLLEXPORT void GLAPIENTRY glMultiTexCoordP3ui(GLenum, GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glMultiTexCoordP3uiv(GLenum, GLenum, const GLuint *);
DLLEXPORT void GLAPIENTRY glMultiTexCoordP4ui(GLenum, GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glMultiTexCoordP4uiv(GLenum, GLenum, const GLuint *);
DLLEXPORT void GLAPIENTRY glNormalP3ui(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glNormalP3uiv(GLenum, const GLuint *);
DLLEXPORT void GLAPIENTRY glColorP3ui(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glColorP3uiv(GLenum, const GLuint *);
DLLEXPORT void GLAPIENTRY glColorP4ui(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glColorP4uiv(GLenum, const GLuint *);
DLLEXPORT void GLAPIENTRY glSecondaryColorP3ui(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glSecondaryColorP3uiv(GLenum, const GLuint *);
DLLEXPORT void GLAPIENTRY glVertexAttribP1ui(GLuint, GLenum, GLboolean, GLuint);
DLLEXPORT void GLAPIENTRY glVertexAttribP1uiv(GLuint, GLenum, GLboolean, const GLuint *);
DLLEXPORT void GLAPIENTRY glVertexAttribP2ui(GLuint, GLenum, GLboolean, GLuint);
DLLEXPORT void GLAPIENTRY glVertexAttribP2uiv(GLuint, GLenum, GLboolean, const GLuint *);
DLLEXPORT void GLAPIENTRY glVertexAttribP3ui(GLuint, GLenum, GLboolean, GLuint);
DLLEXPORT void GLAPIENTRY glVertexAttribP3uiv(GLuint, GLenum, GLboolean, const GLuint *);
DLLEXPORT void GLAPIENTRY glVertexAttribP4ui(GLuint, GLenum, GLboolean, GLuint);
DLLEXPORT void GLAPIENTRY glVertexAttribP4uiv(GLuint, GLenum, GLboolean, const GLuint *);
DLLEXPORT void GLAPIENTRY glBlendEquationi(GLuint, GLenum);
DLLEXPORT void GLAPIENTRY glBlendEquationSeparatei(GLuint, GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glBlendFunci(GLuint, GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glBlendFuncSeparatei(GLuint, GLenum, GLenum, GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glDrawArraysIndirect(GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glDrawElementsIndirect(GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glUniform1d(GLint, GLdouble);
DLLEXPORT void GLAPIENTRY glUniform2d(GLint, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glUniform3d(GLint, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glUniform4d(GLint, GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glUniform1dv(GLint, GLsizei, const GLdouble *);
DLLEXPORT void GLAPIENTRY glUniform2dv(GLint, GLsizei, const GLdouble *);
DLLEXPORT void GLAPIENTRY glUniform3dv(GLint, GLsizei, const GLdouble *);
DLLEXPORT void GLAPIENTRY glUniform4dv(GLint, GLsizei, const GLdouble *);
DLLEXPORT void GLAPIENTRY glUniformMatrix2dv(GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glUniformMatrix3dv(GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glUniformMatrix4dv(GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glUniformMatrix2x3dv(GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glUniformMatrix2x4dv(GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glUniformMatrix3x2dv(GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glUniformMatrix3x4dv(GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glUniformMatrix4x2dv(GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glUniformMatrix4x3dv(GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glGetUniformdv(GLuint, GLint, GLdouble *);
DLLEXPORT void GLAPIENTRY glMinSampleShading(GLclampf);
DLLEXPORT void GLAPIENTRY glPatchParameteri(GLenum, GLint);
DLLEXPORT void GLAPIENTRY glPatchParameterfv(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glGenTransformFeedbacks(GLsizei, GLuint *);
DLLEXPORT void GLAPIENTRY glDeleteTransformFeedbacks(GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glBindTransformFeedback(GLenum, GLuint);
DLLEXPORT GLboolean GLAPIENTRY glIsTransformFeedback(GLuint);
DLLEXPORT void GLAPIENTRY glPauseTransformFeedback(void);
DLLEXPORT void GLAPIENTRY glResumeTransformFeedback(void);
DLLEXPORT void GLAPIENTRY glDrawTransformFeedback(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glDrawTransformFeedbackStream(GLenum, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glBeginQueryIndexed(GLenum, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glEndQueryIndexed(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glGetQueryIndexediv(GLenum, GLuint, GLenum, GLint *);
DLLEXPORT GLint GLAPIENTRY glGetSubroutineUniformLocation(GLuint, GLenum, const GLchar *);
DLLEXPORT GLuint GLAPIENTRY glGetSubroutineIndex(GLuint, GLenum, const GLchar *);
DLLEXPORT void GLAPIENTRY glGetActiveSubroutineUniformiv(GLuint, GLenum, GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetActiveSubroutineUniformName(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *);
DLLEXPORT void GLAPIENTRY glGetActiveSubroutineName(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *);
DLLEXPORT void GLAPIENTRY glUniformSubroutinesuiv(GLenum, GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glGetUniformSubroutineuiv(GLenum, GLint, GLuint *);
DLLEXPORT void GLAPIENTRY glGetProgramStageiv(GLuint, GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glVertexAttribL1d(GLuint, GLdouble);
DLLEXPORT void GLAPIENTRY glVertexAttribL2d(GLuint, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glVertexAttribL3d(GLuint, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glVertexAttribL4d(GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glVertexAttribL1dv(GLuint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexAttribL2dv(GLuint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexAttribL3dv(GLuint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexAttribL4dv(GLuint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexAttribLPointer(GLuint, GLint, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glGetVertexAttribLdv(GLuint, GLenum, GLdouble *);
DLLEXPORT void GLAPIENTRY glReleaseShaderCompiler(void);
DLLEXPORT void GLAPIENTRY glShaderBinary(GLsizei, const GLuint *, GLenum, const GLvoid *, GLsizei);
DLLEXPORT void GLAPIENTRY glGetShaderPrecisionFormat(GLenum, GLenum, GLint *, GLint *);
DLLEXPORT void GLAPIENTRY glDepthRangef(GLclampf, GLclampf);
DLLEXPORT void GLAPIENTRY glClearDepthf(GLclampf);
DLLEXPORT void GLAPIENTRY glGetProgramBinary(GLuint, GLsizei, GLsizei *, GLenum *, GLvoid *);
DLLEXPORT void GLAPIENTRY glProgramBinary(GLuint, GLenum, const GLvoid *, GLsizei);
DLLEXPORT void GLAPIENTRY glProgramParameteri(GLuint, GLenum, GLint);
DLLEXPORT void GLAPIENTRY glViewportArrayv(GLuint, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glViewportIndexedf(GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glViewportIndexedfv(GLuint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glScissorArrayv(GLuint, GLsizei, const GLint *);
DLLEXPORT void GLAPIENTRY glScissorIndexed(GLuint, GLint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glScissorIndexedv(GLuint, const GLint *);
DLLEXPORT void GLAPIENTRY glDepthRangeArrayv(GLuint, GLsizei, const GLclampd *);
DLLEXPORT void GLAPIENTRY glDepthRangeIndexed(GLuint, GLclampd, GLclampd);
DLLEXPORT void GLAPIENTRY glGetFloati_v(GLenum, GLuint, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetDoublei_v(GLenum, GLuint, GLdouble *);
DLLEXPORT void GLAPIENTRY glActiveShaderProgram(GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glUseProgramStages(GLuint, GLbitfield, GLuint);
DLLEXPORT GLuint GLAPIENTRY glCreateShaderProgramv(GLenum, GLsizei, const GLchar **);
DLLEXPORT void GLAPIENTRY glBindProgramPipeline(GLuint);
DLLEXPORT void GLAPIENTRY glDeleteProgramPipelines(GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glGenProgramPipelines(GLsizei, GLuint *);
DLLEXPORT GLboolean GLAPIENTRY glIsProgramPipeline(GLuint);
DLLEXPORT void GLAPIENTRY glGetProgramPipelineiv(GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glValidateProgramPipeline(GLuint);
DLLEXPORT void GLAPIENTRY glGetProgramPipelineInfoLog(GLuint, GLsizei, GLsizei *, GLchar *);
DLLEXPORT void GLAPIENTRY glProgramUniform1f(GLuint, GLint, GLfloat);
DLLEXPORT void GLAPIENTRY glProgramUniform2f(GLuint, GLint, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glProgramUniform3f(GLuint, GLint, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glProgramUniform4f(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glProgramUniform1i(GLuint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glProgramUniform2i(GLuint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glProgramUniform3i(GLuint, GLint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glProgramUniform4i(GLuint, GLint, GLint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glProgramUniform1fv(GLuint, GLint, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramUniform2fv(GLuint, GLint, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramUniform3fv(GLuint, GLint, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramUniform4fv(GLuint, GLint, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramUniform1iv(GLuint, GLint, GLsizei, const GLint *);
DLLEXPORT void GLAPIENTRY glProgramUniform2iv(GLuint, GLint, GLsizei, const GLint *);
DLLEXPORT void GLAPIENTRY glProgramUniform3iv(GLuint, GLint, GLsizei, const GLint *);
DLLEXPORT void GLAPIENTRY glProgramUniform4iv(GLuint, GLint, GLsizei, const GLint *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix2fv(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix3fv(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix4fv(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix2x3fv(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix3x2fv(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix2x4fv(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix4x2fv(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix3x4fv(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix4x3fv(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramUniform1ui(GLuint, GLint, GLuint);
DLLEXPORT void GLAPIENTRY glProgramUniform2ui(GLuint, GLint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glProgramUniform3ui(GLuint, GLint, GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glProgramUniform4ui(GLuint, GLint, GLuint, GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glProgramUniform1uiv(GLuint, GLint, GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glProgramUniform2uiv(GLuint, GLint, GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glProgramUniform3uiv(GLuint, GLint, GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glProgramUniform4uiv(GLuint, GLint, GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glProgramUniform1d(GLuint, GLint, GLdouble);
DLLEXPORT void GLAPIENTRY glProgramUniform2d(GLuint, GLint, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glProgramUniform3d(GLuint, GLint, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glProgramUniform4d(GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glProgramUniform1dv(GLuint, GLint, GLsizei, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramUniform2dv(GLuint, GLint, GLsizei, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramUniform3dv(GLuint, GLint, GLsizei, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramUniform4dv(GLuint, GLint, GLsizei, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix2dv(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix3dv(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix4dv(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix2x3dv(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix2x4dv(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix3x2dv(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix3x4dv(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix4x2dv(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix4x3dv(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glActiveTextureARB(GLenum);
DLLEXPORT void GLAPIENTRY glClientActiveTextureARB(GLenum);
DLLEXPORT void GLAPIENTRY glMultiTexCoord1dARB(GLenum, GLdouble);
DLLEXPORT void GLAPIENTRY glMultiTexCoord1dvARB(GLenum, const GLdouble *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord1fARB(GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glMultiTexCoord1fvARB(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord1iARB(GLenum, GLint);
DLLEXPORT void GLAPIENTRY glMultiTexCoord1ivARB(GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord1sARB(GLenum, GLshort);
DLLEXPORT void GLAPIENTRY glMultiTexCoord1svARB(GLenum, const GLshort *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord2dARB(GLenum, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glMultiTexCoord2dvARB(GLenum, const GLdouble *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord2fARB(GLenum, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glMultiTexCoord2fvARB(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord2iARB(GLenum, GLint, GLint);
DLLEXPORT void GLAPIENTRY glMultiTexCoord2ivARB(GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord2sARB(GLenum, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glMultiTexCoord2svARB(GLenum, const GLshort *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord3dARB(GLenum, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glMultiTexCoord3dvARB(GLenum, const GLdouble *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord3fARB(GLenum, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glMultiTexCoord3fvARB(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord3iARB(GLenum, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glMultiTexCoord3ivARB(GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord3sARB(GLenum, GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glMultiTexCoord3svARB(GLenum, const GLshort *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord4dARB(GLenum, GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glMultiTexCoord4dvARB(GLenum, const GLdouble *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord4fARB(GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glMultiTexCoord4fvARB(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord4iARB(GLenum, GLint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glMultiTexCoord4ivARB(GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord4sARB(GLenum, GLshort, GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glMultiTexCoord4svARB(GLenum, const GLshort *);
DLLEXPORT void GLAPIENTRY glLoadTransposeMatrixfARB(const GLfloat *);
DLLEXPORT void GLAPIENTRY glLoadTransposeMatrixdARB(const GLdouble *);
DLLEXPORT void GLAPIENTRY glMultTransposeMatrixfARB(const GLfloat *);
DLLEXPORT void GLAPIENTRY glMultTransposeMatrixdARB(const GLdouble *);
DLLEXPORT void GLAPIENTRY glSampleCoverageARB(GLclampf, GLboolean);
DLLEXPORT void GLAPIENTRY glCompressedTexImage3DARB(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCompressedTexImage2DARB(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCompressedTexImage1DARB(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCompressedTexSubImage3DARB(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCompressedTexSubImage2DARB(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCompressedTexSubImage1DARB(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glGetCompressedTexImageARB(GLenum, GLint, GLvoid *);
DLLEXPORT void GLAPIENTRY glPointParameterfARB(GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glPointParameterfvARB(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glWeightbvARB(GLint, const GLbyte *);
DLLEXPORT void GLAPIENTRY glWeightsvARB(GLint, const GLshort *);
DLLEXPORT void GLAPIENTRY glWeightivARB(GLint, const GLint *);
DLLEXPORT void GLAPIENTRY glWeightfvARB(GLint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glWeightdvARB(GLint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glWeightubvARB(GLint, const GLubyte *);
DLLEXPORT void GLAPIENTRY glWeightusvARB(GLint, const GLushort *);
DLLEXPORT void GLAPIENTRY glWeightuivARB(GLint, const GLuint *);
DLLEXPORT void GLAPIENTRY glWeightPointerARB(GLint, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glVertexBlendARB(GLint);
DLLEXPORT void GLAPIENTRY glCurrentPaletteMatrixARB(GLint);
DLLEXPORT void GLAPIENTRY glMatrixIndexubvARB(GLint, const GLubyte *);
DLLEXPORT void GLAPIENTRY glMatrixIndexusvARB(GLint, const GLushort *);
DLLEXPORT void GLAPIENTRY glMatrixIndexuivARB(GLint, const GLuint *);
DLLEXPORT void GLAPIENTRY glMatrixIndexPointerARB(GLint, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glWindowPos2dARB(GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glWindowPos2dvARB(const GLdouble *);
DLLEXPORT void GLAPIENTRY glWindowPos2fARB(GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glWindowPos2fvARB(const GLfloat *);
DLLEXPORT void GLAPIENTRY glWindowPos2iARB(GLint, GLint);
DLLEXPORT void GLAPIENTRY glWindowPos2ivARB(const GLint *);
DLLEXPORT void GLAPIENTRY glWindowPos2sARB(GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glWindowPos2svARB(const GLshort *);
DLLEXPORT void GLAPIENTRY glWindowPos3dARB(GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glWindowPos3dvARB(const GLdouble *);
DLLEXPORT void GLAPIENTRY glWindowPos3fARB(GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glWindowPos3fvARB(const GLfloat *);
DLLEXPORT void GLAPIENTRY glWindowPos3iARB(GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glWindowPos3ivARB(const GLint *);
DLLEXPORT void GLAPIENTRY glWindowPos3sARB(GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glWindowPos3svARB(const GLshort *);
DLLEXPORT void GLAPIENTRY glVertexAttrib1dARB(GLuint, GLdouble);
DLLEXPORT void GLAPIENTRY glVertexAttrib1dvARB(GLuint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexAttrib1fARB(GLuint, GLfloat);
DLLEXPORT void GLAPIENTRY glVertexAttrib1fvARB(GLuint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glVertexAttrib1sARB(GLuint, GLshort);
DLLEXPORT void GLAPIENTRY glVertexAttrib1svARB(GLuint, const GLshort *);
DLLEXPORT void GLAPIENTRY glVertexAttrib2dARB(GLuint, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glVertexAttrib2dvARB(GLuint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexAttrib2fARB(GLuint, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glVertexAttrib2fvARB(GLuint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glVertexAttrib2sARB(GLuint, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glVertexAttrib2svARB(GLuint, const GLshort *);
DLLEXPORT void GLAPIENTRY glVertexAttrib3dARB(GLuint, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glVertexAttrib3dvARB(GLuint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexAttrib3fARB(GLuint, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glVertexAttrib3fvARB(GLuint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glVertexAttrib3sARB(GLuint, GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glVertexAttrib3svARB(GLuint, const GLshort *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4NbvARB(GLuint, const GLbyte *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4NivARB(GLuint, const GLint *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4NsvARB(GLuint, const GLshort *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4NubARB(GLuint, GLubyte, GLubyte, GLubyte, GLubyte);
DLLEXPORT void GLAPIENTRY glVertexAttrib4NubvARB(GLuint, const GLubyte *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4NuivARB(GLuint, const GLuint *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4NusvARB(GLuint, const GLushort *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4bvARB(GLuint, const GLbyte *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4dARB(GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glVertexAttrib4dvARB(GLuint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4fARB(GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glVertexAttrib4fvARB(GLuint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4ivARB(GLuint, const GLint *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4sARB(GLuint, GLshort, GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glVertexAttrib4svARB(GLuint, const GLshort *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4ubvARB(GLuint, const GLubyte *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4uivARB(GLuint, const GLuint *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4usvARB(GLuint, const GLushort *);
DLLEXPORT void GLAPIENTRY glVertexAttribPointerARB(GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glEnableVertexAttribArrayARB(GLuint);
DLLEXPORT void GLAPIENTRY glDisableVertexAttribArrayARB(GLuint);
DLLEXPORT void GLAPIENTRY glProgramStringARB(GLenum, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glBindProgramARB(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glDeleteProgramsARB(GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glGenProgramsARB(GLsizei, GLuint *);
DLLEXPORT void GLAPIENTRY glProgramEnvParameter4dARB(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glProgramEnvParameter4dvARB(GLenum, GLuint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramEnvParameter4fARB(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glProgramEnvParameter4fvARB(GLenum, GLuint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramLocalParameter4dARB(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glProgramLocalParameter4dvARB(GLenum, GLuint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramLocalParameter4fARB(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glProgramLocalParameter4fvARB(GLenum, GLuint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glGetProgramEnvParameterdvARB(GLenum, GLuint, GLdouble *);
DLLEXPORT void GLAPIENTRY glGetProgramEnvParameterfvARB(GLenum, GLuint, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetProgramLocalParameterdvARB(GLenum, GLuint, GLdouble *);
DLLEXPORT void GLAPIENTRY glGetProgramLocalParameterfvARB(GLenum, GLuint, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetProgramivARB(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetProgramStringARB(GLenum, GLenum, GLvoid *);
DLLEXPORT void GLAPIENTRY glGetVertexAttribdvARB(GLuint, GLenum, GLdouble *);
DLLEXPORT void GLAPIENTRY glGetVertexAttribfvARB(GLuint, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetVertexAttribivARB(GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetVertexAttribPointervARB(GLuint, GLenum, GLvoid **);
DLLEXPORT GLboolean GLAPIENTRY glIsProgramARB(GLuint);
DLLEXPORT void GLAPIENTRY glBindBufferARB(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glDeleteBuffersARB(GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glGenBuffersARB(GLsizei, GLuint *);
DLLEXPORT GLboolean GLAPIENTRY glIsBufferARB(GLuint);
DLLEXPORT void GLAPIENTRY glBufferDataARB(GLenum, GLsizeiptrARB, const GLvoid *, GLenum);
DLLEXPORT void GLAPIENTRY glBufferSubDataARB(GLenum, GLintptrARB, GLsizeiptrARB, const GLvoid *);
DLLEXPORT void GLAPIENTRY glGetBufferSubDataARB(GLenum, GLintptrARB, GLsizeiptrARB, GLvoid *);
DLLEXPORT GLvoid *GLAPIENTRY glMapBufferARB(GLenum, GLenum);
DLLEXPORT GLboolean GLAPIENTRY glUnmapBufferARB(GLenum);
DLLEXPORT void GLAPIENTRY glGetBufferParameterivARB(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetBufferPointervARB(GLenum, GLenum, GLvoid **);
DLLEXPORT void GLAPIENTRY glGenQueriesARB(GLsizei, GLuint *);
DLLEXPORT void GLAPIENTRY glDeleteQueriesARB(GLsizei, const GLuint *);
DLLEXPORT GLboolean GLAPIENTRY glIsQueryARB(GLuint);
DLLEXPORT void GLAPIENTRY glBeginQueryARB(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glEndQueryARB(GLenum);
DLLEXPORT void GLAPIENTRY glGetQueryivARB(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetQueryObjectivARB(GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetQueryObjectuivARB(GLuint, GLenum, GLuint *);
DLLEXPORT void GLAPIENTRY glDeleteObjectARB(GLhandleARB);
DLLEXPORT GLhandleARB GLAPIENTRY glGetHandleARB(GLenum);
DLLEXPORT void GLAPIENTRY glDetachObjectARB(GLhandleARB, GLhandleARB);
DLLEXPORT GLhandleARB GLAPIENTRY glCreateShaderObjectARB(GLenum);
DLLEXPORT void GLAPIENTRY glShaderSourceARB(GLhandleARB, GLsizei, const GLcharARB **, const GLint *);
DLLEXPORT void GLAPIENTRY glCompileShaderARB(GLhandleARB);
DLLEXPORT GLhandleARB GLAPIENTRY glCreateProgramObjectARB(void);
DLLEXPORT void GLAPIENTRY glAttachObjectARB(GLhandleARB, GLhandleARB);
DLLEXPORT void GLAPIENTRY glLinkProgramARB(GLhandleARB);
DLLEXPORT void GLAPIENTRY glUseProgramObjectARB(GLhandleARB);
DLLEXPORT void GLAPIENTRY glValidateProgramARB(GLhandleARB);
DLLEXPORT void GLAPIENTRY glUniform1fARB(GLint, GLfloat);
DLLEXPORT void GLAPIENTRY glUniform2fARB(GLint, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glUniform3fARB(GLint, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glUniform4fARB(GLint, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glUniform1iARB(GLint, GLint);
DLLEXPORT void GLAPIENTRY glUniform2iARB(GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glUniform3iARB(GLint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glUniform4iARB(GLint, GLint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glUniform1fvARB(GLint, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glUniform2fvARB(GLint, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glUniform3fvARB(GLint, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glUniform4fvARB(GLint, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glUniform1ivARB(GLint, GLsizei, const GLint *);
DLLEXPORT void GLAPIENTRY glUniform2ivARB(GLint, GLsizei, const GLint *);
DLLEXPORT void GLAPIENTRY glUniform3ivARB(GLint, GLsizei, const GLint *);
DLLEXPORT void GLAPIENTRY glUniform4ivARB(GLint, GLsizei, const GLint *);
DLLEXPORT void GLAPIENTRY glUniformMatrix2fvARB(GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glUniformMatrix3fvARB(GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glUniformMatrix4fvARB(GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glGetObjectParameterfvARB(GLhandleARB, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetObjectParameterivARB(GLhandleARB, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetInfoLogARB(GLhandleARB, GLsizei, GLsizei *, GLcharARB *);
DLLEXPORT void GLAPIENTRY glGetAttachedObjectsARB(GLhandleARB, GLsizei, GLsizei *, GLhandleARB *);
DLLEXPORT GLint GLAPIENTRY glGetUniformLocationARB(GLhandleARB, const GLcharARB *);
DLLEXPORT void GLAPIENTRY glGetActiveUniformARB(GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLcharARB *);
DLLEXPORT void GLAPIENTRY glGetUniformfvARB(GLhandleARB, GLint, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetUniformivARB(GLhandleARB, GLint, GLint *);
DLLEXPORT void GLAPIENTRY glGetShaderSourceARB(GLhandleARB, GLsizei, GLsizei *, GLcharARB *);
DLLEXPORT void GLAPIENTRY glBindAttribLocationARB(GLhandleARB, GLuint, const GLcharARB *);
DLLEXPORT void GLAPIENTRY glGetActiveAttribARB(GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLcharARB *);
DLLEXPORT GLint GLAPIENTRY glGetAttribLocationARB(GLhandleARB, const GLcharARB *);
DLLEXPORT void GLAPIENTRY glDrawBuffersARB(GLsizei, const GLenum *);
DLLEXPORT void GLAPIENTRY glClampColorARB(GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glDrawArraysInstancedARB(GLenum, GLint, GLsizei, GLsizei);
DLLEXPORT void GLAPIENTRY glDrawElementsInstancedARB(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei);
DLLEXPORT GLboolean GLAPIENTRY glIsRenderbuffer(GLuint);
DLLEXPORT void GLAPIENTRY glBindRenderbuffer(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glDeleteRenderbuffers(GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glGenRenderbuffers(GLsizei, GLuint *);
DLLEXPORT void GLAPIENTRY glRenderbufferStorage(GLenum, GLenum, GLsizei, GLsizei);
DLLEXPORT void GLAPIENTRY glGetRenderbufferParameteriv(GLenum, GLenum, GLint *);
DLLEXPORT GLboolean GLAPIENTRY glIsFramebuffer(GLuint);
DLLEXPORT void GLAPIENTRY glBindFramebuffer(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glDeleteFramebuffers(GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glGenFramebuffers(GLsizei, GLuint *);
DLLEXPORT GLenum GLAPIENTRY glCheckFramebufferStatus(GLenum);
DLLEXPORT void GLAPIENTRY glFramebufferTexture1D(GLenum, GLenum, GLenum, GLuint, GLint);
DLLEXPORT void GLAPIENTRY glFramebufferTexture2D(GLenum, GLenum, GLenum, GLuint, GLint);
DLLEXPORT void GLAPIENTRY glFramebufferTexture3D(GLenum, GLenum, GLenum, GLuint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glFramebufferRenderbuffer(GLenum, GLenum, GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glGetFramebufferAttachmentParameteriv(GLenum, GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGenerateMipmap(GLenum);
DLLEXPORT void GLAPIENTRY glBlitFramebuffer(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum);
DLLEXPORT void GLAPIENTRY glRenderbufferStorageMultisample(GLenum, GLsizei, GLenum, GLsizei, GLsizei);
DLLEXPORT void GLAPIENTRY glFramebufferTextureLayer(GLenum, GLenum, GLuint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glProgramParameteriARB(GLuint, GLenum, GLint);
DLLEXPORT void GLAPIENTRY glFramebufferTextureARB(GLenum, GLenum, GLuint, GLint);
DLLEXPORT void GLAPIENTRY glFramebufferTextureLayerARB(GLenum, GLenum, GLuint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glFramebufferTextureFaceARB(GLenum, GLenum, GLuint, GLint, GLenum);
DLLEXPORT void GLAPIENTRY glVertexAttribDivisorARB(GLuint, GLuint);
DLLEXPORT GLvoid *GLAPIENTRY glMapBufferRange(GLenum, GLintptr, GLsizeiptr, GLbitfield);
DLLEXPORT void GLAPIENTRY glFlushMappedBufferRange(GLenum, GLintptr, GLsizeiptr);
DLLEXPORT void GLAPIENTRY glTexBufferARB(GLenum, GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glBindVertexArray(GLuint);
DLLEXPORT void GLAPIENTRY glDeleteVertexArrays(GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glGenVertexArrays(GLsizei, GLuint *);
DLLEXPORT GLboolean GLAPIENTRY glIsVertexArray(GLuint);
DLLEXPORT void GLAPIENTRY glGetUniformIndices(GLuint, GLsizei, const GLchar **, GLuint *);
DLLEXPORT void GLAPIENTRY glGetActiveUniformsiv(GLuint, GLsizei, const GLuint *, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetActiveUniformName(GLuint, GLuint, GLsizei, GLsizei *, GLchar *);
DLLEXPORT GLuint GLAPIENTRY glGetUniformBlockIndex(GLuint, const GLchar *);
DLLEXPORT void GLAPIENTRY glGetActiveUniformBlockiv(GLuint, GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetActiveUniformBlockName(GLuint, GLuint, GLsizei, GLsizei *, GLchar *);
DLLEXPORT void GLAPIENTRY glUniformBlockBinding(GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glCopyBufferSubData(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr);
DLLEXPORT void GLAPIENTRY glDrawElementsBaseVertex(GLenum, GLsizei, GLenum, const GLvoid *, GLint);
DLLEXPORT void GLAPIENTRY glDrawRangeElementsBaseVertex(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *, GLint);
DLLEXPORT void GLAPIENTRY glDrawElementsInstancedBaseVertex(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei, GLint);
DLLEXPORT void GLAPIENTRY glMultiDrawElementsBaseVertex(GLenum, const GLsizei *, GLenum, const GLvoid **, GLsizei, const GLint *);
DLLEXPORT void GLAPIENTRY glProvokingVertex(GLenum);
DLLEXPORT GLsync GLAPIENTRY glFenceSync(GLenum, GLbitfield);
DLLEXPORT GLboolean GLAPIENTRY glIsSync(GLsync);
DLLEXPORT void GLAPIENTRY glDeleteSync(GLsync);
DLLEXPORT GLenum GLAPIENTRY glClientWaitSync(GLsync, GLbitfield, GLuint64);
DLLEXPORT void GLAPIENTRY glWaitSync(GLsync, GLbitfield, GLuint64);
DLLEXPORT void GLAPIENTRY glGetInteger64v(GLenum, GLint64 *);
DLLEXPORT void GLAPIENTRY glGetSynciv(GLsync, GLenum, GLsizei, GLsizei *, GLint *);
DLLEXPORT void GLAPIENTRY glTexImage2DMultisample(GLenum, GLsizei, GLint, GLsizei, GLsizei, GLboolean);
DLLEXPORT void GLAPIENTRY glTexImage3DMultisample(GLenum, GLsizei, GLint, GLsizei, GLsizei, GLsizei, GLboolean);
DLLEXPORT void GLAPIENTRY glGetMultisamplefv(GLenum, GLuint, GLfloat *);
DLLEXPORT void GLAPIENTRY glSampleMaski(GLuint, GLbitfield);
DLLEXPORT void GLAPIENTRY glBlendEquationiARB(GLuint, GLenum);
DLLEXPORT void GLAPIENTRY glBlendEquationSeparateiARB(GLuint, GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glBlendFunciARB(GLuint, GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glBlendFuncSeparateiARB(GLuint, GLenum, GLenum, GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glMinSampleShadingARB(GLclampf);
DLLEXPORT void GLAPIENTRY glNamedStringARB(GLenum, GLint, const GLchar *, GLint, const GLchar *);
DLLEXPORT void GLAPIENTRY glDeleteNamedStringARB(GLint, const GLchar *);
DLLEXPORT void GLAPIENTRY glCompileShaderIncludeARB(GLuint, GLsizei, const GLchar **, const GLint *);
DLLEXPORT GLboolean GLAPIENTRY glIsNamedStringARB(GLint, const GLchar *);
DLLEXPORT void GLAPIENTRY glGetNamedStringARB(GLint, const GLchar *, GLsizei, GLint *, GLchar *);
DLLEXPORT void GLAPIENTRY glGetNamedStringivARB(GLint, const GLchar *, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glDebugMessageControlARB(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean);
DLLEXPORT void GLAPIENTRY glDebugMessageInsertARB(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *);
DLLEXPORT void GLAPIENTRY glDebugMessageCallbackARB(GLDEBUGPROCARB, GLvoid *);
DLLEXPORT GLuint GLAPIENTRY glGetDebugMessageLogARB(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *);
DLLEXPORT GLenum GLAPIENTRY glGetGraphicsResetStatusARB(void);
DLLEXPORT void GLAPIENTRY glGetnMapdvARB(GLenum, GLenum, GLsizei, GLdouble *);
DLLEXPORT void GLAPIENTRY glGetnMapfvARB(GLenum, GLenum, GLsizei, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetnMapivARB(GLenum, GLenum, GLsizei, GLint *);
DLLEXPORT void GLAPIENTRY glGetnPixelMapfvARB(GLenum, GLsizei, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetnPixelMapuivARB(GLenum, GLsizei, GLuint *);
DLLEXPORT void GLAPIENTRY glGetnPixelMapusvARB(GLenum, GLsizei, GLushort *);
DLLEXPORT void GLAPIENTRY glGetnPolygonStippleARB(GLsizei, GLubyte *);
DLLEXPORT void GLAPIENTRY glGetnTexImageARB(GLenum, GLint, GLenum, GLenum, GLsizei, GLvoid *);
DLLEXPORT void GLAPIENTRY glReadnPixelsARB(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, GLvoid *);
DLLEXPORT void GLAPIENTRY glGetnColorTableARB(GLenum, GLenum, GLenum, GLsizei, GLvoid *);
DLLEXPORT void GLAPIENTRY glGetnConvolutionFilterARB(GLenum, GLenum, GLenum, GLsizei, GLvoid *);
DLLEXPORT void GLAPIENTRY glGetnSeparableFilterARB(GLenum, GLenum, GLenum, GLsizei, GLvoid *, GLsizei, GLvoid *, GLvoid *);
DLLEXPORT void GLAPIENTRY glGetnHistogramARB(GLenum, GLboolean, GLenum, GLenum, GLsizei, GLvoid *);
DLLEXPORT void GLAPIENTRY glGetnMinmaxARB(GLenum, GLboolean, GLenum, GLenum, GLsizei, GLvoid *);
DLLEXPORT void GLAPIENTRY glGetnCompressedTexImageARB(GLenum, GLint, GLsizei, GLvoid *);
DLLEXPORT void GLAPIENTRY glGetnUniformfvARB(GLuint, GLint, GLsizei, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetnUniformivARB(GLuint, GLint, GLsizei, GLint *);
DLLEXPORT void GLAPIENTRY glGetnUniformuivARB(GLuint, GLint, GLsizei, GLuint *);
DLLEXPORT void GLAPIENTRY glGetnUniformdvARB(GLuint, GLint, GLsizei, GLdouble *);
DLLEXPORT void GLAPIENTRY glBlendColorEXT(GLclampf, GLclampf, GLclampf, GLclampf);
DLLEXPORT void GLAPIENTRY glPolygonOffsetEXT(GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glTexImage3DEXT(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glTexSubImage3DEXT(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glGetTexFilterFuncSGIS(GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glTexFilterFuncSGIS(GLenum, GLenum, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glTexSubImage1DEXT(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glTexSubImage2DEXT(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCopyTexImage1DEXT(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
DLLEXPORT void GLAPIENTRY glCopyTexImage2DEXT(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
DLLEXPORT void GLAPIENTRY glCopyTexSubImage1DEXT(GLenum, GLint, GLint, GLint, GLint, GLsizei);
DLLEXPORT void GLAPIENTRY glCopyTexSubImage2DEXT(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
DLLEXPORT void GLAPIENTRY glCopyTexSubImage3DEXT(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
DLLEXPORT void GLAPIENTRY glGetHistogramEXT(GLenum, GLboolean, GLenum, GLenum, GLvoid *);
DLLEXPORT void GLAPIENTRY glGetHistogramParameterfvEXT(GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetHistogramParameterivEXT(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetMinmaxEXT(GLenum, GLboolean, GLenum, GLenum, GLvoid *);
DLLEXPORT void GLAPIENTRY glGetMinmaxParameterfvEXT(GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetMinmaxParameterivEXT(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glHistogramEXT(GLenum, GLsizei, GLenum, GLboolean);
DLLEXPORT void GLAPIENTRY glMinmaxEXT(GLenum, GLenum, GLboolean);
DLLEXPORT void GLAPIENTRY glResetHistogramEXT(GLenum);
DLLEXPORT void GLAPIENTRY glResetMinmaxEXT(GLenum);
DLLEXPORT void GLAPIENTRY glConvolutionFilter1DEXT(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glConvolutionFilter2DEXT(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glConvolutionParameterfEXT(GLenum, GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glConvolutionParameterfvEXT(GLenum, GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glConvolutionParameteriEXT(GLenum, GLenum, GLint);
DLLEXPORT void GLAPIENTRY glConvolutionParameterivEXT(GLenum, GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glCopyConvolutionFilter1DEXT(GLenum, GLenum, GLint, GLint, GLsizei);
DLLEXPORT void GLAPIENTRY glCopyConvolutionFilter2DEXT(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei);
DLLEXPORT void GLAPIENTRY glGetConvolutionFilterEXT(GLenum, GLenum, GLenum, GLvoid *);
DLLEXPORT void GLAPIENTRY glGetConvolutionParameterfvEXT(GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetConvolutionParameterivEXT(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetSeparableFilterEXT(GLenum, GLenum, GLenum, GLvoid *, GLvoid *, GLvoid *);
DLLEXPORT void GLAPIENTRY glSeparableFilter2DEXT(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *, const GLvoid *);
DLLEXPORT void GLAPIENTRY glColorTableSGI(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glColorTableParameterfvSGI(GLenum, GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glColorTableParameterivSGI(GLenum, GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glCopyColorTableSGI(GLenum, GLenum, GLint, GLint, GLsizei);
DLLEXPORT void GLAPIENTRY glGetColorTableSGI(GLenum, GLenum, GLenum, GLvoid *);
DLLEXPORT void GLAPIENTRY glGetColorTableParameterfvSGI(GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetColorTableParameterivSGI(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glPixelTexGenSGIX(GLenum);
DLLEXPORT void GLAPIENTRY glPixelTexGenParameteriSGIS(GLenum, GLint);
DLLEXPORT void GLAPIENTRY glPixelTexGenParameterivSGIS(GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glPixelTexGenParameterfSGIS(GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glPixelTexGenParameterfvSGIS(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glGetPixelTexGenParameterivSGIS(GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetPixelTexGenParameterfvSGIS(GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glTexImage4DSGIS(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glTexSubImage4DSGIS(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
DLLEXPORT GLboolean GLAPIENTRY glAreTexturesResidentEXT(GLsizei, const GLuint *, GLboolean *);
DLLEXPORT void GLAPIENTRY glBindTextureEXT(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glDeleteTexturesEXT(GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glGenTexturesEXT(GLsizei, GLuint *);
DLLEXPORT GLboolean GLAPIENTRY glIsTextureEXT(GLuint);
DLLEXPORT void GLAPIENTRY glPrioritizeTexturesEXT(GLsizei, const GLuint *, const GLclampf *);
DLLEXPORT void GLAPIENTRY glDetailTexFuncSGIS(GLenum, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glGetDetailTexFuncSGIS(GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glSharpenTexFuncSGIS(GLenum, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glGetSharpenTexFuncSGIS(GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glSampleMaskSGIS(GLclampf, GLboolean);
DLLEXPORT void GLAPIENTRY glSamplePatternSGIS(GLenum);
DLLEXPORT void GLAPIENTRY glArrayElementEXT(GLint);
DLLEXPORT void GLAPIENTRY glColorPointerEXT(GLint, GLenum, GLsizei, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glDrawArraysEXT(GLenum, GLint, GLsizei);
DLLEXPORT void GLAPIENTRY glEdgeFlagPointerEXT(GLsizei, GLsizei, const GLboolean *);
DLLEXPORT void GLAPIENTRY glGetPointervEXT(GLenum, GLvoid **);
DLLEXPORT void GLAPIENTRY glIndexPointerEXT(GLenum, GLsizei, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glNormalPointerEXT(GLenum, GLsizei, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glTexCoordPointerEXT(GLint, GLenum, GLsizei, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glVertexPointerEXT(GLint, GLenum, GLsizei, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glBlendEquationEXT(GLenum);
DLLEXPORT void GLAPIENTRY glSpriteParameterfSGIX(GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glSpriteParameterfvSGIX(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glSpriteParameteriSGIX(GLenum, GLint);
DLLEXPORT void GLAPIENTRY glSpriteParameterivSGIX(GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glPointParameterfEXT(GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glPointParameterfvEXT(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glPointParameterfSGIS(GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glPointParameterfvSGIS(GLenum, const GLfloat *);
DLLEXPORT GLint GLAPIENTRY glGetInstrumentsSGIX(void);
DLLEXPORT void GLAPIENTRY glInstrumentsBufferSGIX(GLsizei, GLint *);
DLLEXPORT GLint GLAPIENTRY glPollInstrumentsSGIX(GLint *);
DLLEXPORT void GLAPIENTRY glReadInstrumentsSGIX(GLint);
DLLEXPORT void GLAPIENTRY glStartInstrumentsSGIX(void);
DLLEXPORT void GLAPIENTRY glStopInstrumentsSGIX(GLint);
DLLEXPORT void GLAPIENTRY glFrameZoomSGIX(GLint);
DLLEXPORT void GLAPIENTRY glTagSampleBufferSGIX(void);
DLLEXPORT void GLAPIENTRY glDeformationMap3dSGIX(GLenum, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glDeformationMap3fSGIX(GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glDeformSGIX(GLbitfield);
DLLEXPORT void GLAPIENTRY glLoadIdentityDeformationMapSGIX(GLbitfield);
DLLEXPORT void GLAPIENTRY glReferencePlaneSGIX(const GLdouble *);
DLLEXPORT void GLAPIENTRY glFlushRasterSGIX(void);
DLLEXPORT void GLAPIENTRY glFogFuncSGIS(GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glGetFogFuncSGIS(GLfloat *);
DLLEXPORT void GLAPIENTRY glImageTransformParameteriHP(GLenum, GLenum, GLint);
DLLEXPORT void GLAPIENTRY glImageTransformParameterfHP(GLenum, GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glImageTransformParameterivHP(GLenum, GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glImageTransformParameterfvHP(GLenum, GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glGetImageTransformParameterivHP(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetImageTransformParameterfvHP(GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glColorSubTableEXT(GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCopyColorSubTableEXT(GLenum, GLsizei, GLint, GLint, GLsizei);
DLLEXPORT void GLAPIENTRY glHintPGI(GLenum, GLint);
DLLEXPORT void GLAPIENTRY glColorTableEXT(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glGetColorTableEXT(GLenum, GLenum, GLenum, GLvoid *);
DLLEXPORT void GLAPIENTRY glGetColorTableParameterivEXT(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetColorTableParameterfvEXT(GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetListParameterfvSGIX(GLuint, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetListParameterivSGIX(GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glListParameterfSGIX(GLuint, GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glListParameterfvSGIX(GLuint, GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glListParameteriSGIX(GLuint, GLenum, GLint);
DLLEXPORT void GLAPIENTRY glListParameterivSGIX(GLuint, GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glIndexMaterialEXT(GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glIndexFuncEXT(GLenum, GLclampf);
DLLEXPORT void GLAPIENTRY glLockArraysEXT(GLint, GLsizei);
DLLEXPORT void GLAPIENTRY glUnlockArraysEXT(void);
DLLEXPORT void GLAPIENTRY glCullParameterdvEXT(GLenum, GLdouble *);
DLLEXPORT void GLAPIENTRY glCullParameterfvEXT(GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glFragmentColorMaterialSGIX(GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glFragmentLightfSGIX(GLenum, GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glFragmentLightfvSGIX(GLenum, GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glFragmentLightiSGIX(GLenum, GLenum, GLint);
DLLEXPORT void GLAPIENTRY glFragmentLightivSGIX(GLenum, GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glFragmentLightModelfSGIX(GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glFragmentLightModelfvSGIX(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glFragmentLightModeliSGIX(GLenum, GLint);
DLLEXPORT void GLAPIENTRY glFragmentLightModelivSGIX(GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glFragmentMaterialfSGIX(GLenum, GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glFragmentMaterialfvSGIX(GLenum, GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glFragmentMaterialiSGIX(GLenum, GLenum, GLint);
DLLEXPORT void GLAPIENTRY glFragmentMaterialivSGIX(GLenum, GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glGetFragmentLightfvSGIX(GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetFragmentLightivSGIX(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetFragmentMaterialfvSGIX(GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetFragmentMaterialivSGIX(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glLightEnviSGIX(GLenum, GLint);
DLLEXPORT void GLAPIENTRY glDrawRangeElementsEXT(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glApplyTextureEXT(GLenum);
DLLEXPORT void GLAPIENTRY glTextureLightEXT(GLenum);
DLLEXPORT void GLAPIENTRY glTextureMaterialEXT(GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glAsyncMarkerSGIX(GLuint);
DLLEXPORT GLint GLAPIENTRY glFinishAsyncSGIX(GLuint *);
DLLEXPORT GLint GLAPIENTRY glPollAsyncSGIX(GLuint *);
DLLEXPORT GLuint GLAPIENTRY glGenAsyncMarkersSGIX(GLsizei);
DLLEXPORT void GLAPIENTRY glDeleteAsyncMarkersSGIX(GLuint, GLsizei);
DLLEXPORT GLboolean GLAPIENTRY glIsAsyncMarkerSGIX(GLuint);
DLLEXPORT void GLAPIENTRY glVertexPointervINTEL(GLint, GLenum, const GLvoid **);
DLLEXPORT void GLAPIENTRY glNormalPointervINTEL(GLenum, const GLvoid **);
DLLEXPORT void GLAPIENTRY glColorPointervINTEL(GLint, GLenum, const GLvoid **);
DLLEXPORT void GLAPIENTRY glTexCoordPointervINTEL(GLint, GLenum, const GLvoid **);
DLLEXPORT void GLAPIENTRY glPixelTransformParameteriEXT(GLenum, GLenum, GLint);
DLLEXPORT void GLAPIENTRY glPixelTransformParameterfEXT(GLenum, GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glPixelTransformParameterivEXT(GLenum, GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glPixelTransformParameterfvEXT(GLenum, GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glSecondaryColor3bEXT(GLbyte, GLbyte, GLbyte);
DLLEXPORT void GLAPIENTRY glSecondaryColor3bvEXT(const GLbyte *);
DLLEXPORT void GLAPIENTRY glSecondaryColor3dEXT(GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glSecondaryColor3dvEXT(const GLdouble *);
DLLEXPORT void GLAPIENTRY glSecondaryColor3fEXT(GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glSecondaryColor3fvEXT(const GLfloat *);
DLLEXPORT void GLAPIENTRY glSecondaryColor3iEXT(GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glSecondaryColor3ivEXT(const GLint *);
DLLEXPORT void GLAPIENTRY glSecondaryColor3sEXT(GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glSecondaryColor3svEXT(const GLshort *);
DLLEXPORT void GLAPIENTRY glSecondaryColor3ubEXT(GLubyte, GLubyte, GLubyte);
DLLEXPORT void GLAPIENTRY glSecondaryColor3ubvEXT(const GLubyte *);
DLLEXPORT void GLAPIENTRY glSecondaryColor3uiEXT(GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glSecondaryColor3uivEXT(const GLuint *);
DLLEXPORT void GLAPIENTRY glSecondaryColor3usEXT(GLushort, GLushort, GLushort);
DLLEXPORT void GLAPIENTRY glSecondaryColor3usvEXT(const GLushort *);
DLLEXPORT void GLAPIENTRY glSecondaryColorPointerEXT(GLint, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glTextureNormalEXT(GLenum);
DLLEXPORT void GLAPIENTRY glMultiDrawArraysEXT(GLenum, const GLint *, const GLsizei *, GLsizei);
DLLEXPORT void GLAPIENTRY glMultiDrawElementsEXT(GLenum, const GLsizei *, GLenum, const GLvoid **, GLsizei);
DLLEXPORT void GLAPIENTRY glFogCoordfEXT(GLfloat);
DLLEXPORT void GLAPIENTRY glFogCoordfvEXT(const GLfloat *);
DLLEXPORT void GLAPIENTRY glFogCoorddEXT(GLdouble);
DLLEXPORT void GLAPIENTRY glFogCoorddvEXT(const GLdouble *);
DLLEXPORT void GLAPIENTRY glFogCoordPointerEXT(GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glTangent3bEXT(GLbyte, GLbyte, GLbyte);
DLLEXPORT void GLAPIENTRY glTangent3bvEXT(const GLbyte *);
DLLEXPORT void GLAPIENTRY glTangent3dEXT(GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glTangent3dvEXT(const GLdouble *);
DLLEXPORT void GLAPIENTRY glTangent3fEXT(GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glTangent3fvEXT(const GLfloat *);
DLLEXPORT void GLAPIENTRY glTangent3iEXT(GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glTangent3ivEXT(const GLint *);
DLLEXPORT void GLAPIENTRY glTangent3sEXT(GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glTangent3svEXT(const GLshort *);
DLLEXPORT void GLAPIENTRY glBinormal3bEXT(GLbyte, GLbyte, GLbyte);
DLLEXPORT void GLAPIENTRY glBinormal3bvEXT(const GLbyte *);
DLLEXPORT void GLAPIENTRY glBinormal3dEXT(GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glBinormal3dvEXT(const GLdouble *);
DLLEXPORT void GLAPIENTRY glBinormal3fEXT(GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glBinormal3fvEXT(const GLfloat *);
DLLEXPORT void GLAPIENTRY glBinormal3iEXT(GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glBinormal3ivEXT(const GLint *);
DLLEXPORT void GLAPIENTRY glBinormal3sEXT(GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glBinormal3svEXT(const GLshort *);
DLLEXPORT void GLAPIENTRY glTangentPointerEXT(GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glBinormalPointerEXT(GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glFinishTextureSUNX(void);
DLLEXPORT void GLAPIENTRY glGlobalAlphaFactorbSUN(GLbyte);
DLLEXPORT void GLAPIENTRY glGlobalAlphaFactorsSUN(GLshort);
DLLEXPORT void GLAPIENTRY glGlobalAlphaFactoriSUN(GLint);
DLLEXPORT void GLAPIENTRY glGlobalAlphaFactorfSUN(GLfloat);
DLLEXPORT void GLAPIENTRY glGlobalAlphaFactordSUN(GLdouble);
DLLEXPORT void GLAPIENTRY glGlobalAlphaFactorubSUN(GLubyte);
DLLEXPORT void GLAPIENTRY glGlobalAlphaFactorusSUN(GLushort);
DLLEXPORT void GLAPIENTRY glGlobalAlphaFactoruiSUN(GLuint);
DLLEXPORT void GLAPIENTRY glReplacementCodeuiSUN(GLuint);
DLLEXPORT void GLAPIENTRY glReplacementCodeusSUN(GLushort);
DLLEXPORT void GLAPIENTRY glReplacementCodeubSUN(GLubyte);
DLLEXPORT void GLAPIENTRY glReplacementCodeuivSUN(const GLuint *);
DLLEXPORT void GLAPIENTRY glReplacementCodeusvSUN(const GLushort *);
DLLEXPORT void GLAPIENTRY glReplacementCodeubvSUN(const GLubyte *);
DLLEXPORT void GLAPIENTRY glReplacementCodePointerSUN(GLenum, GLsizei, const GLvoid **);
DLLEXPORT void GLAPIENTRY glColor4ubVertex2fSUN(GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glColor4ubVertex2fvSUN(const GLubyte *, const GLfloat *);
DLLEXPORT void GLAPIENTRY glColor4ubVertex3fSUN(GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glColor4ubVertex3fvSUN(const GLubyte *, const GLfloat *);
DLLEXPORT void GLAPIENTRY glColor3fVertex3fSUN(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glColor3fVertex3fvSUN(const GLfloat *, const GLfloat *);
DLLEXPORT void GLAPIENTRY glNormal3fVertex3fSUN(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glNormal3fVertex3fvSUN(const GLfloat *, const GLfloat *);
DLLEXPORT void GLAPIENTRY glColor4fNormal3fVertex3fSUN(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glColor4fNormal3fVertex3fvSUN(const GLfloat *, const GLfloat *, const GLfloat *);
DLLEXPORT void GLAPIENTRY glTexCoord2fVertex3fSUN(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glTexCoord2fVertex3fvSUN(const GLfloat *, const GLfloat *);
DLLEXPORT void GLAPIENTRY glTexCoord4fVertex4fSUN(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glTexCoord4fVertex4fvSUN(const GLfloat *, const GLfloat *);
DLLEXPORT void GLAPIENTRY glTexCoord2fColor4ubVertex3fSUN(GLfloat, GLfloat, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glTexCoord2fColor4ubVertex3fvSUN(const GLfloat *, const GLubyte *, const GLfloat *);
DLLEXPORT void GLAPIENTRY glTexCoord2fColor3fVertex3fSUN(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glTexCoord2fColor3fVertex3fvSUN(const GLfloat *, const GLfloat *, const GLfloat *);
DLLEXPORT void GLAPIENTRY glTexCoord2fNormal3fVertex3fSUN(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glTexCoord2fNormal3fVertex3fvSUN(const GLfloat *, const GLfloat *, const GLfloat *);
DLLEXPORT void GLAPIENTRY glTexCoord2fColor4fNormal3fVertex3fSUN(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glTexCoord2fColor4fNormal3fVertex3fvSUN(const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
DLLEXPORT void GLAPIENTRY glTexCoord4fColor4fNormal3fVertex4fSUN(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glTexCoord4fColor4fNormal3fVertex4fvSUN(const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
DLLEXPORT void GLAPIENTRY glReplacementCodeuiVertex3fSUN(GLuint, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glReplacementCodeuiVertex3fvSUN(const GLuint *, const GLfloat *);
DLLEXPORT void GLAPIENTRY glReplacementCodeuiColor4ubVertex3fSUN(GLuint, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glReplacementCodeuiColor4ubVertex3fvSUN(const GLuint *, const GLubyte *, const GLfloat *);
DLLEXPORT void GLAPIENTRY glReplacementCodeuiColor3fVertex3fSUN(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glReplacementCodeuiColor3fVertex3fvSUN(const GLuint *, const GLfloat *, const GLfloat *);
DLLEXPORT void GLAPIENTRY glReplacementCodeuiNormal3fVertex3fSUN(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glReplacementCodeuiNormal3fVertex3fvSUN(const GLuint *, const GLfloat *, const GLfloat *);
DLLEXPORT void GLAPIENTRY glReplacementCodeuiColor4fNormal3fVertex3fSUN(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glReplacementCodeuiColor4fNormal3fVertex3fvSUN(const GLuint *, const GLfloat *, const GLfloat *, const GLfloat *);
DLLEXPORT void GLAPIENTRY glReplacementCodeuiTexCoord2fVertex3fSUN(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glReplacementCodeuiTexCoord2fVertex3fvSUN(const GLuint *, const GLfloat *, const GLfloat *);
DLLEXPORT void GLAPIENTRY glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(const GLuint *, const GLfloat *, const GLfloat *, const GLfloat *);
DLLEXPORT void GLAPIENTRY glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(const GLuint *, const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
DLLEXPORT void GLAPIENTRY glBlendFuncSeparateEXT(GLenum, GLenum, GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glBlendFuncSeparateINGR(GLenum, GLenum, GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glVertexWeightfEXT(GLfloat);
DLLEXPORT void GLAPIENTRY glVertexWeightfvEXT(const GLfloat *);
DLLEXPORT void GLAPIENTRY glVertexWeightPointerEXT(GLsizei, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glFlushVertexArrayRangeNV(void);
DLLEXPORT void GLAPIENTRY glVertexArrayRangeNV(GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCombinerParameterfvNV(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glCombinerParameterfNV(GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glCombinerParameterivNV(GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glCombinerParameteriNV(GLenum, GLint);
DLLEXPORT void GLAPIENTRY glCombinerInputNV(GLenum, GLenum, GLenum, GLenum, GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glCombinerOutputNV(GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLboolean, GLboolean, GLboolean);
DLLEXPORT void GLAPIENTRY glFinalCombinerInputNV(GLenum, GLenum, GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glGetCombinerInputParameterfvNV(GLenum, GLenum, GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetCombinerInputParameterivNV(GLenum, GLenum, GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetCombinerOutputParameterfvNV(GLenum, GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetCombinerOutputParameterivNV(GLenum, GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetFinalCombinerInputParameterfvNV(GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetFinalCombinerInputParameterivNV(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glResizeBuffersMESA(void);
DLLEXPORT void GLAPIENTRY glWindowPos2dMESA(GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glWindowPos2dvMESA(const GLdouble *);
DLLEXPORT void GLAPIENTRY glWindowPos2fMESA(GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glWindowPos2fvMESA(const GLfloat *);
DLLEXPORT void GLAPIENTRY glWindowPos2iMESA(GLint, GLint);
DLLEXPORT void GLAPIENTRY glWindowPos2ivMESA(const GLint *);
DLLEXPORT void GLAPIENTRY glWindowPos2sMESA(GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glWindowPos2svMESA(const GLshort *);
DLLEXPORT void GLAPIENTRY glWindowPos3dMESA(GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glWindowPos3dvMESA(const GLdouble *);
DLLEXPORT void GLAPIENTRY glWindowPos3fMESA(GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glWindowPos3fvMESA(const GLfloat *);
DLLEXPORT void GLAPIENTRY glWindowPos3iMESA(GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glWindowPos3ivMESA(const GLint *);
DLLEXPORT void GLAPIENTRY glWindowPos3sMESA(GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glWindowPos3svMESA(const GLshort *);
DLLEXPORT void GLAPIENTRY glWindowPos4dMESA(GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glWindowPos4dvMESA(const GLdouble *);
DLLEXPORT void GLAPIENTRY glWindowPos4fMESA(GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glWindowPos4fvMESA(const GLfloat *);
DLLEXPORT void GLAPIENTRY glWindowPos4iMESA(GLint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glWindowPos4ivMESA(const GLint *);
DLLEXPORT void GLAPIENTRY glWindowPos4sMESA(GLshort, GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glWindowPos4svMESA(const GLshort *);
DLLEXPORT void GLAPIENTRY glMultiModeDrawArraysIBM(const GLenum *, const GLint *, const GLsizei *, GLsizei, GLint);
DLLEXPORT void GLAPIENTRY glMultiModeDrawElementsIBM(const GLenum *, const GLsizei *, GLenum, const GLvoid * const *, GLsizei, GLint);
DLLEXPORT void GLAPIENTRY glColorPointerListIBM(GLint, GLenum, GLint, const GLvoid **, GLint);
DLLEXPORT void GLAPIENTRY glSecondaryColorPointerListIBM(GLint, GLenum, GLint, const GLvoid **, GLint);
DLLEXPORT void GLAPIENTRY glEdgeFlagPointerListIBM(GLint, const GLboolean **, GLint);
DLLEXPORT void GLAPIENTRY glFogCoordPointerListIBM(GLenum, GLint, const GLvoid **, GLint);
DLLEXPORT void GLAPIENTRY glIndexPointerListIBM(GLenum, GLint, const GLvoid **, GLint);
DLLEXPORT void GLAPIENTRY glNormalPointerListIBM(GLenum, GLint, const GLvoid **, GLint);
DLLEXPORT void GLAPIENTRY glTexCoordPointerListIBM(GLint, GLenum, GLint, const GLvoid **, GLint);
DLLEXPORT void GLAPIENTRY glVertexPointerListIBM(GLint, GLenum, GLint, const GLvoid **, GLint);
DLLEXPORT void GLAPIENTRY glTbufferMask3DFX(GLuint);
DLLEXPORT void GLAPIENTRY glSampleMaskEXT(GLclampf, GLboolean);
DLLEXPORT void GLAPIENTRY glSamplePatternEXT(GLenum);
DLLEXPORT void GLAPIENTRY glTextureColorMaskSGIS(GLboolean, GLboolean, GLboolean, GLboolean);
DLLEXPORT void GLAPIENTRY glIglooInterfaceSGIX(GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glDeleteFencesNV(GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glGenFencesNV(GLsizei, GLuint *);
DLLEXPORT GLboolean GLAPIENTRY glIsFenceNV(GLuint);
DLLEXPORT GLboolean GLAPIENTRY glTestFenceNV(GLuint);
DLLEXPORT void GLAPIENTRY glGetFenceivNV(GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glFinishFenceNV(GLuint);
DLLEXPORT void GLAPIENTRY glSetFenceNV(GLuint, GLenum);
DLLEXPORT void GLAPIENTRY glMapControlPointsNV(GLenum, GLuint, GLenum, GLsizei, GLsizei, GLint, GLint, GLboolean, const GLvoid *);
DLLEXPORT void GLAPIENTRY glMapParameterivNV(GLenum, GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glMapParameterfvNV(GLenum, GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glGetMapControlPointsNV(GLenum, GLuint, GLenum, GLsizei, GLsizei, GLboolean, GLvoid *);
DLLEXPORT void GLAPIENTRY glGetMapParameterivNV(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetMapParameterfvNV(GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetMapAttribParameterivNV(GLenum, GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetMapAttribParameterfvNV(GLenum, GLuint, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glEvalMapsNV(GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glCombinerStageParameterfvNV(GLenum, GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glGetCombinerStageParameterfvNV(GLenum, GLenum, GLfloat *);
DLLEXPORT GLboolean GLAPIENTRY glAreProgramsResidentNV(GLsizei, const GLuint *, GLboolean *);
DLLEXPORT void GLAPIENTRY glBindProgramNV(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glDeleteProgramsNV(GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glExecuteProgramNV(GLenum, GLuint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glGenProgramsNV(GLsizei, GLuint *);
DLLEXPORT void GLAPIENTRY glGetProgramParameterdvNV(GLenum, GLuint, GLenum, GLdouble *);
DLLEXPORT void GLAPIENTRY glGetProgramParameterfvNV(GLenum, GLuint, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetProgramivNV(GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetProgramStringNV(GLuint, GLenum, GLubyte *);
DLLEXPORT void GLAPIENTRY glGetTrackMatrixivNV(GLenum, GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetVertexAttribdvNV(GLuint, GLenum, GLdouble *);
DLLEXPORT void GLAPIENTRY glGetVertexAttribfvNV(GLuint, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetVertexAttribivNV(GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetVertexAttribPointervNV(GLuint, GLenum, GLvoid **);
DLLEXPORT GLboolean GLAPIENTRY glIsProgramNV(GLuint);
DLLEXPORT void GLAPIENTRY glLoadProgramNV(GLenum, GLuint, GLsizei, const GLubyte *);
DLLEXPORT void GLAPIENTRY glProgramParameter4dNV(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glProgramParameter4dvNV(GLenum, GLuint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramParameter4fNV(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glProgramParameter4fvNV(GLenum, GLuint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramParameters4dvNV(GLenum, GLuint, GLuint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramParameters4fvNV(GLenum, GLuint, GLuint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glRequestResidentProgramsNV(GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glTrackMatrixNV(GLenum, GLuint, GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glVertexAttribPointerNV(GLuint, GLint, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glVertexAttrib1dNV(GLuint, GLdouble);
DLLEXPORT void GLAPIENTRY glVertexAttrib1dvNV(GLuint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexAttrib1fNV(GLuint, GLfloat);
DLLEXPORT void GLAPIENTRY glVertexAttrib1fvNV(GLuint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glVertexAttrib1sNV(GLuint, GLshort);
DLLEXPORT void GLAPIENTRY glVertexAttrib1svNV(GLuint, const GLshort *);
DLLEXPORT void GLAPIENTRY glVertexAttrib2dNV(GLuint, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glVertexAttrib2dvNV(GLuint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexAttrib2fNV(GLuint, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glVertexAttrib2fvNV(GLuint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glVertexAttrib2sNV(GLuint, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glVertexAttrib2svNV(GLuint, const GLshort *);
DLLEXPORT void GLAPIENTRY glVertexAttrib3dNV(GLuint, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glVertexAttrib3dvNV(GLuint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexAttrib3fNV(GLuint, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glVertexAttrib3fvNV(GLuint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glVertexAttrib3sNV(GLuint, GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glVertexAttrib3svNV(GLuint, const GLshort *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4dNV(GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glVertexAttrib4dvNV(GLuint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4fNV(GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glVertexAttrib4fvNV(GLuint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4sNV(GLuint, GLshort, GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glVertexAttrib4svNV(GLuint, const GLshort *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4ubNV(GLuint, GLubyte, GLubyte, GLubyte, GLubyte);
DLLEXPORT void GLAPIENTRY glVertexAttrib4ubvNV(GLuint, const GLubyte *);
DLLEXPORT void GLAPIENTRY glVertexAttribs1dvNV(GLuint, GLsizei, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexAttribs1fvNV(GLuint, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glVertexAttribs1svNV(GLuint, GLsizei, const GLshort *);
DLLEXPORT void GLAPIENTRY glVertexAttribs2dvNV(GLuint, GLsizei, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexAttribs2fvNV(GLuint, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glVertexAttribs2svNV(GLuint, GLsizei, const GLshort *);
DLLEXPORT void GLAPIENTRY glVertexAttribs3dvNV(GLuint, GLsizei, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexAttribs3fvNV(GLuint, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glVertexAttribs3svNV(GLuint, GLsizei, const GLshort *);
DLLEXPORT void GLAPIENTRY glVertexAttribs4dvNV(GLuint, GLsizei, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexAttribs4fvNV(GLuint, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glVertexAttribs4svNV(GLuint, GLsizei, const GLshort *);
DLLEXPORT void GLAPIENTRY glVertexAttribs4ubvNV(GLuint, GLsizei, const GLubyte *);
DLLEXPORT void GLAPIENTRY glTexBumpParameterivATI(GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glTexBumpParameterfvATI(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glGetTexBumpParameterivATI(GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetTexBumpParameterfvATI(GLenum, GLfloat *);
DLLEXPORT GLuint GLAPIENTRY glGenFragmentShadersATI(GLuint);
DLLEXPORT void GLAPIENTRY glBindFragmentShaderATI(GLuint);
DLLEXPORT void GLAPIENTRY glDeleteFragmentShaderATI(GLuint);
DLLEXPORT void GLAPIENTRY glBeginFragmentShaderATI(void);
DLLEXPORT void GLAPIENTRY glEndFragmentShaderATI(void);
DLLEXPORT void GLAPIENTRY glPassTexCoordATI(GLuint, GLuint, GLenum);
DLLEXPORT void GLAPIENTRY glSampleMapATI(GLuint, GLuint, GLenum);
DLLEXPORT void GLAPIENTRY glColorFragmentOp1ATI(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glColorFragmentOp2ATI(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glColorFragmentOp3ATI(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glAlphaFragmentOp1ATI(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glAlphaFragmentOp2ATI(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glAlphaFragmentOp3ATI(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glSetFragmentShaderConstantATI(GLuint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glPNTrianglesiATI(GLenum, GLint);
DLLEXPORT void GLAPIENTRY glPNTrianglesfATI(GLenum, GLfloat);
DLLEXPORT GLuint GLAPIENTRY glNewObjectBufferATI(GLsizei, const GLvoid *, GLenum);
DLLEXPORT GLboolean GLAPIENTRY glIsObjectBufferATI(GLuint);
DLLEXPORT void GLAPIENTRY glUpdateObjectBufferATI(GLuint, GLuint, GLsizei, const GLvoid *, GLenum);
DLLEXPORT void GLAPIENTRY glGetObjectBufferfvATI(GLuint, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetObjectBufferivATI(GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glFreeObjectBufferATI(GLuint);
DLLEXPORT void GLAPIENTRY glArrayObjectATI(GLenum, GLint, GLenum, GLsizei, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glGetArrayObjectfvATI(GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetArrayObjectivATI(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glVariantArrayObjectATI(GLuint, GLenum, GLsizei, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glGetVariantArrayObjectfvATI(GLuint, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetVariantArrayObjectivATI(GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glBeginVertexShaderEXT(void);
DLLEXPORT void GLAPIENTRY glEndVertexShaderEXT(void);
DLLEXPORT void GLAPIENTRY glBindVertexShaderEXT(GLuint);
DLLEXPORT GLuint GLAPIENTRY glGenVertexShadersEXT(GLuint);
DLLEXPORT void GLAPIENTRY glDeleteVertexShaderEXT(GLuint);
DLLEXPORT void GLAPIENTRY glShaderOp1EXT(GLenum, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glShaderOp2EXT(GLenum, GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glShaderOp3EXT(GLenum, GLuint, GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glSwizzleEXT(GLuint, GLuint, GLenum, GLenum, GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glWriteMaskEXT(GLuint, GLuint, GLenum, GLenum, GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glInsertComponentEXT(GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glExtractComponentEXT(GLuint, GLuint, GLuint);
DLLEXPORT GLuint GLAPIENTRY glGenSymbolsEXT(GLenum, GLenum, GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glSetInvariantEXT(GLuint, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glSetLocalConstantEXT(GLuint, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glVariantbvEXT(GLuint, const GLbyte *);
DLLEXPORT void GLAPIENTRY glVariantsvEXT(GLuint, const GLshort *);
DLLEXPORT void GLAPIENTRY glVariantivEXT(GLuint, const GLint *);
DLLEXPORT void GLAPIENTRY glVariantfvEXT(GLuint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glVariantdvEXT(GLuint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVariantubvEXT(GLuint, const GLubyte *);
DLLEXPORT void GLAPIENTRY glVariantusvEXT(GLuint, const GLushort *);
DLLEXPORT void GLAPIENTRY glVariantuivEXT(GLuint, const GLuint *);
DLLEXPORT void GLAPIENTRY glVariantPointerEXT(GLuint, GLenum, GLuint, const GLvoid *);
DLLEXPORT void GLAPIENTRY glEnableVariantClientStateEXT(GLuint);
DLLEXPORT void GLAPIENTRY glDisableVariantClientStateEXT(GLuint);
DLLEXPORT GLuint GLAPIENTRY glBindLightParameterEXT(GLenum, GLenum);
DLLEXPORT GLuint GLAPIENTRY glBindMaterialParameterEXT(GLenum, GLenum);
DLLEXPORT GLuint GLAPIENTRY glBindTexGenParameterEXT(GLenum, GLenum, GLenum);
DLLEXPORT GLuint GLAPIENTRY glBindTextureUnitParameterEXT(GLenum, GLenum);
DLLEXPORT GLuint GLAPIENTRY glBindParameterEXT(GLenum);
DLLEXPORT GLboolean GLAPIENTRY glIsVariantEnabledEXT(GLuint, GLenum);
DLLEXPORT void GLAPIENTRY glGetVariantBooleanvEXT(GLuint, GLenum, GLboolean *);
DLLEXPORT void GLAPIENTRY glGetVariantIntegervEXT(GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetVariantFloatvEXT(GLuint, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetVariantPointervEXT(GLuint, GLenum, GLvoid **);
DLLEXPORT void GLAPIENTRY glGetInvariantBooleanvEXT(GLuint, GLenum, GLboolean *);
DLLEXPORT void GLAPIENTRY glGetInvariantIntegervEXT(GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetInvariantFloatvEXT(GLuint, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetLocalConstantBooleanvEXT(GLuint, GLenum, GLboolean *);
DLLEXPORT void GLAPIENTRY glGetLocalConstantIntegervEXT(GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetLocalConstantFloatvEXT(GLuint, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glVertexStream1sATI(GLenum, GLshort);
DLLEXPORT void GLAPIENTRY glVertexStream1svATI(GLenum, const GLshort *);
DLLEXPORT void GLAPIENTRY glVertexStream1iATI(GLenum, GLint);
DLLEXPORT void GLAPIENTRY glVertexStream1ivATI(GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glVertexStream1fATI(GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glVertexStream1fvATI(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glVertexStream1dATI(GLenum, GLdouble);
DLLEXPORT void GLAPIENTRY glVertexStream1dvATI(GLenum, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexStream2sATI(GLenum, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glVertexStream2svATI(GLenum, const GLshort *);
DLLEXPORT void GLAPIENTRY glVertexStream2iATI(GLenum, GLint, GLint);
DLLEXPORT void GLAPIENTRY glVertexStream2ivATI(GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glVertexStream2fATI(GLenum, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glVertexStream2fvATI(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glVertexStream2dATI(GLenum, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glVertexStream2dvATI(GLenum, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexStream3sATI(GLenum, GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glVertexStream3svATI(GLenum, const GLshort *);
DLLEXPORT void GLAPIENTRY glVertexStream3iATI(GLenum, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glVertexStream3ivATI(GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glVertexStream3fATI(GLenum, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glVertexStream3fvATI(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glVertexStream3dATI(GLenum, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glVertexStream3dvATI(GLenum, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexStream4sATI(GLenum, GLshort, GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glVertexStream4svATI(GLenum, const GLshort *);
DLLEXPORT void GLAPIENTRY glVertexStream4iATI(GLenum, GLint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glVertexStream4ivATI(GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glVertexStream4fATI(GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glVertexStream4fvATI(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glVertexStream4dATI(GLenum, GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glVertexStream4dvATI(GLenum, const GLdouble *);
DLLEXPORT void GLAPIENTRY glNormalStream3bATI(GLenum, GLbyte, GLbyte, GLbyte);
DLLEXPORT void GLAPIENTRY glNormalStream3bvATI(GLenum, const GLbyte *);
DLLEXPORT void GLAPIENTRY glNormalStream3sATI(GLenum, GLshort, GLshort, GLshort);
DLLEXPORT void GLAPIENTRY glNormalStream3svATI(GLenum, const GLshort *);
DLLEXPORT void GLAPIENTRY glNormalStream3iATI(GLenum, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glNormalStream3ivATI(GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glNormalStream3fATI(GLenum, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glNormalStream3fvATI(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glNormalStream3dATI(GLenum, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glNormalStream3dvATI(GLenum, const GLdouble *);
DLLEXPORT void GLAPIENTRY glClientActiveVertexStreamATI(GLenum);
DLLEXPORT void GLAPIENTRY glVertexBlendEnviATI(GLenum, GLint);
DLLEXPORT void GLAPIENTRY glVertexBlendEnvfATI(GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glElementPointerATI(GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glDrawElementArrayATI(GLenum, GLsizei);
DLLEXPORT void GLAPIENTRY glDrawRangeElementArrayATI(GLenum, GLuint, GLuint, GLsizei);
DLLEXPORT void GLAPIENTRY glDrawMeshArraysSUN(GLenum, GLint, GLsizei, GLsizei);
DLLEXPORT void GLAPIENTRY glGenOcclusionQueriesNV(GLsizei, GLuint *);
DLLEXPORT void GLAPIENTRY glDeleteOcclusionQueriesNV(GLsizei, const GLuint *);
DLLEXPORT GLboolean GLAPIENTRY glIsOcclusionQueryNV(GLuint);
DLLEXPORT void GLAPIENTRY glBeginOcclusionQueryNV(GLuint);
DLLEXPORT void GLAPIENTRY glEndOcclusionQueryNV(void);
DLLEXPORT void GLAPIENTRY glGetOcclusionQueryivNV(GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetOcclusionQueryuivNV(GLuint, GLenum, GLuint *);
DLLEXPORT void GLAPIENTRY glPointParameteriNV(GLenum, GLint);
DLLEXPORT void GLAPIENTRY glPointParameterivNV(GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glActiveStencilFaceEXT(GLenum);
DLLEXPORT void GLAPIENTRY glElementPointerAPPLE(GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glDrawElementArrayAPPLE(GLenum, GLint, GLsizei);
DLLEXPORT void GLAPIENTRY glDrawRangeElementArrayAPPLE(GLenum, GLuint, GLuint, GLint, GLsizei);
DLLEXPORT void GLAPIENTRY glMultiDrawElementArrayAPPLE(GLenum, const GLint *, const GLsizei *, GLsizei);
DLLEXPORT void GLAPIENTRY glMultiDrawRangeElementArrayAPPLE(GLenum, GLuint, GLuint, const GLint *, const GLsizei *, GLsizei);
DLLEXPORT void GLAPIENTRY glGenFencesAPPLE(GLsizei, GLuint *);
DLLEXPORT void GLAPIENTRY glDeleteFencesAPPLE(GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glSetFenceAPPLE(GLuint);
DLLEXPORT GLboolean GLAPIENTRY glIsFenceAPPLE(GLuint);
DLLEXPORT GLboolean GLAPIENTRY glTestFenceAPPLE(GLuint);
DLLEXPORT void GLAPIENTRY glFinishFenceAPPLE(GLuint);
DLLEXPORT GLboolean GLAPIENTRY glTestObjectAPPLE(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glFinishObjectAPPLE(GLenum, GLint);
DLLEXPORT void GLAPIENTRY glBindVertexArrayAPPLE(GLuint);
DLLEXPORT void GLAPIENTRY glDeleteVertexArraysAPPLE(GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glGenVertexArraysAPPLE(GLsizei, GLuint *);
DLLEXPORT GLboolean GLAPIENTRY glIsVertexArrayAPPLE(GLuint);
DLLEXPORT void GLAPIENTRY glVertexArrayRangeAPPLE(GLsizei, GLvoid *);
DLLEXPORT void GLAPIENTRY glFlushVertexArrayRangeAPPLE(GLsizei, GLvoid *);
DLLEXPORT void GLAPIENTRY glVertexArrayParameteriAPPLE(GLenum, GLint);
DLLEXPORT void GLAPIENTRY glDrawBuffersATI(GLsizei, const GLenum *);
DLLEXPORT void GLAPIENTRY glProgramNamedParameter4fNV(GLuint, GLsizei, const GLubyte *, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glProgramNamedParameter4dNV(GLuint, GLsizei, const GLubyte *, GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glProgramNamedParameter4fvNV(GLuint, GLsizei, const GLubyte *, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramNamedParameter4dvNV(GLuint, GLsizei, const GLubyte *, const GLdouble *);
DLLEXPORT void GLAPIENTRY glGetProgramNamedParameterfvNV(GLuint, GLsizei, const GLubyte *, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetProgramNamedParameterdvNV(GLuint, GLsizei, const GLubyte *, GLdouble *);
DLLEXPORT void GLAPIENTRY glVertex2hNV(GLhalfNV, GLhalfNV);
DLLEXPORT void GLAPIENTRY glVertex2hvNV(const GLhalfNV *);
DLLEXPORT void GLAPIENTRY glVertex3hNV(GLhalfNV, GLhalfNV, GLhalfNV);
DLLEXPORT void GLAPIENTRY glVertex3hvNV(const GLhalfNV *);
DLLEXPORT void GLAPIENTRY glVertex4hNV(GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV);
DLLEXPORT void GLAPIENTRY glVertex4hvNV(const GLhalfNV *);
DLLEXPORT void GLAPIENTRY glNormal3hNV(GLhalfNV, GLhalfNV, GLhalfNV);
DLLEXPORT void GLAPIENTRY glNormal3hvNV(const GLhalfNV *);
DLLEXPORT void GLAPIENTRY glColor3hNV(GLhalfNV, GLhalfNV, GLhalfNV);
DLLEXPORT void GLAPIENTRY glColor3hvNV(const GLhalfNV *);
DLLEXPORT void GLAPIENTRY glColor4hNV(GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV);
DLLEXPORT void GLAPIENTRY glColor4hvNV(const GLhalfNV *);
DLLEXPORT void GLAPIENTRY glTexCoord1hNV(GLhalfNV);
DLLEXPORT void GLAPIENTRY glTexCoord1hvNV(const GLhalfNV *);
DLLEXPORT void GLAPIENTRY glTexCoord2hNV(GLhalfNV, GLhalfNV);
DLLEXPORT void GLAPIENTRY glTexCoord2hvNV(const GLhalfNV *);
DLLEXPORT void GLAPIENTRY glTexCoord3hNV(GLhalfNV, GLhalfNV, GLhalfNV);
DLLEXPORT void GLAPIENTRY glTexCoord3hvNV(const GLhalfNV *);
DLLEXPORT void GLAPIENTRY glTexCoord4hNV(GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV);
DLLEXPORT void GLAPIENTRY glTexCoord4hvNV(const GLhalfNV *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord1hNV(GLenum, GLhalfNV);
DLLEXPORT void GLAPIENTRY glMultiTexCoord1hvNV(GLenum, const GLhalfNV *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord2hNV(GLenum, GLhalfNV, GLhalfNV);
DLLEXPORT void GLAPIENTRY glMultiTexCoord2hvNV(GLenum, const GLhalfNV *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord3hNV(GLenum, GLhalfNV, GLhalfNV, GLhalfNV);
DLLEXPORT void GLAPIENTRY glMultiTexCoord3hvNV(GLenum, const GLhalfNV *);
DLLEXPORT void GLAPIENTRY glMultiTexCoord4hNV(GLenum, GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV);
DLLEXPORT void GLAPIENTRY glMultiTexCoord4hvNV(GLenum, const GLhalfNV *);
DLLEXPORT void GLAPIENTRY glFogCoordhNV(GLhalfNV);
DLLEXPORT void GLAPIENTRY glFogCoordhvNV(const GLhalfNV *);
DLLEXPORT void GLAPIENTRY glSecondaryColor3hNV(GLhalfNV, GLhalfNV, GLhalfNV);
DLLEXPORT void GLAPIENTRY glSecondaryColor3hvNV(const GLhalfNV *);
DLLEXPORT void GLAPIENTRY glVertexWeighthNV(GLhalfNV);
DLLEXPORT void GLAPIENTRY glVertexWeighthvNV(const GLhalfNV *);
DLLEXPORT void GLAPIENTRY glVertexAttrib1hNV(GLuint, GLhalfNV);
DLLEXPORT void GLAPIENTRY glVertexAttrib1hvNV(GLuint, const GLhalfNV *);
DLLEXPORT void GLAPIENTRY glVertexAttrib2hNV(GLuint, GLhalfNV, GLhalfNV);
DLLEXPORT void GLAPIENTRY glVertexAttrib2hvNV(GLuint, const GLhalfNV *);
DLLEXPORT void GLAPIENTRY glVertexAttrib3hNV(GLuint, GLhalfNV, GLhalfNV, GLhalfNV);
DLLEXPORT void GLAPIENTRY glVertexAttrib3hvNV(GLuint, const GLhalfNV *);
DLLEXPORT void GLAPIENTRY glVertexAttrib4hNV(GLuint, GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV);
DLLEXPORT void GLAPIENTRY glVertexAttrib4hvNV(GLuint, const GLhalfNV *);
DLLEXPORT void GLAPIENTRY glVertexAttribs1hvNV(GLuint, GLsizei, const GLhalfNV *);
DLLEXPORT void GLAPIENTRY glVertexAttribs2hvNV(GLuint, GLsizei, const GLhalfNV *);
DLLEXPORT void GLAPIENTRY glVertexAttribs3hvNV(GLuint, GLsizei, const GLhalfNV *);
DLLEXPORT void GLAPIENTRY glVertexAttribs4hvNV(GLuint, GLsizei, const GLhalfNV *);
DLLEXPORT void GLAPIENTRY glPixelDataRangeNV(GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glFlushPixelDataRangeNV(GLenum);
DLLEXPORT void GLAPIENTRY glPrimitiveRestartNV(void);
DLLEXPORT void GLAPIENTRY glPrimitiveRestartIndexNV(GLuint);
DLLEXPORT GLvoid *GLAPIENTRY glMapObjectBufferATI(GLuint);
DLLEXPORT void GLAPIENTRY glUnmapObjectBufferATI(GLuint);
DLLEXPORT void GLAPIENTRY glStencilOpSeparateATI(GLenum, GLenum, GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glStencilFuncSeparateATI(GLenum, GLenum, GLint, GLuint);
DLLEXPORT void GLAPIENTRY glVertexAttribArrayObjectATI(GLuint, GLint, GLenum, GLboolean, GLsizei, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glGetVertexAttribArrayObjectfvATI(GLuint, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetVertexAttribArrayObjectivATI(GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glDepthBoundsEXT(GLclampd, GLclampd);
DLLEXPORT void GLAPIENTRY glBlendEquationSeparateEXT(GLenum, GLenum);
DLLEXPORT GLboolean GLAPIENTRY glIsRenderbufferEXT(GLuint);
DLLEXPORT void GLAPIENTRY glBindRenderbufferEXT(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glDeleteRenderbuffersEXT(GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glGenRenderbuffersEXT(GLsizei, GLuint *);
DLLEXPORT void GLAPIENTRY glRenderbufferStorageEXT(GLenum, GLenum, GLsizei, GLsizei);
DLLEXPORT void GLAPIENTRY glGetRenderbufferParameterivEXT(GLenum, GLenum, GLint *);
DLLEXPORT GLboolean GLAPIENTRY glIsFramebufferEXT(GLuint);
DLLEXPORT void GLAPIENTRY glBindFramebufferEXT(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glDeleteFramebuffersEXT(GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glGenFramebuffersEXT(GLsizei, GLuint *);
DLLEXPORT GLenum GLAPIENTRY glCheckFramebufferStatusEXT(GLenum);
DLLEXPORT void GLAPIENTRY glFramebufferTexture1DEXT(GLenum, GLenum, GLenum, GLuint, GLint);
DLLEXPORT void GLAPIENTRY glFramebufferTexture2DEXT(GLenum, GLenum, GLenum, GLuint, GLint);
DLLEXPORT void GLAPIENTRY glFramebufferTexture3DEXT(GLenum, GLenum, GLenum, GLuint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glFramebufferRenderbufferEXT(GLenum, GLenum, GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glGetFramebufferAttachmentParameterivEXT(GLenum, GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGenerateMipmapEXT(GLenum);
DLLEXPORT void GLAPIENTRY glStringMarkerGREMEDY(GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glStencilClearTagEXT(GLsizei, GLuint);
DLLEXPORT void GLAPIENTRY glBlitFramebufferEXT(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum);
DLLEXPORT void GLAPIENTRY glRenderbufferStorageMultisampleEXT(GLenum, GLsizei, GLenum, GLsizei, GLsizei);
DLLEXPORT void GLAPIENTRY glGetQueryObjecti64vEXT(GLuint, GLenum, GLint64EXT *);
DLLEXPORT void GLAPIENTRY glGetQueryObjectui64vEXT(GLuint, GLenum, GLuint64EXT *);
DLLEXPORT void GLAPIENTRY glProgramEnvParameters4fvEXT(GLenum, GLuint, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramLocalParameters4fvEXT(GLenum, GLuint, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glBufferParameteriAPPLE(GLenum, GLenum, GLint);
DLLEXPORT void GLAPIENTRY glFlushMappedBufferRangeAPPLE(GLenum, GLintptr, GLsizeiptr);
DLLEXPORT void GLAPIENTRY glProgramLocalParameterI4iNV(GLenum, GLuint, GLint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glProgramLocalParameterI4ivNV(GLenum, GLuint, const GLint *);
DLLEXPORT void GLAPIENTRY glProgramLocalParametersI4ivNV(GLenum, GLuint, GLsizei, const GLint *);
DLLEXPORT void GLAPIENTRY glProgramLocalParameterI4uiNV(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glProgramLocalParameterI4uivNV(GLenum, GLuint, const GLuint *);
DLLEXPORT void GLAPIENTRY glProgramLocalParametersI4uivNV(GLenum, GLuint, GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glProgramEnvParameterI4iNV(GLenum, GLuint, GLint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glProgramEnvParameterI4ivNV(GLenum, GLuint, const GLint *);
DLLEXPORT void GLAPIENTRY glProgramEnvParametersI4ivNV(GLenum, GLuint, GLsizei, const GLint *);
DLLEXPORT void GLAPIENTRY glProgramEnvParameterI4uiNV(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glProgramEnvParameterI4uivNV(GLenum, GLuint, const GLuint *);
DLLEXPORT void GLAPIENTRY glProgramEnvParametersI4uivNV(GLenum, GLuint, GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glGetProgramLocalParameterIivNV(GLenum, GLuint, GLint *);
DLLEXPORT void GLAPIENTRY glGetProgramLocalParameterIuivNV(GLenum, GLuint, GLuint *);
DLLEXPORT void GLAPIENTRY glGetProgramEnvParameterIivNV(GLenum, GLuint, GLint *);
DLLEXPORT void GLAPIENTRY glGetProgramEnvParameterIuivNV(GLenum, GLuint, GLuint *);
DLLEXPORT void GLAPIENTRY glProgramVertexLimitNV(GLenum, GLint);
DLLEXPORT void GLAPIENTRY glFramebufferTextureEXT(GLenum, GLenum, GLuint, GLint);
DLLEXPORT void GLAPIENTRY glFramebufferTextureLayerEXT(GLenum, GLenum, GLuint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glFramebufferTextureFaceEXT(GLenum, GLenum, GLuint, GLint, GLenum);
DLLEXPORT void GLAPIENTRY glProgramParameteriEXT(GLuint, GLenum, GLint);
DLLEXPORT void GLAPIENTRY glVertexAttribI1iEXT(GLuint, GLint);
DLLEXPORT void GLAPIENTRY glVertexAttribI2iEXT(GLuint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glVertexAttribI3iEXT(GLuint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glVertexAttribI4iEXT(GLuint, GLint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glVertexAttribI1uiEXT(GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glVertexAttribI2uiEXT(GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glVertexAttribI3uiEXT(GLuint, GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glVertexAttribI4uiEXT(GLuint, GLuint, GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glVertexAttribI1ivEXT(GLuint, const GLint *);
DLLEXPORT void GLAPIENTRY glVertexAttribI2ivEXT(GLuint, const GLint *);
DLLEXPORT void GLAPIENTRY glVertexAttribI3ivEXT(GLuint, const GLint *);
DLLEXPORT void GLAPIENTRY glVertexAttribI4ivEXT(GLuint, const GLint *);
DLLEXPORT void GLAPIENTRY glVertexAttribI1uivEXT(GLuint, const GLuint *);
DLLEXPORT void GLAPIENTRY glVertexAttribI2uivEXT(GLuint, const GLuint *);
DLLEXPORT void GLAPIENTRY glVertexAttribI3uivEXT(GLuint, const GLuint *);
DLLEXPORT void GLAPIENTRY glVertexAttribI4uivEXT(GLuint, const GLuint *);
DLLEXPORT void GLAPIENTRY glVertexAttribI4bvEXT(GLuint, const GLbyte *);
DLLEXPORT void GLAPIENTRY glVertexAttribI4svEXT(GLuint, const GLshort *);
DLLEXPORT void GLAPIENTRY glVertexAttribI4ubvEXT(GLuint, const GLubyte *);
DLLEXPORT void GLAPIENTRY glVertexAttribI4usvEXT(GLuint, const GLushort *);
DLLEXPORT void GLAPIENTRY glVertexAttribIPointerEXT(GLuint, GLint, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glGetVertexAttribIivEXT(GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetVertexAttribIuivEXT(GLuint, GLenum, GLuint *);
DLLEXPORT void GLAPIENTRY glGetUniformuivEXT(GLuint, GLint, GLuint *);
DLLEXPORT void GLAPIENTRY glBindFragDataLocationEXT(GLuint, GLuint, const GLchar *);
DLLEXPORT GLint GLAPIENTRY glGetFragDataLocationEXT(GLuint, const GLchar *);
DLLEXPORT void GLAPIENTRY glUniform1uiEXT(GLint, GLuint);
DLLEXPORT void GLAPIENTRY glUniform2uiEXT(GLint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glUniform3uiEXT(GLint, GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glUniform4uiEXT(GLint, GLuint, GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glUniform1uivEXT(GLint, GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glUniform2uivEXT(GLint, GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glUniform3uivEXT(GLint, GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glUniform4uivEXT(GLint, GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glDrawArraysInstancedEXT(GLenum, GLint, GLsizei, GLsizei);
DLLEXPORT void GLAPIENTRY glDrawElementsInstancedEXT(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei);
DLLEXPORT void GLAPIENTRY glTexBufferEXT(GLenum, GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glDepthRangedNV(GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glClearDepthdNV(GLdouble);
DLLEXPORT void GLAPIENTRY glDepthBoundsdNV(GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glRenderbufferStorageMultisampleCoverageNV(GLenum, GLsizei, GLsizei, GLenum, GLsizei, GLsizei);
DLLEXPORT void GLAPIENTRY glProgramBufferParametersfvNV(GLenum, GLuint, GLuint, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramBufferParametersIivNV(GLenum, GLuint, GLuint, GLsizei, const GLint *);
DLLEXPORT void GLAPIENTRY glProgramBufferParametersIuivNV(GLenum, GLuint, GLuint, GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glColorMaskIndexedEXT(GLuint, GLboolean, GLboolean, GLboolean, GLboolean);
DLLEXPORT void GLAPIENTRY glGetBooleanIndexedvEXT(GLenum, GLuint, GLboolean *);
DLLEXPORT void GLAPIENTRY glGetIntegerIndexedvEXT(GLenum, GLuint, GLint *);
DLLEXPORT void GLAPIENTRY glEnableIndexedEXT(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glDisableIndexedEXT(GLenum, GLuint);
DLLEXPORT GLboolean GLAPIENTRY glIsEnabledIndexedEXT(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glBeginTransformFeedbackNV(GLenum);
DLLEXPORT void GLAPIENTRY glEndTransformFeedbackNV(void);
DLLEXPORT void GLAPIENTRY glTransformFeedbackAttribsNV(GLuint, const GLint *, GLenum);
DLLEXPORT void GLAPIENTRY glBindBufferRangeNV(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr);
DLLEXPORT void GLAPIENTRY glBindBufferOffsetNV(GLenum, GLuint, GLuint, GLintptr);
DLLEXPORT void GLAPIENTRY glBindBufferBaseNV(GLenum, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glTransformFeedbackVaryingsNV(GLuint, GLsizei, const GLint *, GLenum);
DLLEXPORT void GLAPIENTRY glActiveVaryingNV(GLuint, const GLchar *);
DLLEXPORT GLint GLAPIENTRY glGetVaryingLocationNV(GLuint, const GLchar *);
DLLEXPORT void GLAPIENTRY glGetActiveVaryingNV(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *);
DLLEXPORT void GLAPIENTRY glGetTransformFeedbackVaryingNV(GLuint, GLuint, GLint *);
DLLEXPORT void GLAPIENTRY glUniformBufferEXT(GLuint, GLint, GLuint);
DLLEXPORT GLint GLAPIENTRY glGetUniformBufferSizeEXT(GLuint, GLint);
DLLEXPORT GLintptr GLAPIENTRY glGetUniformOffsetEXT(GLuint, GLint);
DLLEXPORT void GLAPIENTRY glTexParameterIivEXT(GLenum, GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glTexParameterIuivEXT(GLenum, GLenum, const GLuint *);
DLLEXPORT void GLAPIENTRY glGetTexParameterIivEXT(GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetTexParameterIuivEXT(GLenum, GLenum, GLuint *);
DLLEXPORT void GLAPIENTRY glClearColorIiEXT(GLint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glClearColorIuiEXT(GLuint, GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glFrameTerminatorGREMEDY(void);
DLLEXPORT void GLAPIENTRY glBeginConditionalRenderNV(GLuint, GLenum);
DLLEXPORT void GLAPIENTRY glEndConditionalRenderNV(void);
DLLEXPORT void GLAPIENTRY glPresentFrameKeyedNV(GLuint, GLuint64EXT, GLuint, GLuint, GLenum, GLenum, GLuint, GLuint, GLenum, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glPresentFrameDualFillNV(GLuint, GLuint64EXT, GLuint, GLuint, GLenum, GLenum, GLuint, GLenum, GLuint, GLenum, GLuint, GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glGetVideoivNV(GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetVideouivNV(GLuint, GLenum, GLuint *);
DLLEXPORT void GLAPIENTRY glGetVideoi64vNV(GLuint, GLenum, GLint64EXT *);
DLLEXPORT void GLAPIENTRY glGetVideoui64vNV(GLuint, GLenum, GLuint64EXT *);
DLLEXPORT void GLAPIENTRY glBeginTransformFeedbackEXT(GLenum);
DLLEXPORT void GLAPIENTRY glEndTransformFeedbackEXT(void);
DLLEXPORT void GLAPIENTRY glBindBufferRangeEXT(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr);
DLLEXPORT void GLAPIENTRY glBindBufferOffsetEXT(GLenum, GLuint, GLuint, GLintptr);
DLLEXPORT void GLAPIENTRY glBindBufferBaseEXT(GLenum, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glTransformFeedbackVaryingsEXT(GLuint, GLsizei, const GLchar **, GLenum);
DLLEXPORT void GLAPIENTRY glGetTransformFeedbackVaryingEXT(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *);
DLLEXPORT void GLAPIENTRY glClientAttribDefaultEXT(GLbitfield);
DLLEXPORT void GLAPIENTRY glPushClientAttribDefaultEXT(GLbitfield);
DLLEXPORT void GLAPIENTRY glMatrixLoadfEXT(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glMatrixLoaddEXT(GLenum, const GLdouble *);
DLLEXPORT void GLAPIENTRY glMatrixMultfEXT(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glMatrixMultdEXT(GLenum, const GLdouble *);
DLLEXPORT void GLAPIENTRY glMatrixLoadIdentityEXT(GLenum);
DLLEXPORT void GLAPIENTRY glMatrixRotatefEXT(GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glMatrixRotatedEXT(GLenum, GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glMatrixScalefEXT(GLenum, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glMatrixScaledEXT(GLenum, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glMatrixTranslatefEXT(GLenum, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glMatrixTranslatedEXT(GLenum, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glMatrixFrustumEXT(GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glMatrixOrthoEXT(GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glMatrixPopEXT(GLenum);
DLLEXPORT void GLAPIENTRY glMatrixPushEXT(GLenum);
DLLEXPORT void GLAPIENTRY glMatrixLoadTransposefEXT(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glMatrixLoadTransposedEXT(GLenum, const GLdouble *);
DLLEXPORT void GLAPIENTRY glMatrixMultTransposefEXT(GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glMatrixMultTransposedEXT(GLenum, const GLdouble *);
DLLEXPORT void GLAPIENTRY glTextureParameterfEXT(GLuint, GLenum, GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glTextureParameterfvEXT(GLuint, GLenum, GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glTextureParameteriEXT(GLuint, GLenum, GLenum, GLint);
DLLEXPORT void GLAPIENTRY glTextureParameterivEXT(GLuint, GLenum, GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glTextureImage1DEXT(GLuint, GLenum, GLint, GLenum, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glTextureImage2DEXT(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glTextureSubImage1DEXT(GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glTextureSubImage2DEXT(GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCopyTextureImage1DEXT(GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
DLLEXPORT void GLAPIENTRY glCopyTextureImage2DEXT(GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
DLLEXPORT void GLAPIENTRY glCopyTextureSubImage1DEXT(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei);
DLLEXPORT void GLAPIENTRY glCopyTextureSubImage2DEXT(GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
DLLEXPORT void GLAPIENTRY glGetTextureImageEXT(GLuint, GLenum, GLint, GLenum, GLenum, GLvoid *);
DLLEXPORT void GLAPIENTRY glGetTextureParameterfvEXT(GLuint, GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetTextureParameterivEXT(GLuint, GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetTextureLevelParameterfvEXT(GLuint, GLenum, GLint, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetTextureLevelParameterivEXT(GLuint, GLenum, GLint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glTextureImage3DEXT(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glTextureSubImage3DEXT(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCopyTextureSubImage3DEXT(GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
DLLEXPORT void GLAPIENTRY glMultiTexParameterfEXT(GLenum, GLenum, GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glMultiTexParameterfvEXT(GLenum, GLenum, GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glMultiTexParameteriEXT(GLenum, GLenum, GLenum, GLint);
DLLEXPORT void GLAPIENTRY glMultiTexParameterivEXT(GLenum, GLenum, GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glMultiTexImage1DEXT(GLenum, GLenum, GLint, GLenum, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glMultiTexImage2DEXT(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glMultiTexSubImage1DEXT(GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glMultiTexSubImage2DEXT(GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCopyMultiTexImage1DEXT(GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
DLLEXPORT void GLAPIENTRY glCopyMultiTexImage2DEXT(GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
DLLEXPORT void GLAPIENTRY glCopyMultiTexSubImage1DEXT(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei);
DLLEXPORT void GLAPIENTRY glCopyMultiTexSubImage2DEXT(GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
DLLEXPORT void GLAPIENTRY glGetMultiTexImageEXT(GLenum, GLenum, GLint, GLenum, GLenum, GLvoid *);
DLLEXPORT void GLAPIENTRY glGetMultiTexParameterfvEXT(GLenum, GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetMultiTexParameterivEXT(GLenum, GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetMultiTexLevelParameterfvEXT(GLenum, GLenum, GLint, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetMultiTexLevelParameterivEXT(GLenum, GLenum, GLint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glMultiTexImage3DEXT(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glMultiTexSubImage3DEXT(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCopyMultiTexSubImage3DEXT(GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
DLLEXPORT void GLAPIENTRY glBindMultiTextureEXT(GLenum, GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glEnableClientStateIndexedEXT(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glDisableClientStateIndexedEXT(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glMultiTexCoordPointerEXT(GLenum, GLint, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glMultiTexEnvfEXT(GLenum, GLenum, GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glMultiTexEnvfvEXT(GLenum, GLenum, GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glMultiTexEnviEXT(GLenum, GLenum, GLenum, GLint);
DLLEXPORT void GLAPIENTRY glMultiTexEnvivEXT(GLenum, GLenum, GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glMultiTexGendEXT(GLenum, GLenum, GLenum, GLdouble);
DLLEXPORT void GLAPIENTRY glMultiTexGendvEXT(GLenum, GLenum, GLenum, const GLdouble *);
DLLEXPORT void GLAPIENTRY glMultiTexGenfEXT(GLenum, GLenum, GLenum, GLfloat);
DLLEXPORT void GLAPIENTRY glMultiTexGenfvEXT(GLenum, GLenum, GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glMultiTexGeniEXT(GLenum, GLenum, GLenum, GLint);
DLLEXPORT void GLAPIENTRY glMultiTexGenivEXT(GLenum, GLenum, GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glGetMultiTexEnvfvEXT(GLenum, GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetMultiTexEnvivEXT(GLenum, GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetMultiTexGendvEXT(GLenum, GLenum, GLenum, GLdouble *);
DLLEXPORT void GLAPIENTRY glGetMultiTexGenfvEXT(GLenum, GLenum, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetMultiTexGenivEXT(GLenum, GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetFloatIndexedvEXT(GLenum, GLuint, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetDoubleIndexedvEXT(GLenum, GLuint, GLdouble *);
DLLEXPORT void GLAPIENTRY glGetPointerIndexedvEXT(GLenum, GLuint, GLvoid **);
DLLEXPORT void GLAPIENTRY glCompressedTextureImage3DEXT(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCompressedTextureImage2DEXT(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCompressedTextureImage1DEXT(GLuint, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCompressedTextureSubImage3DEXT(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCompressedTextureSubImage2DEXT(GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCompressedTextureSubImage1DEXT(GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glGetCompressedTextureImageEXT(GLuint, GLenum, GLint, GLvoid *);
DLLEXPORT void GLAPIENTRY glCompressedMultiTexImage3DEXT(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCompressedMultiTexImage2DEXT(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCompressedMultiTexImage1DEXT(GLenum, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCompressedMultiTexSubImage3DEXT(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCompressedMultiTexSubImage2DEXT(GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glCompressedMultiTexSubImage1DEXT(GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glGetCompressedMultiTexImageEXT(GLenum, GLenum, GLint, GLvoid *);
DLLEXPORT void GLAPIENTRY glNamedProgramStringEXT(GLuint, GLenum, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glNamedProgramLocalParameter4dEXT(GLuint, GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glNamedProgramLocalParameter4dvEXT(GLuint, GLenum, GLuint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glNamedProgramLocalParameter4fEXT(GLuint, GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glNamedProgramLocalParameter4fvEXT(GLuint, GLenum, GLuint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glGetNamedProgramLocalParameterdvEXT(GLuint, GLenum, GLuint, GLdouble *);
DLLEXPORT void GLAPIENTRY glGetNamedProgramLocalParameterfvEXT(GLuint, GLenum, GLuint, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetNamedProgramivEXT(GLuint, GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetNamedProgramStringEXT(GLuint, GLenum, GLenum, GLvoid *);
DLLEXPORT void GLAPIENTRY glNamedProgramLocalParameters4fvEXT(GLuint, GLenum, GLuint, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glNamedProgramLocalParameterI4iEXT(GLuint, GLenum, GLuint, GLint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glNamedProgramLocalParameterI4ivEXT(GLuint, GLenum, GLuint, const GLint *);
DLLEXPORT void GLAPIENTRY glNamedProgramLocalParametersI4ivEXT(GLuint, GLenum, GLuint, GLsizei, const GLint *);
DLLEXPORT void GLAPIENTRY glNamedProgramLocalParameterI4uiEXT(GLuint, GLenum, GLuint, GLuint, GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glNamedProgramLocalParameterI4uivEXT(GLuint, GLenum, GLuint, const GLuint *);
DLLEXPORT void GLAPIENTRY glNamedProgramLocalParametersI4uivEXT(GLuint, GLenum, GLuint, GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glGetNamedProgramLocalParameterIivEXT(GLuint, GLenum, GLuint, GLint *);
DLLEXPORT void GLAPIENTRY glGetNamedProgramLocalParameterIuivEXT(GLuint, GLenum, GLuint, GLuint *);
DLLEXPORT void GLAPIENTRY glTextureParameterIivEXT(GLuint, GLenum, GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glTextureParameterIuivEXT(GLuint, GLenum, GLenum, const GLuint *);
DLLEXPORT void GLAPIENTRY glGetTextureParameterIivEXT(GLuint, GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetTextureParameterIuivEXT(GLuint, GLenum, GLenum, GLuint *);
DLLEXPORT void GLAPIENTRY glMultiTexParameterIivEXT(GLenum, GLenum, GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glMultiTexParameterIuivEXT(GLenum, GLenum, GLenum, const GLuint *);
DLLEXPORT void GLAPIENTRY glGetMultiTexParameterIivEXT(GLenum, GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetMultiTexParameterIuivEXT(GLenum, GLenum, GLenum, GLuint *);
DLLEXPORT void GLAPIENTRY glProgramUniform1fEXT(GLuint, GLint, GLfloat);
DLLEXPORT void GLAPIENTRY glProgramUniform2fEXT(GLuint, GLint, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glProgramUniform3fEXT(GLuint, GLint, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glProgramUniform4fEXT(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat);
DLLEXPORT void GLAPIENTRY glProgramUniform1iEXT(GLuint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glProgramUniform2iEXT(GLuint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glProgramUniform3iEXT(GLuint, GLint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glProgramUniform4iEXT(GLuint, GLint, GLint, GLint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glProgramUniform1fvEXT(GLuint, GLint, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramUniform2fvEXT(GLuint, GLint, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramUniform3fvEXT(GLuint, GLint, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramUniform4fvEXT(GLuint, GLint, GLsizei, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramUniform1ivEXT(GLuint, GLint, GLsizei, const GLint *);
DLLEXPORT void GLAPIENTRY glProgramUniform2ivEXT(GLuint, GLint, GLsizei, const GLint *);
DLLEXPORT void GLAPIENTRY glProgramUniform3ivEXT(GLuint, GLint, GLsizei, const GLint *);
DLLEXPORT void GLAPIENTRY glProgramUniform4ivEXT(GLuint, GLint, GLsizei, const GLint *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix2fvEXT(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix3fvEXT(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix4fvEXT(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix2x3fvEXT(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix3x2fvEXT(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix2x4fvEXT(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix4x2fvEXT(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix3x4fvEXT(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix4x3fvEXT(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
DLLEXPORT void GLAPIENTRY glProgramUniform1uiEXT(GLuint, GLint, GLuint);
DLLEXPORT void GLAPIENTRY glProgramUniform2uiEXT(GLuint, GLint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glProgramUniform3uiEXT(GLuint, GLint, GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glProgramUniform4uiEXT(GLuint, GLint, GLuint, GLuint, GLuint, GLuint);
DLLEXPORT void GLAPIENTRY glProgramUniform1uivEXT(GLuint, GLint, GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glProgramUniform2uivEXT(GLuint, GLint, GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glProgramUniform3uivEXT(GLuint, GLint, GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glProgramUniform4uivEXT(GLuint, GLint, GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glNamedBufferDataEXT(GLuint, GLsizeiptr, const GLvoid *, GLenum);
DLLEXPORT void GLAPIENTRY glNamedBufferSubDataEXT(GLuint, GLintptr, GLsizeiptr, const GLvoid *);
DLLEXPORT GLvoid *GLAPIENTRY glMapNamedBufferEXT(GLuint, GLenum);
DLLEXPORT GLboolean GLAPIENTRY glUnmapNamedBufferEXT(GLuint);
DLLEXPORT void GLAPIENTRY glGetNamedBufferParameterivEXT(GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetNamedBufferPointervEXT(GLuint, GLenum, GLvoid **);
DLLEXPORT void GLAPIENTRY glGetNamedBufferSubDataEXT(GLuint, GLintptr, GLsizeiptr, GLvoid *);
DLLEXPORT void GLAPIENTRY glTextureBufferEXT(GLuint, GLenum, GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glMultiTexBufferEXT(GLenum, GLenum, GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glNamedRenderbufferStorageEXT(GLuint, GLenum, GLsizei, GLsizei);
DLLEXPORT void GLAPIENTRY glGetNamedRenderbufferParameterivEXT(GLuint, GLenum, GLint *);
DLLEXPORT GLenum GLAPIENTRY glCheckNamedFramebufferStatusEXT(GLuint, GLenum);
DLLEXPORT void GLAPIENTRY glNamedFramebufferTexture1DEXT(GLuint, GLenum, GLenum, GLuint, GLint);
DLLEXPORT void GLAPIENTRY glNamedFramebufferTexture2DEXT(GLuint, GLenum, GLenum, GLuint, GLint);
DLLEXPORT void GLAPIENTRY glNamedFramebufferTexture3DEXT(GLuint, GLenum, GLenum, GLuint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glNamedFramebufferRenderbufferEXT(GLuint, GLenum, GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glGetNamedFramebufferAttachmentParameterivEXT(GLuint, GLenum, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGenerateTextureMipmapEXT(GLuint, GLenum);
DLLEXPORT void GLAPIENTRY glGenerateMultiTexMipmapEXT(GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glFramebufferDrawBufferEXT(GLuint, GLenum);
DLLEXPORT void GLAPIENTRY glFramebufferDrawBuffersEXT(GLuint, GLsizei, const GLenum *);
DLLEXPORT void GLAPIENTRY glFramebufferReadBufferEXT(GLuint, GLenum);
DLLEXPORT void GLAPIENTRY glGetFramebufferParameterivEXT(GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glNamedRenderbufferStorageMultisampleEXT(GLuint, GLsizei, GLenum, GLsizei, GLsizei);
DLLEXPORT void GLAPIENTRY glNamedRenderbufferStorageMultisampleCoverageEXT(GLuint, GLsizei, GLsizei, GLenum, GLsizei, GLsizei);
DLLEXPORT void GLAPIENTRY glNamedFramebufferTextureEXT(GLuint, GLenum, GLuint, GLint);
DLLEXPORT void GLAPIENTRY glNamedFramebufferTextureLayerEXT(GLuint, GLenum, GLuint, GLint, GLint);
DLLEXPORT void GLAPIENTRY glNamedFramebufferTextureFaceEXT(GLuint, GLenum, GLuint, GLint, GLenum);
DLLEXPORT void GLAPIENTRY glTextureRenderbufferEXT(GLuint, GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glMultiTexRenderbufferEXT(GLenum, GLenum, GLuint);
DLLEXPORT GLvoid *GLAPIENTRY glMapNamedBufferRangeEXT(GLuint, GLintptr, GLsizeiptr, GLbitfield);
DLLEXPORT void GLAPIENTRY glFlushMappedNamedBufferRangeEXT(GLuint, GLintptr, GLsizeiptr);
DLLEXPORT void GLAPIENTRY glNamedCopyBufferSubDataEXT(GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr);
DLLEXPORT void GLAPIENTRY glProgramUniform1dEXT(GLuint, GLint, GLdouble);
DLLEXPORT void GLAPIENTRY glProgramUniform2dEXT(GLuint, GLint, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glProgramUniform3dEXT(GLuint, GLint, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glProgramUniform4dEXT(GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glProgramUniform1dvEXT(GLuint, GLint, GLsizei, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramUniform2dvEXT(GLuint, GLint, GLsizei, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramUniform3dvEXT(GLuint, GLint, GLsizei, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramUniform4dvEXT(GLuint, GLint, GLsizei, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix2dvEXT(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix3dvEXT(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix4dvEXT(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix2x3dvEXT(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix2x4dvEXT(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix3x2dvEXT(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix3x4dvEXT(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix4x2dvEXT(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glProgramUniformMatrix4x3dvEXT(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
DLLEXPORT void GLAPIENTRY glGetMultisamplefvNV(GLenum, GLuint, GLfloat *);
DLLEXPORT void GLAPIENTRY glSampleMaskIndexedNV(GLuint, GLbitfield);
DLLEXPORT void GLAPIENTRY glTexRenderbufferNV(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glBindTransformFeedbackNV(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glDeleteTransformFeedbacksNV(GLsizei, const GLuint *);
DLLEXPORT void GLAPIENTRY glGenTransformFeedbacksNV(GLsizei, GLuint *);
DLLEXPORT GLboolean GLAPIENTRY glIsTransformFeedbackNV(GLuint);
DLLEXPORT void GLAPIENTRY glPauseTransformFeedbackNV(void);
DLLEXPORT void GLAPIENTRY glResumeTransformFeedbackNV(void);
DLLEXPORT void GLAPIENTRY glDrawTransformFeedbackNV(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glGetPerfMonitorGroupsAMD(GLint *, GLsizei, GLuint *);
DLLEXPORT void GLAPIENTRY glGetPerfMonitorCountersAMD(GLuint, GLint *, GLint *, GLsizei, GLuint *);
DLLEXPORT void GLAPIENTRY glGetPerfMonitorGroupStringAMD(GLuint, GLsizei, GLsizei *, GLchar *);
DLLEXPORT void GLAPIENTRY glGetPerfMonitorCounterStringAMD(GLuint, GLuint, GLsizei, GLsizei *, GLchar *);
DLLEXPORT void GLAPIENTRY glGetPerfMonitorCounterInfoAMD(GLuint, GLuint, GLenum, void *);
DLLEXPORT void GLAPIENTRY glGenPerfMonitorsAMD(GLsizei, GLuint *);
DLLEXPORT void GLAPIENTRY glDeletePerfMonitorsAMD(GLsizei, GLuint *);
DLLEXPORT void GLAPIENTRY glSelectPerfMonitorCountersAMD(GLuint, GLboolean, GLuint, GLint, GLuint *);
DLLEXPORT void GLAPIENTRY glBeginPerfMonitorAMD(GLuint);
DLLEXPORT void GLAPIENTRY glEndPerfMonitorAMD(GLuint);
DLLEXPORT void GLAPIENTRY glGetPerfMonitorCounterDataAMD(GLuint, GLenum, GLsizei, GLuint *, GLint *);
DLLEXPORT void GLAPIENTRY glTessellationFactorAMD(GLfloat);
DLLEXPORT void GLAPIENTRY glTessellationModeAMD(GLenum);
DLLEXPORT void GLAPIENTRY glProvokingVertexEXT(GLenum);
DLLEXPORT void GLAPIENTRY glBlendFuncIndexedAMD(GLuint, GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glBlendFuncSeparateIndexedAMD(GLuint, GLenum, GLenum, GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glBlendEquationIndexedAMD(GLuint, GLenum);
DLLEXPORT void GLAPIENTRY glBlendEquationSeparateIndexedAMD(GLuint, GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glTextureRangeAPPLE(GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glGetTexParameterPointervAPPLE(GLenum, GLenum, GLvoid **);
DLLEXPORT void GLAPIENTRY glEnableVertexAttribAPPLE(GLuint, GLenum);
DLLEXPORT void GLAPIENTRY glDisableVertexAttribAPPLE(GLuint, GLenum);
DLLEXPORT GLboolean GLAPIENTRY glIsVertexAttribEnabledAPPLE(GLuint, GLenum);
DLLEXPORT void GLAPIENTRY glMapVertexAttrib1dAPPLE(GLuint, GLuint, GLdouble, GLdouble, GLint, GLint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glMapVertexAttrib1fAPPLE(GLuint, GLuint, GLfloat, GLfloat, GLint, GLint, const GLfloat *);
DLLEXPORT void GLAPIENTRY glMapVertexAttrib2dAPPLE(GLuint, GLuint, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glMapVertexAttrib2fAPPLE(GLuint, GLuint, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat *);
DLLEXPORT GLenum GLAPIENTRY glObjectPurgeableAPPLE(GLenum, GLuint, GLenum);
DLLEXPORT GLenum GLAPIENTRY glObjectUnpurgeableAPPLE(GLenum, GLuint, GLenum);
DLLEXPORT void GLAPIENTRY glGetObjectParameterivAPPLE(GLenum, GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glBeginVideoCaptureNV(GLuint);
DLLEXPORT void GLAPIENTRY glBindVideoCaptureStreamBufferNV(GLuint, GLuint, GLenum, GLintptr);
DLLEXPORT void GLAPIENTRY glBindVideoCaptureStreamTextureNV(GLuint, GLuint, GLenum, GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glEndVideoCaptureNV(GLuint);
DLLEXPORT void GLAPIENTRY glGetVideoCaptureivNV(GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetVideoCaptureStreamivNV(GLuint, GLuint, GLenum, GLint *);
DLLEXPORT void GLAPIENTRY glGetVideoCaptureStreamfvNV(GLuint, GLuint, GLenum, GLfloat *);
DLLEXPORT void GLAPIENTRY glGetVideoCaptureStreamdvNV(GLuint, GLuint, GLenum, GLdouble *);
DLLEXPORT GLenum GLAPIENTRY glVideoCaptureNV(GLuint, GLuint *, GLuint64EXT *);
DLLEXPORT void GLAPIENTRY glVideoCaptureStreamParameterivNV(GLuint, GLuint, GLenum, const GLint *);
DLLEXPORT void GLAPIENTRY glVideoCaptureStreamParameterfvNV(GLuint, GLuint, GLenum, const GLfloat *);
DLLEXPORT void GLAPIENTRY glVideoCaptureStreamParameterdvNV(GLuint, GLuint, GLenum, const GLdouble *);
DLLEXPORT void GLAPIENTRY glCopyImageSubDataNV(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei);
DLLEXPORT void GLAPIENTRY glUseShaderProgramEXT(GLenum, GLuint);
DLLEXPORT void GLAPIENTRY glActiveProgramEXT(GLuint);
DLLEXPORT GLuint GLAPIENTRY glCreateShaderProgramEXT(GLenum, const GLchar *);
DLLEXPORT void GLAPIENTRY glMakeBufferResidentNV(GLenum, GLenum);
DLLEXPORT void GLAPIENTRY glMakeBufferNonResidentNV(GLenum);
DLLEXPORT GLboolean GLAPIENTRY glIsBufferResidentNV(GLenum);
DLLEXPORT void GLAPIENTRY glMakeNamedBufferResidentNV(GLuint, GLenum);
DLLEXPORT void GLAPIENTRY glMakeNamedBufferNonResidentNV(GLuint);
DLLEXPORT GLboolean GLAPIENTRY glIsNamedBufferResidentNV(GLuint);
DLLEXPORT void GLAPIENTRY glGetBufferParameterui64vNV(GLenum, GLenum, GLuint64EXT *);
DLLEXPORT void GLAPIENTRY glGetNamedBufferParameterui64vNV(GLuint, GLenum, GLuint64EXT *);
DLLEXPORT void GLAPIENTRY glGetIntegerui64vNV(GLenum, GLuint64EXT *);
DLLEXPORT void GLAPIENTRY glUniformui64NV(GLint, GLuint64EXT);
DLLEXPORT void GLAPIENTRY glUniformui64vNV(GLint, GLsizei, const GLuint64EXT *);
DLLEXPORT void GLAPIENTRY glGetUniformui64vNV(GLuint, GLint, GLuint64EXT *);
DLLEXPORT void GLAPIENTRY glProgramUniformui64NV(GLuint, GLint, GLuint64EXT);
DLLEXPORT void GLAPIENTRY glProgramUniformui64vNV(GLuint, GLint, GLsizei, const GLuint64EXT *);
DLLEXPORT void GLAPIENTRY glBufferAddressRangeNV(GLenum, GLuint, GLuint64EXT, GLsizeiptr);
DLLEXPORT void GLAPIENTRY glVertexFormatNV(GLint, GLenum, GLsizei);
DLLEXPORT void GLAPIENTRY glNormalFormatNV(GLenum, GLsizei);
DLLEXPORT void GLAPIENTRY glColorFormatNV(GLint, GLenum, GLsizei);
DLLEXPORT void GLAPIENTRY glIndexFormatNV(GLenum, GLsizei);
DLLEXPORT void GLAPIENTRY glTexCoordFormatNV(GLint, GLenum, GLsizei);
DLLEXPORT void GLAPIENTRY glEdgeFlagFormatNV(GLsizei);
DLLEXPORT void GLAPIENTRY glSecondaryColorFormatNV(GLint, GLenum, GLsizei);
DLLEXPORT void GLAPIENTRY glFogCoordFormatNV(GLenum, GLsizei);
DLLEXPORT void GLAPIENTRY glVertexAttribFormatNV(GLuint, GLint, GLenum, GLboolean, GLsizei);
DLLEXPORT void GLAPIENTRY glVertexAttribIFormatNV(GLuint, GLint, GLenum, GLsizei);
DLLEXPORT void GLAPIENTRY glGetIntegerui64i_vNV(GLenum, GLuint, GLuint64EXT *);
DLLEXPORT void GLAPIENTRY glTextureBarrierNV(void);
DLLEXPORT void GLAPIENTRY glBindImageTextureEXT(GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLint);
DLLEXPORT void GLAPIENTRY glMemoryBarrierEXT(GLbitfield);
DLLEXPORT void GLAPIENTRY glVertexAttribL1dEXT(GLuint, GLdouble);
DLLEXPORT void GLAPIENTRY glVertexAttribL2dEXT(GLuint, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glVertexAttribL3dEXT(GLuint, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glVertexAttribL4dEXT(GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
DLLEXPORT void GLAPIENTRY glVertexAttribL1dvEXT(GLuint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexAttribL2dvEXT(GLuint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexAttribL3dvEXT(GLuint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexAttribL4dvEXT(GLuint, const GLdouble *);
DLLEXPORT void GLAPIENTRY glVertexAttribLPointerEXT(GLuint, GLint, GLenum, GLsizei, const GLvoid *);
DLLEXPORT void GLAPIENTRY glVertexArrayVertexAttribLOffsetEXT(GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr);
DLLEXPORT void GLAPIENTRY glGetVertexAttribLdvEXT(GLuint, GLenum, GLdouble *);
DLLEXPORT void GLAPIENTRY glUniform1i64NV(GLint, GLint64EXT);
DLLEXPORT void GLAPIENTRY glUniform2i64NV(GLint, GLint64EXT, GLint64EXT);
DLLEXPORT void GLAPIENTRY glUniform3i64NV(GLint, GLint64EXT, GLint64EXT, GLint64EXT);
DLLEXPORT void GLAPIENTRY glUniform4i64NV(GLint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT);
DLLEXPORT void GLAPIENTRY glUniform1i64vNV(GLint, GLsizei, const GLint64EXT *);
DLLEXPORT void GLAPIENTRY glUniform2i64vNV(GLint, GLsizei, const GLint64EXT *);
DLLEXPORT void GLAPIENTRY glUniform3i64vNV(GLint, GLsizei, const GLint64EXT *);
DLLEXPORT void GLAPIENTRY glUniform4i64vNV(GLint, GLsizei, const GLint64EXT *);
DLLEXPORT void GLAPIENTRY glUniform1ui64NV(GLint, GLuint64EXT);
DLLEXPORT void GLAPIENTRY glUniform2ui64NV(GLint, GLuint64EXT, GLuint64EXT);
DLLEXPORT void GLAPIENTRY glUniform3ui64NV(GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT);
DLLEXPORT void GLAPIENTRY glUniform4ui64NV(GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT);
DLLEXPORT void GLAPIENTRY glUniform1ui64vNV(GLint, GLsizei, const GLuint64EXT *);
DLLEXPORT void GLAPIENTRY glUniform2ui64vNV(GLint, GLsizei, const GLuint64EXT *);
DLLEXPORT void GLAPIENTRY glUniform3ui64vNV(GLint, GLsizei, const GLuint64EXT *);
DLLEXPORT void GLAPIENTRY glUniform4ui64vNV(GLint, GLsizei, const GLuint64EXT *);
DLLEXPORT void GLAPIENTRY glProgramUniform1i64NV(GLuint, GLint, GLint64EXT);
DLLEXPORT void GLAPIENTRY glProgramUniform2i64NV(GLuint, GLint, GLint64EXT, GLint64EXT);
DLLEXPORT void GLAPIENTRY glProgramUniform3i64NV(GLuint, GLint, GLint64EXT, GLint64EXT, GLint64EXT);
DLLEXPORT void GLAPIENTRY glProgramUniform4i64NV(GLuint, GLint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT);
DLLEXPORT void GLAPIENTRY glProgramUniform1i64vNV(GLuint, GLint, GLsizei, const GLint64EXT *);
DLLEXPORT void GLAPIENTRY glProgramUniform2i64vNV(GLuint, GLint, GLsizei, const GLint64EXT *);
DLLEXPORT void GLAPIENTRY glProgramUniform3i64vNV(GLuint, GLint, GLsizei, const GLint64EXT *);
DLLEXPORT void GLAPIENTRY glProgramUniform4i64vNV(GLuint, GLint, GLsizei, const GLint64EXT *);
DLLEXPORT void GLAPIENTRY glProgramUniform1ui64NV(GLuint, GLint, GLuint64EXT);
DLLEXPORT void GLAPIENTRY glProgramUniform2ui64NV(GLuint, GLint, GLuint64EXT, GLuint64EXT);
DLLEXPORT void GLAPIENTRY glProgramUniform3ui64NV(GLuint, GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT);
DLLEXPORT void GLAPIENTRY glProgramUniform4ui64NV(GLuint, GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT);
DLLEXPORT void GLAPIENTRY glProgramUniform1ui64vNV(GLuint, GLint, GLsizei, const GLuint64EXT *);
DLLEXPORT void GLAPIENTRY glProgramUniform2ui64vNV(GLuint, GLint, GLsizei, const GLuint64EXT *);
DLLEXPORT void GLAPIENTRY glProgramUniform3ui64vNV(GLuint, GLint, GLsizei, const GLuint64EXT *);
DLLEXPORT void GLAPIENTRY glProgramUniform4ui64vNV(GLuint, GLint, GLsizei, const GLuint64EXT *);
DLLEXPORT void GLAPIENTRY glGetUniformi64vNV(GLuint, GLint, GLint64EXT *);
DLLEXPORT void GLAPIENTRY glVertexAttribL1i64NV(GLuint, GLint64EXT);
DLLEXPORT void GLAPIENTRY glVertexAttribL2i64NV(GLuint, GLint64EXT, GLint64EXT);
DLLEXPORT void GLAPIENTRY glVertexAttribL3i64NV(GLuint, GLint64EXT, GLint64EXT, GLint64EXT);
DLLEXPORT void GLAPIENTRY glVertexAttribL4i64NV(GLuint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT);
DLLEXPORT void GLAPIENTRY glVertexAttribL1ui64NV(GLuint, GLuint64EXT);
DLLEXPORT void GLAPIENTRY glVertexAttribL2ui64NV(GLuint, GLuint64EXT, GLuint64EXT);
DLLEXPORT void GLAPIENTRY glVertexAttribL3ui64NV(GLuint, GLuint64EXT, GLuint64EXT, GLuint64EXT);
DLLEXPORT void GLAPIENTRY glVertexAttribL4ui64NV(GLuint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT);
DLLEXPORT void GLAPIENTRY glVertexAttribL1i64vNV(GLuint, const GLint64EXT *);
DLLEXPORT void GLAPIENTRY glVertexAttribL2i64vNV(GLuint, const GLint64EXT *);
DLLEXPORT void GLAPIENTRY glVertexAttribL3i64vNV(GLuint, const GLint64EXT *);
DLLEXPORT void GLAPIENTRY glVertexAttribL4i64vNV(GLuint, const GLint64EXT *);
DLLEXPORT void GLAPIENTRY glVertexAttribL1ui64vNV(GLuint, const GLuint64EXT *);
DLLEXPORT void GLAPIENTRY glVertexAttribL2ui64vNV(GLuint, const GLuint64EXT *);
DLLEXPORT void GLAPIENTRY glVertexAttribL3ui64vNV(GLuint, const GLuint64EXT *);
DLLEXPORT void GLAPIENTRY glVertexAttribL4ui64vNV(GLuint, const GLuint64EXT *);
DLLEXPORT void GLAPIENTRY glVertexAttribLFormatNV(GLuint, GLint, GLenum, GLsizei);
DLLEXPORT void GLAPIENTRY glGetVertexAttribLi64vNV(GLuint, GLenum, GLint64EXT *);
DLLEXPORT void GLAPIENTRY glGetVertexAttribLui64vNV(GLuint, GLenum, GLuint64EXT *);
DLLEXPORT void GLAPIENTRY glVDPAUInitNV(const GLvoid *, const GLvoid *);
DLLEXPORT void GLAPIENTRY glVDPAUFiniNV(void);
DLLEXPORT GLvdpauSurfaceNV GLAPIENTRY glVDPAURegisterVideoSurfaceNV(const GLvoid *, GLenum, GLsizei, const GLuint *);
DLLEXPORT GLvdpauSurfaceNV GLAPIENTRY glVDPAURegisterOutputSurfaceNV(const GLvoid *, GLenum, GLsizei, const GLuint *);
DLLEXPORT GLboolean GLAPIENTRY glVDPAUIsSurfaceNV(GLvdpauSurfaceNV);
DLLEXPORT void GLAPIENTRY glVDPAUUnregisterSurfaceNV(GLvdpauSurfaceNV);
DLLEXPORT void GLAPIENTRY glVDPAUGetSurfaceivNV(GLvdpauSurfaceNV, GLenum, GLsizei, GLsizei *, GLint *);
DLLEXPORT void GLAPIENTRY glVDPAUSurfaceAccessNV(GLvdpauSurfaceNV, GLenum);
DLLEXPORT void GLAPIENTRY glVDPAUMapSurfacesNV(GLsizei, const GLvdpauSurfaceNV *);
DLLEXPORT void GLAPIENTRY glVDPAUUnmapSurfacesNV(GLsizei, const GLvdpauSurfaceNV *);
DLLEXPORT GLuint GLAPIENTRY glBufferRegionEnabledEXT(void);
DLLEXPORT GLuint GLAPIENTRY glNewBufferRegionEXT(GLenum);
DLLEXPORT void GLAPIENTRY glDeleteBufferRegionEXT(GLenum);
DLLEXPORT void GLAPIENTRY glReadBufferRegionEXT(GLuint, GLint, GLint, GLsizei, GLsizei);
DLLEXPORT void GLAPIENTRY glDrawBufferRegionEXT(GLuint, GLint, GLint, GLsizei, GLsizei, GLint, GLint);
DLLEXPORT void GLAPIENTRY glTextureFogSGIX(GLenum);
DLLEXPORT void GLAPIENTRY glAddSwapHintRectWIN(GLint, GLint, GLsizei, GLsizei);

/* Load GL library. */

#if defined(_WIN32)
# if !defined(WIN32_LEAN_AND_MEAN)
#   define WIN32_LEAN_AND_MEAN 1
# endif
# if !defined(NOGDI)
#   define NOGDI 1
# endif
# include <windows.h>
# undef WIN32_LEAN_AND_MEAN
# undef NOGDI
#elif defined(__APPLE__)
# include <AvailabilityMacros.h>
# if !defined(MAC_OS_X_VERSION_10_3)
#   include <mach-o/dyld.h>
# else
#   include <dlfcn.h>
# endif
#else
# include <dlfcn.h>
#endif

typedef struct _TraceGL_Handle *TraceGL_Handle;

static TraceGL_Handle
traceGL_LoadLibrary(const char *filename)
{
#if defined(_WIN32)
  return (TraceGL_Handle) LoadLibrary(filename);
#elif defined(__APPLE__) && !defined(MAC_OS_X_VERSION_10_3)
  return (TraceGL_Handle) NSAddImage(filename, NSADDIMAGE_OPTION_NONE);
#else
  return (TraceGL_Handle) dlopen(filename, RTLD_LAZY);
#endif
}

static int
traceGL_FreeLibrary(TraceGL_Handle handle)
{
#if defined(_WIN32)
  return FreeLibrary((HMODULE)handle) ? 1 : 0;
#elif defined(__APPLE__) && !defined(MAC_OS_X_VERSION_10_3)
  return 1;
#else
  return dlclose(handle) ? 0 : 1;
#endif
}

static void *
traceGL_GetProcAddress(TraceGL_Handle handle, const char *name)
{
#if defined(_WIN32)
  return handle ? GetProcAddress((HMODULE)handle, name) : NULL;
#elif defined(__APPLE__) && !defined(MAC_OS_X_VERSION_10_3)
  return NSIsSymbolNameDefined(name) ? NSAddressOfSymbol(NSLookupAndBindSymbol(name)) : NULL;
#else
  return dlsym(handle, name);
#endif
}

static int traceGL_initialized = 0;
static TraceGL_Handle traceGL_handle = NULL;

/* GL API function pointers. */

struct TraceGL_Functions
{
  void (GLAPIENTRY *glAccum)(GLenum, GLfloat);
  void (GLAPIENTRY *glActiveProgramEXT)(GLuint);
  void (GLAPIENTRY *glActiveShaderProgram)(GLuint, GLuint);
  void (GLAPIENTRY *glActiveStencilFaceEXT)(GLenum);
  void (GLAPIENTRY *glActiveTexture)(GLenum);
  void (GLAPIENTRY *glActiveTextureARB)(GLenum);
  void (GLAPIENTRY *glActiveVaryingNV)(GLuint, const GLchar *);
  void (GLAPIENTRY *glAddSwapHintRectWIN)(GLint, GLint, GLsizei, GLsizei);
  void (GLAPIENTRY *glAlphaFragmentOp1ATI)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glAlphaFragmentOp2ATI)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glAlphaFragmentOp3ATI)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glAlphaFunc)(GLenum, GLclampf);
  void (GLAPIENTRY *glApplyTextureEXT)(GLenum);
  GLboolean (GLAPIENTRY *glAreProgramsResidentNV)(GLsizei, const GLuint *, GLboolean *);
  GLboolean (GLAPIENTRY *glAreTexturesResident)(GLsizei, const GLuint *, GLboolean *);
  GLboolean (GLAPIENTRY *glAreTexturesResidentEXT)(GLsizei, const GLuint *, GLboolean *);
  void (GLAPIENTRY *glArrayElement)(GLint);
  void (GLAPIENTRY *glArrayElementEXT)(GLint);
  void (GLAPIENTRY *glArrayObjectATI)(GLenum, GLint, GLenum, GLsizei, GLuint, GLuint);
  void (GLAPIENTRY *glAsyncMarkerSGIX)(GLuint);
  void (GLAPIENTRY *glAttachObjectARB)(GLhandleARB, GLhandleARB);
  void (GLAPIENTRY *glAttachShader)(GLuint, GLuint);
  void (GLAPIENTRY *glBegin)(GLenum);
  void (GLAPIENTRY *glBeginConditionalRender)(GLuint, GLenum);
  void (GLAPIENTRY *glBeginConditionalRenderNV)(GLuint, GLenum);
  void (GLAPIENTRY *glBeginFragmentShaderATI)(void);
  void (GLAPIENTRY *glBeginOcclusionQueryNV)(GLuint);
  void (GLAPIENTRY *glBeginPerfMonitorAMD)(GLuint);
  void (GLAPIENTRY *glBeginQuery)(GLenum, GLuint);
  void (GLAPIENTRY *glBeginQueryARB)(GLenum, GLuint);
  void (GLAPIENTRY *glBeginQueryIndexed)(GLenum, GLuint, GLuint);
  void (GLAPIENTRY *glBeginTransformFeedback)(GLenum);
  void (GLAPIENTRY *glBeginTransformFeedbackEXT)(GLenum);
  void (GLAPIENTRY *glBeginTransformFeedbackNV)(GLenum);
  void (GLAPIENTRY *glBeginVertexShaderEXT)(void);
  void (GLAPIENTRY *glBeginVideoCaptureNV)(GLuint);
  void (GLAPIENTRY *glBindAttribLocation)(GLuint, GLuint, const GLchar *);
  void (GLAPIENTRY *glBindAttribLocationARB)(GLhandleARB, GLuint, const GLcharARB *);
  void (GLAPIENTRY *glBindBuffer)(GLenum, GLuint);
  void (GLAPIENTRY *glBindBufferARB)(GLenum, GLuint);
  void (GLAPIENTRY *glBindBufferBase)(GLenum, GLuint, GLuint);
  void (GLAPIENTRY *glBindBufferBaseEXT)(GLenum, GLuint, GLuint);
  void (GLAPIENTRY *glBindBufferBaseNV)(GLenum, GLuint, GLuint);
  void (GLAPIENTRY *glBindBufferOffsetEXT)(GLenum, GLuint, GLuint, GLintptr);
  void (GLAPIENTRY *glBindBufferOffsetNV)(GLenum, GLuint, GLuint, GLintptr);
  void (GLAPIENTRY *glBindBufferRange)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr);
  void (GLAPIENTRY *glBindBufferRangeEXT)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr);
  void (GLAPIENTRY *glBindBufferRangeNV)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr);
  void (GLAPIENTRY *glBindFragDataLocation)(GLuint, GLuint, const GLchar *);
  void (GLAPIENTRY *glBindFragDataLocationEXT)(GLuint, GLuint, const GLchar *);
  void (GLAPIENTRY *glBindFragDataLocationIndexed)(GLuint, GLuint, GLuint, const GLchar *);
  void (GLAPIENTRY *glBindFragmentShaderATI)(GLuint);
  void (GLAPIENTRY *glBindFramebuffer)(GLenum, GLuint);
  void (GLAPIENTRY *glBindFramebufferEXT)(GLenum, GLuint);
  void (GLAPIENTRY *glBindImageTextureEXT)(GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLint);
  GLuint (GLAPIENTRY *glBindLightParameterEXT)(GLenum, GLenum);
  GLuint (GLAPIENTRY *glBindMaterialParameterEXT)(GLenum, GLenum);
  void (GLAPIENTRY *glBindMultiTextureEXT)(GLenum, GLenum, GLuint);
  GLuint (GLAPIENTRY *glBindParameterEXT)(GLenum);
  void (GLAPIENTRY *glBindProgramARB)(GLenum, GLuint);
  void (GLAPIENTRY *glBindProgramNV)(GLenum, GLuint);
  void (GLAPIENTRY *glBindProgramPipeline)(GLuint);
  void (GLAPIENTRY *glBindRenderbuffer)(GLenum, GLuint);
  void (GLAPIENTRY *glBindRenderbufferEXT)(GLenum, GLuint);
  void (GLAPIENTRY *glBindSampler)(GLuint, GLuint);
  GLuint (GLAPIENTRY *glBindTexGenParameterEXT)(GLenum, GLenum, GLenum);
  void (GLAPIENTRY *glBindTexture)(GLenum, GLuint);
  void (GLAPIENTRY *glBindTextureEXT)(GLenum, GLuint);
  GLuint (GLAPIENTRY *glBindTextureUnitParameterEXT)(GLenum, GLenum);
  void (GLAPIENTRY *glBindTransformFeedback)(GLenum, GLuint);
  void (GLAPIENTRY *glBindTransformFeedbackNV)(GLenum, GLuint);
  void (GLAPIENTRY *glBindVertexArray)(GLuint);
  void (GLAPIENTRY *glBindVertexArrayAPPLE)(GLuint);
  void (GLAPIENTRY *glBindVertexShaderEXT)(GLuint);
  void (GLAPIENTRY *glBindVideoCaptureStreamBufferNV)(GLuint, GLuint, GLenum, GLintptr);
  void (GLAPIENTRY *glBindVideoCaptureStreamTextureNV)(GLuint, GLuint, GLenum, GLenum, GLuint);
  void (GLAPIENTRY *glBinormal3bEXT)(GLbyte, GLbyte, GLbyte);
  void (GLAPIENTRY *glBinormal3bvEXT)(const GLbyte *);
  void (GLAPIENTRY *glBinormal3dEXT)(GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glBinormal3dvEXT)(const GLdouble *);
  void (GLAPIENTRY *glBinormal3fEXT)(GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glBinormal3fvEXT)(const GLfloat *);
  void (GLAPIENTRY *glBinormal3iEXT)(GLint, GLint, GLint);
  void (GLAPIENTRY *glBinormal3ivEXT)(const GLint *);
  void (GLAPIENTRY *glBinormal3sEXT)(GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glBinormal3svEXT)(const GLshort *);
  void (GLAPIENTRY *glBinormalPointerEXT)(GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glBitmap)(GLsizei, GLsizei, GLfloat, GLfloat, GLfloat, GLfloat, const GLubyte *);
  void (GLAPIENTRY *glBlendColor)(GLclampf, GLclampf, GLclampf, GLclampf);
  void (GLAPIENTRY *glBlendColorEXT)(GLclampf, GLclampf, GLclampf, GLclampf);
  void (GLAPIENTRY *glBlendEquation)(GLenum);
  void (GLAPIENTRY *glBlendEquationEXT)(GLenum);
  void (GLAPIENTRY *glBlendEquationIndexedAMD)(GLuint, GLenum);
  void (GLAPIENTRY *glBlendEquationSeparate)(GLenum, GLenum);
  void (GLAPIENTRY *glBlendEquationSeparateEXT)(GLenum, GLenum);
  void (GLAPIENTRY *glBlendEquationSeparateIndexedAMD)(GLuint, GLenum, GLenum);
  void (GLAPIENTRY *glBlendEquationSeparatei)(GLuint, GLenum, GLenum);
  void (GLAPIENTRY *glBlendEquationSeparateiARB)(GLuint, GLenum, GLenum);
  void (GLAPIENTRY *glBlendEquationi)(GLuint, GLenum);
  void (GLAPIENTRY *glBlendEquationiARB)(GLuint, GLenum);
  void (GLAPIENTRY *glBlendFunc)(GLenum, GLenum);
  void (GLAPIENTRY *glBlendFuncIndexedAMD)(GLuint, GLenum, GLenum);
  void (GLAPIENTRY *glBlendFuncSeparate)(GLenum, GLenum, GLenum, GLenum);
  void (GLAPIENTRY *glBlendFuncSeparateEXT)(GLenum, GLenum, GLenum, GLenum);
  void (GLAPIENTRY *glBlendFuncSeparateINGR)(GLenum, GLenum, GLenum, GLenum);
  void (GLAPIENTRY *glBlendFuncSeparateIndexedAMD)(GLuint, GLenum, GLenum, GLenum, GLenum);
  void (GLAPIENTRY *glBlendFuncSeparatei)(GLuint, GLenum, GLenum, GLenum, GLenum);
  void (GLAPIENTRY *glBlendFuncSeparateiARB)(GLuint, GLenum, GLenum, GLenum, GLenum);
  void (GLAPIENTRY *glBlendFunci)(GLuint, GLenum, GLenum);
  void (GLAPIENTRY *glBlendFunciARB)(GLuint, GLenum, GLenum);
  void (GLAPIENTRY *glBlitFramebuffer)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum);
  void (GLAPIENTRY *glBlitFramebufferEXT)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum);
  void (GLAPIENTRY *glBufferAddressRangeNV)(GLenum, GLuint, GLuint64EXT, GLsizeiptr);
  void (GLAPIENTRY *glBufferData)(GLenum, GLsizeiptr, const GLvoid *, GLenum);
  void (GLAPIENTRY *glBufferDataARB)(GLenum, GLsizeiptrARB, const GLvoid *, GLenum);
  void (GLAPIENTRY *glBufferParameteriAPPLE)(GLenum, GLenum, GLint);
  GLuint (GLAPIENTRY *glBufferRegionEnabledEXT)(void);
  void (GLAPIENTRY *glBufferSubData)(GLenum, GLintptr, GLsizeiptr, const GLvoid *);
  void (GLAPIENTRY *glBufferSubDataARB)(GLenum, GLintptrARB, GLsizeiptrARB, const GLvoid *);
  void (GLAPIENTRY *glCallList)(GLuint);
  void (GLAPIENTRY *glCallLists)(GLsizei, GLenum, const GLvoid *);
  GLenum (GLAPIENTRY *glCheckFramebufferStatus)(GLenum);
  GLenum (GLAPIENTRY *glCheckFramebufferStatusEXT)(GLenum);
  GLenum (GLAPIENTRY *glCheckNamedFramebufferStatusEXT)(GLuint, GLenum);
  void (GLAPIENTRY *glClampColor)(GLenum, GLenum);
  void (GLAPIENTRY *glClampColorARB)(GLenum, GLenum);
  void (GLAPIENTRY *glClear)(GLbitfield);
  void (GLAPIENTRY *glClearAccum)(GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glClearBufferfi)(GLenum, GLint, GLfloat, GLint);
  void (GLAPIENTRY *glClearBufferfv)(GLenum, GLint, const GLfloat *);
  void (GLAPIENTRY *glClearBufferiv)(GLenum, GLint, const GLint *);
  void (GLAPIENTRY *glClearBufferuiv)(GLenum, GLint, const GLuint *);
  void (GLAPIENTRY *glClearColor)(GLclampf, GLclampf, GLclampf, GLclampf);
  void (GLAPIENTRY *glClearColorIiEXT)(GLint, GLint, GLint, GLint);
  void (GLAPIENTRY *glClearColorIuiEXT)(GLuint, GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glClearDepth)(GLclampd);
  void (GLAPIENTRY *glClearDepthdNV)(GLdouble);
  void (GLAPIENTRY *glClearDepthf)(GLclampf);
  void (GLAPIENTRY *glClearIndex)(GLfloat);
  void (GLAPIENTRY *glClearStencil)(GLint);
  void (GLAPIENTRY *glClientActiveTexture)(GLenum);
  void (GLAPIENTRY *glClientActiveTextureARB)(GLenum);
  void (GLAPIENTRY *glClientActiveVertexStreamATI)(GLenum);
  void (GLAPIENTRY *glClientAttribDefaultEXT)(GLbitfield);
  GLenum (GLAPIENTRY *glClientWaitSync)(GLsync, GLbitfield, GLuint64);
  void (GLAPIENTRY *glClipPlane)(GLenum, const GLdouble *);
  void (GLAPIENTRY *glColor3b)(GLbyte, GLbyte, GLbyte);
  void (GLAPIENTRY *glColor3bv)(const GLbyte *);
  void (GLAPIENTRY *glColor3d)(GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glColor3dv)(const GLdouble *);
  void (GLAPIENTRY *glColor3f)(GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glColor3fVertex3fSUN)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glColor3fVertex3fvSUN)(const GLfloat *, const GLfloat *);
  void (GLAPIENTRY *glColor3fv)(const GLfloat *);
  void (GLAPIENTRY *glColor3hNV)(GLhalfNV, GLhalfNV, GLhalfNV);
  void (GLAPIENTRY *glColor3hvNV)(const GLhalfNV *);
  void (GLAPIENTRY *glColor3i)(GLint, GLint, GLint);
  void (GLAPIENTRY *glColor3iv)(const GLint *);
  void (GLAPIENTRY *glColor3s)(GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glColor3sv)(const GLshort *);
  void (GLAPIENTRY *glColor3ub)(GLubyte, GLubyte, GLubyte);
  void (GLAPIENTRY *glColor3ubv)(const GLubyte *);
  void (GLAPIENTRY *glColor3ui)(GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glColor3uiv)(const GLuint *);
  void (GLAPIENTRY *glColor3us)(GLushort, GLushort, GLushort);
  void (GLAPIENTRY *glColor3usv)(const GLushort *);
  void (GLAPIENTRY *glColor4b)(GLbyte, GLbyte, GLbyte, GLbyte);
  void (GLAPIENTRY *glColor4bv)(const GLbyte *);
  void (GLAPIENTRY *glColor4d)(GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glColor4dv)(const GLdouble *);
  void (GLAPIENTRY *glColor4f)(GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glColor4fNormal3fVertex3fSUN)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glColor4fNormal3fVertex3fvSUN)(const GLfloat *, const GLfloat *, const GLfloat *);
  void (GLAPIENTRY *glColor4fv)(const GLfloat *);
  void (GLAPIENTRY *glColor4hNV)(GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV);
  void (GLAPIENTRY *glColor4hvNV)(const GLhalfNV *);
  void (GLAPIENTRY *glColor4i)(GLint, GLint, GLint, GLint);
  void (GLAPIENTRY *glColor4iv)(const GLint *);
  void (GLAPIENTRY *glColor4s)(GLshort, GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glColor4sv)(const GLshort *);
  void (GLAPIENTRY *glColor4ub)(GLubyte, GLubyte, GLubyte, GLubyte);
  void (GLAPIENTRY *glColor4ubVertex2fSUN)(GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat);
  void (GLAPIENTRY *glColor4ubVertex2fvSUN)(const GLubyte *, const GLfloat *);
  void (GLAPIENTRY *glColor4ubVertex3fSUN)(GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glColor4ubVertex3fvSUN)(const GLubyte *, const GLfloat *);
  void (GLAPIENTRY *glColor4ubv)(const GLubyte *);
  void (GLAPIENTRY *glColor4ui)(GLuint, GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glColor4uiv)(const GLuint *);
  void (GLAPIENTRY *glColor4us)(GLushort, GLushort, GLushort, GLushort);
  void (GLAPIENTRY *glColor4usv)(const GLushort *);
  void (GLAPIENTRY *glColorFormatNV)(GLint, GLenum, GLsizei);
  void (GLAPIENTRY *glColorFragmentOp1ATI)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glColorFragmentOp2ATI)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glColorFragmentOp3ATI)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glColorMask)(GLboolean, GLboolean, GLboolean, GLboolean);
  void (GLAPIENTRY *glColorMaskIndexedEXT)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean);
  void (GLAPIENTRY *glColorMaski)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean);
  void (GLAPIENTRY *glColorMaterial)(GLenum, GLenum);
  void (GLAPIENTRY *glColorP3ui)(GLenum, GLuint);
  void (GLAPIENTRY *glColorP3uiv)(GLenum, const GLuint *);
  void (GLAPIENTRY *glColorP4ui)(GLenum, GLuint);
  void (GLAPIENTRY *glColorP4uiv)(GLenum, const GLuint *);
  void (GLAPIENTRY *glColorPointer)(GLint, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glColorPointerEXT)(GLint, GLenum, GLsizei, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glColorPointerListIBM)(GLint, GLenum, GLint, const GLvoid **, GLint);
  void (GLAPIENTRY *glColorPointervINTEL)(GLint, GLenum, const GLvoid **);
  void (GLAPIENTRY *glColorSubTable)(GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glColorSubTableEXT)(GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glColorTable)(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glColorTableEXT)(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glColorTableParameterfv)(GLenum, GLenum, const GLfloat *);
  void (GLAPIENTRY *glColorTableParameterfvSGI)(GLenum, GLenum, const GLfloat *);
  void (GLAPIENTRY *glColorTableParameteriv)(GLenum, GLenum, const GLint *);
  void (GLAPIENTRY *glColorTableParameterivSGI)(GLenum, GLenum, const GLint *);
  void (GLAPIENTRY *glColorTableSGI)(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glCombinerInputNV)(GLenum, GLenum, GLenum, GLenum, GLenum, GLenum);
  void (GLAPIENTRY *glCombinerOutputNV)(GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLboolean, GLboolean, GLboolean);
  void (GLAPIENTRY *glCombinerParameterfNV)(GLenum, GLfloat);
  void (GLAPIENTRY *glCombinerParameterfvNV)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glCombinerParameteriNV)(GLenum, GLint);
  void (GLAPIENTRY *glCombinerParameterivNV)(GLenum, const GLint *);
  void (GLAPIENTRY *glCombinerStageParameterfvNV)(GLenum, GLenum, const GLfloat *);
  void (GLAPIENTRY *glCompileShader)(GLuint);
  void (GLAPIENTRY *glCompileShaderARB)(GLhandleARB);
  void (GLAPIENTRY *glCompileShaderIncludeARB)(GLuint, GLsizei, const GLchar **, const GLint *);
  void (GLAPIENTRY *glCompressedMultiTexImage1DEXT)(GLenum, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glCompressedMultiTexImage2DEXT)(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glCompressedMultiTexImage3DEXT)(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glCompressedMultiTexSubImage1DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glCompressedMultiTexSubImage2DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glCompressedMultiTexSubImage3DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glCompressedTexImage1D)(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glCompressedTexImage1DARB)(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glCompressedTexImage2D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glCompressedTexImage2DARB)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glCompressedTexImage3D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glCompressedTexImage3DARB)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glCompressedTexSubImage1D)(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glCompressedTexSubImage1DARB)(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glCompressedTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glCompressedTexSubImage2DARB)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glCompressedTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glCompressedTexSubImage3DARB)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glCompressedTextureImage1DEXT)(GLuint, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glCompressedTextureImage2DEXT)(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glCompressedTextureImage3DEXT)(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glCompressedTextureSubImage1DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glCompressedTextureSubImage2DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glCompressedTextureSubImage3DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glConvolutionFilter1D)(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glConvolutionFilter1DEXT)(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glConvolutionFilter2D)(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glConvolutionFilter2DEXT)(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glConvolutionParameterf)(GLenum, GLenum, GLfloat);
  void (GLAPIENTRY *glConvolutionParameterfEXT)(GLenum, GLenum, GLfloat);
  void (GLAPIENTRY *glConvolutionParameterfv)(GLenum, GLenum, const GLfloat *);
  void (GLAPIENTRY *glConvolutionParameterfvEXT)(GLenum, GLenum, const GLfloat *);
  void (GLAPIENTRY *glConvolutionParameteri)(GLenum, GLenum, GLint);
  void (GLAPIENTRY *glConvolutionParameteriEXT)(GLenum, GLenum, GLint);
  void (GLAPIENTRY *glConvolutionParameteriv)(GLenum, GLenum, const GLint *);
  void (GLAPIENTRY *glConvolutionParameterivEXT)(GLenum, GLenum, const GLint *);
  void (GLAPIENTRY *glCopyBufferSubData)(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr);
  void (GLAPIENTRY *glCopyColorSubTable)(GLenum, GLsizei, GLint, GLint, GLsizei);
  void (GLAPIENTRY *glCopyColorSubTableEXT)(GLenum, GLsizei, GLint, GLint, GLsizei);
  void (GLAPIENTRY *glCopyColorTable)(GLenum, GLenum, GLint, GLint, GLsizei);
  void (GLAPIENTRY *glCopyColorTableSGI)(GLenum, GLenum, GLint, GLint, GLsizei);
  void (GLAPIENTRY *glCopyConvolutionFilter1D)(GLenum, GLenum, GLint, GLint, GLsizei);
  void (GLAPIENTRY *glCopyConvolutionFilter1DEXT)(GLenum, GLenum, GLint, GLint, GLsizei);
  void (GLAPIENTRY *glCopyConvolutionFilter2D)(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei);
  void (GLAPIENTRY *glCopyConvolutionFilter2DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei);
  void (GLAPIENTRY *glCopyImageSubDataNV)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei);
  void (GLAPIENTRY *glCopyMultiTexImage1DEXT)(GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
  void (GLAPIENTRY *glCopyMultiTexImage2DEXT)(GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
  void (GLAPIENTRY *glCopyMultiTexSubImage1DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei);
  void (GLAPIENTRY *glCopyMultiTexSubImage2DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
  void (GLAPIENTRY *glCopyMultiTexSubImage3DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
  void (GLAPIENTRY *glCopyPixels)(GLint, GLint, GLsizei, GLsizei, GLenum);
  void (GLAPIENTRY *glCopyTexImage1D)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
  void (GLAPIENTRY *glCopyTexImage1DEXT)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
  void (GLAPIENTRY *glCopyTexImage2D)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
  void (GLAPIENTRY *glCopyTexImage2DEXT)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
  void (GLAPIENTRY *glCopyTexSubImage1D)(GLenum, GLint, GLint, GLint, GLint, GLsizei);
  void (GLAPIENTRY *glCopyTexSubImage1DEXT)(GLenum, GLint, GLint, GLint, GLint, GLsizei);
  void (GLAPIENTRY *glCopyTexSubImage2D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
  void (GLAPIENTRY *glCopyTexSubImage2DEXT)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
  void (GLAPIENTRY *glCopyTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
  void (GLAPIENTRY *glCopyTexSubImage3DEXT)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
  void (GLAPIENTRY *glCopyTextureImage1DEXT)(GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
  void (GLAPIENTRY *glCopyTextureImage2DEXT)(GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
  void (GLAPIENTRY *glCopyTextureSubImage1DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei);
  void (GLAPIENTRY *glCopyTextureSubImage2DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
  void (GLAPIENTRY *glCopyTextureSubImage3DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
  GLuint (GLAPIENTRY *glCreateProgram)(void);
  GLhandleARB (GLAPIENTRY *glCreateProgramObjectARB)(void);
  GLuint (GLAPIENTRY *glCreateShader)(GLenum);
  GLhandleARB (GLAPIENTRY *glCreateShaderObjectARB)(GLenum);
  GLuint (GLAPIENTRY *glCreateShaderProgramEXT)(GLenum, const GLchar *);
  GLuint (GLAPIENTRY *glCreateShaderProgramv)(GLenum, GLsizei, const GLchar **);
  void (GLAPIENTRY *glCullFace)(GLenum);
  void (GLAPIENTRY *glCullParameterdvEXT)(GLenum, GLdouble *);
  void (GLAPIENTRY *glCullParameterfvEXT)(GLenum, GLfloat *);
  void (GLAPIENTRY *glCurrentPaletteMatrixARB)(GLint);
  void (GLAPIENTRY *glDebugMessageCallbackARB)(GLDEBUGPROCARB, GLvoid *);
  void (GLAPIENTRY *glDebugMessageControlARB)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean);
  void (GLAPIENTRY *glDebugMessageInsertARB)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *);
  void (GLAPIENTRY *glDeformSGIX)(GLbitfield);
  void (GLAPIENTRY *glDeformationMap3dSGIX)(GLenum, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble *);
  void (GLAPIENTRY *glDeformationMap3fSGIX)(GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat *);
  void (GLAPIENTRY *glDeleteAsyncMarkersSGIX)(GLuint, GLsizei);
  void (GLAPIENTRY *glDeleteBufferRegionEXT)(GLenum);
  void (GLAPIENTRY *glDeleteBuffers)(GLsizei, const GLuint *);
  void (GLAPIENTRY *glDeleteBuffersARB)(GLsizei, const GLuint *);
  void (GLAPIENTRY *glDeleteFencesAPPLE)(GLsizei, const GLuint *);
  void (GLAPIENTRY *glDeleteFencesNV)(GLsizei, const GLuint *);
  void (GLAPIENTRY *glDeleteFragmentShaderATI)(GLuint);
  void (GLAPIENTRY *glDeleteFramebuffers)(GLsizei, const GLuint *);
  void (GLAPIENTRY *glDeleteFramebuffersEXT)(GLsizei, const GLuint *);
  void (GLAPIENTRY *glDeleteLists)(GLuint, GLsizei);
  void (GLAPIENTRY *glDeleteNamedStringARB)(GLint, const GLchar *);
  void (GLAPIENTRY *glDeleteObjectARB)(GLhandleARB);
  void (GLAPIENTRY *glDeleteOcclusionQueriesNV)(GLsizei, const GLuint *);
  void (GLAPIENTRY *glDeletePerfMonitorsAMD)(GLsizei, GLuint *);
  void (GLAPIENTRY *glDeleteProgram)(GLuint);
  void (GLAPIENTRY *glDeleteProgramPipelines)(GLsizei, const GLuint *);
  void (GLAPIENTRY *glDeleteProgramsARB)(GLsizei, const GLuint *);
  void (GLAPIENTRY *glDeleteProgramsNV)(GLsizei, const GLuint *);
  void (GLAPIENTRY *glDeleteQueries)(GLsizei, const GLuint *);
  void (GLAPIENTRY *glDeleteQueriesARB)(GLsizei, const GLuint *);
  void (GLAPIENTRY *glDeleteRenderbuffers)(GLsizei, const GLuint *);
  void (GLAPIENTRY *glDeleteRenderbuffersEXT)(GLsizei, const GLuint *);
  void (GLAPIENTRY *glDeleteSamplers)(GLsizei, const GLuint *);
  void (GLAPIENTRY *glDeleteShader)(GLuint);
  void (GLAPIENTRY *glDeleteSync)(GLsync);
  void (GLAPIENTRY *glDeleteTextures)(GLsizei, const GLuint *);
  void (GLAPIENTRY *glDeleteTexturesEXT)(GLsizei, const GLuint *);
  void (GLAPIENTRY *glDeleteTransformFeedbacks)(GLsizei, const GLuint *);
  void (GLAPIENTRY *glDeleteTransformFeedbacksNV)(GLsizei, const GLuint *);
  void (GLAPIENTRY *glDeleteVertexArrays)(GLsizei, const GLuint *);
  void (GLAPIENTRY *glDeleteVertexArraysAPPLE)(GLsizei, const GLuint *);
  void (GLAPIENTRY *glDeleteVertexShaderEXT)(GLuint);
  void (GLAPIENTRY *glDepthBoundsEXT)(GLclampd, GLclampd);
  void (GLAPIENTRY *glDepthBoundsdNV)(GLdouble, GLdouble);
  void (GLAPIENTRY *glDepthFunc)(GLenum);
  void (GLAPIENTRY *glDepthMask)(GLboolean);
  void (GLAPIENTRY *glDepthRange)(GLclampd, GLclampd);
  void (GLAPIENTRY *glDepthRangeArrayv)(GLuint, GLsizei, const GLclampd *);
  void (GLAPIENTRY *glDepthRangeIndexed)(GLuint, GLclampd, GLclampd);
  void (GLAPIENTRY *glDepthRangedNV)(GLdouble, GLdouble);
  void (GLAPIENTRY *glDepthRangef)(GLclampf, GLclampf);
  void (GLAPIENTRY *glDetachObjectARB)(GLhandleARB, GLhandleARB);
  void (GLAPIENTRY *glDetachShader)(GLuint, GLuint);
  void (GLAPIENTRY *glDetailTexFuncSGIS)(GLenum, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glDisable)(GLenum);
  void (GLAPIENTRY *glDisableClientState)(GLenum);
  void (GLAPIENTRY *glDisableClientStateIndexedEXT)(GLenum, GLuint);
  void (GLAPIENTRY *glDisableIndexedEXT)(GLenum, GLuint);
  void (GLAPIENTRY *glDisableVariantClientStateEXT)(GLuint);
  void (GLAPIENTRY *glDisableVertexAttribAPPLE)(GLuint, GLenum);
  void (GLAPIENTRY *glDisableVertexAttribArray)(GLuint);
  void (GLAPIENTRY *glDisableVertexAttribArrayARB)(GLuint);
  void (GLAPIENTRY *glDisablei)(GLenum, GLuint);
  void (GLAPIENTRY *glDrawArrays)(GLenum, GLint, GLsizei);
  void (GLAPIENTRY *glDrawArraysEXT)(GLenum, GLint, GLsizei);
  void (GLAPIENTRY *glDrawArraysIndirect)(GLenum, const GLvoid *);
  void (GLAPIENTRY *glDrawArraysInstanced)(GLenum, GLint, GLsizei, GLsizei);
  void (GLAPIENTRY *glDrawArraysInstancedARB)(GLenum, GLint, GLsizei, GLsizei);
  void (GLAPIENTRY *glDrawArraysInstancedEXT)(GLenum, GLint, GLsizei, GLsizei);
  void (GLAPIENTRY *glDrawBuffer)(GLenum);
  void (GLAPIENTRY *glDrawBufferRegionEXT)(GLuint, GLint, GLint, GLsizei, GLsizei, GLint, GLint);
  void (GLAPIENTRY *glDrawBuffers)(GLsizei, const GLenum *);
  void (GLAPIENTRY *glDrawBuffersARB)(GLsizei, const GLenum *);
  void (GLAPIENTRY *glDrawBuffersATI)(GLsizei, const GLenum *);
  void (GLAPIENTRY *glDrawElementArrayAPPLE)(GLenum, GLint, GLsizei);
  void (GLAPIENTRY *glDrawElementArrayATI)(GLenum, GLsizei);
  void (GLAPIENTRY *glDrawElements)(GLenum, GLsizei, GLenum, const GLvoid *);
  void (GLAPIENTRY *glDrawElementsBaseVertex)(GLenum, GLsizei, GLenum, const GLvoid *, GLint);
  void (GLAPIENTRY *glDrawElementsIndirect)(GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glDrawElementsInstanced)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei);
  void (GLAPIENTRY *glDrawElementsInstancedARB)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei);
  void (GLAPIENTRY *glDrawElementsInstancedBaseVertex)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei, GLint);
  void (GLAPIENTRY *glDrawElementsInstancedEXT)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei);
  void (GLAPIENTRY *glDrawMeshArraysSUN)(GLenum, GLint, GLsizei, GLsizei);
  void (GLAPIENTRY *glDrawPixels)(GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glDrawRangeElementArrayAPPLE)(GLenum, GLuint, GLuint, GLint, GLsizei);
  void (GLAPIENTRY *glDrawRangeElementArrayATI)(GLenum, GLuint, GLuint, GLsizei);
  void (GLAPIENTRY *glDrawRangeElements)(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *);
  void (GLAPIENTRY *glDrawRangeElementsBaseVertex)(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *, GLint);
  void (GLAPIENTRY *glDrawRangeElementsEXT)(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *);
  void (GLAPIENTRY *glDrawTransformFeedback)(GLenum, GLuint);
  void (GLAPIENTRY *glDrawTransformFeedbackNV)(GLenum, GLuint);
  void (GLAPIENTRY *glDrawTransformFeedbackStream)(GLenum, GLuint, GLuint);
  void (GLAPIENTRY *glEdgeFlag)(GLboolean);
  void (GLAPIENTRY *glEdgeFlagFormatNV)(GLsizei);
  void (GLAPIENTRY *glEdgeFlagPointer)(GLsizei, const GLvoid *);
  void (GLAPIENTRY *glEdgeFlagPointerEXT)(GLsizei, GLsizei, const GLboolean *);
  void (GLAPIENTRY *glEdgeFlagPointerListIBM)(GLint, const GLboolean **, GLint);
  void (GLAPIENTRY *glEdgeFlagv)(const GLboolean *);
  void (GLAPIENTRY *glElementPointerAPPLE)(GLenum, const GLvoid *);
  void (GLAPIENTRY *glElementPointerATI)(GLenum, const GLvoid *);
  void (GLAPIENTRY *glEnable)(GLenum);
  void (GLAPIENTRY *glEnableClientState)(GLenum);
  void (GLAPIENTRY *glEnableClientStateIndexedEXT)(GLenum, GLuint);
  void (GLAPIENTRY *glEnableIndexedEXT)(GLenum, GLuint);
  void (GLAPIENTRY *glEnableVariantClientStateEXT)(GLuint);
  void (GLAPIENTRY *glEnableVertexAttribAPPLE)(GLuint, GLenum);
  void (GLAPIENTRY *glEnableVertexAttribArray)(GLuint);
  void (GLAPIENTRY *glEnableVertexAttribArrayARB)(GLuint);
  void (GLAPIENTRY *glEnablei)(GLenum, GLuint);
  void (GLAPIENTRY *glEnd)(void);
  void (GLAPIENTRY *glEndConditionalRender)(void);
  void (GLAPIENTRY *glEndConditionalRenderNV)(void);
  void (GLAPIENTRY *glEndFragmentShaderATI)(void);
  void (GLAPIENTRY *glEndList)(void);
  void (GLAPIENTRY *glEndOcclusionQueryNV)(void);
  void (GLAPIENTRY *glEndPerfMonitorAMD)(GLuint);
  void (GLAPIENTRY *glEndQuery)(GLenum);
  void (GLAPIENTRY *glEndQueryARB)(GLenum);
  void (GLAPIENTRY *glEndQueryIndexed)(GLenum, GLuint);
  void (GLAPIENTRY *glEndTransformFeedback)(void);
  void (GLAPIENTRY *glEndTransformFeedbackEXT)(void);
  void (GLAPIENTRY *glEndTransformFeedbackNV)(void);
  void (GLAPIENTRY *glEndVertexShaderEXT)(void);
  void (GLAPIENTRY *glEndVideoCaptureNV)(GLuint);
  void (GLAPIENTRY *glEvalCoord1d)(GLdouble);
  void (GLAPIENTRY *glEvalCoord1dv)(const GLdouble *);
  void (GLAPIENTRY *glEvalCoord1f)(GLfloat);
  void (GLAPIENTRY *glEvalCoord1fv)(const GLfloat *);
  void (GLAPIENTRY *glEvalCoord2d)(GLdouble, GLdouble);
  void (GLAPIENTRY *glEvalCoord2dv)(const GLdouble *);
  void (GLAPIENTRY *glEvalCoord2f)(GLfloat, GLfloat);
  void (GLAPIENTRY *glEvalCoord2fv)(const GLfloat *);
  void (GLAPIENTRY *glEvalMapsNV)(GLenum, GLenum);
  void (GLAPIENTRY *glEvalMesh1)(GLenum, GLint, GLint);
  void (GLAPIENTRY *glEvalMesh2)(GLenum, GLint, GLint, GLint, GLint);
  void (GLAPIENTRY *glEvalPoint1)(GLint);
  void (GLAPIENTRY *glEvalPoint2)(GLint, GLint);
  void (GLAPIENTRY *glExecuteProgramNV)(GLenum, GLuint, const GLfloat *);
  void (GLAPIENTRY *glExtractComponentEXT)(GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glFeedbackBuffer)(GLsizei, GLenum, GLfloat *);
  GLsync (GLAPIENTRY *glFenceSync)(GLenum, GLbitfield);
  void (GLAPIENTRY *glFinalCombinerInputNV)(GLenum, GLenum, GLenum, GLenum);
  void (GLAPIENTRY *glFinish)(void);
  GLint (GLAPIENTRY *glFinishAsyncSGIX)(GLuint *);
  void (GLAPIENTRY *glFinishFenceAPPLE)(GLuint);
  void (GLAPIENTRY *glFinishFenceNV)(GLuint);
  void (GLAPIENTRY *glFinishObjectAPPLE)(GLenum, GLint);
  void (GLAPIENTRY *glFinishTextureSUNX)(void);
  void (GLAPIENTRY *glFlush)(void);
  void (GLAPIENTRY *glFlushMappedBufferRange)(GLenum, GLintptr, GLsizeiptr);
  void (GLAPIENTRY *glFlushMappedBufferRangeAPPLE)(GLenum, GLintptr, GLsizeiptr);
  void (GLAPIENTRY *glFlushMappedNamedBufferRangeEXT)(GLuint, GLintptr, GLsizeiptr);
  void (GLAPIENTRY *glFlushPixelDataRangeNV)(GLenum);
  void (GLAPIENTRY *glFlushRasterSGIX)(void);
  void (GLAPIENTRY *glFlushVertexArrayRangeAPPLE)(GLsizei, GLvoid *);
  void (GLAPIENTRY *glFlushVertexArrayRangeNV)(void);
  void (GLAPIENTRY *glFogCoordFormatNV)(GLenum, GLsizei);
  void (GLAPIENTRY *glFogCoordPointer)(GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glFogCoordPointerEXT)(GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glFogCoordPointerListIBM)(GLenum, GLint, const GLvoid **, GLint);
  void (GLAPIENTRY *glFogCoordd)(GLdouble);
  void (GLAPIENTRY *glFogCoorddEXT)(GLdouble);
  void (GLAPIENTRY *glFogCoorddv)(const GLdouble *);
  void (GLAPIENTRY *glFogCoorddvEXT)(const GLdouble *);
  void (GLAPIENTRY *glFogCoordf)(GLfloat);
  void (GLAPIENTRY *glFogCoordfEXT)(GLfloat);
  void (GLAPIENTRY *glFogCoordfv)(const GLfloat *);
  void (GLAPIENTRY *glFogCoordfvEXT)(const GLfloat *);
  void (GLAPIENTRY *glFogCoordhNV)(GLhalfNV);
  void (GLAPIENTRY *glFogCoordhvNV)(const GLhalfNV *);
  void (GLAPIENTRY *glFogFuncSGIS)(GLsizei, const GLfloat *);
  void (GLAPIENTRY *glFogf)(GLenum, GLfloat);
  void (GLAPIENTRY *glFogfv)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glFogi)(GLenum, GLint);
  void (GLAPIENTRY *glFogiv)(GLenum, const GLint *);
  void (GLAPIENTRY *glFragmentColorMaterialSGIX)(GLenum, GLenum);
  void (GLAPIENTRY *glFragmentLightModelfSGIX)(GLenum, GLfloat);
  void (GLAPIENTRY *glFragmentLightModelfvSGIX)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glFragmentLightModeliSGIX)(GLenum, GLint);
  void (GLAPIENTRY *glFragmentLightModelivSGIX)(GLenum, const GLint *);
  void (GLAPIENTRY *glFragmentLightfSGIX)(GLenum, GLenum, GLfloat);
  void (GLAPIENTRY *glFragmentLightfvSGIX)(GLenum, GLenum, const GLfloat *);
  void (GLAPIENTRY *glFragmentLightiSGIX)(GLenum, GLenum, GLint);
  void (GLAPIENTRY *glFragmentLightivSGIX)(GLenum, GLenum, const GLint *);
  void (GLAPIENTRY *glFragmentMaterialfSGIX)(GLenum, GLenum, GLfloat);
  void (GLAPIENTRY *glFragmentMaterialfvSGIX)(GLenum, GLenum, const GLfloat *);
  void (GLAPIENTRY *glFragmentMaterialiSGIX)(GLenum, GLenum, GLint);
  void (GLAPIENTRY *glFragmentMaterialivSGIX)(GLenum, GLenum, const GLint *);
  void (GLAPIENTRY *glFrameTerminatorGREMEDY)(void);
  void (GLAPIENTRY *glFrameZoomSGIX)(GLint);
  void (GLAPIENTRY *glFramebufferDrawBufferEXT)(GLuint, GLenum);
  void (GLAPIENTRY *glFramebufferDrawBuffersEXT)(GLuint, GLsizei, const GLenum *);
  void (GLAPIENTRY *glFramebufferReadBufferEXT)(GLuint, GLenum);
  void (GLAPIENTRY *glFramebufferRenderbuffer)(GLenum, GLenum, GLenum, GLuint);
  void (GLAPIENTRY *glFramebufferRenderbufferEXT)(GLenum, GLenum, GLenum, GLuint);
  void (GLAPIENTRY *glFramebufferTexture)(GLenum, GLenum, GLuint, GLint);
  void (GLAPIENTRY *glFramebufferTexture1D)(GLenum, GLenum, GLenum, GLuint, GLint);
  void (GLAPIENTRY *glFramebufferTexture1DEXT)(GLenum, GLenum, GLenum, GLuint, GLint);
  void (GLAPIENTRY *glFramebufferTexture2D)(GLenum, GLenum, GLenum, GLuint, GLint);
  void (GLAPIENTRY *glFramebufferTexture2DEXT)(GLenum, GLenum, GLenum, GLuint, GLint);
  void (GLAPIENTRY *glFramebufferTexture3D)(GLenum, GLenum, GLenum, GLuint, GLint, GLint);
  void (GLAPIENTRY *glFramebufferTexture3DEXT)(GLenum, GLenum, GLenum, GLuint, GLint, GLint);
  void (GLAPIENTRY *glFramebufferTextureARB)(GLenum, GLenum, GLuint, GLint);
  void (GLAPIENTRY *glFramebufferTextureEXT)(GLenum, GLenum, GLuint, GLint);
  void (GLAPIENTRY *glFramebufferTextureFace)(GLenum, GLenum, GLuint, GLint, GLenum);
  void (GLAPIENTRY *glFramebufferTextureFaceARB)(GLenum, GLenum, GLuint, GLint, GLenum);
  void (GLAPIENTRY *glFramebufferTextureFaceEXT)(GLenum, GLenum, GLuint, GLint, GLenum);
  void (GLAPIENTRY *glFramebufferTextureLayer)(GLenum, GLenum, GLuint, GLint, GLint);
  void (GLAPIENTRY *glFramebufferTextureLayerARB)(GLenum, GLenum, GLuint, GLint, GLint);
  void (GLAPIENTRY *glFramebufferTextureLayerEXT)(GLenum, GLenum, GLuint, GLint, GLint);
  void (GLAPIENTRY *glFreeObjectBufferATI)(GLuint);
  void (GLAPIENTRY *glFrontFace)(GLenum);
  void (GLAPIENTRY *glFrustum)(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble);
  GLuint (GLAPIENTRY *glGenAsyncMarkersSGIX)(GLsizei);
  void (GLAPIENTRY *glGenBuffers)(GLsizei, GLuint *);
  void (GLAPIENTRY *glGenBuffersARB)(GLsizei, GLuint *);
  void (GLAPIENTRY *glGenFencesAPPLE)(GLsizei, GLuint *);
  void (GLAPIENTRY *glGenFencesNV)(GLsizei, GLuint *);
  GLuint (GLAPIENTRY *glGenFragmentShadersATI)(GLuint);
  void (GLAPIENTRY *glGenFramebuffers)(GLsizei, GLuint *);
  void (GLAPIENTRY *glGenFramebuffersEXT)(GLsizei, GLuint *);
  GLuint (GLAPIENTRY *glGenLists)(GLsizei);
  void (GLAPIENTRY *glGenOcclusionQueriesNV)(GLsizei, GLuint *);
  void (GLAPIENTRY *glGenPerfMonitorsAMD)(GLsizei, GLuint *);
  void (GLAPIENTRY *glGenProgramPipelines)(GLsizei, GLuint *);
  void (GLAPIENTRY *glGenProgramsARB)(GLsizei, GLuint *);
  void (GLAPIENTRY *glGenProgramsNV)(GLsizei, GLuint *);
  void (GLAPIENTRY *glGenQueries)(GLsizei, GLuint *);
  void (GLAPIENTRY *glGenQueriesARB)(GLsizei, GLuint *);
  void (GLAPIENTRY *glGenRenderbuffers)(GLsizei, GLuint *);
  void (GLAPIENTRY *glGenRenderbuffersEXT)(GLsizei, GLuint *);
  void (GLAPIENTRY *glGenSamplers)(GLsizei, GLuint *);
  GLuint (GLAPIENTRY *glGenSymbolsEXT)(GLenum, GLenum, GLenum, GLuint);
  void (GLAPIENTRY *glGenTextures)(GLsizei, GLuint *);
  void (GLAPIENTRY *glGenTexturesEXT)(GLsizei, GLuint *);
  void (GLAPIENTRY *glGenTransformFeedbacks)(GLsizei, GLuint *);
  void (GLAPIENTRY *glGenTransformFeedbacksNV)(GLsizei, GLuint *);
  void (GLAPIENTRY *glGenVertexArrays)(GLsizei, GLuint *);
  void (GLAPIENTRY *glGenVertexArraysAPPLE)(GLsizei, GLuint *);
  GLuint (GLAPIENTRY *glGenVertexShadersEXT)(GLuint);
  void (GLAPIENTRY *glGenerateMipmap)(GLenum);
  void (GLAPIENTRY *glGenerateMipmapEXT)(GLenum);
  void (GLAPIENTRY *glGenerateMultiTexMipmapEXT)(GLenum, GLenum);
  void (GLAPIENTRY *glGenerateTextureMipmapEXT)(GLuint, GLenum);
  void (GLAPIENTRY *glGetActiveAttrib)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *);
  void (GLAPIENTRY *glGetActiveAttribARB)(GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLcharARB *);
  void (GLAPIENTRY *glGetActiveSubroutineName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *);
  void (GLAPIENTRY *glGetActiveSubroutineUniformName)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *);
  void (GLAPIENTRY *glGetActiveSubroutineUniformiv)(GLuint, GLenum, GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetActiveUniform)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *);
  void (GLAPIENTRY *glGetActiveUniformARB)(GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLcharARB *);
  void (GLAPIENTRY *glGetActiveUniformBlockName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *);
  void (GLAPIENTRY *glGetActiveUniformBlockiv)(GLuint, GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetActiveUniformName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *);
  void (GLAPIENTRY *glGetActiveUniformsiv)(GLuint, GLsizei, const GLuint *, GLenum, GLint *);
  void (GLAPIENTRY *glGetActiveVaryingNV)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *);
  void (GLAPIENTRY *glGetArrayObjectfvATI)(GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetArrayObjectivATI)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetAttachedObjectsARB)(GLhandleARB, GLsizei, GLsizei *, GLhandleARB *);
  void (GLAPIENTRY *glGetAttachedShaders)(GLuint, GLsizei, GLsizei *, GLuint *);
  GLint (GLAPIENTRY *glGetAttribLocation)(GLuint, const GLchar *);
  GLint (GLAPIENTRY *glGetAttribLocationARB)(GLhandleARB, const GLcharARB *);
  void (GLAPIENTRY *glGetBooleanIndexedvEXT)(GLenum, GLuint, GLboolean *);
  void (GLAPIENTRY *glGetBooleani_v)(GLenum, GLuint, GLboolean *);
  void (GLAPIENTRY *glGetBooleanv)(GLenum, GLboolean *);
  void (GLAPIENTRY *glGetBufferParameteri64v)(GLenum, GLenum, GLint64 *);
  void (GLAPIENTRY *glGetBufferParameteriv)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetBufferParameterivARB)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetBufferParameterui64vNV)(GLenum, GLenum, GLuint64EXT *);
  void (GLAPIENTRY *glGetBufferPointerv)(GLenum, GLenum, GLvoid **);
  void (GLAPIENTRY *glGetBufferPointervARB)(GLenum, GLenum, GLvoid **);
  void (GLAPIENTRY *glGetBufferSubData)(GLenum, GLintptr, GLsizeiptr, GLvoid *);
  void (GLAPIENTRY *glGetBufferSubDataARB)(GLenum, GLintptrARB, GLsizeiptrARB, GLvoid *);
  void (GLAPIENTRY *glGetClipPlane)(GLenum, GLdouble *);
  void (GLAPIENTRY *glGetColorTable)(GLenum, GLenum, GLenum, GLvoid *);
  void (GLAPIENTRY *glGetColorTableEXT)(GLenum, GLenum, GLenum, GLvoid *);
  void (GLAPIENTRY *glGetColorTableParameterfv)(GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetColorTableParameterfvEXT)(GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetColorTableParameterfvSGI)(GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetColorTableParameteriv)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetColorTableParameterivEXT)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetColorTableParameterivSGI)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetColorTableSGI)(GLenum, GLenum, GLenum, GLvoid *);
  void (GLAPIENTRY *glGetCombinerInputParameterfvNV)(GLenum, GLenum, GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetCombinerInputParameterivNV)(GLenum, GLenum, GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetCombinerOutputParameterfvNV)(GLenum, GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetCombinerOutputParameterivNV)(GLenum, GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetCombinerStageParameterfvNV)(GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetCompressedMultiTexImageEXT)(GLenum, GLenum, GLint, GLvoid *);
  void (GLAPIENTRY *glGetCompressedTexImage)(GLenum, GLint, GLvoid *);
  void (GLAPIENTRY *glGetCompressedTexImageARB)(GLenum, GLint, GLvoid *);
  void (GLAPIENTRY *glGetCompressedTextureImageEXT)(GLuint, GLenum, GLint, GLvoid *);
  void (GLAPIENTRY *glGetConvolutionFilter)(GLenum, GLenum, GLenum, GLvoid *);
  void (GLAPIENTRY *glGetConvolutionFilterEXT)(GLenum, GLenum, GLenum, GLvoid *);
  void (GLAPIENTRY *glGetConvolutionParameterfv)(GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetConvolutionParameterfvEXT)(GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetConvolutionParameteriv)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetConvolutionParameterivEXT)(GLenum, GLenum, GLint *);
  GLuint (GLAPIENTRY *glGetDebugMessageLogARB)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *);
  void (GLAPIENTRY *glGetDetailTexFuncSGIS)(GLenum, GLfloat *);
  void (GLAPIENTRY *glGetDoubleIndexedvEXT)(GLenum, GLuint, GLdouble *);
  void (GLAPIENTRY *glGetDoublei_v)(GLenum, GLuint, GLdouble *);
  void (GLAPIENTRY *glGetDoublev)(GLenum, GLdouble *);
  GLenum (GLAPIENTRY *glGetError)(void);
  void (GLAPIENTRY *glGetFenceivNV)(GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetFinalCombinerInputParameterfvNV)(GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetFinalCombinerInputParameterivNV)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetFloatIndexedvEXT)(GLenum, GLuint, GLfloat *);
  void (GLAPIENTRY *glGetFloati_v)(GLenum, GLuint, GLfloat *);
  void (GLAPIENTRY *glGetFloatv)(GLenum, GLfloat *);
  void (GLAPIENTRY *glGetFogFuncSGIS)(GLfloat *);
  GLint (GLAPIENTRY *glGetFragDataIndex)(GLuint, const GLchar *);
  GLint (GLAPIENTRY *glGetFragDataLocation)(GLuint, const GLchar *);
  GLint (GLAPIENTRY *glGetFragDataLocationEXT)(GLuint, const GLchar *);
  void (GLAPIENTRY *glGetFragmentLightfvSGIX)(GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetFragmentLightivSGIX)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetFragmentMaterialfvSGIX)(GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetFragmentMaterialivSGIX)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetFramebufferAttachmentParameteriv)(GLenum, GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetFramebufferAttachmentParameterivEXT)(GLenum, GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetFramebufferParameterivEXT)(GLuint, GLenum, GLint *);
  GLenum (GLAPIENTRY *glGetGraphicsResetStatusARB)(void);
  GLhandleARB (GLAPIENTRY *glGetHandleARB)(GLenum);
  void (GLAPIENTRY *glGetHistogram)(GLenum, GLboolean, GLenum, GLenum, GLvoid *);
  void (GLAPIENTRY *glGetHistogramEXT)(GLenum, GLboolean, GLenum, GLenum, GLvoid *);
  void (GLAPIENTRY *glGetHistogramParameterfv)(GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetHistogramParameterfvEXT)(GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetHistogramParameteriv)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetHistogramParameterivEXT)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetImageTransformParameterfvHP)(GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetImageTransformParameterivHP)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetInfoLogARB)(GLhandleARB, GLsizei, GLsizei *, GLcharARB *);
  GLint (GLAPIENTRY *glGetInstrumentsSGIX)(void);
  void (GLAPIENTRY *glGetInteger64i_v)(GLenum, GLuint, GLint64 *);
  void (GLAPIENTRY *glGetInteger64v)(GLenum, GLint64 *);
  void (GLAPIENTRY *glGetIntegerIndexedvEXT)(GLenum, GLuint, GLint *);
  void (GLAPIENTRY *glGetIntegeri_v)(GLenum, GLuint, GLint *);
  void (GLAPIENTRY *glGetIntegerui64i_vNV)(GLenum, GLuint, GLuint64EXT *);
  void (GLAPIENTRY *glGetIntegerui64vNV)(GLenum, GLuint64EXT *);
  void (GLAPIENTRY *glGetIntegerv)(GLenum, GLint *);
  void (GLAPIENTRY *glGetInvariantBooleanvEXT)(GLuint, GLenum, GLboolean *);
  void (GLAPIENTRY *glGetInvariantFloatvEXT)(GLuint, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetInvariantIntegervEXT)(GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetLightfv)(GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetLightiv)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetListParameterfvSGIX)(GLuint, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetListParameterivSGIX)(GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetLocalConstantBooleanvEXT)(GLuint, GLenum, GLboolean *);
  void (GLAPIENTRY *glGetLocalConstantFloatvEXT)(GLuint, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetLocalConstantIntegervEXT)(GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetMapAttribParameterfvNV)(GLenum, GLuint, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetMapAttribParameterivNV)(GLenum, GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetMapControlPointsNV)(GLenum, GLuint, GLenum, GLsizei, GLsizei, GLboolean, GLvoid *);
  void (GLAPIENTRY *glGetMapParameterfvNV)(GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetMapParameterivNV)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetMapdv)(GLenum, GLenum, GLdouble *);
  void (GLAPIENTRY *glGetMapfv)(GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetMapiv)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetMaterialfv)(GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetMaterialiv)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetMinmax)(GLenum, GLboolean, GLenum, GLenum, GLvoid *);
  void (GLAPIENTRY *glGetMinmaxEXT)(GLenum, GLboolean, GLenum, GLenum, GLvoid *);
  void (GLAPIENTRY *glGetMinmaxParameterfv)(GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetMinmaxParameterfvEXT)(GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetMinmaxParameteriv)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetMinmaxParameterivEXT)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetMultiTexEnvfvEXT)(GLenum, GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetMultiTexEnvivEXT)(GLenum, GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetMultiTexGendvEXT)(GLenum, GLenum, GLenum, GLdouble *);
  void (GLAPIENTRY *glGetMultiTexGenfvEXT)(GLenum, GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetMultiTexGenivEXT)(GLenum, GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetMultiTexImageEXT)(GLenum, GLenum, GLint, GLenum, GLenum, GLvoid *);
  void (GLAPIENTRY *glGetMultiTexLevelParameterfvEXT)(GLenum, GLenum, GLint, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetMultiTexLevelParameterivEXT)(GLenum, GLenum, GLint, GLenum, GLint *);
  void (GLAPIENTRY *glGetMultiTexParameterIivEXT)(GLenum, GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetMultiTexParameterIuivEXT)(GLenum, GLenum, GLenum, GLuint *);
  void (GLAPIENTRY *glGetMultiTexParameterfvEXT)(GLenum, GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetMultiTexParameterivEXT)(GLenum, GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetMultisamplefv)(GLenum, GLuint, GLfloat *);
  void (GLAPIENTRY *glGetMultisamplefvNV)(GLenum, GLuint, GLfloat *);
  void (GLAPIENTRY *glGetNamedBufferParameterivEXT)(GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetNamedBufferParameterui64vNV)(GLuint, GLenum, GLuint64EXT *);
  void (GLAPIENTRY *glGetNamedBufferPointervEXT)(GLuint, GLenum, GLvoid **);
  void (GLAPIENTRY *glGetNamedBufferSubDataEXT)(GLuint, GLintptr, GLsizeiptr, GLvoid *);
  void (GLAPIENTRY *glGetNamedFramebufferAttachmentParameterivEXT)(GLuint, GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetNamedProgramLocalParameterIivEXT)(GLuint, GLenum, GLuint, GLint *);
  void (GLAPIENTRY *glGetNamedProgramLocalParameterIuivEXT)(GLuint, GLenum, GLuint, GLuint *);
  void (GLAPIENTRY *glGetNamedProgramLocalParameterdvEXT)(GLuint, GLenum, GLuint, GLdouble *);
  void (GLAPIENTRY *glGetNamedProgramLocalParameterfvEXT)(GLuint, GLenum, GLuint, GLfloat *);
  void (GLAPIENTRY *glGetNamedProgramStringEXT)(GLuint, GLenum, GLenum, GLvoid *);
  void (GLAPIENTRY *glGetNamedProgramivEXT)(GLuint, GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetNamedRenderbufferParameterivEXT)(GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetNamedStringARB)(GLint, const GLchar *, GLsizei, GLint *, GLchar *);
  void (GLAPIENTRY *glGetNamedStringivARB)(GLint, const GLchar *, GLenum, GLint *);
  void (GLAPIENTRY *glGetObjectBufferfvATI)(GLuint, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetObjectBufferivATI)(GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetObjectParameterfvARB)(GLhandleARB, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetObjectParameterivAPPLE)(GLenum, GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetObjectParameterivARB)(GLhandleARB, GLenum, GLint *);
  void (GLAPIENTRY *glGetOcclusionQueryivNV)(GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetOcclusionQueryuivNV)(GLuint, GLenum, GLuint *);
  void (GLAPIENTRY *glGetPerfMonitorCounterDataAMD)(GLuint, GLenum, GLsizei, GLuint *, GLint *);
  void (GLAPIENTRY *glGetPerfMonitorCounterInfoAMD)(GLuint, GLuint, GLenum, void *);
  void (GLAPIENTRY *glGetPerfMonitorCounterStringAMD)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *);
  void (GLAPIENTRY *glGetPerfMonitorCountersAMD)(GLuint, GLint *, GLint *, GLsizei, GLuint *);
  void (GLAPIENTRY *glGetPerfMonitorGroupStringAMD)(GLuint, GLsizei, GLsizei *, GLchar *);
  void (GLAPIENTRY *glGetPerfMonitorGroupsAMD)(GLint *, GLsizei, GLuint *);
  void (GLAPIENTRY *glGetPixelMapfv)(GLenum, GLfloat *);
  void (GLAPIENTRY *glGetPixelMapuiv)(GLenum, GLuint *);
  void (GLAPIENTRY *glGetPixelMapusv)(GLenum, GLushort *);
  void (GLAPIENTRY *glGetPixelTexGenParameterfvSGIS)(GLenum, GLfloat *);
  void (GLAPIENTRY *glGetPixelTexGenParameterivSGIS)(GLenum, GLint *);
  void (GLAPIENTRY *glGetPointerIndexedvEXT)(GLenum, GLuint, GLvoid **);
  void (GLAPIENTRY *glGetPointerv)(GLenum, GLvoid **);
  void (GLAPIENTRY *glGetPointervEXT)(GLenum, GLvoid **);
  void (GLAPIENTRY *glGetPolygonStipple)(GLubyte *);
  void (GLAPIENTRY *glGetProgramBinary)(GLuint, GLsizei, GLsizei *, GLenum *, GLvoid *);
  void (GLAPIENTRY *glGetProgramEnvParameterIivNV)(GLenum, GLuint, GLint *);
  void (GLAPIENTRY *glGetProgramEnvParameterIuivNV)(GLenum, GLuint, GLuint *);
  void (GLAPIENTRY *glGetProgramEnvParameterdvARB)(GLenum, GLuint, GLdouble *);
  void (GLAPIENTRY *glGetProgramEnvParameterfvARB)(GLenum, GLuint, GLfloat *);
  void (GLAPIENTRY *glGetProgramInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *);
  void (GLAPIENTRY *glGetProgramLocalParameterIivNV)(GLenum, GLuint, GLint *);
  void (GLAPIENTRY *glGetProgramLocalParameterIuivNV)(GLenum, GLuint, GLuint *);
  void (GLAPIENTRY *glGetProgramLocalParameterdvARB)(GLenum, GLuint, GLdouble *);
  void (GLAPIENTRY *glGetProgramLocalParameterfvARB)(GLenum, GLuint, GLfloat *);
  void (GLAPIENTRY *glGetProgramNamedParameterdvNV)(GLuint, GLsizei, const GLubyte *, GLdouble *);
  void (GLAPIENTRY *glGetProgramNamedParameterfvNV)(GLuint, GLsizei, const GLubyte *, GLfloat *);
  void (GLAPIENTRY *glGetProgramParameterdvNV)(GLenum, GLuint, GLenum, GLdouble *);
  void (GLAPIENTRY *glGetProgramParameterfvNV)(GLenum, GLuint, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetProgramPipelineInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *);
  void (GLAPIENTRY *glGetProgramPipelineiv)(GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetProgramStageiv)(GLuint, GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetProgramStringARB)(GLenum, GLenum, GLvoid *);
  void (GLAPIENTRY *glGetProgramStringNV)(GLuint, GLenum, GLubyte *);
  void (GLAPIENTRY *glGetProgramiv)(GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetProgramivARB)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetProgramivNV)(GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetQueryIndexediv)(GLenum, GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetQueryObjecti64v)(GLuint, GLenum, GLint64 *);
  void (GLAPIENTRY *glGetQueryObjecti64vEXT)(GLuint, GLenum, GLint64EXT *);
  void (GLAPIENTRY *glGetQueryObjectiv)(GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetQueryObjectivARB)(GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetQueryObjectui64v)(GLuint, GLenum, GLuint64 *);
  void (GLAPIENTRY *glGetQueryObjectui64vEXT)(GLuint, GLenum, GLuint64EXT *);
  void (GLAPIENTRY *glGetQueryObjectuiv)(GLuint, GLenum, GLuint *);
  void (GLAPIENTRY *glGetQueryObjectuivARB)(GLuint, GLenum, GLuint *);
  void (GLAPIENTRY *glGetQueryiv)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetQueryivARB)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetRenderbufferParameteriv)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetRenderbufferParameterivEXT)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetSamplerParameterIiv)(GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetSamplerParameterIuiv)(GLuint, GLenum, GLuint *);
  void (GLAPIENTRY *glGetSamplerParameterfv)(GLuint, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetSamplerParameteriv)(GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetSeparableFilter)(GLenum, GLenum, GLenum, GLvoid *, GLvoid *, GLvoid *);
  void (GLAPIENTRY *glGetSeparableFilterEXT)(GLenum, GLenum, GLenum, GLvoid *, GLvoid *, GLvoid *);
  void (GLAPIENTRY *glGetShaderInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *);
  void (GLAPIENTRY *glGetShaderPrecisionFormat)(GLenum, GLenum, GLint *, GLint *);
  void (GLAPIENTRY *glGetShaderSource)(GLuint, GLsizei, GLsizei *, GLchar *);
  void (GLAPIENTRY *glGetShaderSourceARB)(GLhandleARB, GLsizei, GLsizei *, GLcharARB *);
  void (GLAPIENTRY *glGetShaderiv)(GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetSharpenTexFuncSGIS)(GLenum, GLfloat *);
  const GLubyte *(GLAPIENTRY *glGetString)(GLenum);
  const GLubyte *(GLAPIENTRY *glGetStringi)(GLenum, GLuint);
  GLuint (GLAPIENTRY *glGetSubroutineIndex)(GLuint, GLenum, const GLchar *);
  GLint (GLAPIENTRY *glGetSubroutineUniformLocation)(GLuint, GLenum, const GLchar *);
  void (GLAPIENTRY *glGetSynciv)(GLsync, GLenum, GLsizei, GLsizei *, GLint *);
  void (GLAPIENTRY *glGetTexBumpParameterfvATI)(GLenum, GLfloat *);
  void (GLAPIENTRY *glGetTexBumpParameterivATI)(GLenum, GLint *);
  void (GLAPIENTRY *glGetTexEnvfv)(GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetTexEnviv)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetTexFilterFuncSGIS)(GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetTexGendv)(GLenum, GLenum, GLdouble *);
  void (GLAPIENTRY *glGetTexGenfv)(GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetTexGeniv)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetTexImage)(GLenum, GLint, GLenum, GLenum, GLvoid *);
  void (GLAPIENTRY *glGetTexLevelParameterfv)(GLenum, GLint, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetTexLevelParameteriv)(GLenum, GLint, GLenum, GLint *);
  void (GLAPIENTRY *glGetTexParameterIiv)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetTexParameterIivEXT)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetTexParameterIuiv)(GLenum, GLenum, GLuint *);
  void (GLAPIENTRY *glGetTexParameterIuivEXT)(GLenum, GLenum, GLuint *);
  void (GLAPIENTRY *glGetTexParameterPointervAPPLE)(GLenum, GLenum, GLvoid **);
  void (GLAPIENTRY *glGetTexParameterfv)(GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetTexParameteriv)(GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetTextureImageEXT)(GLuint, GLenum, GLint, GLenum, GLenum, GLvoid *);
  void (GLAPIENTRY *glGetTextureLevelParameterfvEXT)(GLuint, GLenum, GLint, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetTextureLevelParameterivEXT)(GLuint, GLenum, GLint, GLenum, GLint *);
  void (GLAPIENTRY *glGetTextureParameterIivEXT)(GLuint, GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetTextureParameterIuivEXT)(GLuint, GLenum, GLenum, GLuint *);
  void (GLAPIENTRY *glGetTextureParameterfvEXT)(GLuint, GLenum, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetTextureParameterivEXT)(GLuint, GLenum, GLenum, GLint *);
  void (GLAPIENTRY *glGetTrackMatrixivNV)(GLenum, GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetTransformFeedbackVarying)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *);
  void (GLAPIENTRY *glGetTransformFeedbackVaryingEXT)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *);
  void (GLAPIENTRY *glGetTransformFeedbackVaryingNV)(GLuint, GLuint, GLint *);
  GLuint (GLAPIENTRY *glGetUniformBlockIndex)(GLuint, const GLchar *);
  GLint (GLAPIENTRY *glGetUniformBufferSizeEXT)(GLuint, GLint);
  void (GLAPIENTRY *glGetUniformIndices)(GLuint, GLsizei, const GLchar **, GLuint *);
  GLint (GLAPIENTRY *glGetUniformLocation)(GLuint, const GLchar *);
  GLint (GLAPIENTRY *glGetUniformLocationARB)(GLhandleARB, const GLcharARB *);
  GLintptr (GLAPIENTRY *glGetUniformOffsetEXT)(GLuint, GLint);
  void (GLAPIENTRY *glGetUniformSubroutineuiv)(GLenum, GLint, GLuint *);
  void (GLAPIENTRY *glGetUniformdv)(GLuint, GLint, GLdouble *);
  void (GLAPIENTRY *glGetUniformfv)(GLuint, GLint, GLfloat *);
  void (GLAPIENTRY *glGetUniformfvARB)(GLhandleARB, GLint, GLfloat *);
  void (GLAPIENTRY *glGetUniformi64vNV)(GLuint, GLint, GLint64EXT *);
  void (GLAPIENTRY *glGetUniformiv)(GLuint, GLint, GLint *);
  void (GLAPIENTRY *glGetUniformivARB)(GLhandleARB, GLint, GLint *);
  void (GLAPIENTRY *glGetUniformui64vNV)(GLuint, GLint, GLuint64EXT *);
  void (GLAPIENTRY *glGetUniformuiv)(GLuint, GLint, GLuint *);
  void (GLAPIENTRY *glGetUniformuivEXT)(GLuint, GLint, GLuint *);
  void (GLAPIENTRY *glGetVariantArrayObjectfvATI)(GLuint, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetVariantArrayObjectivATI)(GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetVariantBooleanvEXT)(GLuint, GLenum, GLboolean *);
  void (GLAPIENTRY *glGetVariantFloatvEXT)(GLuint, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetVariantIntegervEXT)(GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetVariantPointervEXT)(GLuint, GLenum, GLvoid **);
  GLint (GLAPIENTRY *glGetVaryingLocationNV)(GLuint, const GLchar *);
  void (GLAPIENTRY *glGetVertexAttribArrayObjectfvATI)(GLuint, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetVertexAttribArrayObjectivATI)(GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetVertexAttribIiv)(GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetVertexAttribIivEXT)(GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetVertexAttribIuiv)(GLuint, GLenum, GLuint *);
  void (GLAPIENTRY *glGetVertexAttribIuivEXT)(GLuint, GLenum, GLuint *);
  void (GLAPIENTRY *glGetVertexAttribLdv)(GLuint, GLenum, GLdouble *);
  void (GLAPIENTRY *glGetVertexAttribLdvEXT)(GLuint, GLenum, GLdouble *);
  void (GLAPIENTRY *glGetVertexAttribLi64vNV)(GLuint, GLenum, GLint64EXT *);
  void (GLAPIENTRY *glGetVertexAttribLui64vNV)(GLuint, GLenum, GLuint64EXT *);
  void (GLAPIENTRY *glGetVertexAttribPointerv)(GLuint, GLenum, GLvoid **);
  void (GLAPIENTRY *glGetVertexAttribPointervARB)(GLuint, GLenum, GLvoid **);
  void (GLAPIENTRY *glGetVertexAttribPointervNV)(GLuint, GLenum, GLvoid **);
  void (GLAPIENTRY *glGetVertexAttribdv)(GLuint, GLenum, GLdouble *);
  void (GLAPIENTRY *glGetVertexAttribdvARB)(GLuint, GLenum, GLdouble *);
  void (GLAPIENTRY *glGetVertexAttribdvNV)(GLuint, GLenum, GLdouble *);
  void (GLAPIENTRY *glGetVertexAttribfv)(GLuint, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetVertexAttribfvARB)(GLuint, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetVertexAttribfvNV)(GLuint, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetVertexAttribiv)(GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetVertexAttribivARB)(GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetVertexAttribivNV)(GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetVideoCaptureStreamdvNV)(GLuint, GLuint, GLenum, GLdouble *);
  void (GLAPIENTRY *glGetVideoCaptureStreamfvNV)(GLuint, GLuint, GLenum, GLfloat *);
  void (GLAPIENTRY *glGetVideoCaptureStreamivNV)(GLuint, GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetVideoCaptureivNV)(GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetVideoi64vNV)(GLuint, GLenum, GLint64EXT *);
  void (GLAPIENTRY *glGetVideoivNV)(GLuint, GLenum, GLint *);
  void (GLAPIENTRY *glGetVideoui64vNV)(GLuint, GLenum, GLuint64EXT *);
  void (GLAPIENTRY *glGetVideouivNV)(GLuint, GLenum, GLuint *);
  void (GLAPIENTRY *glGetnColorTableARB)(GLenum, GLenum, GLenum, GLsizei, GLvoid *);
  void (GLAPIENTRY *glGetnCompressedTexImageARB)(GLenum, GLint, GLsizei, GLvoid *);
  void (GLAPIENTRY *glGetnConvolutionFilterARB)(GLenum, GLenum, GLenum, GLsizei, GLvoid *);
  void (GLAPIENTRY *glGetnHistogramARB)(GLenum, GLboolean, GLenum, GLenum, GLsizei, GLvoid *);
  void (GLAPIENTRY *glGetnMapdvARB)(GLenum, GLenum, GLsizei, GLdouble *);
  void (GLAPIENTRY *glGetnMapfvARB)(GLenum, GLenum, GLsizei, GLfloat *);
  void (GLAPIENTRY *glGetnMapivARB)(GLenum, GLenum, GLsizei, GLint *);
  void (GLAPIENTRY *glGetnMinmaxARB)(GLenum, GLboolean, GLenum, GLenum, GLsizei, GLvoid *);
  void (GLAPIENTRY *glGetnPixelMapfvARB)(GLenum, GLsizei, GLfloat *);
  void (GLAPIENTRY *glGetnPixelMapuivARB)(GLenum, GLsizei, GLuint *);
  void (GLAPIENTRY *glGetnPixelMapusvARB)(GLenum, GLsizei, GLushort *);
  void (GLAPIENTRY *glGetnPolygonStippleARB)(GLsizei, GLubyte *);
  void (GLAPIENTRY *glGetnSeparableFilterARB)(GLenum, GLenum, GLenum, GLsizei, GLvoid *, GLsizei, GLvoid *, GLvoid *);
  void (GLAPIENTRY *glGetnTexImageARB)(GLenum, GLint, GLenum, GLenum, GLsizei, GLvoid *);
  void (GLAPIENTRY *glGetnUniformdvARB)(GLuint, GLint, GLsizei, GLdouble *);
  void (GLAPIENTRY *glGetnUniformfvARB)(GLuint, GLint, GLsizei, GLfloat *);
  void (GLAPIENTRY *glGetnUniformivARB)(GLuint, GLint, GLsizei, GLint *);
  void (GLAPIENTRY *glGetnUniformuivARB)(GLuint, GLint, GLsizei, GLuint *);
  void (GLAPIENTRY *glGlobalAlphaFactorbSUN)(GLbyte);
  void (GLAPIENTRY *glGlobalAlphaFactordSUN)(GLdouble);
  void (GLAPIENTRY *glGlobalAlphaFactorfSUN)(GLfloat);
  void (GLAPIENTRY *glGlobalAlphaFactoriSUN)(GLint);
  void (GLAPIENTRY *glGlobalAlphaFactorsSUN)(GLshort);
  void (GLAPIENTRY *glGlobalAlphaFactorubSUN)(GLubyte);
  void (GLAPIENTRY *glGlobalAlphaFactoruiSUN)(GLuint);
  void (GLAPIENTRY *glGlobalAlphaFactorusSUN)(GLushort);
  void (GLAPIENTRY *glHint)(GLenum, GLenum);
  void (GLAPIENTRY *glHintPGI)(GLenum, GLint);
  void (GLAPIENTRY *glHistogram)(GLenum, GLsizei, GLenum, GLboolean);
  void (GLAPIENTRY *glHistogramEXT)(GLenum, GLsizei, GLenum, GLboolean);
  void (GLAPIENTRY *glIglooInterfaceSGIX)(GLenum, const GLvoid *);
  void (GLAPIENTRY *glImageTransformParameterfHP)(GLenum, GLenum, GLfloat);
  void (GLAPIENTRY *glImageTransformParameterfvHP)(GLenum, GLenum, const GLfloat *);
  void (GLAPIENTRY *glImageTransformParameteriHP)(GLenum, GLenum, GLint);
  void (GLAPIENTRY *glImageTransformParameterivHP)(GLenum, GLenum, const GLint *);
  void (GLAPIENTRY *glIndexFormatNV)(GLenum, GLsizei);
  void (GLAPIENTRY *glIndexFuncEXT)(GLenum, GLclampf);
  void (GLAPIENTRY *glIndexMask)(GLuint);
  void (GLAPIENTRY *glIndexMaterialEXT)(GLenum, GLenum);
  void (GLAPIENTRY *glIndexPointer)(GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glIndexPointerEXT)(GLenum, GLsizei, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glIndexPointerListIBM)(GLenum, GLint, const GLvoid **, GLint);
  void (GLAPIENTRY *glIndexd)(GLdouble);
  void (GLAPIENTRY *glIndexdv)(const GLdouble *);
  void (GLAPIENTRY *glIndexf)(GLfloat);
  void (GLAPIENTRY *glIndexfv)(const GLfloat *);
  void (GLAPIENTRY *glIndexi)(GLint);
  void (GLAPIENTRY *glIndexiv)(const GLint *);
  void (GLAPIENTRY *glIndexs)(GLshort);
  void (GLAPIENTRY *glIndexsv)(const GLshort *);
  void (GLAPIENTRY *glIndexub)(GLubyte);
  void (GLAPIENTRY *glIndexubv)(const GLubyte *);
  void (GLAPIENTRY *glInitNames)(void);
  void (GLAPIENTRY *glInsertComponentEXT)(GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glInstrumentsBufferSGIX)(GLsizei, GLint *);
  void (GLAPIENTRY *glInterleavedArrays)(GLenum, GLsizei, const GLvoid *);
  GLboolean (GLAPIENTRY *glIsAsyncMarkerSGIX)(GLuint);
  GLboolean (GLAPIENTRY *glIsBuffer)(GLuint);
  GLboolean (GLAPIENTRY *glIsBufferARB)(GLuint);
  GLboolean (GLAPIENTRY *glIsBufferResidentNV)(GLenum);
  GLboolean (GLAPIENTRY *glIsEnabled)(GLenum);
  GLboolean (GLAPIENTRY *glIsEnabledIndexedEXT)(GLenum, GLuint);
  GLboolean (GLAPIENTRY *glIsEnabledi)(GLenum, GLuint);
  GLboolean (GLAPIENTRY *glIsFenceAPPLE)(GLuint);
  GLboolean (GLAPIENTRY *glIsFenceNV)(GLuint);
  GLboolean (GLAPIENTRY *glIsFramebuffer)(GLuint);
  GLboolean (GLAPIENTRY *glIsFramebufferEXT)(GLuint);
  GLboolean (GLAPIENTRY *glIsList)(GLuint);
  GLboolean (GLAPIENTRY *glIsNamedBufferResidentNV)(GLuint);
  GLboolean (GLAPIENTRY *glIsNamedStringARB)(GLint, const GLchar *);
  GLboolean (GLAPIENTRY *glIsObjectBufferATI)(GLuint);
  GLboolean (GLAPIENTRY *glIsOcclusionQueryNV)(GLuint);
  GLboolean (GLAPIENTRY *glIsProgram)(GLuint);
  GLboolean (GLAPIENTRY *glIsProgramARB)(GLuint);
  GLboolean (GLAPIENTRY *glIsProgramNV)(GLuint);
  GLboolean (GLAPIENTRY *glIsProgramPipeline)(GLuint);
  GLboolean (GLAPIENTRY *glIsQuery)(GLuint);
  GLboolean (GLAPIENTRY *glIsQueryARB)(GLuint);
  GLboolean (GLAPIENTRY *glIsRenderbuffer)(GLuint);
  GLboolean (GLAPIENTRY *glIsRenderbufferEXT)(GLuint);
  GLboolean (GLAPIENTRY *glIsSampler)(GLuint);
  GLboolean (GLAPIENTRY *glIsShader)(GLuint);
  GLboolean (GLAPIENTRY *glIsSync)(GLsync);
  GLboolean (GLAPIENTRY *glIsTexture)(GLuint);
  GLboolean (GLAPIENTRY *glIsTextureEXT)(GLuint);
  GLboolean (GLAPIENTRY *glIsTransformFeedback)(GLuint);
  GLboolean (GLAPIENTRY *glIsTransformFeedbackNV)(GLuint);
  GLboolean (GLAPIENTRY *glIsVariantEnabledEXT)(GLuint, GLenum);
  GLboolean (GLAPIENTRY *glIsVertexArray)(GLuint);
  GLboolean (GLAPIENTRY *glIsVertexArrayAPPLE)(GLuint);
  GLboolean (GLAPIENTRY *glIsVertexAttribEnabledAPPLE)(GLuint, GLenum);
  void (GLAPIENTRY *glLightEnviSGIX)(GLenum, GLint);
  void (GLAPIENTRY *glLightModelf)(GLenum, GLfloat);
  void (GLAPIENTRY *glLightModelfv)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glLightModeli)(GLenum, GLint);
  void (GLAPIENTRY *glLightModeliv)(GLenum, const GLint *);
  void (GLAPIENTRY *glLightf)(GLenum, GLenum, GLfloat);
  void (GLAPIENTRY *glLightfv)(GLenum, GLenum, const GLfloat *);
  void (GLAPIENTRY *glLighti)(GLenum, GLenum, GLint);
  void (GLAPIENTRY *glLightiv)(GLenum, GLenum, const GLint *);
  void (GLAPIENTRY *glLineStipple)(GLint, GLushort);
  void (GLAPIENTRY *glLineWidth)(GLfloat);
  void (GLAPIENTRY *glLinkProgram)(GLuint);
  void (GLAPIENTRY *glLinkProgramARB)(GLhandleARB);
  void (GLAPIENTRY *glListBase)(GLuint);
  void (GLAPIENTRY *glListParameterfSGIX)(GLuint, GLenum, GLfloat);
  void (GLAPIENTRY *glListParameterfvSGIX)(GLuint, GLenum, const GLfloat *);
  void (GLAPIENTRY *glListParameteriSGIX)(GLuint, GLenum, GLint);
  void (GLAPIENTRY *glListParameterivSGIX)(GLuint, GLenum, const GLint *);
  void (GLAPIENTRY *glLoadIdentity)(void);
  void (GLAPIENTRY *glLoadIdentityDeformationMapSGIX)(GLbitfield);
  void (GLAPIENTRY *glLoadMatrixd)(const GLdouble *);
  void (GLAPIENTRY *glLoadMatrixf)(const GLfloat *);
  void (GLAPIENTRY *glLoadName)(GLuint);
  void (GLAPIENTRY *glLoadProgramNV)(GLenum, GLuint, GLsizei, const GLubyte *);
  void (GLAPIENTRY *glLoadTransposeMatrixd)(const GLdouble *);
  void (GLAPIENTRY *glLoadTransposeMatrixdARB)(const GLdouble *);
  void (GLAPIENTRY *glLoadTransposeMatrixf)(const GLfloat *);
  void (GLAPIENTRY *glLoadTransposeMatrixfARB)(const GLfloat *);
  void (GLAPIENTRY *glLockArraysEXT)(GLint, GLsizei);
  void (GLAPIENTRY *glLogicOp)(GLenum);
  void (GLAPIENTRY *glMakeBufferNonResidentNV)(GLenum);
  void (GLAPIENTRY *glMakeBufferResidentNV)(GLenum, GLenum);
  void (GLAPIENTRY *glMakeNamedBufferNonResidentNV)(GLuint);
  void (GLAPIENTRY *glMakeNamedBufferResidentNV)(GLuint, GLenum);
  void (GLAPIENTRY *glMap1d)(GLenum, GLdouble, GLdouble, GLint, GLint, const GLdouble *);
  void (GLAPIENTRY *glMap1f)(GLenum, GLfloat, GLfloat, GLint, GLint, const GLfloat *);
  void (GLAPIENTRY *glMap2d)(GLenum, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble *);
  void (GLAPIENTRY *glMap2f)(GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat *);
  GLvoid *(GLAPIENTRY *glMapBuffer)(GLenum, GLenum);
  GLvoid *(GLAPIENTRY *glMapBufferARB)(GLenum, GLenum);
  GLvoid *(GLAPIENTRY *glMapBufferRange)(GLenum, GLintptr, GLsizeiptr, GLbitfield);
  void (GLAPIENTRY *glMapControlPointsNV)(GLenum, GLuint, GLenum, GLsizei, GLsizei, GLint, GLint, GLboolean, const GLvoid *);
  void (GLAPIENTRY *glMapGrid1d)(GLint, GLdouble, GLdouble);
  void (GLAPIENTRY *glMapGrid1f)(GLint, GLfloat, GLfloat);
  void (GLAPIENTRY *glMapGrid2d)(GLint, GLdouble, GLdouble, GLint, GLdouble, GLdouble);
  void (GLAPIENTRY *glMapGrid2f)(GLint, GLfloat, GLfloat, GLint, GLfloat, GLfloat);
  GLvoid *(GLAPIENTRY *glMapNamedBufferEXT)(GLuint, GLenum);
  GLvoid *(GLAPIENTRY *glMapNamedBufferRangeEXT)(GLuint, GLintptr, GLsizeiptr, GLbitfield);
  GLvoid *(GLAPIENTRY *glMapObjectBufferATI)(GLuint);
  void (GLAPIENTRY *glMapParameterfvNV)(GLenum, GLenum, const GLfloat *);
  void (GLAPIENTRY *glMapParameterivNV)(GLenum, GLenum, const GLint *);
  void (GLAPIENTRY *glMapVertexAttrib1dAPPLE)(GLuint, GLuint, GLdouble, GLdouble, GLint, GLint, const GLdouble *);
  void (GLAPIENTRY *glMapVertexAttrib1fAPPLE)(GLuint, GLuint, GLfloat, GLfloat, GLint, GLint, const GLfloat *);
  void (GLAPIENTRY *glMapVertexAttrib2dAPPLE)(GLuint, GLuint, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble *);
  void (GLAPIENTRY *glMapVertexAttrib2fAPPLE)(GLuint, GLuint, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat *);
  void (GLAPIENTRY *glMaterialf)(GLenum, GLenum, GLfloat);
  void (GLAPIENTRY *glMaterialfv)(GLenum, GLenum, const GLfloat *);
  void (GLAPIENTRY *glMateriali)(GLenum, GLenum, GLint);
  void (GLAPIENTRY *glMaterialiv)(GLenum, GLenum, const GLint *);
  void (GLAPIENTRY *glMatrixFrustumEXT)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glMatrixIndexPointerARB)(GLint, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glMatrixIndexubvARB)(GLint, const GLubyte *);
  void (GLAPIENTRY *glMatrixIndexuivARB)(GLint, const GLuint *);
  void (GLAPIENTRY *glMatrixIndexusvARB)(GLint, const GLushort *);
  void (GLAPIENTRY *glMatrixLoadIdentityEXT)(GLenum);
  void (GLAPIENTRY *glMatrixLoadTransposedEXT)(GLenum, const GLdouble *);
  void (GLAPIENTRY *glMatrixLoadTransposefEXT)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glMatrixLoaddEXT)(GLenum, const GLdouble *);
  void (GLAPIENTRY *glMatrixLoadfEXT)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glMatrixMode)(GLenum);
  void (GLAPIENTRY *glMatrixMultTransposedEXT)(GLenum, const GLdouble *);
  void (GLAPIENTRY *glMatrixMultTransposefEXT)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glMatrixMultdEXT)(GLenum, const GLdouble *);
  void (GLAPIENTRY *glMatrixMultfEXT)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glMatrixOrthoEXT)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glMatrixPopEXT)(GLenum);
  void (GLAPIENTRY *glMatrixPushEXT)(GLenum);
  void (GLAPIENTRY *glMatrixRotatedEXT)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glMatrixRotatefEXT)(GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glMatrixScaledEXT)(GLenum, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glMatrixScalefEXT)(GLenum, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glMatrixTranslatedEXT)(GLenum, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glMatrixTranslatefEXT)(GLenum, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glMemoryBarrierEXT)(GLbitfield);
  void (GLAPIENTRY *glMinSampleShading)(GLclampf);
  void (GLAPIENTRY *glMinSampleShadingARB)(GLclampf);
  void (GLAPIENTRY *glMinmax)(GLenum, GLenum, GLboolean);
  void (GLAPIENTRY *glMinmaxEXT)(GLenum, GLenum, GLboolean);
  void (GLAPIENTRY *glMultMatrixd)(const GLdouble *);
  void (GLAPIENTRY *glMultMatrixf)(const GLfloat *);
  void (GLAPIENTRY *glMultTransposeMatrixd)(const GLdouble *);
  void (GLAPIENTRY *glMultTransposeMatrixdARB)(const GLdouble *);
  void (GLAPIENTRY *glMultTransposeMatrixf)(const GLfloat *);
  void (GLAPIENTRY *glMultTransposeMatrixfARB)(const GLfloat *);
  void (GLAPIENTRY *glMultiDrawArrays)(GLenum, const GLint *, const GLsizei *, GLsizei);
  void (GLAPIENTRY *glMultiDrawArraysEXT)(GLenum, const GLint *, const GLsizei *, GLsizei);
  void (GLAPIENTRY *glMultiDrawElementArrayAPPLE)(GLenum, const GLint *, const GLsizei *, GLsizei);
  void (GLAPIENTRY *glMultiDrawElements)(GLenum, const GLsizei *, GLenum, const GLvoid **, GLsizei);
  void (GLAPIENTRY *glMultiDrawElementsBaseVertex)(GLenum, const GLsizei *, GLenum, const GLvoid **, GLsizei, const GLint *);
  void (GLAPIENTRY *glMultiDrawElementsEXT)(GLenum, const GLsizei *, GLenum, const GLvoid **, GLsizei);
  void (GLAPIENTRY *glMultiDrawRangeElementArrayAPPLE)(GLenum, GLuint, GLuint, const GLint *, const GLsizei *, GLsizei);
  void (GLAPIENTRY *glMultiModeDrawArraysIBM)(const GLenum *, const GLint *, const GLsizei *, GLsizei, GLint);
  void (GLAPIENTRY *glMultiModeDrawElementsIBM)(const GLenum *, const GLsizei *, GLenum, const GLvoid * const *, GLsizei, GLint);
  void (GLAPIENTRY *glMultiTexBufferEXT)(GLenum, GLenum, GLenum, GLuint);
  void (GLAPIENTRY *glMultiTexCoord1d)(GLenum, GLdouble);
  void (GLAPIENTRY *glMultiTexCoord1dARB)(GLenum, GLdouble);
  void (GLAPIENTRY *glMultiTexCoord1dv)(GLenum, const GLdouble *);
  void (GLAPIENTRY *glMultiTexCoord1dvARB)(GLenum, const GLdouble *);
  void (GLAPIENTRY *glMultiTexCoord1f)(GLenum, GLfloat);
  void (GLAPIENTRY *glMultiTexCoord1fARB)(GLenum, GLfloat);
  void (GLAPIENTRY *glMultiTexCoord1fv)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glMultiTexCoord1fvARB)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glMultiTexCoord1hNV)(GLenum, GLhalfNV);
  void (GLAPIENTRY *glMultiTexCoord1hvNV)(GLenum, const GLhalfNV *);
  void (GLAPIENTRY *glMultiTexCoord1i)(GLenum, GLint);
  void (GLAPIENTRY *glMultiTexCoord1iARB)(GLenum, GLint);
  void (GLAPIENTRY *glMultiTexCoord1iv)(GLenum, const GLint *);
  void (GLAPIENTRY *glMultiTexCoord1ivARB)(GLenum, const GLint *);
  void (GLAPIENTRY *glMultiTexCoord1s)(GLenum, GLshort);
  void (GLAPIENTRY *glMultiTexCoord1sARB)(GLenum, GLshort);
  void (GLAPIENTRY *glMultiTexCoord1sv)(GLenum, const GLshort *);
  void (GLAPIENTRY *glMultiTexCoord1svARB)(GLenum, const GLshort *);
  void (GLAPIENTRY *glMultiTexCoord2d)(GLenum, GLdouble, GLdouble);
  void (GLAPIENTRY *glMultiTexCoord2dARB)(GLenum, GLdouble, GLdouble);
  void (GLAPIENTRY *glMultiTexCoord2dv)(GLenum, const GLdouble *);
  void (GLAPIENTRY *glMultiTexCoord2dvARB)(GLenum, const GLdouble *);
  void (GLAPIENTRY *glMultiTexCoord2f)(GLenum, GLfloat, GLfloat);
  void (GLAPIENTRY *glMultiTexCoord2fARB)(GLenum, GLfloat, GLfloat);
  void (GLAPIENTRY *glMultiTexCoord2fv)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glMultiTexCoord2fvARB)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glMultiTexCoord2hNV)(GLenum, GLhalfNV, GLhalfNV);
  void (GLAPIENTRY *glMultiTexCoord2hvNV)(GLenum, const GLhalfNV *);
  void (GLAPIENTRY *glMultiTexCoord2i)(GLenum, GLint, GLint);
  void (GLAPIENTRY *glMultiTexCoord2iARB)(GLenum, GLint, GLint);
  void (GLAPIENTRY *glMultiTexCoord2iv)(GLenum, const GLint *);
  void (GLAPIENTRY *glMultiTexCoord2ivARB)(GLenum, const GLint *);
  void (GLAPIENTRY *glMultiTexCoord2s)(GLenum, GLshort, GLshort);
  void (GLAPIENTRY *glMultiTexCoord2sARB)(GLenum, GLshort, GLshort);
  void (GLAPIENTRY *glMultiTexCoord2sv)(GLenum, const GLshort *);
  void (GLAPIENTRY *glMultiTexCoord2svARB)(GLenum, const GLshort *);
  void (GLAPIENTRY *glMultiTexCoord3d)(GLenum, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glMultiTexCoord3dARB)(GLenum, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glMultiTexCoord3dv)(GLenum, const GLdouble *);
  void (GLAPIENTRY *glMultiTexCoord3dvARB)(GLenum, const GLdouble *);
  void (GLAPIENTRY *glMultiTexCoord3f)(GLenum, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glMultiTexCoord3fARB)(GLenum, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glMultiTexCoord3fv)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glMultiTexCoord3fvARB)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glMultiTexCoord3hNV)(GLenum, GLhalfNV, GLhalfNV, GLhalfNV);
  void (GLAPIENTRY *glMultiTexCoord3hvNV)(GLenum, const GLhalfNV *);
  void (GLAPIENTRY *glMultiTexCoord3i)(GLenum, GLint, GLint, GLint);
  void (GLAPIENTRY *glMultiTexCoord3iARB)(GLenum, GLint, GLint, GLint);
  void (GLAPIENTRY *glMultiTexCoord3iv)(GLenum, const GLint *);
  void (GLAPIENTRY *glMultiTexCoord3ivARB)(GLenum, const GLint *);
  void (GLAPIENTRY *glMultiTexCoord3s)(GLenum, GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glMultiTexCoord3sARB)(GLenum, GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glMultiTexCoord3sv)(GLenum, const GLshort *);
  void (GLAPIENTRY *glMultiTexCoord3svARB)(GLenum, const GLshort *);
  void (GLAPIENTRY *glMultiTexCoord4d)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glMultiTexCoord4dARB)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glMultiTexCoord4dv)(GLenum, const GLdouble *);
  void (GLAPIENTRY *glMultiTexCoord4dvARB)(GLenum, const GLdouble *);
  void (GLAPIENTRY *glMultiTexCoord4f)(GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glMultiTexCoord4fARB)(GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glMultiTexCoord4fv)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glMultiTexCoord4fvARB)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glMultiTexCoord4hNV)(GLenum, GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV);
  void (GLAPIENTRY *glMultiTexCoord4hvNV)(GLenum, const GLhalfNV *);
  void (GLAPIENTRY *glMultiTexCoord4i)(GLenum, GLint, GLint, GLint, GLint);
  void (GLAPIENTRY *glMultiTexCoord4iARB)(GLenum, GLint, GLint, GLint, GLint);
  void (GLAPIENTRY *glMultiTexCoord4iv)(GLenum, const GLint *);
  void (GLAPIENTRY *glMultiTexCoord4ivARB)(GLenum, const GLint *);
  void (GLAPIENTRY *glMultiTexCoord4s)(GLenum, GLshort, GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glMultiTexCoord4sARB)(GLenum, GLshort, GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glMultiTexCoord4sv)(GLenum, const GLshort *);
  void (GLAPIENTRY *glMultiTexCoord4svARB)(GLenum, const GLshort *);
  void (GLAPIENTRY *glMultiTexCoordP1ui)(GLenum, GLenum, GLuint);
  void (GLAPIENTRY *glMultiTexCoordP1uiv)(GLenum, GLenum, const GLuint *);
  void (GLAPIENTRY *glMultiTexCoordP2ui)(GLenum, GLenum, GLuint);
  void (GLAPIENTRY *glMultiTexCoordP2uiv)(GLenum, GLenum, const GLuint *);
  void (GLAPIENTRY *glMultiTexCoordP3ui)(GLenum, GLenum, GLuint);
  void (GLAPIENTRY *glMultiTexCoordP3uiv)(GLenum, GLenum, const GLuint *);
  void (GLAPIENTRY *glMultiTexCoordP4ui)(GLenum, GLenum, GLuint);
  void (GLAPIENTRY *glMultiTexCoordP4uiv)(GLenum, GLenum, const GLuint *);
  void (GLAPIENTRY *glMultiTexCoordPointerEXT)(GLenum, GLint, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glMultiTexEnvfEXT)(GLenum, GLenum, GLenum, GLfloat);
  void (GLAPIENTRY *glMultiTexEnvfvEXT)(GLenum, GLenum, GLenum, const GLfloat *);
  void (GLAPIENTRY *glMultiTexEnviEXT)(GLenum, GLenum, GLenum, GLint);
  void (GLAPIENTRY *glMultiTexEnvivEXT)(GLenum, GLenum, GLenum, const GLint *);
  void (GLAPIENTRY *glMultiTexGendEXT)(GLenum, GLenum, GLenum, GLdouble);
  void (GLAPIENTRY *glMultiTexGendvEXT)(GLenum, GLenum, GLenum, const GLdouble *);
  void (GLAPIENTRY *glMultiTexGenfEXT)(GLenum, GLenum, GLenum, GLfloat);
  void (GLAPIENTRY *glMultiTexGenfvEXT)(GLenum, GLenum, GLenum, const GLfloat *);
  void (GLAPIENTRY *glMultiTexGeniEXT)(GLenum, GLenum, GLenum, GLint);
  void (GLAPIENTRY *glMultiTexGenivEXT)(GLenum, GLenum, GLenum, const GLint *);
  void (GLAPIENTRY *glMultiTexImage1DEXT)(GLenum, GLenum, GLint, GLenum, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glMultiTexImage2DEXT)(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glMultiTexImage3DEXT)(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glMultiTexParameterIivEXT)(GLenum, GLenum, GLenum, const GLint *);
  void (GLAPIENTRY *glMultiTexParameterIuivEXT)(GLenum, GLenum, GLenum, const GLuint *);
  void (GLAPIENTRY *glMultiTexParameterfEXT)(GLenum, GLenum, GLenum, GLfloat);
  void (GLAPIENTRY *glMultiTexParameterfvEXT)(GLenum, GLenum, GLenum, const GLfloat *);
  void (GLAPIENTRY *glMultiTexParameteriEXT)(GLenum, GLenum, GLenum, GLint);
  void (GLAPIENTRY *glMultiTexParameterivEXT)(GLenum, GLenum, GLenum, const GLint *);
  void (GLAPIENTRY *glMultiTexRenderbufferEXT)(GLenum, GLenum, GLuint);
  void (GLAPIENTRY *glMultiTexSubImage1DEXT)(GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glMultiTexSubImage2DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glMultiTexSubImage3DEXT)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glNamedBufferDataEXT)(GLuint, GLsizeiptr, const GLvoid *, GLenum);
  void (GLAPIENTRY *glNamedBufferSubDataEXT)(GLuint, GLintptr, GLsizeiptr, const GLvoid *);
  void (GLAPIENTRY *glNamedCopyBufferSubDataEXT)(GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr);
  void (GLAPIENTRY *glNamedFramebufferRenderbufferEXT)(GLuint, GLenum, GLenum, GLuint);
  void (GLAPIENTRY *glNamedFramebufferTexture1DEXT)(GLuint, GLenum, GLenum, GLuint, GLint);
  void (GLAPIENTRY *glNamedFramebufferTexture2DEXT)(GLuint, GLenum, GLenum, GLuint, GLint);
  void (GLAPIENTRY *glNamedFramebufferTexture3DEXT)(GLuint, GLenum, GLenum, GLuint, GLint, GLint);
  void (GLAPIENTRY *glNamedFramebufferTextureEXT)(GLuint, GLenum, GLuint, GLint);
  void (GLAPIENTRY *glNamedFramebufferTextureFaceEXT)(GLuint, GLenum, GLuint, GLint, GLenum);
  void (GLAPIENTRY *glNamedFramebufferTextureLayerEXT)(GLuint, GLenum, GLuint, GLint, GLint);
  void (GLAPIENTRY *glNamedProgramLocalParameter4dEXT)(GLuint, GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glNamedProgramLocalParameter4dvEXT)(GLuint, GLenum, GLuint, const GLdouble *);
  void (GLAPIENTRY *glNamedProgramLocalParameter4fEXT)(GLuint, GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glNamedProgramLocalParameter4fvEXT)(GLuint, GLenum, GLuint, const GLfloat *);
  void (GLAPIENTRY *glNamedProgramLocalParameterI4iEXT)(GLuint, GLenum, GLuint, GLint, GLint, GLint, GLint);
  void (GLAPIENTRY *glNamedProgramLocalParameterI4ivEXT)(GLuint, GLenum, GLuint, const GLint *);
  void (GLAPIENTRY *glNamedProgramLocalParameterI4uiEXT)(GLuint, GLenum, GLuint, GLuint, GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glNamedProgramLocalParameterI4uivEXT)(GLuint, GLenum, GLuint, const GLuint *);
  void (GLAPIENTRY *glNamedProgramLocalParameters4fvEXT)(GLuint, GLenum, GLuint, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glNamedProgramLocalParametersI4ivEXT)(GLuint, GLenum, GLuint, GLsizei, const GLint *);
  void (GLAPIENTRY *glNamedProgramLocalParametersI4uivEXT)(GLuint, GLenum, GLuint, GLsizei, const GLuint *);
  void (GLAPIENTRY *glNamedProgramStringEXT)(GLuint, GLenum, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glNamedRenderbufferStorageEXT)(GLuint, GLenum, GLsizei, GLsizei);
  void (GLAPIENTRY *glNamedRenderbufferStorageMultisampleCoverageEXT)(GLuint, GLsizei, GLsizei, GLenum, GLsizei, GLsizei);
  void (GLAPIENTRY *glNamedRenderbufferStorageMultisampleEXT)(GLuint, GLsizei, GLenum, GLsizei, GLsizei);
  void (GLAPIENTRY *glNamedStringARB)(GLenum, GLint, const GLchar *, GLint, const GLchar *);
  GLuint (GLAPIENTRY *glNewBufferRegionEXT)(GLenum);
  void (GLAPIENTRY *glNewList)(GLuint, GLenum);
  GLuint (GLAPIENTRY *glNewObjectBufferATI)(GLsizei, const GLvoid *, GLenum);
  void (GLAPIENTRY *glNormal3b)(GLbyte, GLbyte, GLbyte);
  void (GLAPIENTRY *glNormal3bv)(const GLbyte *);
  void (GLAPIENTRY *glNormal3d)(GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glNormal3dv)(const GLdouble *);
  void (GLAPIENTRY *glNormal3f)(GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glNormal3fVertex3fSUN)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glNormal3fVertex3fvSUN)(const GLfloat *, const GLfloat *);
  void (GLAPIENTRY *glNormal3fv)(const GLfloat *);
  void (GLAPIENTRY *glNormal3hNV)(GLhalfNV, GLhalfNV, GLhalfNV);
  void (GLAPIENTRY *glNormal3hvNV)(const GLhalfNV *);
  void (GLAPIENTRY *glNormal3i)(GLint, GLint, GLint);
  void (GLAPIENTRY *glNormal3iv)(const GLint *);
  void (GLAPIENTRY *glNormal3s)(GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glNormal3sv)(const GLshort *);
  void (GLAPIENTRY *glNormalFormatNV)(GLenum, GLsizei);
  void (GLAPIENTRY *glNormalP3ui)(GLenum, GLuint);
  void (GLAPIENTRY *glNormalP3uiv)(GLenum, const GLuint *);
  void (GLAPIENTRY *glNormalPointer)(GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glNormalPointerEXT)(GLenum, GLsizei, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glNormalPointerListIBM)(GLenum, GLint, const GLvoid **, GLint);
  void (GLAPIENTRY *glNormalPointervINTEL)(GLenum, const GLvoid **);
  void (GLAPIENTRY *glNormalStream3bATI)(GLenum, GLbyte, GLbyte, GLbyte);
  void (GLAPIENTRY *glNormalStream3bvATI)(GLenum, const GLbyte *);
  void (GLAPIENTRY *glNormalStream3dATI)(GLenum, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glNormalStream3dvATI)(GLenum, const GLdouble *);
  void (GLAPIENTRY *glNormalStream3fATI)(GLenum, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glNormalStream3fvATI)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glNormalStream3iATI)(GLenum, GLint, GLint, GLint);
  void (GLAPIENTRY *glNormalStream3ivATI)(GLenum, const GLint *);
  void (GLAPIENTRY *glNormalStream3sATI)(GLenum, GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glNormalStream3svATI)(GLenum, const GLshort *);
  GLenum (GLAPIENTRY *glObjectPurgeableAPPLE)(GLenum, GLuint, GLenum);
  GLenum (GLAPIENTRY *glObjectUnpurgeableAPPLE)(GLenum, GLuint, GLenum);
  void (GLAPIENTRY *glOrtho)(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glPNTrianglesfATI)(GLenum, GLfloat);
  void (GLAPIENTRY *glPNTrianglesiATI)(GLenum, GLint);
  void (GLAPIENTRY *glPassTexCoordATI)(GLuint, GLuint, GLenum);
  void (GLAPIENTRY *glPassThrough)(GLfloat);
  void (GLAPIENTRY *glPatchParameterfv)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glPatchParameteri)(GLenum, GLint);
  void (GLAPIENTRY *glPauseTransformFeedback)(void);
  void (GLAPIENTRY *glPauseTransformFeedbackNV)(void);
  void (GLAPIENTRY *glPixelDataRangeNV)(GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glPixelMapfv)(GLenum, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glPixelMapuiv)(GLenum, GLsizei, const GLuint *);
  void (GLAPIENTRY *glPixelMapusv)(GLenum, GLsizei, const GLushort *);
  void (GLAPIENTRY *glPixelStoref)(GLenum, GLfloat);
  void (GLAPIENTRY *glPixelStorei)(GLenum, GLint);
  void (GLAPIENTRY *glPixelTexGenParameterfSGIS)(GLenum, GLfloat);
  void (GLAPIENTRY *glPixelTexGenParameterfvSGIS)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glPixelTexGenParameteriSGIS)(GLenum, GLint);
  void (GLAPIENTRY *glPixelTexGenParameterivSGIS)(GLenum, const GLint *);
  void (GLAPIENTRY *glPixelTexGenSGIX)(GLenum);
  void (GLAPIENTRY *glPixelTransferf)(GLenum, GLfloat);
  void (GLAPIENTRY *glPixelTransferi)(GLenum, GLint);
  void (GLAPIENTRY *glPixelTransformParameterfEXT)(GLenum, GLenum, GLfloat);
  void (GLAPIENTRY *glPixelTransformParameterfvEXT)(GLenum, GLenum, const GLfloat *);
  void (GLAPIENTRY *glPixelTransformParameteriEXT)(GLenum, GLenum, GLint);
  void (GLAPIENTRY *glPixelTransformParameterivEXT)(GLenum, GLenum, const GLint *);
  void (GLAPIENTRY *glPixelZoom)(GLfloat, GLfloat);
  void (GLAPIENTRY *glPointParameterf)(GLenum, GLfloat);
  void (GLAPIENTRY *glPointParameterfARB)(GLenum, GLfloat);
  void (GLAPIENTRY *glPointParameterfEXT)(GLenum, GLfloat);
  void (GLAPIENTRY *glPointParameterfSGIS)(GLenum, GLfloat);
  void (GLAPIENTRY *glPointParameterfv)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glPointParameterfvARB)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glPointParameterfvEXT)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glPointParameterfvSGIS)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glPointParameteri)(GLenum, GLint);
  void (GLAPIENTRY *glPointParameteriNV)(GLenum, GLint);
  void (GLAPIENTRY *glPointParameteriv)(GLenum, const GLint *);
  void (GLAPIENTRY *glPointParameterivNV)(GLenum, const GLint *);
  void (GLAPIENTRY *glPointSize)(GLfloat);
  GLint (GLAPIENTRY *glPollAsyncSGIX)(GLuint *);
  GLint (GLAPIENTRY *glPollInstrumentsSGIX)(GLint *);
  void (GLAPIENTRY *glPolygonMode)(GLenum, GLenum);
  void (GLAPIENTRY *glPolygonOffset)(GLfloat, GLfloat);
  void (GLAPIENTRY *glPolygonOffsetEXT)(GLfloat, GLfloat);
  void (GLAPIENTRY *glPolygonStipple)(const GLubyte *);
  void (GLAPIENTRY *glPopAttrib)(void);
  void (GLAPIENTRY *glPopClientAttrib)(void);
  void (GLAPIENTRY *glPopMatrix)(void);
  void (GLAPIENTRY *glPopName)(void);
  void (GLAPIENTRY *glPresentFrameDualFillNV)(GLuint, GLuint64EXT, GLuint, GLuint, GLenum, GLenum, GLuint, GLenum, GLuint, GLenum, GLuint, GLenum, GLuint);
  void (GLAPIENTRY *glPresentFrameKeyedNV)(GLuint, GLuint64EXT, GLuint, GLuint, GLenum, GLenum, GLuint, GLuint, GLenum, GLuint, GLuint);
  void (GLAPIENTRY *glPrimitiveRestartIndex)(GLuint);
  void (GLAPIENTRY *glPrimitiveRestartIndexNV)(GLuint);
  void (GLAPIENTRY *glPrimitiveRestartNV)(void);
  void (GLAPIENTRY *glPrioritizeTextures)(GLsizei, const GLuint *, const GLclampf *);
  void (GLAPIENTRY *glPrioritizeTexturesEXT)(GLsizei, const GLuint *, const GLclampf *);
  void (GLAPIENTRY *glProgramBinary)(GLuint, GLenum, const GLvoid *, GLsizei);
  void (GLAPIENTRY *glProgramBufferParametersIivNV)(GLenum, GLuint, GLuint, GLsizei, const GLint *);
  void (GLAPIENTRY *glProgramBufferParametersIuivNV)(GLenum, GLuint, GLuint, GLsizei, const GLuint *);
  void (GLAPIENTRY *glProgramBufferParametersfvNV)(GLenum, GLuint, GLuint, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glProgramEnvParameter4dARB)(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glProgramEnvParameter4dvARB)(GLenum, GLuint, const GLdouble *);
  void (GLAPIENTRY *glProgramEnvParameter4fARB)(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glProgramEnvParameter4fvARB)(GLenum, GLuint, const GLfloat *);
  void (GLAPIENTRY *glProgramEnvParameterI4iNV)(GLenum, GLuint, GLint, GLint, GLint, GLint);
  void (GLAPIENTRY *glProgramEnvParameterI4ivNV)(GLenum, GLuint, const GLint *);
  void (GLAPIENTRY *glProgramEnvParameterI4uiNV)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glProgramEnvParameterI4uivNV)(GLenum, GLuint, const GLuint *);
  void (GLAPIENTRY *glProgramEnvParameters4fvEXT)(GLenum, GLuint, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glProgramEnvParametersI4ivNV)(GLenum, GLuint, GLsizei, const GLint *);
  void (GLAPIENTRY *glProgramEnvParametersI4uivNV)(GLenum, GLuint, GLsizei, const GLuint *);
  void (GLAPIENTRY *glProgramLocalParameter4dARB)(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glProgramLocalParameter4dvARB)(GLenum, GLuint, const GLdouble *);
  void (GLAPIENTRY *glProgramLocalParameter4fARB)(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glProgramLocalParameter4fvARB)(GLenum, GLuint, const GLfloat *);
  void (GLAPIENTRY *glProgramLocalParameterI4iNV)(GLenum, GLuint, GLint, GLint, GLint, GLint);
  void (GLAPIENTRY *glProgramLocalParameterI4ivNV)(GLenum, GLuint, const GLint *);
  void (GLAPIENTRY *glProgramLocalParameterI4uiNV)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glProgramLocalParameterI4uivNV)(GLenum, GLuint, const GLuint *);
  void (GLAPIENTRY *glProgramLocalParameters4fvEXT)(GLenum, GLuint, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glProgramLocalParametersI4ivNV)(GLenum, GLuint, GLsizei, const GLint *);
  void (GLAPIENTRY *glProgramLocalParametersI4uivNV)(GLenum, GLuint, GLsizei, const GLuint *);
  void (GLAPIENTRY *glProgramNamedParameter4dNV)(GLuint, GLsizei, const GLubyte *, GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glProgramNamedParameter4dvNV)(GLuint, GLsizei, const GLubyte *, const GLdouble *);
  void (GLAPIENTRY *glProgramNamedParameter4fNV)(GLuint, GLsizei, const GLubyte *, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glProgramNamedParameter4fvNV)(GLuint, GLsizei, const GLubyte *, const GLfloat *);
  void (GLAPIENTRY *glProgramParameter4dNV)(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glProgramParameter4dvNV)(GLenum, GLuint, const GLdouble *);
  void (GLAPIENTRY *glProgramParameter4fNV)(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glProgramParameter4fvNV)(GLenum, GLuint, const GLfloat *);
  void (GLAPIENTRY *glProgramParameteri)(GLuint, GLenum, GLint);
  void (GLAPIENTRY *glProgramParameteriARB)(GLuint, GLenum, GLint);
  void (GLAPIENTRY *glProgramParameteriEXT)(GLuint, GLenum, GLint);
  void (GLAPIENTRY *glProgramParameters4dvNV)(GLenum, GLuint, GLuint, const GLdouble *);
  void (GLAPIENTRY *glProgramParameters4fvNV)(GLenum, GLuint, GLuint, const GLfloat *);
  void (GLAPIENTRY *glProgramStringARB)(GLenum, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glProgramUniform1d)(GLuint, GLint, GLdouble);
  void (GLAPIENTRY *glProgramUniform1dEXT)(GLuint, GLint, GLdouble);
  void (GLAPIENTRY *glProgramUniform1dv)(GLuint, GLint, GLsizei, const GLdouble *);
  void (GLAPIENTRY *glProgramUniform1dvEXT)(GLuint, GLint, GLsizei, const GLdouble *);
  void (GLAPIENTRY *glProgramUniform1f)(GLuint, GLint, GLfloat);
  void (GLAPIENTRY *glProgramUniform1fEXT)(GLuint, GLint, GLfloat);
  void (GLAPIENTRY *glProgramUniform1fv)(GLuint, GLint, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glProgramUniform1fvEXT)(GLuint, GLint, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glProgramUniform1i)(GLuint, GLint, GLint);
  void (GLAPIENTRY *glProgramUniform1i64NV)(GLuint, GLint, GLint64EXT);
  void (GLAPIENTRY *glProgramUniform1i64vNV)(GLuint, GLint, GLsizei, const GLint64EXT *);
  void (GLAPIENTRY *glProgramUniform1iEXT)(GLuint, GLint, GLint);
  void (GLAPIENTRY *glProgramUniform1iv)(GLuint, GLint, GLsizei, const GLint *);
  void (GLAPIENTRY *glProgramUniform1ivEXT)(GLuint, GLint, GLsizei, const GLint *);
  void (GLAPIENTRY *glProgramUniform1ui)(GLuint, GLint, GLuint);
  void (GLAPIENTRY *glProgramUniform1ui64NV)(GLuint, GLint, GLuint64EXT);
  void (GLAPIENTRY *glProgramUniform1ui64vNV)(GLuint, GLint, GLsizei, const GLuint64EXT *);
  void (GLAPIENTRY *glProgramUniform1uiEXT)(GLuint, GLint, GLuint);
  void (GLAPIENTRY *glProgramUniform1uiv)(GLuint, GLint, GLsizei, const GLuint *);
  void (GLAPIENTRY *glProgramUniform1uivEXT)(GLuint, GLint, GLsizei, const GLuint *);
  void (GLAPIENTRY *glProgramUniform2d)(GLuint, GLint, GLdouble, GLdouble);
  void (GLAPIENTRY *glProgramUniform2dEXT)(GLuint, GLint, GLdouble, GLdouble);
  void (GLAPIENTRY *glProgramUniform2dv)(GLuint, GLint, GLsizei, const GLdouble *);
  void (GLAPIENTRY *glProgramUniform2dvEXT)(GLuint, GLint, GLsizei, const GLdouble *);
  void (GLAPIENTRY *glProgramUniform2f)(GLuint, GLint, GLfloat, GLfloat);
  void (GLAPIENTRY *glProgramUniform2fEXT)(GLuint, GLint, GLfloat, GLfloat);
  void (GLAPIENTRY *glProgramUniform2fv)(GLuint, GLint, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glProgramUniform2fvEXT)(GLuint, GLint, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glProgramUniform2i)(GLuint, GLint, GLint, GLint);
  void (GLAPIENTRY *glProgramUniform2i64NV)(GLuint, GLint, GLint64EXT, GLint64EXT);
  void (GLAPIENTRY *glProgramUniform2i64vNV)(GLuint, GLint, GLsizei, const GLint64EXT *);
  void (GLAPIENTRY *glProgramUniform2iEXT)(GLuint, GLint, GLint, GLint);
  void (GLAPIENTRY *glProgramUniform2iv)(GLuint, GLint, GLsizei, const GLint *);
  void (GLAPIENTRY *glProgramUniform2ivEXT)(GLuint, GLint, GLsizei, const GLint *);
  void (GLAPIENTRY *glProgramUniform2ui)(GLuint, GLint, GLuint, GLuint);
  void (GLAPIENTRY *glProgramUniform2ui64NV)(GLuint, GLint, GLuint64EXT, GLuint64EXT);
  void (GLAPIENTRY *glProgramUniform2ui64vNV)(GLuint, GLint, GLsizei, const GLuint64EXT *);
  void (GLAPIENTRY *glProgramUniform2uiEXT)(GLuint, GLint, GLuint, GLuint);
  void (GLAPIENTRY *glProgramUniform2uiv)(GLuint, GLint, GLsizei, const GLuint *);
  void (GLAPIENTRY *glProgramUniform2uivEXT)(GLuint, GLint, GLsizei, const GLuint *);
  void (GLAPIENTRY *glProgramUniform3d)(GLuint, GLint, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glProgramUniform3dEXT)(GLuint, GLint, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glProgramUniform3dv)(GLuint, GLint, GLsizei, const GLdouble *);
  void (GLAPIENTRY *glProgramUniform3dvEXT)(GLuint, GLint, GLsizei, const GLdouble *);
  void (GLAPIENTRY *glProgramUniform3f)(GLuint, GLint, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glProgramUniform3fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glProgramUniform3fv)(GLuint, GLint, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glProgramUniform3fvEXT)(GLuint, GLint, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glProgramUniform3i)(GLuint, GLint, GLint, GLint, GLint);
  void (GLAPIENTRY *glProgramUniform3i64NV)(GLuint, GLint, GLint64EXT, GLint64EXT, GLint64EXT);
  void (GLAPIENTRY *glProgramUniform3i64vNV)(GLuint, GLint, GLsizei, const GLint64EXT *);
  void (GLAPIENTRY *glProgramUniform3iEXT)(GLuint, GLint, GLint, GLint, GLint);
  void (GLAPIENTRY *glProgramUniform3iv)(GLuint, GLint, GLsizei, const GLint *);
  void (GLAPIENTRY *glProgramUniform3ivEXT)(GLuint, GLint, GLsizei, const GLint *);
  void (GLAPIENTRY *glProgramUniform3ui)(GLuint, GLint, GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glProgramUniform3ui64NV)(GLuint, GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT);
  void (GLAPIENTRY *glProgramUniform3ui64vNV)(GLuint, GLint, GLsizei, const GLuint64EXT *);
  void (GLAPIENTRY *glProgramUniform3uiEXT)(GLuint, GLint, GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glProgramUniform3uiv)(GLuint, GLint, GLsizei, const GLuint *);
  void (GLAPIENTRY *glProgramUniform3uivEXT)(GLuint, GLint, GLsizei, const GLuint *);
  void (GLAPIENTRY *glProgramUniform4d)(GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glProgramUniform4dEXT)(GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glProgramUniform4dv)(GLuint, GLint, GLsizei, const GLdouble *);
  void (GLAPIENTRY *glProgramUniform4dvEXT)(GLuint, GLint, GLsizei, const GLdouble *);
  void (GLAPIENTRY *glProgramUniform4f)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glProgramUniform4fEXT)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glProgramUniform4fv)(GLuint, GLint, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glProgramUniform4fvEXT)(GLuint, GLint, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glProgramUniform4i)(GLuint, GLint, GLint, GLint, GLint, GLint);
  void (GLAPIENTRY *glProgramUniform4i64NV)(GLuint, GLint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT);
  void (GLAPIENTRY *glProgramUniform4i64vNV)(GLuint, GLint, GLsizei, const GLint64EXT *);
  void (GLAPIENTRY *glProgramUniform4iEXT)(GLuint, GLint, GLint, GLint, GLint, GLint);
  void (GLAPIENTRY *glProgramUniform4iv)(GLuint, GLint, GLsizei, const GLint *);
  void (GLAPIENTRY *glProgramUniform4ivEXT)(GLuint, GLint, GLsizei, const GLint *);
  void (GLAPIENTRY *glProgramUniform4ui)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glProgramUniform4ui64NV)(GLuint, GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT);
  void (GLAPIENTRY *glProgramUniform4ui64vNV)(GLuint, GLint, GLsizei, const GLuint64EXT *);
  void (GLAPIENTRY *glProgramUniform4uiEXT)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glProgramUniform4uiv)(GLuint, GLint, GLsizei, const GLuint *);
  void (GLAPIENTRY *glProgramUniform4uivEXT)(GLuint, GLint, GLsizei, const GLuint *);
  void (GLAPIENTRY *glProgramUniformMatrix2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glProgramUniformMatrix2dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glProgramUniformMatrix2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glProgramUniformMatrix2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glProgramUniformMatrix2x3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glProgramUniformMatrix2x3dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glProgramUniformMatrix2x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glProgramUniformMatrix2x3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glProgramUniformMatrix2x4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glProgramUniformMatrix2x4dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glProgramUniformMatrix2x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glProgramUniformMatrix2x4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glProgramUniformMatrix3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glProgramUniformMatrix3dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glProgramUniformMatrix3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glProgramUniformMatrix3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glProgramUniformMatrix3x2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glProgramUniformMatrix3x2dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glProgramUniformMatrix3x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glProgramUniformMatrix3x2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glProgramUniformMatrix3x4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glProgramUniformMatrix3x4dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glProgramUniformMatrix3x4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glProgramUniformMatrix3x4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glProgramUniformMatrix4dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glProgramUniformMatrix4dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glProgramUniformMatrix4fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glProgramUniformMatrix4fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glProgramUniformMatrix4x2dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glProgramUniformMatrix4x2dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glProgramUniformMatrix4x2fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glProgramUniformMatrix4x2fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glProgramUniformMatrix4x3dv)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glProgramUniformMatrix4x3dvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glProgramUniformMatrix4x3fv)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glProgramUniformMatrix4x3fvEXT)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glProgramUniformui64NV)(GLuint, GLint, GLuint64EXT);
  void (GLAPIENTRY *glProgramUniformui64vNV)(GLuint, GLint, GLsizei, const GLuint64EXT *);
  void (GLAPIENTRY *glProgramVertexLimitNV)(GLenum, GLint);
  void (GLAPIENTRY *glProvokingVertex)(GLenum);
  void (GLAPIENTRY *glProvokingVertexEXT)(GLenum);
  void (GLAPIENTRY *glPushAttrib)(GLbitfield);
  void (GLAPIENTRY *glPushClientAttrib)(GLbitfield);
  void (GLAPIENTRY *glPushClientAttribDefaultEXT)(GLbitfield);
  void (GLAPIENTRY *glPushMatrix)(void);
  void (GLAPIENTRY *glPushName)(GLuint);
  void (GLAPIENTRY *glQueryCounter)(GLuint, GLenum);
  void (GLAPIENTRY *glRasterPos2d)(GLdouble, GLdouble);
  void (GLAPIENTRY *glRasterPos2dv)(const GLdouble *);
  void (GLAPIENTRY *glRasterPos2f)(GLfloat, GLfloat);
  void (GLAPIENTRY *glRasterPos2fv)(const GLfloat *);
  void (GLAPIENTRY *glRasterPos2i)(GLint, GLint);
  void (GLAPIENTRY *glRasterPos2iv)(const GLint *);
  void (GLAPIENTRY *glRasterPos2s)(GLshort, GLshort);
  void (GLAPIENTRY *glRasterPos2sv)(const GLshort *);
  void (GLAPIENTRY *glRasterPos3d)(GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glRasterPos3dv)(const GLdouble *);
  void (GLAPIENTRY *glRasterPos3f)(GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glRasterPos3fv)(const GLfloat *);
  void (GLAPIENTRY *glRasterPos3i)(GLint, GLint, GLint);
  void (GLAPIENTRY *glRasterPos3iv)(const GLint *);
  void (GLAPIENTRY *glRasterPos3s)(GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glRasterPos3sv)(const GLshort *);
  void (GLAPIENTRY *glRasterPos4d)(GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glRasterPos4dv)(const GLdouble *);
  void (GLAPIENTRY *glRasterPos4f)(GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glRasterPos4fv)(const GLfloat *);
  void (GLAPIENTRY *glRasterPos4i)(GLint, GLint, GLint, GLint);
  void (GLAPIENTRY *glRasterPos4iv)(const GLint *);
  void (GLAPIENTRY *glRasterPos4s)(GLshort, GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glRasterPos4sv)(const GLshort *);
  void (GLAPIENTRY *glReadBuffer)(GLenum);
  void (GLAPIENTRY *glReadBufferRegionEXT)(GLuint, GLint, GLint, GLsizei, GLsizei);
  void (GLAPIENTRY *glReadInstrumentsSGIX)(GLint);
  void (GLAPIENTRY *glReadPixels)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLvoid *);
  void (GLAPIENTRY *glReadnPixelsARB)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, GLvoid *);
  void (GLAPIENTRY *glRectd)(GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glRectdv)(const GLdouble *, const GLdouble *);
  void (GLAPIENTRY *glRectf)(GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glRectfv)(const GLfloat *, const GLfloat *);
  void (GLAPIENTRY *glRecti)(GLint, GLint, GLint, GLint);
  void (GLAPIENTRY *glRectiv)(const GLint *, const GLint *);
  void (GLAPIENTRY *glRects)(GLshort, GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glRectsv)(const GLshort *, const GLshort *);
  void (GLAPIENTRY *glReferencePlaneSGIX)(const GLdouble *);
  void (GLAPIENTRY *glReleaseShaderCompiler)(void);
  GLint (GLAPIENTRY *glRenderMode)(GLenum);
  void (GLAPIENTRY *glRenderbufferStorage)(GLenum, GLenum, GLsizei, GLsizei);
  void (GLAPIENTRY *glRenderbufferStorageEXT)(GLenum, GLenum, GLsizei, GLsizei);
  void (GLAPIENTRY *glRenderbufferStorageMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  void (GLAPIENTRY *glRenderbufferStorageMultisampleCoverageNV)(GLenum, GLsizei, GLsizei, GLenum, GLsizei, GLsizei);
  void (GLAPIENTRY *glRenderbufferStorageMultisampleEXT)(GLenum, GLsizei, GLenum, GLsizei, GLsizei);
  void (GLAPIENTRY *glReplacementCodePointerSUN)(GLenum, GLsizei, const GLvoid **);
  void (GLAPIENTRY *glReplacementCodeubSUN)(GLubyte);
  void (GLAPIENTRY *glReplacementCodeubvSUN)(const GLubyte *);
  void (GLAPIENTRY *glReplacementCodeuiColor3fVertex3fSUN)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glReplacementCodeuiColor3fVertex3fvSUN)(const GLuint *, const GLfloat *, const GLfloat *);
  void (GLAPIENTRY *glReplacementCodeuiColor4fNormal3fVertex3fSUN)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glReplacementCodeuiColor4fNormal3fVertex3fvSUN)(const GLuint *, const GLfloat *, const GLfloat *, const GLfloat *);
  void (GLAPIENTRY *glReplacementCodeuiColor4ubVertex3fSUN)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glReplacementCodeuiColor4ubVertex3fvSUN)(const GLuint *, const GLubyte *, const GLfloat *);
  void (GLAPIENTRY *glReplacementCodeuiNormal3fVertex3fSUN)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glReplacementCodeuiNormal3fVertex3fvSUN)(const GLuint *, const GLfloat *, const GLfloat *);
  void (GLAPIENTRY *glReplacementCodeuiSUN)(GLuint);
  void (GLAPIENTRY *glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN)(const GLuint *, const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
  void (GLAPIENTRY *glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN)(const GLuint *, const GLfloat *, const GLfloat *, const GLfloat *);
  void (GLAPIENTRY *glReplacementCodeuiTexCoord2fVertex3fSUN)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glReplacementCodeuiTexCoord2fVertex3fvSUN)(const GLuint *, const GLfloat *, const GLfloat *);
  void (GLAPIENTRY *glReplacementCodeuiVertex3fSUN)(GLuint, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glReplacementCodeuiVertex3fvSUN)(const GLuint *, const GLfloat *);
  void (GLAPIENTRY *glReplacementCodeuivSUN)(const GLuint *);
  void (GLAPIENTRY *glReplacementCodeusSUN)(GLushort);
  void (GLAPIENTRY *glReplacementCodeusvSUN)(const GLushort *);
  void (GLAPIENTRY *glRequestResidentProgramsNV)(GLsizei, const GLuint *);
  void (GLAPIENTRY *glResetHistogram)(GLenum);
  void (GLAPIENTRY *glResetHistogramEXT)(GLenum);
  void (GLAPIENTRY *glResetMinmax)(GLenum);
  void (GLAPIENTRY *glResetMinmaxEXT)(GLenum);
  void (GLAPIENTRY *glResizeBuffersMESA)(void);
  void (GLAPIENTRY *glResumeTransformFeedback)(void);
  void (GLAPIENTRY *glResumeTransformFeedbackNV)(void);
  void (GLAPIENTRY *glRotated)(GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glRotatef)(GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glSampleCoverage)(GLclampf, GLboolean);
  void (GLAPIENTRY *glSampleCoverageARB)(GLclampf, GLboolean);
  void (GLAPIENTRY *glSampleMapATI)(GLuint, GLuint, GLenum);
  void (GLAPIENTRY *glSampleMaskEXT)(GLclampf, GLboolean);
  void (GLAPIENTRY *glSampleMaskIndexedNV)(GLuint, GLbitfield);
  void (GLAPIENTRY *glSampleMaskSGIS)(GLclampf, GLboolean);
  void (GLAPIENTRY *glSampleMaski)(GLuint, GLbitfield);
  void (GLAPIENTRY *glSamplePatternEXT)(GLenum);
  void (GLAPIENTRY *glSamplePatternSGIS)(GLenum);
  void (GLAPIENTRY *glSamplerParameterIiv)(GLuint, GLenum, const GLint *);
  void (GLAPIENTRY *glSamplerParameterIuiv)(GLuint, GLenum, const GLuint *);
  void (GLAPIENTRY *glSamplerParameterf)(GLuint, GLenum, GLfloat);
  void (GLAPIENTRY *glSamplerParameterfv)(GLuint, GLenum, const GLfloat *);
  void (GLAPIENTRY *glSamplerParameteri)(GLuint, GLenum, GLint);
  void (GLAPIENTRY *glSamplerParameteriv)(GLuint, GLenum, const GLint *);
  void (GLAPIENTRY *glScaled)(GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glScalef)(GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glScissor)(GLint, GLint, GLsizei, GLsizei);
  void (GLAPIENTRY *glScissorArrayv)(GLuint, GLsizei, const GLint *);
  void (GLAPIENTRY *glScissorIndexed)(GLuint, GLint, GLint, GLint, GLint);
  void (GLAPIENTRY *glScissorIndexedv)(GLuint, const GLint *);
  void (GLAPIENTRY *glSecondaryColor3b)(GLbyte, GLbyte, GLbyte);
  void (GLAPIENTRY *glSecondaryColor3bEXT)(GLbyte, GLbyte, GLbyte);
  void (GLAPIENTRY *glSecondaryColor3bv)(const GLbyte *);
  void (GLAPIENTRY *glSecondaryColor3bvEXT)(const GLbyte *);
  void (GLAPIENTRY *glSecondaryColor3d)(GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glSecondaryColor3dEXT)(GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glSecondaryColor3dv)(const GLdouble *);
  void (GLAPIENTRY *glSecondaryColor3dvEXT)(const GLdouble *);
  void (GLAPIENTRY *glSecondaryColor3f)(GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glSecondaryColor3fEXT)(GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glSecondaryColor3fv)(const GLfloat *);
  void (GLAPIENTRY *glSecondaryColor3fvEXT)(const GLfloat *);
  void (GLAPIENTRY *glSecondaryColor3hNV)(GLhalfNV, GLhalfNV, GLhalfNV);
  void (GLAPIENTRY *glSecondaryColor3hvNV)(const GLhalfNV *);
  void (GLAPIENTRY *glSecondaryColor3i)(GLint, GLint, GLint);
  void (GLAPIENTRY *glSecondaryColor3iEXT)(GLint, GLint, GLint);
  void (GLAPIENTRY *glSecondaryColor3iv)(const GLint *);
  void (GLAPIENTRY *glSecondaryColor3ivEXT)(const GLint *);
  void (GLAPIENTRY *glSecondaryColor3s)(GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glSecondaryColor3sEXT)(GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glSecondaryColor3sv)(const GLshort *);
  void (GLAPIENTRY *glSecondaryColor3svEXT)(const GLshort *);
  void (GLAPIENTRY *glSecondaryColor3ub)(GLubyte, GLubyte, GLubyte);
  void (GLAPIENTRY *glSecondaryColor3ubEXT)(GLubyte, GLubyte, GLubyte);
  void (GLAPIENTRY *glSecondaryColor3ubv)(const GLubyte *);
  void (GLAPIENTRY *glSecondaryColor3ubvEXT)(const GLubyte *);
  void (GLAPIENTRY *glSecondaryColor3ui)(GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glSecondaryColor3uiEXT)(GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glSecondaryColor3uiv)(const GLuint *);
  void (GLAPIENTRY *glSecondaryColor3uivEXT)(const GLuint *);
  void (GLAPIENTRY *glSecondaryColor3us)(GLushort, GLushort, GLushort);
  void (GLAPIENTRY *glSecondaryColor3usEXT)(GLushort, GLushort, GLushort);
  void (GLAPIENTRY *glSecondaryColor3usv)(const GLushort *);
  void (GLAPIENTRY *glSecondaryColor3usvEXT)(const GLushort *);
  void (GLAPIENTRY *glSecondaryColorFormatNV)(GLint, GLenum, GLsizei);
  void (GLAPIENTRY *glSecondaryColorP3ui)(GLenum, GLuint);
  void (GLAPIENTRY *glSecondaryColorP3uiv)(GLenum, const GLuint *);
  void (GLAPIENTRY *glSecondaryColorPointer)(GLint, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glSecondaryColorPointerEXT)(GLint, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glSecondaryColorPointerListIBM)(GLint, GLenum, GLint, const GLvoid **, GLint);
  void (GLAPIENTRY *glSelectBuffer)(GLsizei, GLuint *);
  void (GLAPIENTRY *glSelectPerfMonitorCountersAMD)(GLuint, GLboolean, GLuint, GLint, GLuint *);
  void (GLAPIENTRY *glSeparableFilter2D)(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *, const GLvoid *);
  void (GLAPIENTRY *glSeparableFilter2DEXT)(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *, const GLvoid *);
  void (GLAPIENTRY *glSetFenceAPPLE)(GLuint);
  void (GLAPIENTRY *glSetFenceNV)(GLuint, GLenum);
  void (GLAPIENTRY *glSetFragmentShaderConstantATI)(GLuint, const GLfloat *);
  void (GLAPIENTRY *glSetInvariantEXT)(GLuint, GLenum, const GLvoid *);
  void (GLAPIENTRY *glSetLocalConstantEXT)(GLuint, GLenum, const GLvoid *);
  void (GLAPIENTRY *glShadeModel)(GLenum);
  void (GLAPIENTRY *glShaderBinary)(GLsizei, const GLuint *, GLenum, const GLvoid *, GLsizei);
  void (GLAPIENTRY *glShaderOp1EXT)(GLenum, GLuint, GLuint);
  void (GLAPIENTRY *glShaderOp2EXT)(GLenum, GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glShaderOp3EXT)(GLenum, GLuint, GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glShaderSource)(GLuint, GLsizei, const GLchar **, const GLint *);
  void (GLAPIENTRY *glShaderSourceARB)(GLhandleARB, GLsizei, const GLcharARB **, const GLint *);
  void (GLAPIENTRY *glSharpenTexFuncSGIS)(GLenum, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glSpriteParameterfSGIX)(GLenum, GLfloat);
  void (GLAPIENTRY *glSpriteParameterfvSGIX)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glSpriteParameteriSGIX)(GLenum, GLint);
  void (GLAPIENTRY *glSpriteParameterivSGIX)(GLenum, const GLint *);
  void (GLAPIENTRY *glStartInstrumentsSGIX)(void);
  void (GLAPIENTRY *glStencilClearTagEXT)(GLsizei, GLuint);
  void (GLAPIENTRY *glStencilFunc)(GLenum, GLint, GLuint);
  void (GLAPIENTRY *glStencilFuncSeparate)(GLenum, GLenum, GLint, GLuint);
  void (GLAPIENTRY *glStencilFuncSeparateATI)(GLenum, GLenum, GLint, GLuint);
  void (GLAPIENTRY *glStencilMask)(GLuint);
  void (GLAPIENTRY *glStencilMaskSeparate)(GLenum, GLuint);
  void (GLAPIENTRY *glStencilOp)(GLenum, GLenum, GLenum);
  void (GLAPIENTRY *glStencilOpSeparate)(GLenum, GLenum, GLenum, GLenum);
  void (GLAPIENTRY *glStencilOpSeparateATI)(GLenum, GLenum, GLenum, GLenum);
  void (GLAPIENTRY *glStopInstrumentsSGIX)(GLint);
  void (GLAPIENTRY *glStringMarkerGREMEDY)(GLsizei, const GLvoid *);
  void (GLAPIENTRY *glSwizzleEXT)(GLuint, GLuint, GLenum, GLenum, GLenum, GLenum);
  void (GLAPIENTRY *glTagSampleBufferSGIX)(void);
  void (GLAPIENTRY *glTangent3bEXT)(GLbyte, GLbyte, GLbyte);
  void (GLAPIENTRY *glTangent3bvEXT)(const GLbyte *);
  void (GLAPIENTRY *glTangent3dEXT)(GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glTangent3dvEXT)(const GLdouble *);
  void (GLAPIENTRY *glTangent3fEXT)(GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glTangent3fvEXT)(const GLfloat *);
  void (GLAPIENTRY *glTangent3iEXT)(GLint, GLint, GLint);
  void (GLAPIENTRY *glTangent3ivEXT)(const GLint *);
  void (GLAPIENTRY *glTangent3sEXT)(GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glTangent3svEXT)(const GLshort *);
  void (GLAPIENTRY *glTangentPointerEXT)(GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glTbufferMask3DFX)(GLuint);
  void (GLAPIENTRY *glTessellationFactorAMD)(GLfloat);
  void (GLAPIENTRY *glTessellationModeAMD)(GLenum);
  GLboolean (GLAPIENTRY *glTestFenceAPPLE)(GLuint);
  GLboolean (GLAPIENTRY *glTestFenceNV)(GLuint);
  GLboolean (GLAPIENTRY *glTestObjectAPPLE)(GLenum, GLuint);
  void (GLAPIENTRY *glTexBuffer)(GLenum, GLenum, GLuint);
  void (GLAPIENTRY *glTexBufferARB)(GLenum, GLenum, GLuint);
  void (GLAPIENTRY *glTexBufferEXT)(GLenum, GLenum, GLuint);
  void (GLAPIENTRY *glTexBumpParameterfvATI)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glTexBumpParameterivATI)(GLenum, const GLint *);
  void (GLAPIENTRY *glTexCoord1d)(GLdouble);
  void (GLAPIENTRY *glTexCoord1dv)(const GLdouble *);
  void (GLAPIENTRY *glTexCoord1f)(GLfloat);
  void (GLAPIENTRY *glTexCoord1fv)(const GLfloat *);
  void (GLAPIENTRY *glTexCoord1hNV)(GLhalfNV);
  void (GLAPIENTRY *glTexCoord1hvNV)(const GLhalfNV *);
  void (GLAPIENTRY *glTexCoord1i)(GLint);
  void (GLAPIENTRY *glTexCoord1iv)(const GLint *);
  void (GLAPIENTRY *glTexCoord1s)(GLshort);
  void (GLAPIENTRY *glTexCoord1sv)(const GLshort *);
  void (GLAPIENTRY *glTexCoord2d)(GLdouble, GLdouble);
  void (GLAPIENTRY *glTexCoord2dv)(const GLdouble *);
  void (GLAPIENTRY *glTexCoord2f)(GLfloat, GLfloat);
  void (GLAPIENTRY *glTexCoord2fColor3fVertex3fSUN)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glTexCoord2fColor3fVertex3fvSUN)(const GLfloat *, const GLfloat *, const GLfloat *);
  void (GLAPIENTRY *glTexCoord2fColor4fNormal3fVertex3fSUN)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glTexCoord2fColor4fNormal3fVertex3fvSUN)(const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
  void (GLAPIENTRY *glTexCoord2fColor4ubVertex3fSUN)(GLfloat, GLfloat, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glTexCoord2fColor4ubVertex3fvSUN)(const GLfloat *, const GLubyte *, const GLfloat *);
  void (GLAPIENTRY *glTexCoord2fNormal3fVertex3fSUN)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glTexCoord2fNormal3fVertex3fvSUN)(const GLfloat *, const GLfloat *, const GLfloat *);
  void (GLAPIENTRY *glTexCoord2fVertex3fSUN)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glTexCoord2fVertex3fvSUN)(const GLfloat *, const GLfloat *);
  void (GLAPIENTRY *glTexCoord2fv)(const GLfloat *);
  void (GLAPIENTRY *glTexCoord2hNV)(GLhalfNV, GLhalfNV);
  void (GLAPIENTRY *glTexCoord2hvNV)(const GLhalfNV *);
  void (GLAPIENTRY *glTexCoord2i)(GLint, GLint);
  void (GLAPIENTRY *glTexCoord2iv)(const GLint *);
  void (GLAPIENTRY *glTexCoord2s)(GLshort, GLshort);
  void (GLAPIENTRY *glTexCoord2sv)(const GLshort *);
  void (GLAPIENTRY *glTexCoord3d)(GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glTexCoord3dv)(const GLdouble *);
  void (GLAPIENTRY *glTexCoord3f)(GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glTexCoord3fv)(const GLfloat *);
  void (GLAPIENTRY *glTexCoord3hNV)(GLhalfNV, GLhalfNV, GLhalfNV);
  void (GLAPIENTRY *glTexCoord3hvNV)(const GLhalfNV *);
  void (GLAPIENTRY *glTexCoord3i)(GLint, GLint, GLint);
  void (GLAPIENTRY *glTexCoord3iv)(const GLint *);
  void (GLAPIENTRY *glTexCoord3s)(GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glTexCoord3sv)(const GLshort *);
  void (GLAPIENTRY *glTexCoord4d)(GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glTexCoord4dv)(const GLdouble *);
  void (GLAPIENTRY *glTexCoord4f)(GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glTexCoord4fColor4fNormal3fVertex4fSUN)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glTexCoord4fColor4fNormal3fVertex4fvSUN)(const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
  void (GLAPIENTRY *glTexCoord4fVertex4fSUN)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glTexCoord4fVertex4fvSUN)(const GLfloat *, const GLfloat *);
  void (GLAPIENTRY *glTexCoord4fv)(const GLfloat *);
  void (GLAPIENTRY *glTexCoord4hNV)(GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV);
  void (GLAPIENTRY *glTexCoord4hvNV)(const GLhalfNV *);
  void (GLAPIENTRY *glTexCoord4i)(GLint, GLint, GLint, GLint);
  void (GLAPIENTRY *glTexCoord4iv)(const GLint *);
  void (GLAPIENTRY *glTexCoord4s)(GLshort, GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glTexCoord4sv)(const GLshort *);
  void (GLAPIENTRY *glTexCoordFormatNV)(GLint, GLenum, GLsizei);
  void (GLAPIENTRY *glTexCoordP1ui)(GLenum, GLuint);
  void (GLAPIENTRY *glTexCoordP1uiv)(GLenum, const GLuint *);
  void (GLAPIENTRY *glTexCoordP2ui)(GLenum, GLuint);
  void (GLAPIENTRY *glTexCoordP2uiv)(GLenum, const GLuint *);
  void (GLAPIENTRY *glTexCoordP3ui)(GLenum, GLuint);
  void (GLAPIENTRY *glTexCoordP3uiv)(GLenum, const GLuint *);
  void (GLAPIENTRY *glTexCoordP4ui)(GLenum, GLuint);
  void (GLAPIENTRY *glTexCoordP4uiv)(GLenum, const GLuint *);
  void (GLAPIENTRY *glTexCoordPointer)(GLint, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glTexCoordPointerEXT)(GLint, GLenum, GLsizei, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glTexCoordPointerListIBM)(GLint, GLenum, GLint, const GLvoid **, GLint);
  void (GLAPIENTRY *glTexCoordPointervINTEL)(GLint, GLenum, const GLvoid **);
  void (GLAPIENTRY *glTexEnvf)(GLenum, GLenum, GLfloat);
  void (GLAPIENTRY *glTexEnvfv)(GLenum, GLenum, const GLfloat *);
  void (GLAPIENTRY *glTexEnvi)(GLenum, GLenum, GLint);
  void (GLAPIENTRY *glTexEnviv)(GLenum, GLenum, const GLint *);
  void (GLAPIENTRY *glTexFilterFuncSGIS)(GLenum, GLenum, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glTexGend)(GLenum, GLenum, GLdouble);
  void (GLAPIENTRY *glTexGendv)(GLenum, GLenum, const GLdouble *);
  void (GLAPIENTRY *glTexGenf)(GLenum, GLenum, GLfloat);
  void (GLAPIENTRY *glTexGenfv)(GLenum, GLenum, const GLfloat *);
  void (GLAPIENTRY *glTexGeni)(GLenum, GLenum, GLint);
  void (GLAPIENTRY *glTexGeniv)(GLenum, GLenum, const GLint *);
  void (GLAPIENTRY *glTexImage1D)(GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glTexImage2D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glTexImage2DMultisample)(GLenum, GLsizei, GLint, GLsizei, GLsizei, GLboolean);
  void (GLAPIENTRY *glTexImage3D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glTexImage3DEXT)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glTexImage3DMultisample)(GLenum, GLsizei, GLint, GLsizei, GLsizei, GLsizei, GLboolean);
  void (GLAPIENTRY *glTexImage4DSGIS)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glTexParameterIiv)(GLenum, GLenum, const GLint *);
  void (GLAPIENTRY *glTexParameterIivEXT)(GLenum, GLenum, const GLint *);
  void (GLAPIENTRY *glTexParameterIuiv)(GLenum, GLenum, const GLuint *);
  void (GLAPIENTRY *glTexParameterIuivEXT)(GLenum, GLenum, const GLuint *);
  void (GLAPIENTRY *glTexParameterf)(GLenum, GLenum, GLfloat);
  void (GLAPIENTRY *glTexParameterfv)(GLenum, GLenum, const GLfloat *);
  void (GLAPIENTRY *glTexParameteri)(GLenum, GLenum, GLint);
  void (GLAPIENTRY *glTexParameteriv)(GLenum, GLenum, const GLint *);
  void (GLAPIENTRY *glTexRenderbufferNV)(GLenum, GLuint);
  void (GLAPIENTRY *glTexSubImage1D)(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glTexSubImage1DEXT)(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glTexSubImage2DEXT)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glTexSubImage3DEXT)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glTexSubImage4DSGIS)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glTextureBarrierNV)(void);
  void (GLAPIENTRY *glTextureBufferEXT)(GLuint, GLenum, GLenum, GLuint);
  void (GLAPIENTRY *glTextureColorMaskSGIS)(GLboolean, GLboolean, GLboolean, GLboolean);
  void (GLAPIENTRY *glTextureFogSGIX)(GLenum);
  void (GLAPIENTRY *glTextureImage1DEXT)(GLuint, GLenum, GLint, GLenum, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glTextureImage2DEXT)(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glTextureImage3DEXT)(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glTextureLightEXT)(GLenum);
  void (GLAPIENTRY *glTextureMaterialEXT)(GLenum, GLenum);
  void (GLAPIENTRY *glTextureNormalEXT)(GLenum);
  void (GLAPIENTRY *glTextureParameterIivEXT)(GLuint, GLenum, GLenum, const GLint *);
  void (GLAPIENTRY *glTextureParameterIuivEXT)(GLuint, GLenum, GLenum, const GLuint *);
  void (GLAPIENTRY *glTextureParameterfEXT)(GLuint, GLenum, GLenum, GLfloat);
  void (GLAPIENTRY *glTextureParameterfvEXT)(GLuint, GLenum, GLenum, const GLfloat *);
  void (GLAPIENTRY *glTextureParameteriEXT)(GLuint, GLenum, GLenum, GLint);
  void (GLAPIENTRY *glTextureParameterivEXT)(GLuint, GLenum, GLenum, const GLint *);
  void (GLAPIENTRY *glTextureRangeAPPLE)(GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glTextureRenderbufferEXT)(GLuint, GLenum, GLuint);
  void (GLAPIENTRY *glTextureSubImage1DEXT)(GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glTextureSubImage2DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glTextureSubImage3DEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
  void (GLAPIENTRY *glTrackMatrixNV)(GLenum, GLuint, GLenum, GLenum);
  void (GLAPIENTRY *glTransformFeedbackAttribsNV)(GLuint, const GLint *, GLenum);
  void (GLAPIENTRY *glTransformFeedbackVaryings)(GLuint, GLsizei, const GLchar **, GLenum);
  void (GLAPIENTRY *glTransformFeedbackVaryingsEXT)(GLuint, GLsizei, const GLchar **, GLenum);
  void (GLAPIENTRY *glTransformFeedbackVaryingsNV)(GLuint, GLsizei, const GLint *, GLenum);
  void (GLAPIENTRY *glTranslated)(GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glTranslatef)(GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glUniform1d)(GLint, GLdouble);
  void (GLAPIENTRY *glUniform1dv)(GLint, GLsizei, const GLdouble *);
  void (GLAPIENTRY *glUniform1f)(GLint, GLfloat);
  void (GLAPIENTRY *glUniform1fARB)(GLint, GLfloat);
  void (GLAPIENTRY *glUniform1fv)(GLint, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glUniform1fvARB)(GLint, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glUniform1i)(GLint, GLint);
  void (GLAPIENTRY *glUniform1i64NV)(GLint, GLint64EXT);
  void (GLAPIENTRY *glUniform1i64vNV)(GLint, GLsizei, const GLint64EXT *);
  void (GLAPIENTRY *glUniform1iARB)(GLint, GLint);
  void (GLAPIENTRY *glUniform1iv)(GLint, GLsizei, const GLint *);
  void (GLAPIENTRY *glUniform1ivARB)(GLint, GLsizei, const GLint *);
  void (GLAPIENTRY *glUniform1ui)(GLint, GLuint);
  void (GLAPIENTRY *glUniform1ui64NV)(GLint, GLuint64EXT);
  void (GLAPIENTRY *glUniform1ui64vNV)(GLint, GLsizei, const GLuint64EXT *);
  void (GLAPIENTRY *glUniform1uiEXT)(GLint, GLuint);
  void (GLAPIENTRY *glUniform1uiv)(GLint, GLsizei, const GLuint *);
  void (GLAPIENTRY *glUniform1uivEXT)(GLint, GLsizei, const GLuint *);
  void (GLAPIENTRY *glUniform2d)(GLint, GLdouble, GLdouble);
  void (GLAPIENTRY *glUniform2dv)(GLint, GLsizei, const GLdouble *);
  void (GLAPIENTRY *glUniform2f)(GLint, GLfloat, GLfloat);
  void (GLAPIENTRY *glUniform2fARB)(GLint, GLfloat, GLfloat);
  void (GLAPIENTRY *glUniform2fv)(GLint, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glUniform2fvARB)(GLint, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glUniform2i)(GLint, GLint, GLint);
  void (GLAPIENTRY *glUniform2i64NV)(GLint, GLint64EXT, GLint64EXT);
  void (GLAPIENTRY *glUniform2i64vNV)(GLint, GLsizei, const GLint64EXT *);
  void (GLAPIENTRY *glUniform2iARB)(GLint, GLint, GLint);
  void (GLAPIENTRY *glUniform2iv)(GLint, GLsizei, const GLint *);
  void (GLAPIENTRY *glUniform2ivARB)(GLint, GLsizei, const GLint *);
  void (GLAPIENTRY *glUniform2ui)(GLint, GLuint, GLuint);
  void (GLAPIENTRY *glUniform2ui64NV)(GLint, GLuint64EXT, GLuint64EXT);
  void (GLAPIENTRY *glUniform2ui64vNV)(GLint, GLsizei, const GLuint64EXT *);
  void (GLAPIENTRY *glUniform2uiEXT)(GLint, GLuint, GLuint);
  void (GLAPIENTRY *glUniform2uiv)(GLint, GLsizei, const GLuint *);
  void (GLAPIENTRY *glUniform2uivEXT)(GLint, GLsizei, const GLuint *);
  void (GLAPIENTRY *glUniform3d)(GLint, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glUniform3dv)(GLint, GLsizei, const GLdouble *);
  void (GLAPIENTRY *glUniform3f)(GLint, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glUniform3fARB)(GLint, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glUniform3fv)(GLint, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glUniform3fvARB)(GLint, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glUniform3i)(GLint, GLint, GLint, GLint);
  void (GLAPIENTRY *glUniform3i64NV)(GLint, GLint64EXT, GLint64EXT, GLint64EXT);
  void (GLAPIENTRY *glUniform3i64vNV)(GLint, GLsizei, const GLint64EXT *);
  void (GLAPIENTRY *glUniform3iARB)(GLint, GLint, GLint, GLint);
  void (GLAPIENTRY *glUniform3iv)(GLint, GLsizei, const GLint *);
  void (GLAPIENTRY *glUniform3ivARB)(GLint, GLsizei, const GLint *);
  void (GLAPIENTRY *glUniform3ui)(GLint, GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glUniform3ui64NV)(GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT);
  void (GLAPIENTRY *glUniform3ui64vNV)(GLint, GLsizei, const GLuint64EXT *);
  void (GLAPIENTRY *glUniform3uiEXT)(GLint, GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glUniform3uiv)(GLint, GLsizei, const GLuint *);
  void (GLAPIENTRY *glUniform3uivEXT)(GLint, GLsizei, const GLuint *);
  void (GLAPIENTRY *glUniform4d)(GLint, GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glUniform4dv)(GLint, GLsizei, const GLdouble *);
  void (GLAPIENTRY *glUniform4f)(GLint, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glUniform4fARB)(GLint, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glUniform4fv)(GLint, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glUniform4fvARB)(GLint, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glUniform4i)(GLint, GLint, GLint, GLint, GLint);
  void (GLAPIENTRY *glUniform4i64NV)(GLint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT);
  void (GLAPIENTRY *glUniform4i64vNV)(GLint, GLsizei, const GLint64EXT *);
  void (GLAPIENTRY *glUniform4iARB)(GLint, GLint, GLint, GLint, GLint);
  void (GLAPIENTRY *glUniform4iv)(GLint, GLsizei, const GLint *);
  void (GLAPIENTRY *glUniform4ivARB)(GLint, GLsizei, const GLint *);
  void (GLAPIENTRY *glUniform4ui)(GLint, GLuint, GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glUniform4ui64NV)(GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT);
  void (GLAPIENTRY *glUniform4ui64vNV)(GLint, GLsizei, const GLuint64EXT *);
  void (GLAPIENTRY *glUniform4uiEXT)(GLint, GLuint, GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glUniform4uiv)(GLint, GLsizei, const GLuint *);
  void (GLAPIENTRY *glUniform4uivEXT)(GLint, GLsizei, const GLuint *);
  void (GLAPIENTRY *glUniformBlockBinding)(GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glUniformBufferEXT)(GLuint, GLint, GLuint);
  void (GLAPIENTRY *glUniformMatrix2dv)(GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glUniformMatrix2fv)(GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glUniformMatrix2fvARB)(GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glUniformMatrix2x3dv)(GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glUniformMatrix2x3fv)(GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glUniformMatrix2x4dv)(GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glUniformMatrix2x4fv)(GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glUniformMatrix3dv)(GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glUniformMatrix3fv)(GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glUniformMatrix3fvARB)(GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glUniformMatrix3x2dv)(GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glUniformMatrix3x2fv)(GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glUniformMatrix3x4dv)(GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glUniformMatrix3x4fv)(GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glUniformMatrix4dv)(GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glUniformMatrix4fv)(GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glUniformMatrix4fvARB)(GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glUniformMatrix4x2dv)(GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glUniformMatrix4x2fv)(GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glUniformMatrix4x3dv)(GLint, GLsizei, GLboolean, const GLdouble *);
  void (GLAPIENTRY *glUniformMatrix4x3fv)(GLint, GLsizei, GLboolean, const GLfloat *);
  void (GLAPIENTRY *glUniformSubroutinesuiv)(GLenum, GLsizei, const GLuint *);
  void (GLAPIENTRY *glUniformui64NV)(GLint, GLuint64EXT);
  void (GLAPIENTRY *glUniformui64vNV)(GLint, GLsizei, const GLuint64EXT *);
  void (GLAPIENTRY *glUnlockArraysEXT)(void);
  GLboolean (GLAPIENTRY *glUnmapBuffer)(GLenum);
  GLboolean (GLAPIENTRY *glUnmapBufferARB)(GLenum);
  GLboolean (GLAPIENTRY *glUnmapNamedBufferEXT)(GLuint);
  void (GLAPIENTRY *glUnmapObjectBufferATI)(GLuint);
  void (GLAPIENTRY *glUpdateObjectBufferATI)(GLuint, GLuint, GLsizei, const GLvoid *, GLenum);
  void (GLAPIENTRY *glUseProgram)(GLuint);
  void (GLAPIENTRY *glUseProgramObjectARB)(GLhandleARB);
  void (GLAPIENTRY *glUseProgramStages)(GLuint, GLbitfield, GLuint);
  void (GLAPIENTRY *glUseShaderProgramEXT)(GLenum, GLuint);
  void (GLAPIENTRY *glVDPAUFiniNV)(void);
  void (GLAPIENTRY *glVDPAUGetSurfaceivNV)(GLvdpauSurfaceNV, GLenum, GLsizei, GLsizei *, GLint *);
  void (GLAPIENTRY *glVDPAUInitNV)(const GLvoid *, const GLvoid *);
  GLboolean (GLAPIENTRY *glVDPAUIsSurfaceNV)(GLvdpauSurfaceNV);
  void (GLAPIENTRY *glVDPAUMapSurfacesNV)(GLsizei, const GLvdpauSurfaceNV *);
  GLvdpauSurfaceNV (GLAPIENTRY *glVDPAURegisterOutputSurfaceNV)(const GLvoid *, GLenum, GLsizei, const GLuint *);
  GLvdpauSurfaceNV (GLAPIENTRY *glVDPAURegisterVideoSurfaceNV)(const GLvoid *, GLenum, GLsizei, const GLuint *);
  void (GLAPIENTRY *glVDPAUSurfaceAccessNV)(GLvdpauSurfaceNV, GLenum);
  void (GLAPIENTRY *glVDPAUUnmapSurfacesNV)(GLsizei, const GLvdpauSurfaceNV *);
  void (GLAPIENTRY *glVDPAUUnregisterSurfaceNV)(GLvdpauSurfaceNV);
  void (GLAPIENTRY *glValidateProgram)(GLuint);
  void (GLAPIENTRY *glValidateProgramARB)(GLhandleARB);
  void (GLAPIENTRY *glValidateProgramPipeline)(GLuint);
  void (GLAPIENTRY *glVariantArrayObjectATI)(GLuint, GLenum, GLsizei, GLuint, GLuint);
  void (GLAPIENTRY *glVariantPointerEXT)(GLuint, GLenum, GLuint, const GLvoid *);
  void (GLAPIENTRY *glVariantbvEXT)(GLuint, const GLbyte *);
  void (GLAPIENTRY *glVariantdvEXT)(GLuint, const GLdouble *);
  void (GLAPIENTRY *glVariantfvEXT)(GLuint, const GLfloat *);
  void (GLAPIENTRY *glVariantivEXT)(GLuint, const GLint *);
  void (GLAPIENTRY *glVariantsvEXT)(GLuint, const GLshort *);
  void (GLAPIENTRY *glVariantubvEXT)(GLuint, const GLubyte *);
  void (GLAPIENTRY *glVariantuivEXT)(GLuint, const GLuint *);
  void (GLAPIENTRY *glVariantusvEXT)(GLuint, const GLushort *);
  void (GLAPIENTRY *glVertex2d)(GLdouble, GLdouble);
  void (GLAPIENTRY *glVertex2dv)(const GLdouble *);
  void (GLAPIENTRY *glVertex2f)(GLfloat, GLfloat);
  void (GLAPIENTRY *glVertex2fv)(const GLfloat *);
  void (GLAPIENTRY *glVertex2hNV)(GLhalfNV, GLhalfNV);
  void (GLAPIENTRY *glVertex2hvNV)(const GLhalfNV *);
  void (GLAPIENTRY *glVertex2i)(GLint, GLint);
  void (GLAPIENTRY *glVertex2iv)(const GLint *);
  void (GLAPIENTRY *glVertex2s)(GLshort, GLshort);
  void (GLAPIENTRY *glVertex2sv)(const GLshort *);
  void (GLAPIENTRY *glVertex3d)(GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glVertex3dv)(const GLdouble *);
  void (GLAPIENTRY *glVertex3f)(GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glVertex3fv)(const GLfloat *);
  void (GLAPIENTRY *glVertex3hNV)(GLhalfNV, GLhalfNV, GLhalfNV);
  void (GLAPIENTRY *glVertex3hvNV)(const GLhalfNV *);
  void (GLAPIENTRY *glVertex3i)(GLint, GLint, GLint);
  void (GLAPIENTRY *glVertex3iv)(const GLint *);
  void (GLAPIENTRY *glVertex3s)(GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glVertex3sv)(const GLshort *);
  void (GLAPIENTRY *glVertex4d)(GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glVertex4dv)(const GLdouble *);
  void (GLAPIENTRY *glVertex4f)(GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glVertex4fv)(const GLfloat *);
  void (GLAPIENTRY *glVertex4hNV)(GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV);
  void (GLAPIENTRY *glVertex4hvNV)(const GLhalfNV *);
  void (GLAPIENTRY *glVertex4i)(GLint, GLint, GLint, GLint);
  void (GLAPIENTRY *glVertex4iv)(const GLint *);
  void (GLAPIENTRY *glVertex4s)(GLshort, GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glVertex4sv)(const GLshort *);
  void (GLAPIENTRY *glVertexArrayParameteriAPPLE)(GLenum, GLint);
  void (GLAPIENTRY *glVertexArrayRangeAPPLE)(GLsizei, GLvoid *);
  void (GLAPIENTRY *glVertexArrayRangeNV)(GLsizei, const GLvoid *);
  void (GLAPIENTRY *glVertexArrayVertexAttribLOffsetEXT)(GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr);
  void (GLAPIENTRY *glVertexAttrib1d)(GLuint, GLdouble);
  void (GLAPIENTRY *glVertexAttrib1dARB)(GLuint, GLdouble);
  void (GLAPIENTRY *glVertexAttrib1dNV)(GLuint, GLdouble);
  void (GLAPIENTRY *glVertexAttrib1dv)(GLuint, const GLdouble *);
  void (GLAPIENTRY *glVertexAttrib1dvARB)(GLuint, const GLdouble *);
  void (GLAPIENTRY *glVertexAttrib1dvNV)(GLuint, const GLdouble *);
  void (GLAPIENTRY *glVertexAttrib1f)(GLuint, GLfloat);
  void (GLAPIENTRY *glVertexAttrib1fARB)(GLuint, GLfloat);
  void (GLAPIENTRY *glVertexAttrib1fNV)(GLuint, GLfloat);
  void (GLAPIENTRY *glVertexAttrib1fv)(GLuint, const GLfloat *);
  void (GLAPIENTRY *glVertexAttrib1fvARB)(GLuint, const GLfloat *);
  void (GLAPIENTRY *glVertexAttrib1fvNV)(GLuint, const GLfloat *);
  void (GLAPIENTRY *glVertexAttrib1hNV)(GLuint, GLhalfNV);
  void (GLAPIENTRY *glVertexAttrib1hvNV)(GLuint, const GLhalfNV *);
  void (GLAPIENTRY *glVertexAttrib1s)(GLuint, GLshort);
  void (GLAPIENTRY *glVertexAttrib1sARB)(GLuint, GLshort);
  void (GLAPIENTRY *glVertexAttrib1sNV)(GLuint, GLshort);
  void (GLAPIENTRY *glVertexAttrib1sv)(GLuint, const GLshort *);
  void (GLAPIENTRY *glVertexAttrib1svARB)(GLuint, const GLshort *);
  void (GLAPIENTRY *glVertexAttrib1svNV)(GLuint, const GLshort *);
  void (GLAPIENTRY *glVertexAttrib2d)(GLuint, GLdouble, GLdouble);
  void (GLAPIENTRY *glVertexAttrib2dARB)(GLuint, GLdouble, GLdouble);
  void (GLAPIENTRY *glVertexAttrib2dNV)(GLuint, GLdouble, GLdouble);
  void (GLAPIENTRY *glVertexAttrib2dv)(GLuint, const GLdouble *);
  void (GLAPIENTRY *glVertexAttrib2dvARB)(GLuint, const GLdouble *);
  void (GLAPIENTRY *glVertexAttrib2dvNV)(GLuint, const GLdouble *);
  void (GLAPIENTRY *glVertexAttrib2f)(GLuint, GLfloat, GLfloat);
  void (GLAPIENTRY *glVertexAttrib2fARB)(GLuint, GLfloat, GLfloat);
  void (GLAPIENTRY *glVertexAttrib2fNV)(GLuint, GLfloat, GLfloat);
  void (GLAPIENTRY *glVertexAttrib2fv)(GLuint, const GLfloat *);
  void (GLAPIENTRY *glVertexAttrib2fvARB)(GLuint, const GLfloat *);
  void (GLAPIENTRY *glVertexAttrib2fvNV)(GLuint, const GLfloat *);
  void (GLAPIENTRY *glVertexAttrib2hNV)(GLuint, GLhalfNV, GLhalfNV);
  void (GLAPIENTRY *glVertexAttrib2hvNV)(GLuint, const GLhalfNV *);
  void (GLAPIENTRY *glVertexAttrib2s)(GLuint, GLshort, GLshort);
  void (GLAPIENTRY *glVertexAttrib2sARB)(GLuint, GLshort, GLshort);
  void (GLAPIENTRY *glVertexAttrib2sNV)(GLuint, GLshort, GLshort);
  void (GLAPIENTRY *glVertexAttrib2sv)(GLuint, const GLshort *);
  void (GLAPIENTRY *glVertexAttrib2svARB)(GLuint, const GLshort *);
  void (GLAPIENTRY *glVertexAttrib2svNV)(GLuint, const GLshort *);
  void (GLAPIENTRY *glVertexAttrib3d)(GLuint, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glVertexAttrib3dARB)(GLuint, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glVertexAttrib3dNV)(GLuint, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glVertexAttrib3dv)(GLuint, const GLdouble *);
  void (GLAPIENTRY *glVertexAttrib3dvARB)(GLuint, const GLdouble *);
  void (GLAPIENTRY *glVertexAttrib3dvNV)(GLuint, const GLdouble *);
  void (GLAPIENTRY *glVertexAttrib3f)(GLuint, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glVertexAttrib3fARB)(GLuint, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glVertexAttrib3fNV)(GLuint, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glVertexAttrib3fv)(GLuint, const GLfloat *);
  void (GLAPIENTRY *glVertexAttrib3fvARB)(GLuint, const GLfloat *);
  void (GLAPIENTRY *glVertexAttrib3fvNV)(GLuint, const GLfloat *);
  void (GLAPIENTRY *glVertexAttrib3hNV)(GLuint, GLhalfNV, GLhalfNV, GLhalfNV);
  void (GLAPIENTRY *glVertexAttrib3hvNV)(GLuint, const GLhalfNV *);
  void (GLAPIENTRY *glVertexAttrib3s)(GLuint, GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glVertexAttrib3sARB)(GLuint, GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glVertexAttrib3sNV)(GLuint, GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glVertexAttrib3sv)(GLuint, const GLshort *);
  void (GLAPIENTRY *glVertexAttrib3svARB)(GLuint, const GLshort *);
  void (GLAPIENTRY *glVertexAttrib3svNV)(GLuint, const GLshort *);
  void (GLAPIENTRY *glVertexAttrib4Nbv)(GLuint, const GLbyte *);
  void (GLAPIENTRY *glVertexAttrib4NbvARB)(GLuint, const GLbyte *);
  void (GLAPIENTRY *glVertexAttrib4Niv)(GLuint, const GLint *);
  void (GLAPIENTRY *glVertexAttrib4NivARB)(GLuint, const GLint *);
  void (GLAPIENTRY *glVertexAttrib4Nsv)(GLuint, const GLshort *);
  void (GLAPIENTRY *glVertexAttrib4NsvARB)(GLuint, const GLshort *);
  void (GLAPIENTRY *glVertexAttrib4Nub)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte);
  void (GLAPIENTRY *glVertexAttrib4NubARB)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte);
  void (GLAPIENTRY *glVertexAttrib4Nubv)(GLuint, const GLubyte *);
  void (GLAPIENTRY *glVertexAttrib4NubvARB)(GLuint, const GLubyte *);
  void (GLAPIENTRY *glVertexAttrib4Nuiv)(GLuint, const GLuint *);
  void (GLAPIENTRY *glVertexAttrib4NuivARB)(GLuint, const GLuint *);
  void (GLAPIENTRY *glVertexAttrib4Nusv)(GLuint, const GLushort *);
  void (GLAPIENTRY *glVertexAttrib4NusvARB)(GLuint, const GLushort *);
  void (GLAPIENTRY *glVertexAttrib4bv)(GLuint, const GLbyte *);
  void (GLAPIENTRY *glVertexAttrib4bvARB)(GLuint, const GLbyte *);
  void (GLAPIENTRY *glVertexAttrib4d)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glVertexAttrib4dARB)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glVertexAttrib4dNV)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glVertexAttrib4dv)(GLuint, const GLdouble *);
  void (GLAPIENTRY *glVertexAttrib4dvARB)(GLuint, const GLdouble *);
  void (GLAPIENTRY *glVertexAttrib4dvNV)(GLuint, const GLdouble *);
  void (GLAPIENTRY *glVertexAttrib4f)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glVertexAttrib4fARB)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glVertexAttrib4fNV)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glVertexAttrib4fv)(GLuint, const GLfloat *);
  void (GLAPIENTRY *glVertexAttrib4fvARB)(GLuint, const GLfloat *);
  void (GLAPIENTRY *glVertexAttrib4fvNV)(GLuint, const GLfloat *);
  void (GLAPIENTRY *glVertexAttrib4hNV)(GLuint, GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV);
  void (GLAPIENTRY *glVertexAttrib4hvNV)(GLuint, const GLhalfNV *);
  void (GLAPIENTRY *glVertexAttrib4iv)(GLuint, const GLint *);
  void (GLAPIENTRY *glVertexAttrib4ivARB)(GLuint, const GLint *);
  void (GLAPIENTRY *glVertexAttrib4s)(GLuint, GLshort, GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glVertexAttrib4sARB)(GLuint, GLshort, GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glVertexAttrib4sNV)(GLuint, GLshort, GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glVertexAttrib4sv)(GLuint, const GLshort *);
  void (GLAPIENTRY *glVertexAttrib4svARB)(GLuint, const GLshort *);
  void (GLAPIENTRY *glVertexAttrib4svNV)(GLuint, const GLshort *);
  void (GLAPIENTRY *glVertexAttrib4ubNV)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte);
  void (GLAPIENTRY *glVertexAttrib4ubv)(GLuint, const GLubyte *);
  void (GLAPIENTRY *glVertexAttrib4ubvARB)(GLuint, const GLubyte *);
  void (GLAPIENTRY *glVertexAttrib4ubvNV)(GLuint, const GLubyte *);
  void (GLAPIENTRY *glVertexAttrib4uiv)(GLuint, const GLuint *);
  void (GLAPIENTRY *glVertexAttrib4uivARB)(GLuint, const GLuint *);
  void (GLAPIENTRY *glVertexAttrib4usv)(GLuint, const GLushort *);
  void (GLAPIENTRY *glVertexAttrib4usvARB)(GLuint, const GLushort *);
  void (GLAPIENTRY *glVertexAttribArrayObjectATI)(GLuint, GLint, GLenum, GLboolean, GLsizei, GLuint, GLuint);
  void (GLAPIENTRY *glVertexAttribDivisor)(GLuint, GLuint);
  void (GLAPIENTRY *glVertexAttribDivisorARB)(GLuint, GLuint);
  void (GLAPIENTRY *glVertexAttribFormatNV)(GLuint, GLint, GLenum, GLboolean, GLsizei);
  void (GLAPIENTRY *glVertexAttribI1i)(GLuint, GLint);
  void (GLAPIENTRY *glVertexAttribI1iEXT)(GLuint, GLint);
  void (GLAPIENTRY *glVertexAttribI1iv)(GLuint, const GLint *);
  void (GLAPIENTRY *glVertexAttribI1ivEXT)(GLuint, const GLint *);
  void (GLAPIENTRY *glVertexAttribI1ui)(GLuint, GLuint);
  void (GLAPIENTRY *glVertexAttribI1uiEXT)(GLuint, GLuint);
  void (GLAPIENTRY *glVertexAttribI1uiv)(GLuint, const GLuint *);
  void (GLAPIENTRY *glVertexAttribI1uivEXT)(GLuint, const GLuint *);
  void (GLAPIENTRY *glVertexAttribI2i)(GLuint, GLint, GLint);
  void (GLAPIENTRY *glVertexAttribI2iEXT)(GLuint, GLint, GLint);
  void (GLAPIENTRY *glVertexAttribI2iv)(GLuint, const GLint *);
  void (GLAPIENTRY *glVertexAttribI2ivEXT)(GLuint, const GLint *);
  void (GLAPIENTRY *glVertexAttribI2ui)(GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glVertexAttribI2uiEXT)(GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glVertexAttribI2uiv)(GLuint, const GLuint *);
  void (GLAPIENTRY *glVertexAttribI2uivEXT)(GLuint, const GLuint *);
  void (GLAPIENTRY *glVertexAttribI3i)(GLuint, GLint, GLint, GLint);
  void (GLAPIENTRY *glVertexAttribI3iEXT)(GLuint, GLint, GLint, GLint);
  void (GLAPIENTRY *glVertexAttribI3iv)(GLuint, const GLint *);
  void (GLAPIENTRY *glVertexAttribI3ivEXT)(GLuint, const GLint *);
  void (GLAPIENTRY *glVertexAttribI3ui)(GLuint, GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glVertexAttribI3uiEXT)(GLuint, GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glVertexAttribI3uiv)(GLuint, const GLuint *);
  void (GLAPIENTRY *glVertexAttribI3uivEXT)(GLuint, const GLuint *);
  void (GLAPIENTRY *glVertexAttribI4bv)(GLuint, const GLbyte *);
  void (GLAPIENTRY *glVertexAttribI4bvEXT)(GLuint, const GLbyte *);
  void (GLAPIENTRY *glVertexAttribI4i)(GLuint, GLint, GLint, GLint, GLint);
  void (GLAPIENTRY *glVertexAttribI4iEXT)(GLuint, GLint, GLint, GLint, GLint);
  void (GLAPIENTRY *glVertexAttribI4iv)(GLuint, const GLint *);
  void (GLAPIENTRY *glVertexAttribI4ivEXT)(GLuint, const GLint *);
  void (GLAPIENTRY *glVertexAttribI4sv)(GLuint, const GLshort *);
  void (GLAPIENTRY *glVertexAttribI4svEXT)(GLuint, const GLshort *);
  void (GLAPIENTRY *glVertexAttribI4ubv)(GLuint, const GLubyte *);
  void (GLAPIENTRY *glVertexAttribI4ubvEXT)(GLuint, const GLubyte *);
  void (GLAPIENTRY *glVertexAttribI4ui)(GLuint, GLuint, GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glVertexAttribI4uiEXT)(GLuint, GLuint, GLuint, GLuint, GLuint);
  void (GLAPIENTRY *glVertexAttribI4uiv)(GLuint, const GLuint *);
  void (GLAPIENTRY *glVertexAttribI4uivEXT)(GLuint, const GLuint *);
  void (GLAPIENTRY *glVertexAttribI4usv)(GLuint, const GLushort *);
  void (GLAPIENTRY *glVertexAttribI4usvEXT)(GLuint, const GLushort *);
  void (GLAPIENTRY *glVertexAttribIFormatNV)(GLuint, GLint, GLenum, GLsizei);
  void (GLAPIENTRY *glVertexAttribIPointer)(GLuint, GLint, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glVertexAttribIPointerEXT)(GLuint, GLint, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glVertexAttribL1d)(GLuint, GLdouble);
  void (GLAPIENTRY *glVertexAttribL1dEXT)(GLuint, GLdouble);
  void (GLAPIENTRY *glVertexAttribL1dv)(GLuint, const GLdouble *);
  void (GLAPIENTRY *glVertexAttribL1dvEXT)(GLuint, const GLdouble *);
  void (GLAPIENTRY *glVertexAttribL1i64NV)(GLuint, GLint64EXT);
  void (GLAPIENTRY *glVertexAttribL1i64vNV)(GLuint, const GLint64EXT *);
  void (GLAPIENTRY *glVertexAttribL1ui64NV)(GLuint, GLuint64EXT);
  void (GLAPIENTRY *glVertexAttribL1ui64vNV)(GLuint, const GLuint64EXT *);
  void (GLAPIENTRY *glVertexAttribL2d)(GLuint, GLdouble, GLdouble);
  void (GLAPIENTRY *glVertexAttribL2dEXT)(GLuint, GLdouble, GLdouble);
  void (GLAPIENTRY *glVertexAttribL2dv)(GLuint, const GLdouble *);
  void (GLAPIENTRY *glVertexAttribL2dvEXT)(GLuint, const GLdouble *);
  void (GLAPIENTRY *glVertexAttribL2i64NV)(GLuint, GLint64EXT, GLint64EXT);
  void (GLAPIENTRY *glVertexAttribL2i64vNV)(GLuint, const GLint64EXT *);
  void (GLAPIENTRY *glVertexAttribL2ui64NV)(GLuint, GLuint64EXT, GLuint64EXT);
  void (GLAPIENTRY *glVertexAttribL2ui64vNV)(GLuint, const GLuint64EXT *);
  void (GLAPIENTRY *glVertexAttribL3d)(GLuint, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glVertexAttribL3dEXT)(GLuint, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glVertexAttribL3dv)(GLuint, const GLdouble *);
  void (GLAPIENTRY *glVertexAttribL3dvEXT)(GLuint, const GLdouble *);
  void (GLAPIENTRY *glVertexAttribL3i64NV)(GLuint, GLint64EXT, GLint64EXT, GLint64EXT);
  void (GLAPIENTRY *glVertexAttribL3i64vNV)(GLuint, const GLint64EXT *);
  void (GLAPIENTRY *glVertexAttribL3ui64NV)(GLuint, GLuint64EXT, GLuint64EXT, GLuint64EXT);
  void (GLAPIENTRY *glVertexAttribL3ui64vNV)(GLuint, const GLuint64EXT *);
  void (GLAPIENTRY *glVertexAttribL4d)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glVertexAttribL4dEXT)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glVertexAttribL4dv)(GLuint, const GLdouble *);
  void (GLAPIENTRY *glVertexAttribL4dvEXT)(GLuint, const GLdouble *);
  void (GLAPIENTRY *glVertexAttribL4i64NV)(GLuint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT);
  void (GLAPIENTRY *glVertexAttribL4i64vNV)(GLuint, const GLint64EXT *);
  void (GLAPIENTRY *glVertexAttribL4ui64NV)(GLuint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT);
  void (GLAPIENTRY *glVertexAttribL4ui64vNV)(GLuint, const GLuint64EXT *);
  void (GLAPIENTRY *glVertexAttribLFormatNV)(GLuint, GLint, GLenum, GLsizei);
  void (GLAPIENTRY *glVertexAttribLPointer)(GLuint, GLint, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glVertexAttribLPointerEXT)(GLuint, GLint, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glVertexAttribP1ui)(GLuint, GLenum, GLboolean, GLuint);
  void (GLAPIENTRY *glVertexAttribP1uiv)(GLuint, GLenum, GLboolean, const GLuint *);
  void (GLAPIENTRY *glVertexAttribP2ui)(GLuint, GLenum, GLboolean, GLuint);
  void (GLAPIENTRY *glVertexAttribP2uiv)(GLuint, GLenum, GLboolean, const GLuint *);
  void (GLAPIENTRY *glVertexAttribP3ui)(GLuint, GLenum, GLboolean, GLuint);
  void (GLAPIENTRY *glVertexAttribP3uiv)(GLuint, GLenum, GLboolean, const GLuint *);
  void (GLAPIENTRY *glVertexAttribP4ui)(GLuint, GLenum, GLboolean, GLuint);
  void (GLAPIENTRY *glVertexAttribP4uiv)(GLuint, GLenum, GLboolean, const GLuint *);
  void (GLAPIENTRY *glVertexAttribPointer)(GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glVertexAttribPointerARB)(GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glVertexAttribPointerNV)(GLuint, GLint, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glVertexAttribs1dvNV)(GLuint, GLsizei, const GLdouble *);
  void (GLAPIENTRY *glVertexAttribs1fvNV)(GLuint, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glVertexAttribs1hvNV)(GLuint, GLsizei, const GLhalfNV *);
  void (GLAPIENTRY *glVertexAttribs1svNV)(GLuint, GLsizei, const GLshort *);
  void (GLAPIENTRY *glVertexAttribs2dvNV)(GLuint, GLsizei, const GLdouble *);
  void (GLAPIENTRY *glVertexAttribs2fvNV)(GLuint, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glVertexAttribs2hvNV)(GLuint, GLsizei, const GLhalfNV *);
  void (GLAPIENTRY *glVertexAttribs2svNV)(GLuint, GLsizei, const GLshort *);
  void (GLAPIENTRY *glVertexAttribs3dvNV)(GLuint, GLsizei, const GLdouble *);
  void (GLAPIENTRY *glVertexAttribs3fvNV)(GLuint, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glVertexAttribs3hvNV)(GLuint, GLsizei, const GLhalfNV *);
  void (GLAPIENTRY *glVertexAttribs3svNV)(GLuint, GLsizei, const GLshort *);
  void (GLAPIENTRY *glVertexAttribs4dvNV)(GLuint, GLsizei, const GLdouble *);
  void (GLAPIENTRY *glVertexAttribs4fvNV)(GLuint, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glVertexAttribs4hvNV)(GLuint, GLsizei, const GLhalfNV *);
  void (GLAPIENTRY *glVertexAttribs4svNV)(GLuint, GLsizei, const GLshort *);
  void (GLAPIENTRY *glVertexAttribs4ubvNV)(GLuint, GLsizei, const GLubyte *);
  void (GLAPIENTRY *glVertexBlendARB)(GLint);
  void (GLAPIENTRY *glVertexBlendEnvfATI)(GLenum, GLfloat);
  void (GLAPIENTRY *glVertexBlendEnviATI)(GLenum, GLint);
  void (GLAPIENTRY *glVertexFormatNV)(GLint, GLenum, GLsizei);
  void (GLAPIENTRY *glVertexP2ui)(GLenum, GLuint);
  void (GLAPIENTRY *glVertexP2uiv)(GLenum, const GLuint *);
  void (GLAPIENTRY *glVertexP3ui)(GLenum, GLuint);
  void (GLAPIENTRY *glVertexP3uiv)(GLenum, const GLuint *);
  void (GLAPIENTRY *glVertexP4ui)(GLenum, GLuint);
  void (GLAPIENTRY *glVertexP4uiv)(GLenum, const GLuint *);
  void (GLAPIENTRY *glVertexPointer)(GLint, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glVertexPointerEXT)(GLint, GLenum, GLsizei, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glVertexPointerListIBM)(GLint, GLenum, GLint, const GLvoid **, GLint);
  void (GLAPIENTRY *glVertexPointervINTEL)(GLint, GLenum, const GLvoid **);
  void (GLAPIENTRY *glVertexStream1dATI)(GLenum, GLdouble);
  void (GLAPIENTRY *glVertexStream1dvATI)(GLenum, const GLdouble *);
  void (GLAPIENTRY *glVertexStream1fATI)(GLenum, GLfloat);
  void (GLAPIENTRY *glVertexStream1fvATI)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glVertexStream1iATI)(GLenum, GLint);
  void (GLAPIENTRY *glVertexStream1ivATI)(GLenum, const GLint *);
  void (GLAPIENTRY *glVertexStream1sATI)(GLenum, GLshort);
  void (GLAPIENTRY *glVertexStream1svATI)(GLenum, const GLshort *);
  void (GLAPIENTRY *glVertexStream2dATI)(GLenum, GLdouble, GLdouble);
  void (GLAPIENTRY *glVertexStream2dvATI)(GLenum, const GLdouble *);
  void (GLAPIENTRY *glVertexStream2fATI)(GLenum, GLfloat, GLfloat);
  void (GLAPIENTRY *glVertexStream2fvATI)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glVertexStream2iATI)(GLenum, GLint, GLint);
  void (GLAPIENTRY *glVertexStream2ivATI)(GLenum, const GLint *);
  void (GLAPIENTRY *glVertexStream2sATI)(GLenum, GLshort, GLshort);
  void (GLAPIENTRY *glVertexStream2svATI)(GLenum, const GLshort *);
  void (GLAPIENTRY *glVertexStream3dATI)(GLenum, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glVertexStream3dvATI)(GLenum, const GLdouble *);
  void (GLAPIENTRY *glVertexStream3fATI)(GLenum, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glVertexStream3fvATI)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glVertexStream3iATI)(GLenum, GLint, GLint, GLint);
  void (GLAPIENTRY *glVertexStream3ivATI)(GLenum, const GLint *);
  void (GLAPIENTRY *glVertexStream3sATI)(GLenum, GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glVertexStream3svATI)(GLenum, const GLshort *);
  void (GLAPIENTRY *glVertexStream4dATI)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glVertexStream4dvATI)(GLenum, const GLdouble *);
  void (GLAPIENTRY *glVertexStream4fATI)(GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glVertexStream4fvATI)(GLenum, const GLfloat *);
  void (GLAPIENTRY *glVertexStream4iATI)(GLenum, GLint, GLint, GLint, GLint);
  void (GLAPIENTRY *glVertexStream4ivATI)(GLenum, const GLint *);
  void (GLAPIENTRY *glVertexStream4sATI)(GLenum, GLshort, GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glVertexStream4svATI)(GLenum, const GLshort *);
  void (GLAPIENTRY *glVertexWeightPointerEXT)(GLsizei, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glVertexWeightfEXT)(GLfloat);
  void (GLAPIENTRY *glVertexWeightfvEXT)(const GLfloat *);
  void (GLAPIENTRY *glVertexWeighthNV)(GLhalfNV);
  void (GLAPIENTRY *glVertexWeighthvNV)(const GLhalfNV *);
  GLenum (GLAPIENTRY *glVideoCaptureNV)(GLuint, GLuint *, GLuint64EXT *);
  void (GLAPIENTRY *glVideoCaptureStreamParameterdvNV)(GLuint, GLuint, GLenum, const GLdouble *);
  void (GLAPIENTRY *glVideoCaptureStreamParameterfvNV)(GLuint, GLuint, GLenum, const GLfloat *);
  void (GLAPIENTRY *glVideoCaptureStreamParameterivNV)(GLuint, GLuint, GLenum, const GLint *);
  void (GLAPIENTRY *glViewport)(GLint, GLint, GLsizei, GLsizei);
  void (GLAPIENTRY *glViewportArrayv)(GLuint, GLsizei, const GLfloat *);
  void (GLAPIENTRY *glViewportIndexedf)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glViewportIndexedfv)(GLuint, const GLfloat *);
  void (GLAPIENTRY *glWaitSync)(GLsync, GLbitfield, GLuint64);
  void (GLAPIENTRY *glWeightPointerARB)(GLint, GLenum, GLsizei, const GLvoid *);
  void (GLAPIENTRY *glWeightbvARB)(GLint, const GLbyte *);
  void (GLAPIENTRY *glWeightdvARB)(GLint, const GLdouble *);
  void (GLAPIENTRY *glWeightfvARB)(GLint, const GLfloat *);
  void (GLAPIENTRY *glWeightivARB)(GLint, const GLint *);
  void (GLAPIENTRY *glWeightsvARB)(GLint, const GLshort *);
  void (GLAPIENTRY *glWeightubvARB)(GLint, const GLubyte *);
  void (GLAPIENTRY *glWeightuivARB)(GLint, const GLuint *);
  void (GLAPIENTRY *glWeightusvARB)(GLint, const GLushort *);
  void (GLAPIENTRY *glWindowPos2d)(GLdouble, GLdouble);
  void (GLAPIENTRY *glWindowPos2dARB)(GLdouble, GLdouble);
  void (GLAPIENTRY *glWindowPos2dMESA)(GLdouble, GLdouble);
  void (GLAPIENTRY *glWindowPos2dv)(const GLdouble *);
  void (GLAPIENTRY *glWindowPos2dvARB)(const GLdouble *);
  void (GLAPIENTRY *glWindowPos2dvMESA)(const GLdouble *);
  void (GLAPIENTRY *glWindowPos2f)(GLfloat, GLfloat);
  void (GLAPIENTRY *glWindowPos2fARB)(GLfloat, GLfloat);
  void (GLAPIENTRY *glWindowPos2fMESA)(GLfloat, GLfloat);
  void (GLAPIENTRY *glWindowPos2fv)(const GLfloat *);
  void (GLAPIENTRY *glWindowPos2fvARB)(const GLfloat *);
  void (GLAPIENTRY *glWindowPos2fvMESA)(const GLfloat *);
  void (GLAPIENTRY *glWindowPos2i)(GLint, GLint);
  void (GLAPIENTRY *glWindowPos2iARB)(GLint, GLint);
  void (GLAPIENTRY *glWindowPos2iMESA)(GLint, GLint);
  void (GLAPIENTRY *glWindowPos2iv)(const GLint *);
  void (GLAPIENTRY *glWindowPos2ivARB)(const GLint *);
  void (GLAPIENTRY *glWindowPos2ivMESA)(const GLint *);
  void (GLAPIENTRY *glWindowPos2s)(GLshort, GLshort);
  void (GLAPIENTRY *glWindowPos2sARB)(GLshort, GLshort);
  void (GLAPIENTRY *glWindowPos2sMESA)(GLshort, GLshort);
  void (GLAPIENTRY *glWindowPos2sv)(const GLshort *);
  void (GLAPIENTRY *glWindowPos2svARB)(const GLshort *);
  void (GLAPIENTRY *glWindowPos2svMESA)(const GLshort *);
  void (GLAPIENTRY *glWindowPos3d)(GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glWindowPos3dARB)(GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glWindowPos3dMESA)(GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glWindowPos3dv)(const GLdouble *);
  void (GLAPIENTRY *glWindowPos3dvARB)(const GLdouble *);
  void (GLAPIENTRY *glWindowPos3dvMESA)(const GLdouble *);
  void (GLAPIENTRY *glWindowPos3f)(GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glWindowPos3fARB)(GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glWindowPos3fMESA)(GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glWindowPos3fv)(const GLfloat *);
  void (GLAPIENTRY *glWindowPos3fvARB)(const GLfloat *);
  void (GLAPIENTRY *glWindowPos3fvMESA)(const GLfloat *);
  void (GLAPIENTRY *glWindowPos3i)(GLint, GLint, GLint);
  void (GLAPIENTRY *glWindowPos3iARB)(GLint, GLint, GLint);
  void (GLAPIENTRY *glWindowPos3iMESA)(GLint, GLint, GLint);
  void (GLAPIENTRY *glWindowPos3iv)(const GLint *);
  void (GLAPIENTRY *glWindowPos3ivARB)(const GLint *);
  void (GLAPIENTRY *glWindowPos3ivMESA)(const GLint *);
  void (GLAPIENTRY *glWindowPos3s)(GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glWindowPos3sARB)(GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glWindowPos3sMESA)(GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glWindowPos3sv)(const GLshort *);
  void (GLAPIENTRY *glWindowPos3svARB)(const GLshort *);
  void (GLAPIENTRY *glWindowPos3svMESA)(const GLshort *);
  void (GLAPIENTRY *glWindowPos4dMESA)(GLdouble, GLdouble, GLdouble, GLdouble);
  void (GLAPIENTRY *glWindowPos4dvMESA)(const GLdouble *);
  void (GLAPIENTRY *glWindowPos4fMESA)(GLfloat, GLfloat, GLfloat, GLfloat);
  void (GLAPIENTRY *glWindowPos4fvMESA)(const GLfloat *);
  void (GLAPIENTRY *glWindowPos4iMESA)(GLint, GLint, GLint, GLint);
  void (GLAPIENTRY *glWindowPos4ivMESA)(const GLint *);
  void (GLAPIENTRY *glWindowPos4sMESA)(GLshort, GLshort, GLshort, GLshort);
  void (GLAPIENTRY *glWindowPos4svMESA)(const GLshort *);
  void (GLAPIENTRY *glWriteMaskEXT)(GLuint, GLuint, GLenum, GLenum, GLenum, GLenum);
};

static struct TraceGL_Functions traceGL_Native;

/* GL proc address related functions. */

static void  traceGL_lookupNativeAddress(const char *name, void **procPtr);

#if defined(_WIN32)
static void *(__stdcall *traceGL_wglGetProcAddress)(const char *name) = NULL;
#elif !defined(__APPLE__)
static void *(*traceGL_glXGetProcAddress)(const char *name) = NULL;
#endif

/* Declare GL helper functions. */

static void *getHelper(const char *name);

static size_t helperGLCallListsSize(GLsizei, GLenum);
static size_t helperGLFogvSize(GLenum);
static size_t helperGLLightvSize(GLenum);
static size_t helperGLLightModelvSize(GLenum);
static size_t helperGLMaterialvSize(GLenum);
static size_t helperGLTexParametervSize(GLenum);
static size_t helperGLPixelImageSize(GLsizei, GLsizei, GLsizei, GLenum, GLenum, GLint, GLenum);
static size_t helperGLTexEnvvSize(GLenum, GLenum);
static size_t helperGLTexGenvSize(GLenum);
static size_t helperGLDrawElementsSize(GLenum, GLsizei, GLenum);
static size_t helperGLNamedStringSize(const GLint, const GLchar *);
static size_t helperGLNamedStringParamsSize(const GLenum);
static GLsizei helperGLShaderSourceLengthSize(const GLsizei, const GLint *);
static GLsizei helperGLShaderSourceStringSize(const GLsizei, const GLint *);

/* GL helper function pointers. */

static size_t (*traceGL_helperGLCallListsSize)(GLsizei, GLenum) = NULL;
static size_t (*traceGL_helperGLFogvSize)(GLenum) = NULL;
static size_t (*traceGL_helperGLLightvSize)(GLenum) = NULL;
static size_t (*traceGL_helperGLLightModelvSize)(GLenum) = NULL;
static size_t (*traceGL_helperGLMaterialvSize)(GLenum) = NULL;
static size_t (*traceGL_helperGLTexParametervSize)(GLenum) = NULL;
static size_t (*traceGL_helperGLPixelImageSize)(GLsizei, GLsizei, GLsizei, GLenum, GLenum, GLint, GLenum) = NULL;
static size_t (*traceGL_helperGLTexEnvvSize)(GLenum, GLenum) = NULL;
static size_t (*traceGL_helperGLTexGenvSize)(GLenum) = NULL;
static size_t (*traceGL_helperGLDrawElementsSize)(GLenum, GLsizei, GLenum) = NULL;
static size_t (*traceGL_helperGLNamedStringSize)(const GLint, const GLchar *) = NULL;
static size_t (*traceGL_helperGLNamedStringParamsSize)(const GLenum) = NULL;
static GLsizei (*traceGL_helperGLShaderSourceLengthSize)(const GLsizei, const GLint *) = NULL;
static GLsizei (*traceGL_helperGLShaderSourceStringSize)(const GLsizei, const GLint *) = NULL;

/* Initialize TraceGL. */

void
traceGL_init(void)
{
  const char *library = "GL";
  const char *filename = NULL;
  int versionMajor = -1;
  int versionMinor = -1;
  const char *versionString = NULL;

  if (traceGL_initialized)
    return;

  /* Do pre-initialization */

  /* Load the native library */

  filename = traceLibraryLocation(library);
  traceGL_handle = traceGL_LoadLibrary(filename);
  if (!traceGL_handle)
  {
    traceError("Failed to load %s from %s", library, filename);
    return;
  }
  traceInfo("Loaded %s from %s", library, filename);

  traceRegister(&getHelper);

  /* Load GL API functions. */

  memset(&traceGL_Native, 0, sizeof(struct TraceGL_Functions));

  traceGL_Native.glNewList = (void (GLAPIENTRY *)(GLuint, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glNewList");
  traceGL_Native.glEndList = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glEndList");
  traceGL_Native.glCallList = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glCallList");
  traceGL_Native.glCallLists = (void (GLAPIENTRY *)(GLsizei, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glCallLists");
  traceGL_Native.glDeleteLists = (void (GLAPIENTRY *)(GLuint, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glDeleteLists");
  traceGL_Native.glGenLists = (GLuint (GLAPIENTRY *)(GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glGenLists");
  traceGL_Native.glListBase = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glListBase");
  traceGL_Native.glBegin = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBegin");
  traceGL_Native.glBitmap = (void (GLAPIENTRY *)(GLsizei, GLsizei, GLfloat, GLfloat, GLfloat, GLfloat, const GLubyte *)) traceGL_GetProcAddress(traceGL_handle, "glBitmap");
  traceGL_Native.glColor3b = (void (GLAPIENTRY *)(GLbyte, GLbyte, GLbyte)) traceGL_GetProcAddress(traceGL_handle, "glColor3b");
  traceGL_Native.glColor3bv = (void (GLAPIENTRY *)(const GLbyte *)) traceGL_GetProcAddress(traceGL_handle, "glColor3bv");
  traceGL_Native.glColor3d = (void (GLAPIENTRY *)(GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glColor3d");
  traceGL_Native.glColor3dv = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glColor3dv");
  traceGL_Native.glColor3f = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glColor3f");
  traceGL_Native.glColor3fv = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glColor3fv");
  traceGL_Native.glColor3i = (void (GLAPIENTRY *)(GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glColor3i");
  traceGL_Native.glColor3iv = (void (GLAPIENTRY *)(const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glColor3iv");
  traceGL_Native.glColor3s = (void (GLAPIENTRY *)(GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glColor3s");
  traceGL_Native.glColor3sv = (void (GLAPIENTRY *)(const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glColor3sv");
  traceGL_Native.glColor3ub = (void (GLAPIENTRY *)(GLubyte, GLubyte, GLubyte)) traceGL_GetProcAddress(traceGL_handle, "glColor3ub");
  traceGL_Native.glColor3ubv = (void (GLAPIENTRY *)(const GLubyte *)) traceGL_GetProcAddress(traceGL_handle, "glColor3ubv");
  traceGL_Native.glColor3ui = (void (GLAPIENTRY *)(GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glColor3ui");
  traceGL_Native.glColor3uiv = (void (GLAPIENTRY *)(const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glColor3uiv");
  traceGL_Native.glColor3us = (void (GLAPIENTRY *)(GLushort, GLushort, GLushort)) traceGL_GetProcAddress(traceGL_handle, "glColor3us");
  traceGL_Native.glColor3usv = (void (GLAPIENTRY *)(const GLushort *)) traceGL_GetProcAddress(traceGL_handle, "glColor3usv");
  traceGL_Native.glColor4b = (void (GLAPIENTRY *)(GLbyte, GLbyte, GLbyte, GLbyte)) traceGL_GetProcAddress(traceGL_handle, "glColor4b");
  traceGL_Native.glColor4bv = (void (GLAPIENTRY *)(const GLbyte *)) traceGL_GetProcAddress(traceGL_handle, "glColor4bv");
  traceGL_Native.glColor4d = (void (GLAPIENTRY *)(GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glColor4d");
  traceGL_Native.glColor4dv = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glColor4dv");
  traceGL_Native.glColor4f = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glColor4f");
  traceGL_Native.glColor4fv = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glColor4fv");
  traceGL_Native.glColor4i = (void (GLAPIENTRY *)(GLint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glColor4i");
  traceGL_Native.glColor4iv = (void (GLAPIENTRY *)(const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glColor4iv");
  traceGL_Native.glColor4s = (void (GLAPIENTRY *)(GLshort, GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glColor4s");
  traceGL_Native.glColor4sv = (void (GLAPIENTRY *)(const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glColor4sv");
  traceGL_Native.glColor4ub = (void (GLAPIENTRY *)(GLubyte, GLubyte, GLubyte, GLubyte)) traceGL_GetProcAddress(traceGL_handle, "glColor4ub");
  traceGL_Native.glColor4ubv = (void (GLAPIENTRY *)(const GLubyte *)) traceGL_GetProcAddress(traceGL_handle, "glColor4ubv");
  traceGL_Native.glColor4ui = (void (GLAPIENTRY *)(GLuint, GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glColor4ui");
  traceGL_Native.glColor4uiv = (void (GLAPIENTRY *)(const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glColor4uiv");
  traceGL_Native.glColor4us = (void (GLAPIENTRY *)(GLushort, GLushort, GLushort, GLushort)) traceGL_GetProcAddress(traceGL_handle, "glColor4us");
  traceGL_Native.glColor4usv = (void (GLAPIENTRY *)(const GLushort *)) traceGL_GetProcAddress(traceGL_handle, "glColor4usv");
  traceGL_Native.glEdgeFlag = (void (GLAPIENTRY *)(GLboolean)) traceGL_GetProcAddress(traceGL_handle, "glEdgeFlag");
  traceGL_Native.glEdgeFlagv = (void (GLAPIENTRY *)(const GLboolean *)) traceGL_GetProcAddress(traceGL_handle, "glEdgeFlagv");
  traceGL_Native.glEnd = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glEnd");
  traceGL_Native.glIndexd = (void (GLAPIENTRY *)(GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glIndexd");
  traceGL_Native.glIndexdv = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glIndexdv");
  traceGL_Native.glIndexf = (void (GLAPIENTRY *)(GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glIndexf");
  traceGL_Native.glIndexfv = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glIndexfv");
  traceGL_Native.glIndexi = (void (GLAPIENTRY *)(GLint)) traceGL_GetProcAddress(traceGL_handle, "glIndexi");
  traceGL_Native.glIndexiv = (void (GLAPIENTRY *)(const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glIndexiv");
  traceGL_Native.glIndexs = (void (GLAPIENTRY *)(GLshort)) traceGL_GetProcAddress(traceGL_handle, "glIndexs");
  traceGL_Native.glIndexsv = (void (GLAPIENTRY *)(const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glIndexsv");
  traceGL_Native.glNormal3b = (void (GLAPIENTRY *)(GLbyte, GLbyte, GLbyte)) traceGL_GetProcAddress(traceGL_handle, "glNormal3b");
  traceGL_Native.glNormal3bv = (void (GLAPIENTRY *)(const GLbyte *)) traceGL_GetProcAddress(traceGL_handle, "glNormal3bv");
  traceGL_Native.glNormal3d = (void (GLAPIENTRY *)(GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glNormal3d");
  traceGL_Native.glNormal3dv = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glNormal3dv");
  traceGL_Native.glNormal3f = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glNormal3f");
  traceGL_Native.glNormal3fv = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glNormal3fv");
  traceGL_Native.glNormal3i = (void (GLAPIENTRY *)(GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glNormal3i");
  traceGL_Native.glNormal3iv = (void (GLAPIENTRY *)(const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glNormal3iv");
  traceGL_Native.glNormal3s = (void (GLAPIENTRY *)(GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glNormal3s");
  traceGL_Native.glNormal3sv = (void (GLAPIENTRY *)(const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glNormal3sv");
  traceGL_Native.glRasterPos2d = (void (GLAPIENTRY *)(GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glRasterPos2d");
  traceGL_Native.glRasterPos2dv = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glRasterPos2dv");
  traceGL_Native.glRasterPos2f = (void (GLAPIENTRY *)(GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glRasterPos2f");
  traceGL_Native.glRasterPos2fv = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glRasterPos2fv");
  traceGL_Native.glRasterPos2i = (void (GLAPIENTRY *)(GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glRasterPos2i");
  traceGL_Native.glRasterPos2iv = (void (GLAPIENTRY *)(const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glRasterPos2iv");
  traceGL_Native.glRasterPos2s = (void (GLAPIENTRY *)(GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glRasterPos2s");
  traceGL_Native.glRasterPos2sv = (void (GLAPIENTRY *)(const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glRasterPos2sv");
  traceGL_Native.glRasterPos3d = (void (GLAPIENTRY *)(GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glRasterPos3d");
  traceGL_Native.glRasterPos3dv = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glRasterPos3dv");
  traceGL_Native.glRasterPos3f = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glRasterPos3f");
  traceGL_Native.glRasterPos3fv = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glRasterPos3fv");
  traceGL_Native.glRasterPos3i = (void (GLAPIENTRY *)(GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glRasterPos3i");
  traceGL_Native.glRasterPos3iv = (void (GLAPIENTRY *)(const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glRasterPos3iv");
  traceGL_Native.glRasterPos3s = (void (GLAPIENTRY *)(GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glRasterPos3s");
  traceGL_Native.glRasterPos3sv = (void (GLAPIENTRY *)(const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glRasterPos3sv");
  traceGL_Native.glRasterPos4d = (void (GLAPIENTRY *)(GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glRasterPos4d");
  traceGL_Native.glRasterPos4dv = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glRasterPos4dv");
  traceGL_Native.glRasterPos4f = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glRasterPos4f");
  traceGL_Native.glRasterPos4fv = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glRasterPos4fv");
  traceGL_Native.glRasterPos4i = (void (GLAPIENTRY *)(GLint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glRasterPos4i");
  traceGL_Native.glRasterPos4iv = (void (GLAPIENTRY *)(const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glRasterPos4iv");
  traceGL_Native.glRasterPos4s = (void (GLAPIENTRY *)(GLshort, GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glRasterPos4s");
  traceGL_Native.glRasterPos4sv = (void (GLAPIENTRY *)(const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glRasterPos4sv");
  traceGL_Native.glRectd = (void (GLAPIENTRY *)(GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glRectd");
  traceGL_Native.glRectdv = (void (GLAPIENTRY *)(const GLdouble *, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glRectdv");
  traceGL_Native.glRectf = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glRectf");
  traceGL_Native.glRectfv = (void (GLAPIENTRY *)(const GLfloat *, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glRectfv");
  traceGL_Native.glRecti = (void (GLAPIENTRY *)(GLint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glRecti");
  traceGL_Native.glRectiv = (void (GLAPIENTRY *)(const GLint *, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glRectiv");
  traceGL_Native.glRects = (void (GLAPIENTRY *)(GLshort, GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glRects");
  traceGL_Native.glRectsv = (void (GLAPIENTRY *)(const GLshort *, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glRectsv");
  traceGL_Native.glTexCoord1d = (void (GLAPIENTRY *)(GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord1d");
  traceGL_Native.glTexCoord1dv = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord1dv");
  traceGL_Native.glTexCoord1f = (void (GLAPIENTRY *)(GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord1f");
  traceGL_Native.glTexCoord1fv = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord1fv");
  traceGL_Native.glTexCoord1i = (void (GLAPIENTRY *)(GLint)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord1i");
  traceGL_Native.glTexCoord1iv = (void (GLAPIENTRY *)(const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord1iv");
  traceGL_Native.glTexCoord1s = (void (GLAPIENTRY *)(GLshort)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord1s");
  traceGL_Native.glTexCoord1sv = (void (GLAPIENTRY *)(const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord1sv");
  traceGL_Native.glTexCoord2d = (void (GLAPIENTRY *)(GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord2d");
  traceGL_Native.glTexCoord2dv = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord2dv");
  traceGL_Native.glTexCoord2f = (void (GLAPIENTRY *)(GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord2f");
  traceGL_Native.glTexCoord2fv = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord2fv");
  traceGL_Native.glTexCoord2i = (void (GLAPIENTRY *)(GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord2i");
  traceGL_Native.glTexCoord2iv = (void (GLAPIENTRY *)(const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord2iv");
  traceGL_Native.glTexCoord2s = (void (GLAPIENTRY *)(GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord2s");
  traceGL_Native.glTexCoord2sv = (void (GLAPIENTRY *)(const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord2sv");
  traceGL_Native.glTexCoord3d = (void (GLAPIENTRY *)(GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord3d");
  traceGL_Native.glTexCoord3dv = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord3dv");
  traceGL_Native.glTexCoord3f = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord3f");
  traceGL_Native.glTexCoord3fv = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord3fv");
  traceGL_Native.glTexCoord3i = (void (GLAPIENTRY *)(GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord3i");
  traceGL_Native.glTexCoord3iv = (void (GLAPIENTRY *)(const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord3iv");
  traceGL_Native.glTexCoord3s = (void (GLAPIENTRY *)(GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord3s");
  traceGL_Native.glTexCoord3sv = (void (GLAPIENTRY *)(const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord3sv");
  traceGL_Native.glTexCoord4d = (void (GLAPIENTRY *)(GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord4d");
  traceGL_Native.glTexCoord4dv = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord4dv");
  traceGL_Native.glTexCoord4f = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord4f");
  traceGL_Native.glTexCoord4fv = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord4fv");
  traceGL_Native.glTexCoord4i = (void (GLAPIENTRY *)(GLint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord4i");
  traceGL_Native.glTexCoord4iv = (void (GLAPIENTRY *)(const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord4iv");
  traceGL_Native.glTexCoord4s = (void (GLAPIENTRY *)(GLshort, GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord4s");
  traceGL_Native.glTexCoord4sv = (void (GLAPIENTRY *)(const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord4sv");
  traceGL_Native.glVertex2d = (void (GLAPIENTRY *)(GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertex2d");
  traceGL_Native.glVertex2dv = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertex2dv");
  traceGL_Native.glVertex2f = (void (GLAPIENTRY *)(GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glVertex2f");
  traceGL_Native.glVertex2fv = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glVertex2fv");
  traceGL_Native.glVertex2i = (void (GLAPIENTRY *)(GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glVertex2i");
  traceGL_Native.glVertex2iv = (void (GLAPIENTRY *)(const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glVertex2iv");
  traceGL_Native.glVertex2s = (void (GLAPIENTRY *)(GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glVertex2s");
  traceGL_Native.glVertex2sv = (void (GLAPIENTRY *)(const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertex2sv");
  traceGL_Native.glVertex3d = (void (GLAPIENTRY *)(GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertex3d");
  traceGL_Native.glVertex3dv = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertex3dv");
  traceGL_Native.glVertex3f = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glVertex3f");
  traceGL_Native.glVertex3fv = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glVertex3fv");
  traceGL_Native.glVertex3i = (void (GLAPIENTRY *)(GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glVertex3i");
  traceGL_Native.glVertex3iv = (void (GLAPIENTRY *)(const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glVertex3iv");
  traceGL_Native.glVertex3s = (void (GLAPIENTRY *)(GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glVertex3s");
  traceGL_Native.glVertex3sv = (void (GLAPIENTRY *)(const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertex3sv");
  traceGL_Native.glVertex4d = (void (GLAPIENTRY *)(GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertex4d");
  traceGL_Native.glVertex4dv = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertex4dv");
  traceGL_Native.glVertex4f = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glVertex4f");
  traceGL_Native.glVertex4fv = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glVertex4fv");
  traceGL_Native.glVertex4i = (void (GLAPIENTRY *)(GLint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glVertex4i");
  traceGL_Native.glVertex4iv = (void (GLAPIENTRY *)(const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glVertex4iv");
  traceGL_Native.glVertex4s = (void (GLAPIENTRY *)(GLshort, GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glVertex4s");
  traceGL_Native.glVertex4sv = (void (GLAPIENTRY *)(const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertex4sv");
  traceGL_Native.glClipPlane = (void (GLAPIENTRY *)(GLenum, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glClipPlane");
  traceGL_Native.glColorMaterial = (void (GLAPIENTRY *)(GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glColorMaterial");
  traceGL_Native.glCullFace = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glCullFace");
  traceGL_Native.glFogf = (void (GLAPIENTRY *)(GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glFogf");
  traceGL_Native.glFogfv = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glFogfv");
  traceGL_Native.glFogi = (void (GLAPIENTRY *)(GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glFogi");
  traceGL_Native.glFogiv = (void (GLAPIENTRY *)(GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glFogiv");
  traceGL_Native.glFrontFace = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glFrontFace");
  traceGL_Native.glHint = (void (GLAPIENTRY *)(GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glHint");
  traceGL_Native.glLightf = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glLightf");
  traceGL_Native.glLightfv = (void (GLAPIENTRY *)(GLenum, GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glLightfv");
  traceGL_Native.glLighti = (void (GLAPIENTRY *)(GLenum, GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glLighti");
  traceGL_Native.glLightiv = (void (GLAPIENTRY *)(GLenum, GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glLightiv");
  traceGL_Native.glLightModelf = (void (GLAPIENTRY *)(GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glLightModelf");
  traceGL_Native.glLightModelfv = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glLightModelfv");
  traceGL_Native.glLightModeli = (void (GLAPIENTRY *)(GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glLightModeli");
  traceGL_Native.glLightModeliv = (void (GLAPIENTRY *)(GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glLightModeliv");
  traceGL_Native.glLineStipple = (void (GLAPIENTRY *)(GLint, GLushort)) traceGL_GetProcAddress(traceGL_handle, "glLineStipple");
  traceGL_Native.glLineWidth = (void (GLAPIENTRY *)(GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glLineWidth");
  traceGL_Native.glMaterialf = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glMaterialf");
  traceGL_Native.glMaterialfv = (void (GLAPIENTRY *)(GLenum, GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glMaterialfv");
  traceGL_Native.glMateriali = (void (GLAPIENTRY *)(GLenum, GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glMateriali");
  traceGL_Native.glMaterialiv = (void (GLAPIENTRY *)(GLenum, GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glMaterialiv");
  traceGL_Native.glPointSize = (void (GLAPIENTRY *)(GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glPointSize");
  traceGL_Native.glPolygonMode = (void (GLAPIENTRY *)(GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glPolygonMode");
  traceGL_Native.glPolygonStipple = (void (GLAPIENTRY *)(const GLubyte *)) traceGL_GetProcAddress(traceGL_handle, "glPolygonStipple");
  traceGL_Native.glScissor = (void (GLAPIENTRY *)(GLint, GLint, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glScissor");
  traceGL_Native.glShadeModel = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glShadeModel");
  traceGL_Native.glTexParameterf = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glTexParameterf");
  traceGL_Native.glTexParameterfv = (void (GLAPIENTRY *)(GLenum, GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glTexParameterfv");
  traceGL_Native.glTexParameteri = (void (GLAPIENTRY *)(GLenum, GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glTexParameteri");
  traceGL_Native.glTexParameteriv = (void (GLAPIENTRY *)(GLenum, GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glTexParameteriv");
  traceGL_Native.glTexImage1D = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glTexImage1D");
  traceGL_Native.glTexImage2D = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glTexImage2D");
  traceGL_Native.glTexEnvf = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glTexEnvf");
  traceGL_Native.glTexEnvfv = (void (GLAPIENTRY *)(GLenum, GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glTexEnvfv");
  traceGL_Native.glTexEnvi = (void (GLAPIENTRY *)(GLenum, GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glTexEnvi");
  traceGL_Native.glTexEnviv = (void (GLAPIENTRY *)(GLenum, GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glTexEnviv");
  traceGL_Native.glTexGend = (void (GLAPIENTRY *)(GLenum, GLenum, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glTexGend");
  traceGL_Native.glTexGendv = (void (GLAPIENTRY *)(GLenum, GLenum, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glTexGendv");
  traceGL_Native.glTexGenf = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glTexGenf");
  traceGL_Native.glTexGenfv = (void (GLAPIENTRY *)(GLenum, GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glTexGenfv");
  traceGL_Native.glTexGeni = (void (GLAPIENTRY *)(GLenum, GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glTexGeni");
  traceGL_Native.glTexGeniv = (void (GLAPIENTRY *)(GLenum, GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glTexGeniv");
  traceGL_Native.glFeedbackBuffer = (void (GLAPIENTRY *)(GLsizei, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glFeedbackBuffer");
  traceGL_Native.glSelectBuffer = (void (GLAPIENTRY *)(GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glSelectBuffer");
  traceGL_Native.glRenderMode = (GLint (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glRenderMode");
  traceGL_Native.glInitNames = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glInitNames");
  traceGL_Native.glLoadName = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glLoadName");
  traceGL_Native.glPassThrough = (void (GLAPIENTRY *)(GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glPassThrough");
  traceGL_Native.glPopName = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glPopName");
  traceGL_Native.glPushName = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glPushName");
  traceGL_Native.glDrawBuffer = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glDrawBuffer");
  traceGL_Native.glClear = (void (GLAPIENTRY *)(GLbitfield)) traceGL_GetProcAddress(traceGL_handle, "glClear");
  traceGL_Native.glClearAccum = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glClearAccum");
  traceGL_Native.glClearColor = (void (GLAPIENTRY *)(GLclampf, GLclampf, GLclampf, GLclampf)) traceGL_GetProcAddress(traceGL_handle, "glClearColor");
  traceGL_Native.glClearDepth = (void (GLAPIENTRY *)(GLclampd)) traceGL_GetProcAddress(traceGL_handle, "glClearDepth");
  traceGL_Native.glClearIndex = (void (GLAPIENTRY *)(GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glClearIndex");
  traceGL_Native.glClearStencil = (void (GLAPIENTRY *)(GLint)) traceGL_GetProcAddress(traceGL_handle, "glClearStencil");
  traceGL_Native.glColorMask = (void (GLAPIENTRY *)(GLboolean, GLboolean, GLboolean, GLboolean)) traceGL_GetProcAddress(traceGL_handle, "glColorMask");
  traceGL_Native.glDepthMask = (void (GLAPIENTRY *)(GLboolean)) traceGL_GetProcAddress(traceGL_handle, "glDepthMask");
  traceGL_Native.glIndexMask = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIndexMask");
  traceGL_Native.glStencilMask = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glStencilMask");
  traceGL_Native.glAccum = (void (GLAPIENTRY *)(GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glAccum");
  traceGL_Native.glDisable = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glDisable");
  traceGL_Native.glEnable = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glEnable");
  traceGL_Native.glFinish = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glFinish");
  traceGL_Native.glFlush = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glFlush");
  traceGL_Native.glPopAttrib = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glPopAttrib");
  traceGL_Native.glPushAttrib = (void (GLAPIENTRY *)(GLbitfield)) traceGL_GetProcAddress(traceGL_handle, "glPushAttrib");
  traceGL_Native.glMap1d = (void (GLAPIENTRY *)(GLenum, GLdouble, GLdouble, GLint, GLint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glMap1d");
  traceGL_Native.glMap1f = (void (GLAPIENTRY *)(GLenum, GLfloat, GLfloat, GLint, GLint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glMap1f");
  traceGL_Native.glMap2d = (void (GLAPIENTRY *)(GLenum, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glMap2d");
  traceGL_Native.glMap2f = (void (GLAPIENTRY *)(GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glMap2f");
  traceGL_Native.glMapGrid1d = (void (GLAPIENTRY *)(GLint, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glMapGrid1d");
  traceGL_Native.glMapGrid1f = (void (GLAPIENTRY *)(GLint, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glMapGrid1f");
  traceGL_Native.glMapGrid2d = (void (GLAPIENTRY *)(GLint, GLdouble, GLdouble, GLint, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glMapGrid2d");
  traceGL_Native.glMapGrid2f = (void (GLAPIENTRY *)(GLint, GLfloat, GLfloat, GLint, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glMapGrid2f");
  traceGL_Native.glEvalCoord1d = (void (GLAPIENTRY *)(GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glEvalCoord1d");
  traceGL_Native.glEvalCoord1dv = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glEvalCoord1dv");
  traceGL_Native.glEvalCoord1f = (void (GLAPIENTRY *)(GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glEvalCoord1f");
  traceGL_Native.glEvalCoord1fv = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glEvalCoord1fv");
  traceGL_Native.glEvalCoord2d = (void (GLAPIENTRY *)(GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glEvalCoord2d");
  traceGL_Native.glEvalCoord2dv = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glEvalCoord2dv");
  traceGL_Native.glEvalCoord2f = (void (GLAPIENTRY *)(GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glEvalCoord2f");
  traceGL_Native.glEvalCoord2fv = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glEvalCoord2fv");
  traceGL_Native.glEvalMesh1 = (void (GLAPIENTRY *)(GLenum, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glEvalMesh1");
  traceGL_Native.glEvalMesh2 = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glEvalMesh2");
  traceGL_Native.glEvalPoint1 = (void (GLAPIENTRY *)(GLint)) traceGL_GetProcAddress(traceGL_handle, "glEvalPoint1");
  traceGL_Native.glEvalPoint2 = (void (GLAPIENTRY *)(GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glEvalPoint2");
  traceGL_Native.glAlphaFunc = (void (GLAPIENTRY *)(GLenum, GLclampf)) traceGL_GetProcAddress(traceGL_handle, "glAlphaFunc");
  traceGL_Native.glBlendFunc = (void (GLAPIENTRY *)(GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBlendFunc");
  traceGL_Native.glDepthFunc = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glDepthFunc");
  traceGL_Native.glStencilFunc = (void (GLAPIENTRY *)(GLenum, GLint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glStencilFunc");
  traceGL_Native.glLogicOp = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glLogicOp");
  traceGL_Native.glStencilOp = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glStencilOp");
  traceGL_Native.glPixelZoom = (void (GLAPIENTRY *)(GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glPixelZoom");
  traceGL_Native.glPixelTransferf = (void (GLAPIENTRY *)(GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glPixelTransferf");
  traceGL_Native.glPixelTransferi = (void (GLAPIENTRY *)(GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glPixelTransferi");
  traceGL_Native.glPixelStoref = (void (GLAPIENTRY *)(GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glPixelStoref");
  traceGL_Native.glPixelStorei = (void (GLAPIENTRY *)(GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glPixelStorei");
  traceGL_Native.glPixelMapfv = (void (GLAPIENTRY *)(GLenum, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glPixelMapfv");
  traceGL_Native.glPixelMapuiv = (void (GLAPIENTRY *)(GLenum, GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glPixelMapuiv");
  traceGL_Native.glPixelMapusv = (void (GLAPIENTRY *)(GLenum, GLsizei, const GLushort *)) traceGL_GetProcAddress(traceGL_handle, "glPixelMapusv");
  traceGL_Native.glReadBuffer = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glReadBuffer");
  traceGL_Native.glCopyPixels = (void (GLAPIENTRY *)(GLint, GLint, GLsizei, GLsizei, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glCopyPixels");
  traceGL_Native.glReadPixels = (void (GLAPIENTRY *)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glReadPixels");
  traceGL_Native.glDrawPixels = (void (GLAPIENTRY *)(GLsizei, GLsizei, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glDrawPixels");
  traceGL_Native.glGetBooleanv = (void (GLAPIENTRY *)(GLenum, GLboolean *)) traceGL_GetProcAddress(traceGL_handle, "glGetBooleanv");
  traceGL_Native.glGetDoublev = (void (GLAPIENTRY *)(GLenum, GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glGetDoublev");
  traceGL_Native.glGetFloatv = (void (GLAPIENTRY *)(GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetFloatv");
  traceGL_Native.glGetIntegerv = (void (GLAPIENTRY *)(GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetIntegerv");
  traceGL_Native.glGetClipPlane = (void (GLAPIENTRY *)(GLenum, GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glGetClipPlane");
  traceGL_Native.glGetError = (GLenum (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glGetError");
  traceGL_Native.glGetLightfv = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetLightfv");
  traceGL_Native.glGetLightiv = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetLightiv");
  traceGL_Native.glGetMapdv = (void (GLAPIENTRY *)(GLenum, GLenum, GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glGetMapdv");
  traceGL_Native.glGetMapfv = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetMapfv");
  traceGL_Native.glGetMapiv = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetMapiv");
  traceGL_Native.glGetMaterialfv = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetMaterialfv");
  traceGL_Native.glGetMaterialiv = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetMaterialiv");
  traceGL_Native.glGetPixelMapfv = (void (GLAPIENTRY *)(GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetPixelMapfv");
  traceGL_Native.glGetPixelMapuiv = (void (GLAPIENTRY *)(GLenum, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGetPixelMapuiv");
  traceGL_Native.glGetPixelMapusv = (void (GLAPIENTRY *)(GLenum, GLushort *)) traceGL_GetProcAddress(traceGL_handle, "glGetPixelMapusv");
  traceGL_Native.glGetPolygonStipple = (void (GLAPIENTRY *)(GLubyte *)) traceGL_GetProcAddress(traceGL_handle, "glGetPolygonStipple");
  traceGL_Native.glGetString = (const GLubyte *(GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glGetString");
  traceGL_Native.glGetTexEnvfv = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetTexEnvfv");
  traceGL_Native.glGetTexEnviv = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetTexEnviv");
  traceGL_Native.glGetTexGendv = (void (GLAPIENTRY *)(GLenum, GLenum, GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glGetTexGendv");
  traceGL_Native.glGetTexGenfv = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetTexGenfv");
  traceGL_Native.glGetTexGeniv = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetTexGeniv");
  traceGL_Native.glGetTexImage = (void (GLAPIENTRY *)(GLenum, GLint, GLenum, GLenum, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetTexImage");
  traceGL_Native.glGetTexParameterfv = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetTexParameterfv");
  traceGL_Native.glGetTexParameteriv = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetTexParameteriv");
  traceGL_Native.glGetTexLevelParameterfv = (void (GLAPIENTRY *)(GLenum, GLint, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetTexLevelParameterfv");
  traceGL_Native.glGetTexLevelParameteriv = (void (GLAPIENTRY *)(GLenum, GLint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetTexLevelParameteriv");
  traceGL_Native.glIsEnabled = (GLboolean (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glIsEnabled");
  traceGL_Native.glIsList = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsList");
  traceGL_Native.glDepthRange = (void (GLAPIENTRY *)(GLclampd, GLclampd)) traceGL_GetProcAddress(traceGL_handle, "glDepthRange");
  traceGL_Native.glFrustum = (void (GLAPIENTRY *)(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glFrustum");
  traceGL_Native.glLoadIdentity = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glLoadIdentity");
  traceGL_Native.glLoadMatrixd = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glLoadMatrixd");
  traceGL_Native.glLoadMatrixf = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glLoadMatrixf");
  traceGL_Native.glMatrixMode = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glMatrixMode");
  traceGL_Native.glMultMatrixd = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glMultMatrixd");
  traceGL_Native.glMultMatrixf = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glMultMatrixf");
  traceGL_Native.glOrtho = (void (GLAPIENTRY *)(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glOrtho");
  traceGL_Native.glPopMatrix = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glPopMatrix");
  traceGL_Native.glPushMatrix = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glPushMatrix");
  traceGL_Native.glRotated = (void (GLAPIENTRY *)(GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glRotated");
  traceGL_Native.glRotatef = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glRotatef");
  traceGL_Native.glScaled = (void (GLAPIENTRY *)(GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glScaled");
  traceGL_Native.glScalef = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glScalef");
  traceGL_Native.glTranslated = (void (GLAPIENTRY *)(GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glTranslated");
  traceGL_Native.glTranslatef = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glTranslatef");
  traceGL_Native.glViewport = (void (GLAPIENTRY *)(GLint, GLint, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glViewport");
  traceGL_Native.glArrayElement = (void (GLAPIENTRY *)(GLint)) traceGL_GetProcAddress(traceGL_handle, "glArrayElement");
  traceGL_Native.glDrawArrays = (void (GLAPIENTRY *)(GLenum, GLint, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glDrawArrays");
  traceGL_Native.glDrawElements = (void (GLAPIENTRY *)(GLenum, GLsizei, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glDrawElements");
  traceGL_Native.glInterleavedArrays = (void (GLAPIENTRY *)(GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glInterleavedArrays");
  traceGL_Native.glDisableClientState = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glDisableClientState");
  traceGL_Native.glEnableClientState = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glEnableClientState");
  traceGL_Native.glGetPointerv = (void (GLAPIENTRY *)(GLenum, GLvoid **)) traceGL_GetProcAddress(traceGL_handle, "glGetPointerv");
  traceGL_Native.glColorPointer = (void (GLAPIENTRY *)(GLint, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glColorPointer");
  traceGL_Native.glEdgeFlagPointer = (void (GLAPIENTRY *)(GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glEdgeFlagPointer");
  traceGL_Native.glIndexPointer = (void (GLAPIENTRY *)(GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glIndexPointer");
  traceGL_Native.glNormalPointer = (void (GLAPIENTRY *)(GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glNormalPointer");
  traceGL_Native.glTexCoordPointer = (void (GLAPIENTRY *)(GLint, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoordPointer");
  traceGL_Native.glVertexPointer = (void (GLAPIENTRY *)(GLint, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glVertexPointer");
  traceGL_Native.glPolygonOffset = (void (GLAPIENTRY *)(GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glPolygonOffset");
  traceGL_Native.glCopyTexImage1D = (void (GLAPIENTRY *)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint)) traceGL_GetProcAddress(traceGL_handle, "glCopyTexImage1D");
  traceGL_Native.glCopyTexImage2D = (void (GLAPIENTRY *)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint)) traceGL_GetProcAddress(traceGL_handle, "glCopyTexImage2D");
  traceGL_Native.glCopyTexSubImage1D = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLint, GLint, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glCopyTexSubImage1D");
  traceGL_Native.glCopyTexSubImage2D = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glCopyTexSubImage2D");
  traceGL_Native.glTexSubImage1D = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glTexSubImage1D");
  traceGL_Native.glTexSubImage2D = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glTexSubImage2D");
  traceGL_Native.glAreTexturesResident = (GLboolean (GLAPIENTRY *)(GLsizei, const GLuint *, GLboolean *)) traceGL_GetProcAddress(traceGL_handle, "glAreTexturesResident");
  traceGL_Native.glBindTexture = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBindTexture");
  traceGL_Native.glDeleteTextures = (void (GLAPIENTRY *)(GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glDeleteTextures");
  traceGL_Native.glGenTextures = (void (GLAPIENTRY *)(GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGenTextures");
  traceGL_Native.glIsTexture = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsTexture");
  traceGL_Native.glPrioritizeTextures = (void (GLAPIENTRY *)(GLsizei, const GLuint *, const GLclampf *)) traceGL_GetProcAddress(traceGL_handle, "glPrioritizeTextures");
  traceGL_Native.glIndexub = (void (GLAPIENTRY *)(GLubyte)) traceGL_GetProcAddress(traceGL_handle, "glIndexub");
  traceGL_Native.glIndexubv = (void (GLAPIENTRY *)(const GLubyte *)) traceGL_GetProcAddress(traceGL_handle, "glIndexubv");
  traceGL_Native.glPopClientAttrib = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glPopClientAttrib");
  traceGL_Native.glPushClientAttrib = (void (GLAPIENTRY *)(GLbitfield)) traceGL_GetProcAddress(traceGL_handle, "glPushClientAttrib");
  traceGL_Native.glBlendColor = (void (GLAPIENTRY *)(GLclampf, GLclampf, GLclampf, GLclampf)) traceGL_GetProcAddress(traceGL_handle, "glBlendColor");
  traceGL_Native.glBlendEquation = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBlendEquation");
  traceGL_Native.glDrawRangeElements = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glDrawRangeElements");
  traceGL_Native.glTexImage3D = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glTexImage3D");
  traceGL_Native.glTexSubImage3D = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glTexSubImage3D");
  traceGL_Native.glCopyTexSubImage3D = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glCopyTexSubImage3D");
  traceGL_Native.glColorTable = (void (GLAPIENTRY *)(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glColorTable");
  traceGL_Native.glColorTableParameterfv = (void (GLAPIENTRY *)(GLenum, GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glColorTableParameterfv");
  traceGL_Native.glColorTableParameteriv = (void (GLAPIENTRY *)(GLenum, GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glColorTableParameteriv");
  traceGL_Native.glCopyColorTable = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLint, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glCopyColorTable");
  traceGL_Native.glGetColorTable = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetColorTable");
  traceGL_Native.glGetColorTableParameterfv = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetColorTableParameterfv");
  traceGL_Native.glGetColorTableParameteriv = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetColorTableParameteriv");
  traceGL_Native.glColorSubTable = (void (GLAPIENTRY *)(GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glColorSubTable");
  traceGL_Native.glCopyColorSubTable = (void (GLAPIENTRY *)(GLenum, GLsizei, GLint, GLint, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glCopyColorSubTable");
  traceGL_Native.glConvolutionFilter1D = (void (GLAPIENTRY *)(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glConvolutionFilter1D");
  traceGL_Native.glConvolutionFilter2D = (void (GLAPIENTRY *)(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glConvolutionFilter2D");
  traceGL_Native.glConvolutionParameterf = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glConvolutionParameterf");
  traceGL_Native.glConvolutionParameterfv = (void (GLAPIENTRY *)(GLenum, GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glConvolutionParameterfv");
  traceGL_Native.glConvolutionParameteri = (void (GLAPIENTRY *)(GLenum, GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glConvolutionParameteri");
  traceGL_Native.glConvolutionParameteriv = (void (GLAPIENTRY *)(GLenum, GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glConvolutionParameteriv");
  traceGL_Native.glCopyConvolutionFilter1D = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLint, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glCopyConvolutionFilter1D");
  traceGL_Native.glCopyConvolutionFilter2D = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glCopyConvolutionFilter2D");
  traceGL_Native.glGetConvolutionFilter = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetConvolutionFilter");
  traceGL_Native.glGetConvolutionParameterfv = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetConvolutionParameterfv");
  traceGL_Native.glGetConvolutionParameteriv = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetConvolutionParameteriv");
  traceGL_Native.glGetSeparableFilter = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLvoid *, GLvoid *, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetSeparableFilter");
  traceGL_Native.glSeparableFilter2D = (void (GLAPIENTRY *)(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glSeparableFilter2D");
  traceGL_Native.glGetHistogram = (void (GLAPIENTRY *)(GLenum, GLboolean, GLenum, GLenum, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetHistogram");
  traceGL_Native.glGetHistogramParameterfv = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetHistogramParameterfv");
  traceGL_Native.glGetHistogramParameteriv = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetHistogramParameteriv");
  traceGL_Native.glGetMinmax = (void (GLAPIENTRY *)(GLenum, GLboolean, GLenum, GLenum, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetMinmax");
  traceGL_Native.glGetMinmaxParameterfv = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetMinmaxParameterfv");
  traceGL_Native.glGetMinmaxParameteriv = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetMinmaxParameteriv");
  traceGL_Native.glHistogram = (void (GLAPIENTRY *)(GLenum, GLsizei, GLenum, GLboolean)) traceGL_GetProcAddress(traceGL_handle, "glHistogram");
  traceGL_Native.glMinmax = (void (GLAPIENTRY *)(GLenum, GLenum, GLboolean)) traceGL_GetProcAddress(traceGL_handle, "glMinmax");
  traceGL_Native.glResetHistogram = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glResetHistogram");
  traceGL_Native.glResetMinmax = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glResetMinmax");
  traceGL_Native.glActiveTexture = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glActiveTexture");
  traceGL_Native.glSampleCoverage = (void (GLAPIENTRY *)(GLclampf, GLboolean)) traceGL_GetProcAddress(traceGL_handle, "glSampleCoverage");
  traceGL_Native.glCompressedTexImage3D = (void (GLAPIENTRY *)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glCompressedTexImage3D");
  traceGL_Native.glCompressedTexImage2D = (void (GLAPIENTRY *)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glCompressedTexImage2D");
  traceGL_Native.glCompressedTexImage1D = (void (GLAPIENTRY *)(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glCompressedTexImage1D");
  traceGL_Native.glCompressedTexSubImage3D = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glCompressedTexSubImage3D");
  traceGL_Native.glCompressedTexSubImage2D = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glCompressedTexSubImage2D");
  traceGL_Native.glCompressedTexSubImage1D = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glCompressedTexSubImage1D");
  traceGL_Native.glGetCompressedTexImage = (void (GLAPIENTRY *)(GLenum, GLint, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetCompressedTexImage");
  traceGL_Native.glClientActiveTexture = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glClientActiveTexture");
  traceGL_Native.glMultiTexCoord1d = (void (GLAPIENTRY *)(GLenum, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord1d");
  traceGL_Native.glMultiTexCoord1dv = (void (GLAPIENTRY *)(GLenum, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord1dv");
  traceGL_Native.glMultiTexCoord1f = (void (GLAPIENTRY *)(GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord1f");
  traceGL_Native.glMultiTexCoord1fv = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord1fv");
  traceGL_Native.glMultiTexCoord1i = (void (GLAPIENTRY *)(GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord1i");
  traceGL_Native.glMultiTexCoord1iv = (void (GLAPIENTRY *)(GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord1iv");
  traceGL_Native.glMultiTexCoord1s = (void (GLAPIENTRY *)(GLenum, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord1s");
  traceGL_Native.glMultiTexCoord1sv = (void (GLAPIENTRY *)(GLenum, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord1sv");
  traceGL_Native.glMultiTexCoord2d = (void (GLAPIENTRY *)(GLenum, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord2d");
  traceGL_Native.glMultiTexCoord2dv = (void (GLAPIENTRY *)(GLenum, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord2dv");
  traceGL_Native.glMultiTexCoord2f = (void (GLAPIENTRY *)(GLenum, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord2f");
  traceGL_Native.glMultiTexCoord2fv = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord2fv");
  traceGL_Native.glMultiTexCoord2i = (void (GLAPIENTRY *)(GLenum, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord2i");
  traceGL_Native.glMultiTexCoord2iv = (void (GLAPIENTRY *)(GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord2iv");
  traceGL_Native.glMultiTexCoord2s = (void (GLAPIENTRY *)(GLenum, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord2s");
  traceGL_Native.glMultiTexCoord2sv = (void (GLAPIENTRY *)(GLenum, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord2sv");
  traceGL_Native.glMultiTexCoord3d = (void (GLAPIENTRY *)(GLenum, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord3d");
  traceGL_Native.glMultiTexCoord3dv = (void (GLAPIENTRY *)(GLenum, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord3dv");
  traceGL_Native.glMultiTexCoord3f = (void (GLAPIENTRY *)(GLenum, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord3f");
  traceGL_Native.glMultiTexCoord3fv = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord3fv");
  traceGL_Native.glMultiTexCoord3i = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord3i");
  traceGL_Native.glMultiTexCoord3iv = (void (GLAPIENTRY *)(GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord3iv");
  traceGL_Native.glMultiTexCoord3s = (void (GLAPIENTRY *)(GLenum, GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord3s");
  traceGL_Native.glMultiTexCoord3sv = (void (GLAPIENTRY *)(GLenum, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord3sv");
  traceGL_Native.glMultiTexCoord4d = (void (GLAPIENTRY *)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord4d");
  traceGL_Native.glMultiTexCoord4dv = (void (GLAPIENTRY *)(GLenum, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord4dv");
  traceGL_Native.glMultiTexCoord4f = (void (GLAPIENTRY *)(GLenum, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord4f");
  traceGL_Native.glMultiTexCoord4fv = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord4fv");
  traceGL_Native.glMultiTexCoord4i = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord4i");
  traceGL_Native.glMultiTexCoord4iv = (void (GLAPIENTRY *)(GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord4iv");
  traceGL_Native.glMultiTexCoord4s = (void (GLAPIENTRY *)(GLenum, GLshort, GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord4s");
  traceGL_Native.glMultiTexCoord4sv = (void (GLAPIENTRY *)(GLenum, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord4sv");
  traceGL_Native.glLoadTransposeMatrixf = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glLoadTransposeMatrixf");
  traceGL_Native.glLoadTransposeMatrixd = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glLoadTransposeMatrixd");
  traceGL_Native.glMultTransposeMatrixf = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glMultTransposeMatrixf");
  traceGL_Native.glMultTransposeMatrixd = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glMultTransposeMatrixd");
  traceGL_Native.glBlendFuncSeparate = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBlendFuncSeparate");
  traceGL_Native.glMultiDrawArrays = (void (GLAPIENTRY *)(GLenum, const GLint *, const GLsizei *, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glMultiDrawArrays");
  traceGL_Native.glMultiDrawElements = (void (GLAPIENTRY *)(GLenum, const GLsizei *, GLenum, const GLvoid **, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glMultiDrawElements");
  traceGL_Native.glPointParameterf = (void (GLAPIENTRY *)(GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glPointParameterf");
  traceGL_Native.glPointParameterfv = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glPointParameterfv");
  traceGL_Native.glPointParameteri = (void (GLAPIENTRY *)(GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glPointParameteri");
  traceGL_Native.glPointParameteriv = (void (GLAPIENTRY *)(GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glPointParameteriv");
  traceGL_Native.glFogCoordf = (void (GLAPIENTRY *)(GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glFogCoordf");
  traceGL_Native.glFogCoordfv = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glFogCoordfv");
  traceGL_Native.glFogCoordd = (void (GLAPIENTRY *)(GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glFogCoordd");
  traceGL_Native.glFogCoorddv = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glFogCoorddv");
  traceGL_Native.glFogCoordPointer = (void (GLAPIENTRY *)(GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glFogCoordPointer");
  traceGL_Native.glSecondaryColor3b = (void (GLAPIENTRY *)(GLbyte, GLbyte, GLbyte)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3b");
  traceGL_Native.glSecondaryColor3bv = (void (GLAPIENTRY *)(const GLbyte *)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3bv");
  traceGL_Native.glSecondaryColor3d = (void (GLAPIENTRY *)(GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3d");
  traceGL_Native.glSecondaryColor3dv = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3dv");
  traceGL_Native.glSecondaryColor3f = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3f");
  traceGL_Native.glSecondaryColor3fv = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3fv");
  traceGL_Native.glSecondaryColor3i = (void (GLAPIENTRY *)(GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3i");
  traceGL_Native.glSecondaryColor3iv = (void (GLAPIENTRY *)(const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3iv");
  traceGL_Native.glSecondaryColor3s = (void (GLAPIENTRY *)(GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3s");
  traceGL_Native.glSecondaryColor3sv = (void (GLAPIENTRY *)(const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3sv");
  traceGL_Native.glSecondaryColor3ub = (void (GLAPIENTRY *)(GLubyte, GLubyte, GLubyte)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3ub");
  traceGL_Native.glSecondaryColor3ubv = (void (GLAPIENTRY *)(const GLubyte *)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3ubv");
  traceGL_Native.glSecondaryColor3ui = (void (GLAPIENTRY *)(GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3ui");
  traceGL_Native.glSecondaryColor3uiv = (void (GLAPIENTRY *)(const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3uiv");
  traceGL_Native.glSecondaryColor3us = (void (GLAPIENTRY *)(GLushort, GLushort, GLushort)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3us");
  traceGL_Native.glSecondaryColor3usv = (void (GLAPIENTRY *)(const GLushort *)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3usv");
  traceGL_Native.glSecondaryColorPointer = (void (GLAPIENTRY *)(GLint, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColorPointer");
  traceGL_Native.glWindowPos2d = (void (GLAPIENTRY *)(GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos2d");
  traceGL_Native.glWindowPos2dv = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos2dv");
  traceGL_Native.glWindowPos2f = (void (GLAPIENTRY *)(GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos2f");
  traceGL_Native.glWindowPos2fv = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos2fv");
  traceGL_Native.glWindowPos2i = (void (GLAPIENTRY *)(GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos2i");
  traceGL_Native.glWindowPos2iv = (void (GLAPIENTRY *)(const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos2iv");
  traceGL_Native.glWindowPos2s = (void (GLAPIENTRY *)(GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos2s");
  traceGL_Native.glWindowPos2sv = (void (GLAPIENTRY *)(const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos2sv");
  traceGL_Native.glWindowPos3d = (void (GLAPIENTRY *)(GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos3d");
  traceGL_Native.glWindowPos3dv = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos3dv");
  traceGL_Native.glWindowPos3f = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos3f");
  traceGL_Native.glWindowPos3fv = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos3fv");
  traceGL_Native.glWindowPos3i = (void (GLAPIENTRY *)(GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos3i");
  traceGL_Native.glWindowPos3iv = (void (GLAPIENTRY *)(const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos3iv");
  traceGL_Native.glWindowPos3s = (void (GLAPIENTRY *)(GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos3s");
  traceGL_Native.glWindowPos3sv = (void (GLAPIENTRY *)(const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos3sv");
  traceGL_Native.glGenQueries = (void (GLAPIENTRY *)(GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGenQueries");
  traceGL_Native.glDeleteQueries = (void (GLAPIENTRY *)(GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glDeleteQueries");
  traceGL_Native.glIsQuery = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsQuery");
  traceGL_Native.glBeginQuery = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBeginQuery");
  traceGL_Native.glEndQuery = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glEndQuery");
  traceGL_Native.glGetQueryiv = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetQueryiv");
  traceGL_Native.glGetQueryObjectiv = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetQueryObjectiv");
  traceGL_Native.glGetQueryObjectuiv = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGetQueryObjectuiv");
  traceGL_Native.glBindBuffer = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBindBuffer");
  traceGL_Native.glDeleteBuffers = (void (GLAPIENTRY *)(GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glDeleteBuffers");
  traceGL_Native.glGenBuffers = (void (GLAPIENTRY *)(GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGenBuffers");
  traceGL_Native.glIsBuffer = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsBuffer");
  traceGL_Native.glBufferData = (void (GLAPIENTRY *)(GLenum, GLsizeiptr, const GLvoid *, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBufferData");
  traceGL_Native.glBufferSubData = (void (GLAPIENTRY *)(GLenum, GLintptr, GLsizeiptr, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glBufferSubData");
  traceGL_Native.glGetBufferSubData = (void (GLAPIENTRY *)(GLenum, GLintptr, GLsizeiptr, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetBufferSubData");
  traceGL_Native.glMapBuffer = (GLvoid *(GLAPIENTRY *)(GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glMapBuffer");
  traceGL_Native.glUnmapBuffer = (GLboolean (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glUnmapBuffer");
  traceGL_Native.glGetBufferParameteriv = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetBufferParameteriv");
  traceGL_Native.glGetBufferPointerv = (void (GLAPIENTRY *)(GLenum, GLenum, GLvoid **)) traceGL_GetProcAddress(traceGL_handle, "glGetBufferPointerv");
  traceGL_Native.glBlendEquationSeparate = (void (GLAPIENTRY *)(GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBlendEquationSeparate");
  traceGL_Native.glDrawBuffers = (void (GLAPIENTRY *)(GLsizei, const GLenum *)) traceGL_GetProcAddress(traceGL_handle, "glDrawBuffers");
  traceGL_Native.glStencilOpSeparate = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glStencilOpSeparate");
  traceGL_Native.glStencilFuncSeparate = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glStencilFuncSeparate");
  traceGL_Native.glStencilMaskSeparate = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glStencilMaskSeparate");
  traceGL_Native.glAttachShader = (void (GLAPIENTRY *)(GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glAttachShader");
  traceGL_Native.glBindAttribLocation = (void (GLAPIENTRY *)(GLuint, GLuint, const GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glBindAttribLocation");
  traceGL_Native.glCompileShader = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glCompileShader");
  traceGL_Native.glCreateProgram = (GLuint (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glCreateProgram");
  traceGL_Native.glCreateShader = (GLuint (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glCreateShader");
  traceGL_Native.glDeleteProgram = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glDeleteProgram");
  traceGL_Native.glDeleteShader = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glDeleteShader");
  traceGL_Native.glDetachShader = (void (GLAPIENTRY *)(GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glDetachShader");
  traceGL_Native.glDisableVertexAttribArray = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glDisableVertexAttribArray");
  traceGL_Native.glEnableVertexAttribArray = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glEnableVertexAttribArray");
  traceGL_Native.glGetActiveAttrib = (void (GLAPIENTRY *)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glGetActiveAttrib");
  traceGL_Native.glGetActiveUniform = (void (GLAPIENTRY *)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glGetActiveUniform");
  traceGL_Native.glGetAttachedShaders = (void (GLAPIENTRY *)(GLuint, GLsizei, GLsizei *, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGetAttachedShaders");
  traceGL_Native.glGetAttribLocation = (GLint (GLAPIENTRY *)(GLuint, const GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glGetAttribLocation");
  traceGL_Native.glGetProgramiv = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetProgramiv");
  traceGL_Native.glGetProgramInfoLog = (void (GLAPIENTRY *)(GLuint, GLsizei, GLsizei *, GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glGetProgramInfoLog");
  traceGL_Native.glGetShaderiv = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetShaderiv");
  traceGL_Native.glGetShaderInfoLog = (void (GLAPIENTRY *)(GLuint, GLsizei, GLsizei *, GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glGetShaderInfoLog");
  traceGL_Native.glGetShaderSource = (void (GLAPIENTRY *)(GLuint, GLsizei, GLsizei *, GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glGetShaderSource");
  traceGL_Native.glGetUniformLocation = (GLint (GLAPIENTRY *)(GLuint, const GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glGetUniformLocation");
  traceGL_Native.glGetUniformfv = (void (GLAPIENTRY *)(GLuint, GLint, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetUniformfv");
  traceGL_Native.glGetUniformiv = (void (GLAPIENTRY *)(GLuint, GLint, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetUniformiv");
  traceGL_Native.glGetVertexAttribdv = (void (GLAPIENTRY *)(GLuint, GLenum, GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glGetVertexAttribdv");
  traceGL_Native.glGetVertexAttribfv = (void (GLAPIENTRY *)(GLuint, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetVertexAttribfv");
  traceGL_Native.glGetVertexAttribiv = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetVertexAttribiv");
  traceGL_Native.glGetVertexAttribPointerv = (void (GLAPIENTRY *)(GLuint, GLenum, GLvoid **)) traceGL_GetProcAddress(traceGL_handle, "glGetVertexAttribPointerv");
  traceGL_Native.glIsProgram = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsProgram");
  traceGL_Native.glIsShader = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsShader");
  traceGL_Native.glLinkProgram = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glLinkProgram");
  traceGL_Native.glShaderSource = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLchar **, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glShaderSource");
  traceGL_Native.glUseProgram = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glUseProgram");
  traceGL_Native.glUniform1f = (void (GLAPIENTRY *)(GLint, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glUniform1f");
  traceGL_Native.glUniform2f = (void (GLAPIENTRY *)(GLint, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glUniform2f");
  traceGL_Native.glUniform3f = (void (GLAPIENTRY *)(GLint, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glUniform3f");
  traceGL_Native.glUniform4f = (void (GLAPIENTRY *)(GLint, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glUniform4f");
  traceGL_Native.glUniform1i = (void (GLAPIENTRY *)(GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glUniform1i");
  traceGL_Native.glUniform2i = (void (GLAPIENTRY *)(GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glUniform2i");
  traceGL_Native.glUniform3i = (void (GLAPIENTRY *)(GLint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glUniform3i");
  traceGL_Native.glUniform4i = (void (GLAPIENTRY *)(GLint, GLint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glUniform4i");
  traceGL_Native.glUniform1fv = (void (GLAPIENTRY *)(GLint, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glUniform1fv");
  traceGL_Native.glUniform2fv = (void (GLAPIENTRY *)(GLint, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glUniform2fv");
  traceGL_Native.glUniform3fv = (void (GLAPIENTRY *)(GLint, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glUniform3fv");
  traceGL_Native.glUniform4fv = (void (GLAPIENTRY *)(GLint, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glUniform4fv");
  traceGL_Native.glUniform1iv = (void (GLAPIENTRY *)(GLint, GLsizei, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glUniform1iv");
  traceGL_Native.glUniform2iv = (void (GLAPIENTRY *)(GLint, GLsizei, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glUniform2iv");
  traceGL_Native.glUniform3iv = (void (GLAPIENTRY *)(GLint, GLsizei, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glUniform3iv");
  traceGL_Native.glUniform4iv = (void (GLAPIENTRY *)(GLint, GLsizei, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glUniform4iv");
  traceGL_Native.glUniformMatrix2fv = (void (GLAPIENTRY *)(GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glUniformMatrix2fv");
  traceGL_Native.glUniformMatrix3fv = (void (GLAPIENTRY *)(GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glUniformMatrix3fv");
  traceGL_Native.glUniformMatrix4fv = (void (GLAPIENTRY *)(GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glUniformMatrix4fv");
  traceGL_Native.glValidateProgram = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glValidateProgram");
  traceGL_Native.glVertexAttrib1d = (void (GLAPIENTRY *)(GLuint, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib1d");
  traceGL_Native.glVertexAttrib1dv = (void (GLAPIENTRY *)(GLuint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib1dv");
  traceGL_Native.glVertexAttrib1f = (void (GLAPIENTRY *)(GLuint, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib1f");
  traceGL_Native.glVertexAttrib1fv = (void (GLAPIENTRY *)(GLuint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib1fv");
  traceGL_Native.glVertexAttrib1s = (void (GLAPIENTRY *)(GLuint, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib1s");
  traceGL_Native.glVertexAttrib1sv = (void (GLAPIENTRY *)(GLuint, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib1sv");
  traceGL_Native.glVertexAttrib2d = (void (GLAPIENTRY *)(GLuint, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib2d");
  traceGL_Native.glVertexAttrib2dv = (void (GLAPIENTRY *)(GLuint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib2dv");
  traceGL_Native.glVertexAttrib2f = (void (GLAPIENTRY *)(GLuint, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib2f");
  traceGL_Native.glVertexAttrib2fv = (void (GLAPIENTRY *)(GLuint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib2fv");
  traceGL_Native.glVertexAttrib2s = (void (GLAPIENTRY *)(GLuint, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib2s");
  traceGL_Native.glVertexAttrib2sv = (void (GLAPIENTRY *)(GLuint, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib2sv");
  traceGL_Native.glVertexAttrib3d = (void (GLAPIENTRY *)(GLuint, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib3d");
  traceGL_Native.glVertexAttrib3dv = (void (GLAPIENTRY *)(GLuint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib3dv");
  traceGL_Native.glVertexAttrib3f = (void (GLAPIENTRY *)(GLuint, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib3f");
  traceGL_Native.glVertexAttrib3fv = (void (GLAPIENTRY *)(GLuint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib3fv");
  traceGL_Native.glVertexAttrib3s = (void (GLAPIENTRY *)(GLuint, GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib3s");
  traceGL_Native.glVertexAttrib3sv = (void (GLAPIENTRY *)(GLuint, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib3sv");
  traceGL_Native.glVertexAttrib4Nbv = (void (GLAPIENTRY *)(GLuint, const GLbyte *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4Nbv");
  traceGL_Native.glVertexAttrib4Niv = (void (GLAPIENTRY *)(GLuint, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4Niv");
  traceGL_Native.glVertexAttrib4Nsv = (void (GLAPIENTRY *)(GLuint, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4Nsv");
  traceGL_Native.glVertexAttrib4Nub = (void (GLAPIENTRY *)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4Nub");
  traceGL_Native.glVertexAttrib4Nubv = (void (GLAPIENTRY *)(GLuint, const GLubyte *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4Nubv");
  traceGL_Native.glVertexAttrib4Nuiv = (void (GLAPIENTRY *)(GLuint, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4Nuiv");
  traceGL_Native.glVertexAttrib4Nusv = (void (GLAPIENTRY *)(GLuint, const GLushort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4Nusv");
  traceGL_Native.glVertexAttrib4bv = (void (GLAPIENTRY *)(GLuint, const GLbyte *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4bv");
  traceGL_Native.glVertexAttrib4d = (void (GLAPIENTRY *)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4d");
  traceGL_Native.glVertexAttrib4dv = (void (GLAPIENTRY *)(GLuint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4dv");
  traceGL_Native.glVertexAttrib4f = (void (GLAPIENTRY *)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4f");
  traceGL_Native.glVertexAttrib4fv = (void (GLAPIENTRY *)(GLuint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4fv");
  traceGL_Native.glVertexAttrib4iv = (void (GLAPIENTRY *)(GLuint, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4iv");
  traceGL_Native.glVertexAttrib4s = (void (GLAPIENTRY *)(GLuint, GLshort, GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4s");
  traceGL_Native.glVertexAttrib4sv = (void (GLAPIENTRY *)(GLuint, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4sv");
  traceGL_Native.glVertexAttrib4ubv = (void (GLAPIENTRY *)(GLuint, const GLubyte *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4ubv");
  traceGL_Native.glVertexAttrib4uiv = (void (GLAPIENTRY *)(GLuint, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4uiv");
  traceGL_Native.glVertexAttrib4usv = (void (GLAPIENTRY *)(GLuint, const GLushort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4usv");
  traceGL_Native.glVertexAttribPointer = (void (GLAPIENTRY *)(GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribPointer");
  traceGL_Native.glUniformMatrix2x3fv = (void (GLAPIENTRY *)(GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glUniformMatrix2x3fv");
  traceGL_Native.glUniformMatrix3x2fv = (void (GLAPIENTRY *)(GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glUniformMatrix3x2fv");
  traceGL_Native.glUniformMatrix2x4fv = (void (GLAPIENTRY *)(GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glUniformMatrix2x4fv");
  traceGL_Native.glUniformMatrix4x2fv = (void (GLAPIENTRY *)(GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glUniformMatrix4x2fv");
  traceGL_Native.glUniformMatrix3x4fv = (void (GLAPIENTRY *)(GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glUniformMatrix3x4fv");
  traceGL_Native.glUniformMatrix4x3fv = (void (GLAPIENTRY *)(GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glUniformMatrix4x3fv");
  traceGL_Native.glColorMaski = (void (GLAPIENTRY *)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean)) traceGL_GetProcAddress(traceGL_handle, "glColorMaski");
  traceGL_Native.glGetBooleani_v = (void (GLAPIENTRY *)(GLenum, GLuint, GLboolean *)) traceGL_GetProcAddress(traceGL_handle, "glGetBooleani_v");
  traceGL_Native.glGetIntegeri_v = (void (GLAPIENTRY *)(GLenum, GLuint, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetIntegeri_v");
  traceGL_Native.glEnablei = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glEnablei");
  traceGL_Native.glDisablei = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glDisablei");
  traceGL_Native.glIsEnabledi = (GLboolean (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsEnabledi");
  traceGL_Native.glBeginTransformFeedback = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBeginTransformFeedback");
  traceGL_Native.glEndTransformFeedback = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glEndTransformFeedback");
  traceGL_Native.glBindBufferRange = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr)) traceGL_GetProcAddress(traceGL_handle, "glBindBufferRange");
  traceGL_Native.glBindBufferBase = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBindBufferBase");
  traceGL_Native.glTransformFeedbackVaryings = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLchar **, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glTransformFeedbackVaryings");
  traceGL_Native.glGetTransformFeedbackVarying = (void (GLAPIENTRY *)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glGetTransformFeedbackVarying");
  traceGL_Native.glClampColor = (void (GLAPIENTRY *)(GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glClampColor");
  traceGL_Native.glBeginConditionalRender = (void (GLAPIENTRY *)(GLuint, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBeginConditionalRender");
  traceGL_Native.glEndConditionalRender = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glEndConditionalRender");
  traceGL_Native.glVertexAttribIPointer = (void (GLAPIENTRY *)(GLuint, GLint, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribIPointer");
  traceGL_Native.glGetVertexAttribIiv = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetVertexAttribIiv");
  traceGL_Native.glGetVertexAttribIuiv = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGetVertexAttribIuiv");
  traceGL_Native.glVertexAttribI1i = (void (GLAPIENTRY *)(GLuint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI1i");
  traceGL_Native.glVertexAttribI2i = (void (GLAPIENTRY *)(GLuint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI2i");
  traceGL_Native.glVertexAttribI3i = (void (GLAPIENTRY *)(GLuint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI3i");
  traceGL_Native.glVertexAttribI4i = (void (GLAPIENTRY *)(GLuint, GLint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI4i");
  traceGL_Native.glVertexAttribI1ui = (void (GLAPIENTRY *)(GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI1ui");
  traceGL_Native.glVertexAttribI2ui = (void (GLAPIENTRY *)(GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI2ui");
  traceGL_Native.glVertexAttribI3ui = (void (GLAPIENTRY *)(GLuint, GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI3ui");
  traceGL_Native.glVertexAttribI4ui = (void (GLAPIENTRY *)(GLuint, GLuint, GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI4ui");
  traceGL_Native.glVertexAttribI1iv = (void (GLAPIENTRY *)(GLuint, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI1iv");
  traceGL_Native.glVertexAttribI2iv = (void (GLAPIENTRY *)(GLuint, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI2iv");
  traceGL_Native.glVertexAttribI3iv = (void (GLAPIENTRY *)(GLuint, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI3iv");
  traceGL_Native.glVertexAttribI4iv = (void (GLAPIENTRY *)(GLuint, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI4iv");
  traceGL_Native.glVertexAttribI1uiv = (void (GLAPIENTRY *)(GLuint, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI1uiv");
  traceGL_Native.glVertexAttribI2uiv = (void (GLAPIENTRY *)(GLuint, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI2uiv");
  traceGL_Native.glVertexAttribI3uiv = (void (GLAPIENTRY *)(GLuint, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI3uiv");
  traceGL_Native.glVertexAttribI4uiv = (void (GLAPIENTRY *)(GLuint, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI4uiv");
  traceGL_Native.glVertexAttribI4bv = (void (GLAPIENTRY *)(GLuint, const GLbyte *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI4bv");
  traceGL_Native.glVertexAttribI4sv = (void (GLAPIENTRY *)(GLuint, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI4sv");
  traceGL_Native.glVertexAttribI4ubv = (void (GLAPIENTRY *)(GLuint, const GLubyte *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI4ubv");
  traceGL_Native.glVertexAttribI4usv = (void (GLAPIENTRY *)(GLuint, const GLushort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI4usv");
  traceGL_Native.glGetUniformuiv = (void (GLAPIENTRY *)(GLuint, GLint, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGetUniformuiv");
  traceGL_Native.glBindFragDataLocation = (void (GLAPIENTRY *)(GLuint, GLuint, const GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glBindFragDataLocation");
  traceGL_Native.glGetFragDataLocation = (GLint (GLAPIENTRY *)(GLuint, const GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glGetFragDataLocation");
  traceGL_Native.glUniform1ui = (void (GLAPIENTRY *)(GLint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glUniform1ui");
  traceGL_Native.glUniform2ui = (void (GLAPIENTRY *)(GLint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glUniform2ui");
  traceGL_Native.glUniform3ui = (void (GLAPIENTRY *)(GLint, GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glUniform3ui");
  traceGL_Native.glUniform4ui = (void (GLAPIENTRY *)(GLint, GLuint, GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glUniform4ui");
  traceGL_Native.glUniform1uiv = (void (GLAPIENTRY *)(GLint, GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glUniform1uiv");
  traceGL_Native.glUniform2uiv = (void (GLAPIENTRY *)(GLint, GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glUniform2uiv");
  traceGL_Native.glUniform3uiv = (void (GLAPIENTRY *)(GLint, GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glUniform3uiv");
  traceGL_Native.glUniform4uiv = (void (GLAPIENTRY *)(GLint, GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glUniform4uiv");
  traceGL_Native.glTexParameterIiv = (void (GLAPIENTRY *)(GLenum, GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glTexParameterIiv");
  traceGL_Native.glTexParameterIuiv = (void (GLAPIENTRY *)(GLenum, GLenum, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glTexParameterIuiv");
  traceGL_Native.glGetTexParameterIiv = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetTexParameterIiv");
  traceGL_Native.glGetTexParameterIuiv = (void (GLAPIENTRY *)(GLenum, GLenum, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGetTexParameterIuiv");
  traceGL_Native.glClearBufferiv = (void (GLAPIENTRY *)(GLenum, GLint, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glClearBufferiv");
  traceGL_Native.glClearBufferuiv = (void (GLAPIENTRY *)(GLenum, GLint, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glClearBufferuiv");
  traceGL_Native.glClearBufferfv = (void (GLAPIENTRY *)(GLenum, GLint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glClearBufferfv");
  traceGL_Native.glClearBufferfi = (void (GLAPIENTRY *)(GLenum, GLint, GLfloat, GLint)) traceGL_GetProcAddress(traceGL_handle, "glClearBufferfi");
  traceGL_Native.glGetStringi = (const GLubyte *(GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glGetStringi");
  traceGL_Native.glDrawArraysInstanced = (void (GLAPIENTRY *)(GLenum, GLint, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glDrawArraysInstanced");
  traceGL_Native.glDrawElementsInstanced = (void (GLAPIENTRY *)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glDrawElementsInstanced");
  traceGL_Native.glTexBuffer = (void (GLAPIENTRY *)(GLenum, GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glTexBuffer");
  traceGL_Native.glPrimitiveRestartIndex = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glPrimitiveRestartIndex");
  traceGL_Native.glGetInteger64i_v = (void (GLAPIENTRY *)(GLenum, GLuint, GLint64 *)) traceGL_GetProcAddress(traceGL_handle, "glGetInteger64i_v");
  traceGL_Native.glGetBufferParameteri64v = (void (GLAPIENTRY *)(GLenum, GLenum, GLint64 *)) traceGL_GetProcAddress(traceGL_handle, "glGetBufferParameteri64v");
  traceGL_Native.glFramebufferTexture = (void (GLAPIENTRY *)(GLenum, GLenum, GLuint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glFramebufferTexture");
  traceGL_Native.glFramebufferTextureFace = (void (GLAPIENTRY *)(GLenum, GLenum, GLuint, GLint, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glFramebufferTextureFace");
  traceGL_Native.glGenSamplers = (void (GLAPIENTRY *)(GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGenSamplers");
  traceGL_Native.glDeleteSamplers = (void (GLAPIENTRY *)(GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glDeleteSamplers");
  traceGL_Native.glIsSampler = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsSampler");
  traceGL_Native.glBindSampler = (void (GLAPIENTRY *)(GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBindSampler");
  traceGL_Native.glSamplerParameteri = (void (GLAPIENTRY *)(GLuint, GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glSamplerParameteri");
  traceGL_Native.glSamplerParameterf = (void (GLAPIENTRY *)(GLuint, GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glSamplerParameterf");
  traceGL_Native.glSamplerParameteriv = (void (GLAPIENTRY *)(GLuint, GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glSamplerParameteriv");
  traceGL_Native.glSamplerParameterfv = (void (GLAPIENTRY *)(GLuint, GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glSamplerParameterfv");
  traceGL_Native.glSamplerParameterIiv = (void (GLAPIENTRY *)(GLuint, GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glSamplerParameterIiv");
  traceGL_Native.glSamplerParameterIuiv = (void (GLAPIENTRY *)(GLuint, GLenum, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glSamplerParameterIuiv");
  traceGL_Native.glGetSamplerParameteriv = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetSamplerParameteriv");
  traceGL_Native.glGetSamplerParameterfv = (void (GLAPIENTRY *)(GLuint, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetSamplerParameterfv");
  traceGL_Native.glGetSamplerParameterIiv = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetSamplerParameterIiv");
  traceGL_Native.glGetSamplerParameterIuiv = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGetSamplerParameterIuiv");
  traceGL_Native.glBindFragDataLocationIndexed = (void (GLAPIENTRY *)(GLuint, GLuint, GLuint, const GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glBindFragDataLocationIndexed");
  traceGL_Native.glGetFragDataIndex = (GLint (GLAPIENTRY *)(GLuint, const GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glGetFragDataIndex");
  traceGL_Native.glGetQueryObjecti64v = (void (GLAPIENTRY *)(GLuint, GLenum, GLint64 *)) traceGL_GetProcAddress(traceGL_handle, "glGetQueryObjecti64v");
  traceGL_Native.glGetQueryObjectui64v = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint64 *)) traceGL_GetProcAddress(traceGL_handle, "glGetQueryObjectui64v");
  traceGL_Native.glQueryCounter = (void (GLAPIENTRY *)(GLuint, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glQueryCounter");
  traceGL_Native.glVertexAttribDivisor = (void (GLAPIENTRY *)(GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribDivisor");
  traceGL_Native.glVertexP2ui = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glVertexP2ui");
  traceGL_Native.glVertexP2uiv = (void (GLAPIENTRY *)(GLenum, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexP2uiv");
  traceGL_Native.glVertexP3ui = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glVertexP3ui");
  traceGL_Native.glVertexP3uiv = (void (GLAPIENTRY *)(GLenum, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexP3uiv");
  traceGL_Native.glVertexP4ui = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glVertexP4ui");
  traceGL_Native.glVertexP4uiv = (void (GLAPIENTRY *)(GLenum, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexP4uiv");
  traceGL_Native.glTexCoordP1ui = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glTexCoordP1ui");
  traceGL_Native.glTexCoordP1uiv = (void (GLAPIENTRY *)(GLenum, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoordP1uiv");
  traceGL_Native.glTexCoordP2ui = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glTexCoordP2ui");
  traceGL_Native.glTexCoordP2uiv = (void (GLAPIENTRY *)(GLenum, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoordP2uiv");
  traceGL_Native.glTexCoordP3ui = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glTexCoordP3ui");
  traceGL_Native.glTexCoordP3uiv = (void (GLAPIENTRY *)(GLenum, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoordP3uiv");
  traceGL_Native.glTexCoordP4ui = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glTexCoordP4ui");
  traceGL_Native.glTexCoordP4uiv = (void (GLAPIENTRY *)(GLenum, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoordP4uiv");
  traceGL_Native.glMultiTexCoordP1ui = (void (GLAPIENTRY *)(GLenum, GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoordP1ui");
  traceGL_Native.glMultiTexCoordP1uiv = (void (GLAPIENTRY *)(GLenum, GLenum, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoordP1uiv");
  traceGL_Native.glMultiTexCoordP2ui = (void (GLAPIENTRY *)(GLenum, GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoordP2ui");
  traceGL_Native.glMultiTexCoordP2uiv = (void (GLAPIENTRY *)(GLenum, GLenum, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoordP2uiv");
  traceGL_Native.glMultiTexCoordP3ui = (void (GLAPIENTRY *)(GLenum, GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoordP3ui");
  traceGL_Native.glMultiTexCoordP3uiv = (void (GLAPIENTRY *)(GLenum, GLenum, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoordP3uiv");
  traceGL_Native.glMultiTexCoordP4ui = (void (GLAPIENTRY *)(GLenum, GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoordP4ui");
  traceGL_Native.glMultiTexCoordP4uiv = (void (GLAPIENTRY *)(GLenum, GLenum, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoordP4uiv");
  traceGL_Native.glNormalP3ui = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glNormalP3ui");
  traceGL_Native.glNormalP3uiv = (void (GLAPIENTRY *)(GLenum, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glNormalP3uiv");
  traceGL_Native.glColorP3ui = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glColorP3ui");
  traceGL_Native.glColorP3uiv = (void (GLAPIENTRY *)(GLenum, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glColorP3uiv");
  traceGL_Native.glColorP4ui = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glColorP4ui");
  traceGL_Native.glColorP4uiv = (void (GLAPIENTRY *)(GLenum, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glColorP4uiv");
  traceGL_Native.glSecondaryColorP3ui = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColorP3ui");
  traceGL_Native.glSecondaryColorP3uiv = (void (GLAPIENTRY *)(GLenum, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColorP3uiv");
  traceGL_Native.glVertexAttribP1ui = (void (GLAPIENTRY *)(GLuint, GLenum, GLboolean, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribP1ui");
  traceGL_Native.glVertexAttribP1uiv = (void (GLAPIENTRY *)(GLuint, GLenum, GLboolean, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribP1uiv");
  traceGL_Native.glVertexAttribP2ui = (void (GLAPIENTRY *)(GLuint, GLenum, GLboolean, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribP2ui");
  traceGL_Native.glVertexAttribP2uiv = (void (GLAPIENTRY *)(GLuint, GLenum, GLboolean, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribP2uiv");
  traceGL_Native.glVertexAttribP3ui = (void (GLAPIENTRY *)(GLuint, GLenum, GLboolean, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribP3ui");
  traceGL_Native.glVertexAttribP3uiv = (void (GLAPIENTRY *)(GLuint, GLenum, GLboolean, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribP3uiv");
  traceGL_Native.glVertexAttribP4ui = (void (GLAPIENTRY *)(GLuint, GLenum, GLboolean, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribP4ui");
  traceGL_Native.glVertexAttribP4uiv = (void (GLAPIENTRY *)(GLuint, GLenum, GLboolean, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribP4uiv");
  traceGL_Native.glBlendEquationi = (void (GLAPIENTRY *)(GLuint, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBlendEquationi");
  traceGL_Native.glBlendEquationSeparatei = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBlendEquationSeparatei");
  traceGL_Native.glBlendFunci = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBlendFunci");
  traceGL_Native.glBlendFuncSeparatei = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum, GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBlendFuncSeparatei");
  traceGL_Native.glDrawArraysIndirect = (void (GLAPIENTRY *)(GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glDrawArraysIndirect");
  traceGL_Native.glDrawElementsIndirect = (void (GLAPIENTRY *)(GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glDrawElementsIndirect");
  traceGL_Native.glUniform1d = (void (GLAPIENTRY *)(GLint, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glUniform1d");
  traceGL_Native.glUniform2d = (void (GLAPIENTRY *)(GLint, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glUniform2d");
  traceGL_Native.glUniform3d = (void (GLAPIENTRY *)(GLint, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glUniform3d");
  traceGL_Native.glUniform4d = (void (GLAPIENTRY *)(GLint, GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glUniform4d");
  traceGL_Native.glUniform1dv = (void (GLAPIENTRY *)(GLint, GLsizei, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glUniform1dv");
  traceGL_Native.glUniform2dv = (void (GLAPIENTRY *)(GLint, GLsizei, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glUniform2dv");
  traceGL_Native.glUniform3dv = (void (GLAPIENTRY *)(GLint, GLsizei, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glUniform3dv");
  traceGL_Native.glUniform4dv = (void (GLAPIENTRY *)(GLint, GLsizei, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glUniform4dv");
  traceGL_Native.glUniformMatrix2dv = (void (GLAPIENTRY *)(GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glUniformMatrix2dv");
  traceGL_Native.glUniformMatrix3dv = (void (GLAPIENTRY *)(GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glUniformMatrix3dv");
  traceGL_Native.glUniformMatrix4dv = (void (GLAPIENTRY *)(GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glUniformMatrix4dv");
  traceGL_Native.glUniformMatrix2x3dv = (void (GLAPIENTRY *)(GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glUniformMatrix2x3dv");
  traceGL_Native.glUniformMatrix2x4dv = (void (GLAPIENTRY *)(GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glUniformMatrix2x4dv");
  traceGL_Native.glUniformMatrix3x2dv = (void (GLAPIENTRY *)(GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glUniformMatrix3x2dv");
  traceGL_Native.glUniformMatrix3x4dv = (void (GLAPIENTRY *)(GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glUniformMatrix3x4dv");
  traceGL_Native.glUniformMatrix4x2dv = (void (GLAPIENTRY *)(GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glUniformMatrix4x2dv");
  traceGL_Native.glUniformMatrix4x3dv = (void (GLAPIENTRY *)(GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glUniformMatrix4x3dv");
  traceGL_Native.glGetUniformdv = (void (GLAPIENTRY *)(GLuint, GLint, GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glGetUniformdv");
  traceGL_Native.glMinSampleShading = (void (GLAPIENTRY *)(GLclampf)) traceGL_GetProcAddress(traceGL_handle, "glMinSampleShading");
  traceGL_Native.glPatchParameteri = (void (GLAPIENTRY *)(GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glPatchParameteri");
  traceGL_Native.glPatchParameterfv = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glPatchParameterfv");
  traceGL_Native.glGenTransformFeedbacks = (void (GLAPIENTRY *)(GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGenTransformFeedbacks");
  traceGL_Native.glDeleteTransformFeedbacks = (void (GLAPIENTRY *)(GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glDeleteTransformFeedbacks");
  traceGL_Native.glBindTransformFeedback = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBindTransformFeedback");
  traceGL_Native.glIsTransformFeedback = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsTransformFeedback");
  traceGL_Native.glPauseTransformFeedback = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glPauseTransformFeedback");
  traceGL_Native.glResumeTransformFeedback = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glResumeTransformFeedback");
  traceGL_Native.glDrawTransformFeedback = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glDrawTransformFeedback");
  traceGL_Native.glDrawTransformFeedbackStream = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glDrawTransformFeedbackStream");
  traceGL_Native.glBeginQueryIndexed = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBeginQueryIndexed");
  traceGL_Native.glEndQueryIndexed = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glEndQueryIndexed");
  traceGL_Native.glGetQueryIndexediv = (void (GLAPIENTRY *)(GLenum, GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetQueryIndexediv");
  traceGL_Native.glGetSubroutineUniformLocation = (GLint (GLAPIENTRY *)(GLuint, GLenum, const GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glGetSubroutineUniformLocation");
  traceGL_Native.glGetSubroutineIndex = (GLuint (GLAPIENTRY *)(GLuint, GLenum, const GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glGetSubroutineIndex");
  traceGL_Native.glGetActiveSubroutineUniformiv = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetActiveSubroutineUniformiv");
  traceGL_Native.glGetActiveSubroutineUniformName = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glGetActiveSubroutineUniformName");
  traceGL_Native.glGetActiveSubroutineName = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint, GLsizei, GLsizei *, GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glGetActiveSubroutineName");
  traceGL_Native.glUniformSubroutinesuiv = (void (GLAPIENTRY *)(GLenum, GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glUniformSubroutinesuiv");
  traceGL_Native.glGetUniformSubroutineuiv = (void (GLAPIENTRY *)(GLenum, GLint, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGetUniformSubroutineuiv");
  traceGL_Native.glGetProgramStageiv = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetProgramStageiv");
  traceGL_Native.glVertexAttribL1d = (void (GLAPIENTRY *)(GLuint, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL1d");
  traceGL_Native.glVertexAttribL2d = (void (GLAPIENTRY *)(GLuint, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL2d");
  traceGL_Native.glVertexAttribL3d = (void (GLAPIENTRY *)(GLuint, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL3d");
  traceGL_Native.glVertexAttribL4d = (void (GLAPIENTRY *)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL4d");
  traceGL_Native.glVertexAttribL1dv = (void (GLAPIENTRY *)(GLuint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL1dv");
  traceGL_Native.glVertexAttribL2dv = (void (GLAPIENTRY *)(GLuint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL2dv");
  traceGL_Native.glVertexAttribL3dv = (void (GLAPIENTRY *)(GLuint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL3dv");
  traceGL_Native.glVertexAttribL4dv = (void (GLAPIENTRY *)(GLuint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL4dv");
  traceGL_Native.glVertexAttribLPointer = (void (GLAPIENTRY *)(GLuint, GLint, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribLPointer");
  traceGL_Native.glGetVertexAttribLdv = (void (GLAPIENTRY *)(GLuint, GLenum, GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glGetVertexAttribLdv");
  traceGL_Native.glReleaseShaderCompiler = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glReleaseShaderCompiler");
  traceGL_Native.glShaderBinary = (void (GLAPIENTRY *)(GLsizei, const GLuint *, GLenum, const GLvoid *, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glShaderBinary");
  traceGL_Native.glGetShaderPrecisionFormat = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetShaderPrecisionFormat");
  traceGL_Native.glDepthRangef = (void (GLAPIENTRY *)(GLclampf, GLclampf)) traceGL_GetProcAddress(traceGL_handle, "glDepthRangef");
  traceGL_Native.glClearDepthf = (void (GLAPIENTRY *)(GLclampf)) traceGL_GetProcAddress(traceGL_handle, "glClearDepthf");
  traceGL_Native.glGetProgramBinary = (void (GLAPIENTRY *)(GLuint, GLsizei, GLsizei *, GLenum *, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetProgramBinary");
  traceGL_Native.glProgramBinary = (void (GLAPIENTRY *)(GLuint, GLenum, const GLvoid *, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glProgramBinary");
  traceGL_Native.glProgramParameteri = (void (GLAPIENTRY *)(GLuint, GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glProgramParameteri");
  traceGL_Native.glViewportArrayv = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glViewportArrayv");
  traceGL_Native.glViewportIndexedf = (void (GLAPIENTRY *)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glViewportIndexedf");
  traceGL_Native.glViewportIndexedfv = (void (GLAPIENTRY *)(GLuint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glViewportIndexedfv");
  traceGL_Native.glScissorArrayv = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glScissorArrayv");
  traceGL_Native.glScissorIndexed = (void (GLAPIENTRY *)(GLuint, GLint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glScissorIndexed");
  traceGL_Native.glScissorIndexedv = (void (GLAPIENTRY *)(GLuint, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glScissorIndexedv");
  traceGL_Native.glDepthRangeArrayv = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLclampd *)) traceGL_GetProcAddress(traceGL_handle, "glDepthRangeArrayv");
  traceGL_Native.glDepthRangeIndexed = (void (GLAPIENTRY *)(GLuint, GLclampd, GLclampd)) traceGL_GetProcAddress(traceGL_handle, "glDepthRangeIndexed");
  traceGL_Native.glGetFloati_v = (void (GLAPIENTRY *)(GLenum, GLuint, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetFloati_v");
  traceGL_Native.glGetDoublei_v = (void (GLAPIENTRY *)(GLenum, GLuint, GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glGetDoublei_v");
  traceGL_Native.glActiveShaderProgram = (void (GLAPIENTRY *)(GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glActiveShaderProgram");
  traceGL_Native.glUseProgramStages = (void (GLAPIENTRY *)(GLuint, GLbitfield, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glUseProgramStages");
  traceGL_Native.glCreateShaderProgramv = (GLuint (GLAPIENTRY *)(GLenum, GLsizei, const GLchar **)) traceGL_GetProcAddress(traceGL_handle, "glCreateShaderProgramv");
  traceGL_Native.glBindProgramPipeline = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBindProgramPipeline");
  traceGL_Native.glDeleteProgramPipelines = (void (GLAPIENTRY *)(GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glDeleteProgramPipelines");
  traceGL_Native.glGenProgramPipelines = (void (GLAPIENTRY *)(GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGenProgramPipelines");
  traceGL_Native.glIsProgramPipeline = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsProgramPipeline");
  traceGL_Native.glGetProgramPipelineiv = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetProgramPipelineiv");
  traceGL_Native.glValidateProgramPipeline = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glValidateProgramPipeline");
  traceGL_Native.glGetProgramPipelineInfoLog = (void (GLAPIENTRY *)(GLuint, GLsizei, GLsizei *, GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glGetProgramPipelineInfoLog");
  traceGL_Native.glProgramUniform1f = (void (GLAPIENTRY *)(GLuint, GLint, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform1f");
  traceGL_Native.glProgramUniform2f = (void (GLAPIENTRY *)(GLuint, GLint, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform2f");
  traceGL_Native.glProgramUniform3f = (void (GLAPIENTRY *)(GLuint, GLint, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform3f");
  traceGL_Native.glProgramUniform4f = (void (GLAPIENTRY *)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform4f");
  traceGL_Native.glProgramUniform1i = (void (GLAPIENTRY *)(GLuint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform1i");
  traceGL_Native.glProgramUniform2i = (void (GLAPIENTRY *)(GLuint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform2i");
  traceGL_Native.glProgramUniform3i = (void (GLAPIENTRY *)(GLuint, GLint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform3i");
  traceGL_Native.glProgramUniform4i = (void (GLAPIENTRY *)(GLuint, GLint, GLint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform4i");
  traceGL_Native.glProgramUniform1fv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform1fv");
  traceGL_Native.glProgramUniform2fv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform2fv");
  traceGL_Native.glProgramUniform3fv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform3fv");
  traceGL_Native.glProgramUniform4fv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform4fv");
  traceGL_Native.glProgramUniform1iv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform1iv");
  traceGL_Native.glProgramUniform2iv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform2iv");
  traceGL_Native.glProgramUniform3iv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform3iv");
  traceGL_Native.glProgramUniform4iv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform4iv");
  traceGL_Native.glProgramUniformMatrix2fv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix2fv");
  traceGL_Native.glProgramUniformMatrix3fv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix3fv");
  traceGL_Native.glProgramUniformMatrix4fv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix4fv");
  traceGL_Native.glProgramUniformMatrix2x3fv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix2x3fv");
  traceGL_Native.glProgramUniformMatrix3x2fv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix3x2fv");
  traceGL_Native.glProgramUniformMatrix2x4fv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix2x4fv");
  traceGL_Native.glProgramUniformMatrix4x2fv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix4x2fv");
  traceGL_Native.glProgramUniformMatrix3x4fv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix3x4fv");
  traceGL_Native.glProgramUniformMatrix4x3fv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix4x3fv");
  traceGL_Native.glProgramUniform1ui = (void (GLAPIENTRY *)(GLuint, GLint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform1ui");
  traceGL_Native.glProgramUniform2ui = (void (GLAPIENTRY *)(GLuint, GLint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform2ui");
  traceGL_Native.glProgramUniform3ui = (void (GLAPIENTRY *)(GLuint, GLint, GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform3ui");
  traceGL_Native.glProgramUniform4ui = (void (GLAPIENTRY *)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform4ui");
  traceGL_Native.glProgramUniform1uiv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform1uiv");
  traceGL_Native.glProgramUniform2uiv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform2uiv");
  traceGL_Native.glProgramUniform3uiv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform3uiv");
  traceGL_Native.glProgramUniform4uiv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform4uiv");
  traceGL_Native.glProgramUniform1d = (void (GLAPIENTRY *)(GLuint, GLint, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform1d");
  traceGL_Native.glProgramUniform2d = (void (GLAPIENTRY *)(GLuint, GLint, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform2d");
  traceGL_Native.glProgramUniform3d = (void (GLAPIENTRY *)(GLuint, GLint, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform3d");
  traceGL_Native.glProgramUniform4d = (void (GLAPIENTRY *)(GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform4d");
  traceGL_Native.glProgramUniform1dv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform1dv");
  traceGL_Native.glProgramUniform2dv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform2dv");
  traceGL_Native.glProgramUniform3dv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform3dv");
  traceGL_Native.glProgramUniform4dv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform4dv");
  traceGL_Native.glProgramUniformMatrix2dv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix2dv");
  traceGL_Native.glProgramUniformMatrix3dv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix3dv");
  traceGL_Native.glProgramUniformMatrix4dv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix4dv");
  traceGL_Native.glProgramUniformMatrix2x3dv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix2x3dv");
  traceGL_Native.glProgramUniformMatrix2x4dv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix2x4dv");
  traceGL_Native.glProgramUniformMatrix3x2dv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix3x2dv");
  traceGL_Native.glProgramUniformMatrix3x4dv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix3x4dv");
  traceGL_Native.glProgramUniformMatrix4x2dv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix4x2dv");
  traceGL_Native.glProgramUniformMatrix4x3dv = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix4x3dv");
  traceGL_Native.glActiveTextureARB = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glActiveTextureARB");
  traceGL_Native.glClientActiveTextureARB = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glClientActiveTextureARB");
  traceGL_Native.glMultiTexCoord1dARB = (void (GLAPIENTRY *)(GLenum, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord1dARB");
  traceGL_Native.glMultiTexCoord1dvARB = (void (GLAPIENTRY *)(GLenum, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord1dvARB");
  traceGL_Native.glMultiTexCoord1fARB = (void (GLAPIENTRY *)(GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord1fARB");
  traceGL_Native.glMultiTexCoord1fvARB = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord1fvARB");
  traceGL_Native.glMultiTexCoord1iARB = (void (GLAPIENTRY *)(GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord1iARB");
  traceGL_Native.glMultiTexCoord1ivARB = (void (GLAPIENTRY *)(GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord1ivARB");
  traceGL_Native.glMultiTexCoord1sARB = (void (GLAPIENTRY *)(GLenum, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord1sARB");
  traceGL_Native.glMultiTexCoord1svARB = (void (GLAPIENTRY *)(GLenum, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord1svARB");
  traceGL_Native.glMultiTexCoord2dARB = (void (GLAPIENTRY *)(GLenum, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord2dARB");
  traceGL_Native.glMultiTexCoord2dvARB = (void (GLAPIENTRY *)(GLenum, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord2dvARB");
  traceGL_Native.glMultiTexCoord2fARB = (void (GLAPIENTRY *)(GLenum, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord2fARB");
  traceGL_Native.glMultiTexCoord2fvARB = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord2fvARB");
  traceGL_Native.glMultiTexCoord2iARB = (void (GLAPIENTRY *)(GLenum, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord2iARB");
  traceGL_Native.glMultiTexCoord2ivARB = (void (GLAPIENTRY *)(GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord2ivARB");
  traceGL_Native.glMultiTexCoord2sARB = (void (GLAPIENTRY *)(GLenum, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord2sARB");
  traceGL_Native.glMultiTexCoord2svARB = (void (GLAPIENTRY *)(GLenum, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord2svARB");
  traceGL_Native.glMultiTexCoord3dARB = (void (GLAPIENTRY *)(GLenum, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord3dARB");
  traceGL_Native.glMultiTexCoord3dvARB = (void (GLAPIENTRY *)(GLenum, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord3dvARB");
  traceGL_Native.glMultiTexCoord3fARB = (void (GLAPIENTRY *)(GLenum, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord3fARB");
  traceGL_Native.glMultiTexCoord3fvARB = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord3fvARB");
  traceGL_Native.glMultiTexCoord3iARB = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord3iARB");
  traceGL_Native.glMultiTexCoord3ivARB = (void (GLAPIENTRY *)(GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord3ivARB");
  traceGL_Native.glMultiTexCoord3sARB = (void (GLAPIENTRY *)(GLenum, GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord3sARB");
  traceGL_Native.glMultiTexCoord3svARB = (void (GLAPIENTRY *)(GLenum, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord3svARB");
  traceGL_Native.glMultiTexCoord4dARB = (void (GLAPIENTRY *)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord4dARB");
  traceGL_Native.glMultiTexCoord4dvARB = (void (GLAPIENTRY *)(GLenum, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord4dvARB");
  traceGL_Native.glMultiTexCoord4fARB = (void (GLAPIENTRY *)(GLenum, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord4fARB");
  traceGL_Native.glMultiTexCoord4fvARB = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord4fvARB");
  traceGL_Native.glMultiTexCoord4iARB = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord4iARB");
  traceGL_Native.glMultiTexCoord4ivARB = (void (GLAPIENTRY *)(GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord4ivARB");
  traceGL_Native.glMultiTexCoord4sARB = (void (GLAPIENTRY *)(GLenum, GLshort, GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord4sARB");
  traceGL_Native.glMultiTexCoord4svARB = (void (GLAPIENTRY *)(GLenum, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord4svARB");
  traceGL_Native.glLoadTransposeMatrixfARB = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glLoadTransposeMatrixfARB");
  traceGL_Native.glLoadTransposeMatrixdARB = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glLoadTransposeMatrixdARB");
  traceGL_Native.glMultTransposeMatrixfARB = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glMultTransposeMatrixfARB");
  traceGL_Native.glMultTransposeMatrixdARB = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glMultTransposeMatrixdARB");
  traceGL_Native.glSampleCoverageARB = (void (GLAPIENTRY *)(GLclampf, GLboolean)) traceGL_GetProcAddress(traceGL_handle, "glSampleCoverageARB");
  traceGL_Native.glCompressedTexImage3DARB = (void (GLAPIENTRY *)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glCompressedTexImage3DARB");
  traceGL_Native.glCompressedTexImage2DARB = (void (GLAPIENTRY *)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glCompressedTexImage2DARB");
  traceGL_Native.glCompressedTexImage1DARB = (void (GLAPIENTRY *)(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glCompressedTexImage1DARB");
  traceGL_Native.glCompressedTexSubImage3DARB = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glCompressedTexSubImage3DARB");
  traceGL_Native.glCompressedTexSubImage2DARB = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glCompressedTexSubImage2DARB");
  traceGL_Native.glCompressedTexSubImage1DARB = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glCompressedTexSubImage1DARB");
  traceGL_Native.glGetCompressedTexImageARB = (void (GLAPIENTRY *)(GLenum, GLint, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetCompressedTexImageARB");
  traceGL_Native.glPointParameterfARB = (void (GLAPIENTRY *)(GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glPointParameterfARB");
  traceGL_Native.glPointParameterfvARB = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glPointParameterfvARB");
  traceGL_Native.glWeightbvARB = (void (GLAPIENTRY *)(GLint, const GLbyte *)) traceGL_GetProcAddress(traceGL_handle, "glWeightbvARB");
  traceGL_Native.glWeightsvARB = (void (GLAPIENTRY *)(GLint, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glWeightsvARB");
  traceGL_Native.glWeightivARB = (void (GLAPIENTRY *)(GLint, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glWeightivARB");
  traceGL_Native.glWeightfvARB = (void (GLAPIENTRY *)(GLint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glWeightfvARB");
  traceGL_Native.glWeightdvARB = (void (GLAPIENTRY *)(GLint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glWeightdvARB");
  traceGL_Native.glWeightubvARB = (void (GLAPIENTRY *)(GLint, const GLubyte *)) traceGL_GetProcAddress(traceGL_handle, "glWeightubvARB");
  traceGL_Native.glWeightusvARB = (void (GLAPIENTRY *)(GLint, const GLushort *)) traceGL_GetProcAddress(traceGL_handle, "glWeightusvARB");
  traceGL_Native.glWeightuivARB = (void (GLAPIENTRY *)(GLint, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glWeightuivARB");
  traceGL_Native.glWeightPointerARB = (void (GLAPIENTRY *)(GLint, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glWeightPointerARB");
  traceGL_Native.glVertexBlendARB = (void (GLAPIENTRY *)(GLint)) traceGL_GetProcAddress(traceGL_handle, "glVertexBlendARB");
  traceGL_Native.glCurrentPaletteMatrixARB = (void (GLAPIENTRY *)(GLint)) traceGL_GetProcAddress(traceGL_handle, "glCurrentPaletteMatrixARB");
  traceGL_Native.glMatrixIndexubvARB = (void (GLAPIENTRY *)(GLint, const GLubyte *)) traceGL_GetProcAddress(traceGL_handle, "glMatrixIndexubvARB");
  traceGL_Native.glMatrixIndexusvARB = (void (GLAPIENTRY *)(GLint, const GLushort *)) traceGL_GetProcAddress(traceGL_handle, "glMatrixIndexusvARB");
  traceGL_Native.glMatrixIndexuivARB = (void (GLAPIENTRY *)(GLint, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glMatrixIndexuivARB");
  traceGL_Native.glMatrixIndexPointerARB = (void (GLAPIENTRY *)(GLint, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glMatrixIndexPointerARB");
  traceGL_Native.glWindowPos2dARB = (void (GLAPIENTRY *)(GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos2dARB");
  traceGL_Native.glWindowPos2dvARB = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos2dvARB");
  traceGL_Native.glWindowPos2fARB = (void (GLAPIENTRY *)(GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos2fARB");
  traceGL_Native.glWindowPos2fvARB = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos2fvARB");
  traceGL_Native.glWindowPos2iARB = (void (GLAPIENTRY *)(GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos2iARB");
  traceGL_Native.glWindowPos2ivARB = (void (GLAPIENTRY *)(const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos2ivARB");
  traceGL_Native.glWindowPos2sARB = (void (GLAPIENTRY *)(GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos2sARB");
  traceGL_Native.glWindowPos2svARB = (void (GLAPIENTRY *)(const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos2svARB");
  traceGL_Native.glWindowPos3dARB = (void (GLAPIENTRY *)(GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos3dARB");
  traceGL_Native.glWindowPos3dvARB = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos3dvARB");
  traceGL_Native.glWindowPos3fARB = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos3fARB");
  traceGL_Native.glWindowPos3fvARB = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos3fvARB");
  traceGL_Native.glWindowPos3iARB = (void (GLAPIENTRY *)(GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos3iARB");
  traceGL_Native.glWindowPos3ivARB = (void (GLAPIENTRY *)(const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos3ivARB");
  traceGL_Native.glWindowPos3sARB = (void (GLAPIENTRY *)(GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos3sARB");
  traceGL_Native.glWindowPos3svARB = (void (GLAPIENTRY *)(const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos3svARB");
  traceGL_Native.glVertexAttrib1dARB = (void (GLAPIENTRY *)(GLuint, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib1dARB");
  traceGL_Native.glVertexAttrib1dvARB = (void (GLAPIENTRY *)(GLuint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib1dvARB");
  traceGL_Native.glVertexAttrib1fARB = (void (GLAPIENTRY *)(GLuint, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib1fARB");
  traceGL_Native.glVertexAttrib1fvARB = (void (GLAPIENTRY *)(GLuint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib1fvARB");
  traceGL_Native.glVertexAttrib1sARB = (void (GLAPIENTRY *)(GLuint, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib1sARB");
  traceGL_Native.glVertexAttrib1svARB = (void (GLAPIENTRY *)(GLuint, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib1svARB");
  traceGL_Native.glVertexAttrib2dARB = (void (GLAPIENTRY *)(GLuint, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib2dARB");
  traceGL_Native.glVertexAttrib2dvARB = (void (GLAPIENTRY *)(GLuint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib2dvARB");
  traceGL_Native.glVertexAttrib2fARB = (void (GLAPIENTRY *)(GLuint, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib2fARB");
  traceGL_Native.glVertexAttrib2fvARB = (void (GLAPIENTRY *)(GLuint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib2fvARB");
  traceGL_Native.glVertexAttrib2sARB = (void (GLAPIENTRY *)(GLuint, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib2sARB");
  traceGL_Native.glVertexAttrib2svARB = (void (GLAPIENTRY *)(GLuint, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib2svARB");
  traceGL_Native.glVertexAttrib3dARB = (void (GLAPIENTRY *)(GLuint, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib3dARB");
  traceGL_Native.glVertexAttrib3dvARB = (void (GLAPIENTRY *)(GLuint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib3dvARB");
  traceGL_Native.glVertexAttrib3fARB = (void (GLAPIENTRY *)(GLuint, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib3fARB");
  traceGL_Native.glVertexAttrib3fvARB = (void (GLAPIENTRY *)(GLuint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib3fvARB");
  traceGL_Native.glVertexAttrib3sARB = (void (GLAPIENTRY *)(GLuint, GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib3sARB");
  traceGL_Native.glVertexAttrib3svARB = (void (GLAPIENTRY *)(GLuint, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib3svARB");
  traceGL_Native.glVertexAttrib4NbvARB = (void (GLAPIENTRY *)(GLuint, const GLbyte *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4NbvARB");
  traceGL_Native.glVertexAttrib4NivARB = (void (GLAPIENTRY *)(GLuint, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4NivARB");
  traceGL_Native.glVertexAttrib4NsvARB = (void (GLAPIENTRY *)(GLuint, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4NsvARB");
  traceGL_Native.glVertexAttrib4NubARB = (void (GLAPIENTRY *)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4NubARB");
  traceGL_Native.glVertexAttrib4NubvARB = (void (GLAPIENTRY *)(GLuint, const GLubyte *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4NubvARB");
  traceGL_Native.glVertexAttrib4NuivARB = (void (GLAPIENTRY *)(GLuint, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4NuivARB");
  traceGL_Native.glVertexAttrib4NusvARB = (void (GLAPIENTRY *)(GLuint, const GLushort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4NusvARB");
  traceGL_Native.glVertexAttrib4bvARB = (void (GLAPIENTRY *)(GLuint, const GLbyte *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4bvARB");
  traceGL_Native.glVertexAttrib4dARB = (void (GLAPIENTRY *)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4dARB");
  traceGL_Native.glVertexAttrib4dvARB = (void (GLAPIENTRY *)(GLuint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4dvARB");
  traceGL_Native.glVertexAttrib4fARB = (void (GLAPIENTRY *)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4fARB");
  traceGL_Native.glVertexAttrib4fvARB = (void (GLAPIENTRY *)(GLuint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4fvARB");
  traceGL_Native.glVertexAttrib4ivARB = (void (GLAPIENTRY *)(GLuint, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4ivARB");
  traceGL_Native.glVertexAttrib4sARB = (void (GLAPIENTRY *)(GLuint, GLshort, GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4sARB");
  traceGL_Native.glVertexAttrib4svARB = (void (GLAPIENTRY *)(GLuint, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4svARB");
  traceGL_Native.glVertexAttrib4ubvARB = (void (GLAPIENTRY *)(GLuint, const GLubyte *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4ubvARB");
  traceGL_Native.glVertexAttrib4uivARB = (void (GLAPIENTRY *)(GLuint, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4uivARB");
  traceGL_Native.glVertexAttrib4usvARB = (void (GLAPIENTRY *)(GLuint, const GLushort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4usvARB");
  traceGL_Native.glVertexAttribPointerARB = (void (GLAPIENTRY *)(GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribPointerARB");
  traceGL_Native.glEnableVertexAttribArrayARB = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glEnableVertexAttribArrayARB");
  traceGL_Native.glDisableVertexAttribArrayARB = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glDisableVertexAttribArrayARB");
  traceGL_Native.glProgramStringARB = (void (GLAPIENTRY *)(GLenum, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glProgramStringARB");
  traceGL_Native.glBindProgramARB = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBindProgramARB");
  traceGL_Native.glDeleteProgramsARB = (void (GLAPIENTRY *)(GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glDeleteProgramsARB");
  traceGL_Native.glGenProgramsARB = (void (GLAPIENTRY *)(GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGenProgramsARB");
  traceGL_Native.glProgramEnvParameter4dARB = (void (GLAPIENTRY *)(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glProgramEnvParameter4dARB");
  traceGL_Native.glProgramEnvParameter4dvARB = (void (GLAPIENTRY *)(GLenum, GLuint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramEnvParameter4dvARB");
  traceGL_Native.glProgramEnvParameter4fARB = (void (GLAPIENTRY *)(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glProgramEnvParameter4fARB");
  traceGL_Native.glProgramEnvParameter4fvARB = (void (GLAPIENTRY *)(GLenum, GLuint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramEnvParameter4fvARB");
  traceGL_Native.glProgramLocalParameter4dARB = (void (GLAPIENTRY *)(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glProgramLocalParameter4dARB");
  traceGL_Native.glProgramLocalParameter4dvARB = (void (GLAPIENTRY *)(GLenum, GLuint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramLocalParameter4dvARB");
  traceGL_Native.glProgramLocalParameter4fARB = (void (GLAPIENTRY *)(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glProgramLocalParameter4fARB");
  traceGL_Native.glProgramLocalParameter4fvARB = (void (GLAPIENTRY *)(GLenum, GLuint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramLocalParameter4fvARB");
  traceGL_Native.glGetProgramEnvParameterdvARB = (void (GLAPIENTRY *)(GLenum, GLuint, GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glGetProgramEnvParameterdvARB");
  traceGL_Native.glGetProgramEnvParameterfvARB = (void (GLAPIENTRY *)(GLenum, GLuint, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetProgramEnvParameterfvARB");
  traceGL_Native.glGetProgramLocalParameterdvARB = (void (GLAPIENTRY *)(GLenum, GLuint, GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glGetProgramLocalParameterdvARB");
  traceGL_Native.glGetProgramLocalParameterfvARB = (void (GLAPIENTRY *)(GLenum, GLuint, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetProgramLocalParameterfvARB");
  traceGL_Native.glGetProgramivARB = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetProgramivARB");
  traceGL_Native.glGetProgramStringARB = (void (GLAPIENTRY *)(GLenum, GLenum, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetProgramStringARB");
  traceGL_Native.glGetVertexAttribdvARB = (void (GLAPIENTRY *)(GLuint, GLenum, GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glGetVertexAttribdvARB");
  traceGL_Native.glGetVertexAttribfvARB = (void (GLAPIENTRY *)(GLuint, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetVertexAttribfvARB");
  traceGL_Native.glGetVertexAttribivARB = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetVertexAttribivARB");
  traceGL_Native.glGetVertexAttribPointervARB = (void (GLAPIENTRY *)(GLuint, GLenum, GLvoid **)) traceGL_GetProcAddress(traceGL_handle, "glGetVertexAttribPointervARB");
  traceGL_Native.glIsProgramARB = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsProgramARB");
  traceGL_Native.glBindBufferARB = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBindBufferARB");
  traceGL_Native.glDeleteBuffersARB = (void (GLAPIENTRY *)(GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glDeleteBuffersARB");
  traceGL_Native.glGenBuffersARB = (void (GLAPIENTRY *)(GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGenBuffersARB");
  traceGL_Native.glIsBufferARB = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsBufferARB");
  traceGL_Native.glBufferDataARB = (void (GLAPIENTRY *)(GLenum, GLsizeiptrARB, const GLvoid *, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBufferDataARB");
  traceGL_Native.glBufferSubDataARB = (void (GLAPIENTRY *)(GLenum, GLintptrARB, GLsizeiptrARB, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glBufferSubDataARB");
  traceGL_Native.glGetBufferSubDataARB = (void (GLAPIENTRY *)(GLenum, GLintptrARB, GLsizeiptrARB, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetBufferSubDataARB");
  traceGL_Native.glMapBufferARB = (GLvoid *(GLAPIENTRY *)(GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glMapBufferARB");
  traceGL_Native.glUnmapBufferARB = (GLboolean (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glUnmapBufferARB");
  traceGL_Native.glGetBufferParameterivARB = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetBufferParameterivARB");
  traceGL_Native.glGetBufferPointervARB = (void (GLAPIENTRY *)(GLenum, GLenum, GLvoid **)) traceGL_GetProcAddress(traceGL_handle, "glGetBufferPointervARB");
  traceGL_Native.glGenQueriesARB = (void (GLAPIENTRY *)(GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGenQueriesARB");
  traceGL_Native.glDeleteQueriesARB = (void (GLAPIENTRY *)(GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glDeleteQueriesARB");
  traceGL_Native.glIsQueryARB = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsQueryARB");
  traceGL_Native.glBeginQueryARB = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBeginQueryARB");
  traceGL_Native.glEndQueryARB = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glEndQueryARB");
  traceGL_Native.glGetQueryivARB = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetQueryivARB");
  traceGL_Native.glGetQueryObjectivARB = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetQueryObjectivARB");
  traceGL_Native.glGetQueryObjectuivARB = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGetQueryObjectuivARB");
  traceGL_Native.glDeleteObjectARB = (void (GLAPIENTRY *)(GLhandleARB)) traceGL_GetProcAddress(traceGL_handle, "glDeleteObjectARB");
  traceGL_Native.glGetHandleARB = (GLhandleARB (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glGetHandleARB");
  traceGL_Native.glDetachObjectARB = (void (GLAPIENTRY *)(GLhandleARB, GLhandleARB)) traceGL_GetProcAddress(traceGL_handle, "glDetachObjectARB");
  traceGL_Native.glCreateShaderObjectARB = (GLhandleARB (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glCreateShaderObjectARB");
  traceGL_Native.glShaderSourceARB = (void (GLAPIENTRY *)(GLhandleARB, GLsizei, const GLcharARB **, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glShaderSourceARB");
  traceGL_Native.glCompileShaderARB = (void (GLAPIENTRY *)(GLhandleARB)) traceGL_GetProcAddress(traceGL_handle, "glCompileShaderARB");
  traceGL_Native.glCreateProgramObjectARB = (GLhandleARB (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glCreateProgramObjectARB");
  traceGL_Native.glAttachObjectARB = (void (GLAPIENTRY *)(GLhandleARB, GLhandleARB)) traceGL_GetProcAddress(traceGL_handle, "glAttachObjectARB");
  traceGL_Native.glLinkProgramARB = (void (GLAPIENTRY *)(GLhandleARB)) traceGL_GetProcAddress(traceGL_handle, "glLinkProgramARB");
  traceGL_Native.glUseProgramObjectARB = (void (GLAPIENTRY *)(GLhandleARB)) traceGL_GetProcAddress(traceGL_handle, "glUseProgramObjectARB");
  traceGL_Native.glValidateProgramARB = (void (GLAPIENTRY *)(GLhandleARB)) traceGL_GetProcAddress(traceGL_handle, "glValidateProgramARB");
  traceGL_Native.glUniform1fARB = (void (GLAPIENTRY *)(GLint, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glUniform1fARB");
  traceGL_Native.glUniform2fARB = (void (GLAPIENTRY *)(GLint, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glUniform2fARB");
  traceGL_Native.glUniform3fARB = (void (GLAPIENTRY *)(GLint, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glUniform3fARB");
  traceGL_Native.glUniform4fARB = (void (GLAPIENTRY *)(GLint, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glUniform4fARB");
  traceGL_Native.glUniform1iARB = (void (GLAPIENTRY *)(GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glUniform1iARB");
  traceGL_Native.glUniform2iARB = (void (GLAPIENTRY *)(GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glUniform2iARB");
  traceGL_Native.glUniform3iARB = (void (GLAPIENTRY *)(GLint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glUniform3iARB");
  traceGL_Native.glUniform4iARB = (void (GLAPIENTRY *)(GLint, GLint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glUniform4iARB");
  traceGL_Native.glUniform1fvARB = (void (GLAPIENTRY *)(GLint, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glUniform1fvARB");
  traceGL_Native.glUniform2fvARB = (void (GLAPIENTRY *)(GLint, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glUniform2fvARB");
  traceGL_Native.glUniform3fvARB = (void (GLAPIENTRY *)(GLint, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glUniform3fvARB");
  traceGL_Native.glUniform4fvARB = (void (GLAPIENTRY *)(GLint, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glUniform4fvARB");
  traceGL_Native.glUniform1ivARB = (void (GLAPIENTRY *)(GLint, GLsizei, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glUniform1ivARB");
  traceGL_Native.glUniform2ivARB = (void (GLAPIENTRY *)(GLint, GLsizei, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glUniform2ivARB");
  traceGL_Native.glUniform3ivARB = (void (GLAPIENTRY *)(GLint, GLsizei, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glUniform3ivARB");
  traceGL_Native.glUniform4ivARB = (void (GLAPIENTRY *)(GLint, GLsizei, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glUniform4ivARB");
  traceGL_Native.glUniformMatrix2fvARB = (void (GLAPIENTRY *)(GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glUniformMatrix2fvARB");
  traceGL_Native.glUniformMatrix3fvARB = (void (GLAPIENTRY *)(GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glUniformMatrix3fvARB");
  traceGL_Native.glUniformMatrix4fvARB = (void (GLAPIENTRY *)(GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glUniformMatrix4fvARB");
  traceGL_Native.glGetObjectParameterfvARB = (void (GLAPIENTRY *)(GLhandleARB, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetObjectParameterfvARB");
  traceGL_Native.glGetObjectParameterivARB = (void (GLAPIENTRY *)(GLhandleARB, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetObjectParameterivARB");
  traceGL_Native.glGetInfoLogARB = (void (GLAPIENTRY *)(GLhandleARB, GLsizei, GLsizei *, GLcharARB *)) traceGL_GetProcAddress(traceGL_handle, "glGetInfoLogARB");
  traceGL_Native.glGetAttachedObjectsARB = (void (GLAPIENTRY *)(GLhandleARB, GLsizei, GLsizei *, GLhandleARB *)) traceGL_GetProcAddress(traceGL_handle, "glGetAttachedObjectsARB");
  traceGL_Native.glGetUniformLocationARB = (GLint (GLAPIENTRY *)(GLhandleARB, const GLcharARB *)) traceGL_GetProcAddress(traceGL_handle, "glGetUniformLocationARB");
  traceGL_Native.glGetActiveUniformARB = (void (GLAPIENTRY *)(GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLcharARB *)) traceGL_GetProcAddress(traceGL_handle, "glGetActiveUniformARB");
  traceGL_Native.glGetUniformfvARB = (void (GLAPIENTRY *)(GLhandleARB, GLint, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetUniformfvARB");
  traceGL_Native.glGetUniformivARB = (void (GLAPIENTRY *)(GLhandleARB, GLint, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetUniformivARB");
  traceGL_Native.glGetShaderSourceARB = (void (GLAPIENTRY *)(GLhandleARB, GLsizei, GLsizei *, GLcharARB *)) traceGL_GetProcAddress(traceGL_handle, "glGetShaderSourceARB");
  traceGL_Native.glBindAttribLocationARB = (void (GLAPIENTRY *)(GLhandleARB, GLuint, const GLcharARB *)) traceGL_GetProcAddress(traceGL_handle, "glBindAttribLocationARB");
  traceGL_Native.glGetActiveAttribARB = (void (GLAPIENTRY *)(GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLcharARB *)) traceGL_GetProcAddress(traceGL_handle, "glGetActiveAttribARB");
  traceGL_Native.glGetAttribLocationARB = (GLint (GLAPIENTRY *)(GLhandleARB, const GLcharARB *)) traceGL_GetProcAddress(traceGL_handle, "glGetAttribLocationARB");
  traceGL_Native.glDrawBuffersARB = (void (GLAPIENTRY *)(GLsizei, const GLenum *)) traceGL_GetProcAddress(traceGL_handle, "glDrawBuffersARB");
  traceGL_Native.glClampColorARB = (void (GLAPIENTRY *)(GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glClampColorARB");
  traceGL_Native.glDrawArraysInstancedARB = (void (GLAPIENTRY *)(GLenum, GLint, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glDrawArraysInstancedARB");
  traceGL_Native.glDrawElementsInstancedARB = (void (GLAPIENTRY *)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glDrawElementsInstancedARB");
  traceGL_Native.glIsRenderbuffer = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsRenderbuffer");
  traceGL_Native.glBindRenderbuffer = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBindRenderbuffer");
  traceGL_Native.glDeleteRenderbuffers = (void (GLAPIENTRY *)(GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glDeleteRenderbuffers");
  traceGL_Native.glGenRenderbuffers = (void (GLAPIENTRY *)(GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGenRenderbuffers");
  traceGL_Native.glRenderbufferStorage = (void (GLAPIENTRY *)(GLenum, GLenum, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glRenderbufferStorage");
  traceGL_Native.glGetRenderbufferParameteriv = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetRenderbufferParameteriv");
  traceGL_Native.glIsFramebuffer = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsFramebuffer");
  traceGL_Native.glBindFramebuffer = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBindFramebuffer");
  traceGL_Native.glDeleteFramebuffers = (void (GLAPIENTRY *)(GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glDeleteFramebuffers");
  traceGL_Native.glGenFramebuffers = (void (GLAPIENTRY *)(GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGenFramebuffers");
  traceGL_Native.glCheckFramebufferStatus = (GLenum (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glCheckFramebufferStatus");
  traceGL_Native.glFramebufferTexture1D = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLuint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glFramebufferTexture1D");
  traceGL_Native.glFramebufferTexture2D = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLuint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glFramebufferTexture2D");
  traceGL_Native.glFramebufferTexture3D = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLuint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glFramebufferTexture3D");
  traceGL_Native.glFramebufferRenderbuffer = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glFramebufferRenderbuffer");
  traceGL_Native.glGetFramebufferAttachmentParameteriv = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetFramebufferAttachmentParameteriv");
  traceGL_Native.glGenerateMipmap = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glGenerateMipmap");
  traceGL_Native.glBlitFramebuffer = (void (GLAPIENTRY *)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBlitFramebuffer");
  traceGL_Native.glRenderbufferStorageMultisample = (void (GLAPIENTRY *)(GLenum, GLsizei, GLenum, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glRenderbufferStorageMultisample");
  traceGL_Native.glFramebufferTextureLayer = (void (GLAPIENTRY *)(GLenum, GLenum, GLuint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glFramebufferTextureLayer");
  traceGL_Native.glProgramParameteriARB = (void (GLAPIENTRY *)(GLuint, GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glProgramParameteriARB");
  traceGL_Native.glFramebufferTextureARB = (void (GLAPIENTRY *)(GLenum, GLenum, GLuint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glFramebufferTextureARB");
  traceGL_Native.glFramebufferTextureLayerARB = (void (GLAPIENTRY *)(GLenum, GLenum, GLuint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glFramebufferTextureLayerARB");
  traceGL_Native.glFramebufferTextureFaceARB = (void (GLAPIENTRY *)(GLenum, GLenum, GLuint, GLint, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glFramebufferTextureFaceARB");
  traceGL_Native.glVertexAttribDivisorARB = (void (GLAPIENTRY *)(GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribDivisorARB");
  traceGL_Native.glMapBufferRange = (GLvoid *(GLAPIENTRY *)(GLenum, GLintptr, GLsizeiptr, GLbitfield)) traceGL_GetProcAddress(traceGL_handle, "glMapBufferRange");
  traceGL_Native.glFlushMappedBufferRange = (void (GLAPIENTRY *)(GLenum, GLintptr, GLsizeiptr)) traceGL_GetProcAddress(traceGL_handle, "glFlushMappedBufferRange");
  traceGL_Native.glTexBufferARB = (void (GLAPIENTRY *)(GLenum, GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glTexBufferARB");
  traceGL_Native.glBindVertexArray = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBindVertexArray");
  traceGL_Native.glDeleteVertexArrays = (void (GLAPIENTRY *)(GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glDeleteVertexArrays");
  traceGL_Native.glGenVertexArrays = (void (GLAPIENTRY *)(GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGenVertexArrays");
  traceGL_Native.glIsVertexArray = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsVertexArray");
  traceGL_Native.glGetUniformIndices = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLchar **, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGetUniformIndices");
  traceGL_Native.glGetActiveUniformsiv = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLuint *, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetActiveUniformsiv");
  traceGL_Native.glGetActiveUniformName = (void (GLAPIENTRY *)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glGetActiveUniformName");
  traceGL_Native.glGetUniformBlockIndex = (GLuint (GLAPIENTRY *)(GLuint, const GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glGetUniformBlockIndex");
  traceGL_Native.glGetActiveUniformBlockiv = (void (GLAPIENTRY *)(GLuint, GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetActiveUniformBlockiv");
  traceGL_Native.glGetActiveUniformBlockName = (void (GLAPIENTRY *)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glGetActiveUniformBlockName");
  traceGL_Native.glUniformBlockBinding = (void (GLAPIENTRY *)(GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glUniformBlockBinding");
  traceGL_Native.glCopyBufferSubData = (void (GLAPIENTRY *)(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr)) traceGL_GetProcAddress(traceGL_handle, "glCopyBufferSubData");
  traceGL_Native.glDrawElementsBaseVertex = (void (GLAPIENTRY *)(GLenum, GLsizei, GLenum, const GLvoid *, GLint)) traceGL_GetProcAddress(traceGL_handle, "glDrawElementsBaseVertex");
  traceGL_Native.glDrawRangeElementsBaseVertex = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *, GLint)) traceGL_GetProcAddress(traceGL_handle, "glDrawRangeElementsBaseVertex");
  traceGL_Native.glDrawElementsInstancedBaseVertex = (void (GLAPIENTRY *)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei, GLint)) traceGL_GetProcAddress(traceGL_handle, "glDrawElementsInstancedBaseVertex");
  traceGL_Native.glMultiDrawElementsBaseVertex = (void (GLAPIENTRY *)(GLenum, const GLsizei *, GLenum, const GLvoid **, GLsizei, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glMultiDrawElementsBaseVertex");
  traceGL_Native.glProvokingVertex = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glProvokingVertex");
  traceGL_Native.glFenceSync = (GLsync (GLAPIENTRY *)(GLenum, GLbitfield)) traceGL_GetProcAddress(traceGL_handle, "glFenceSync");
  traceGL_Native.glIsSync = (GLboolean (GLAPIENTRY *)(GLsync)) traceGL_GetProcAddress(traceGL_handle, "glIsSync");
  traceGL_Native.glDeleteSync = (void (GLAPIENTRY *)(GLsync)) traceGL_GetProcAddress(traceGL_handle, "glDeleteSync");
  traceGL_Native.glClientWaitSync = (GLenum (GLAPIENTRY *)(GLsync, GLbitfield, GLuint64)) traceGL_GetProcAddress(traceGL_handle, "glClientWaitSync");
  traceGL_Native.glWaitSync = (void (GLAPIENTRY *)(GLsync, GLbitfield, GLuint64)) traceGL_GetProcAddress(traceGL_handle, "glWaitSync");
  traceGL_Native.glGetInteger64v = (void (GLAPIENTRY *)(GLenum, GLint64 *)) traceGL_GetProcAddress(traceGL_handle, "glGetInteger64v");
  traceGL_Native.glGetSynciv = (void (GLAPIENTRY *)(GLsync, GLenum, GLsizei, GLsizei *, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetSynciv");
  traceGL_Native.glTexImage2DMultisample = (void (GLAPIENTRY *)(GLenum, GLsizei, GLint, GLsizei, GLsizei, GLboolean)) traceGL_GetProcAddress(traceGL_handle, "glTexImage2DMultisample");
  traceGL_Native.glTexImage3DMultisample = (void (GLAPIENTRY *)(GLenum, GLsizei, GLint, GLsizei, GLsizei, GLsizei, GLboolean)) traceGL_GetProcAddress(traceGL_handle, "glTexImage3DMultisample");
  traceGL_Native.glGetMultisamplefv = (void (GLAPIENTRY *)(GLenum, GLuint, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetMultisamplefv");
  traceGL_Native.glSampleMaski = (void (GLAPIENTRY *)(GLuint, GLbitfield)) traceGL_GetProcAddress(traceGL_handle, "glSampleMaski");
  traceGL_Native.glBlendEquationiARB = (void (GLAPIENTRY *)(GLuint, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBlendEquationiARB");
  traceGL_Native.glBlendEquationSeparateiARB = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBlendEquationSeparateiARB");
  traceGL_Native.glBlendFunciARB = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBlendFunciARB");
  traceGL_Native.glBlendFuncSeparateiARB = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum, GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBlendFuncSeparateiARB");
  traceGL_Native.glMinSampleShadingARB = (void (GLAPIENTRY *)(GLclampf)) traceGL_GetProcAddress(traceGL_handle, "glMinSampleShadingARB");
  traceGL_Native.glNamedStringARB = (void (GLAPIENTRY *)(GLenum, GLint, const GLchar *, GLint, const GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glNamedStringARB");
  traceGL_Native.glDeleteNamedStringARB = (void (GLAPIENTRY *)(GLint, const GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glDeleteNamedStringARB");
  traceGL_Native.glCompileShaderIncludeARB = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLchar **, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glCompileShaderIncludeARB");
  traceGL_Native.glIsNamedStringARB = (GLboolean (GLAPIENTRY *)(GLint, const GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glIsNamedStringARB");
  traceGL_Native.glGetNamedStringARB = (void (GLAPIENTRY *)(GLint, const GLchar *, GLsizei, GLint *, GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glGetNamedStringARB");
  traceGL_Native.glGetNamedStringivARB = (void (GLAPIENTRY *)(GLint, const GLchar *, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetNamedStringivARB");
  traceGL_Native.glDebugMessageControlARB = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLsizei, const GLuint *, GLboolean)) traceGL_GetProcAddress(traceGL_handle, "glDebugMessageControlARB");
  traceGL_Native.glDebugMessageInsertARB = (void (GLAPIENTRY *)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glDebugMessageInsertARB");
  traceGL_Native.glDebugMessageCallbackARB = (void (GLAPIENTRY *)(GLDEBUGPROCARB, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glDebugMessageCallbackARB");
  traceGL_Native.glGetDebugMessageLogARB = (GLuint (GLAPIENTRY *)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glGetDebugMessageLogARB");
  traceGL_Native.glGetGraphicsResetStatusARB = (GLenum (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glGetGraphicsResetStatusARB");
  traceGL_Native.glGetnMapdvARB = (void (GLAPIENTRY *)(GLenum, GLenum, GLsizei, GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glGetnMapdvARB");
  traceGL_Native.glGetnMapfvARB = (void (GLAPIENTRY *)(GLenum, GLenum, GLsizei, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetnMapfvARB");
  traceGL_Native.glGetnMapivARB = (void (GLAPIENTRY *)(GLenum, GLenum, GLsizei, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetnMapivARB");
  traceGL_Native.glGetnPixelMapfvARB = (void (GLAPIENTRY *)(GLenum, GLsizei, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetnPixelMapfvARB");
  traceGL_Native.glGetnPixelMapuivARB = (void (GLAPIENTRY *)(GLenum, GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGetnPixelMapuivARB");
  traceGL_Native.glGetnPixelMapusvARB = (void (GLAPIENTRY *)(GLenum, GLsizei, GLushort *)) traceGL_GetProcAddress(traceGL_handle, "glGetnPixelMapusvARB");
  traceGL_Native.glGetnPolygonStippleARB = (void (GLAPIENTRY *)(GLsizei, GLubyte *)) traceGL_GetProcAddress(traceGL_handle, "glGetnPolygonStippleARB");
  traceGL_Native.glGetnTexImageARB = (void (GLAPIENTRY *)(GLenum, GLint, GLenum, GLenum, GLsizei, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetnTexImageARB");
  traceGL_Native.glReadnPixelsARB = (void (GLAPIENTRY *)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glReadnPixelsARB");
  traceGL_Native.glGetnColorTableARB = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLsizei, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetnColorTableARB");
  traceGL_Native.glGetnConvolutionFilterARB = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLsizei, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetnConvolutionFilterARB");
  traceGL_Native.glGetnSeparableFilterARB = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLsizei, GLvoid *, GLsizei, GLvoid *, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetnSeparableFilterARB");
  traceGL_Native.glGetnHistogramARB = (void (GLAPIENTRY *)(GLenum, GLboolean, GLenum, GLenum, GLsizei, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetnHistogramARB");
  traceGL_Native.glGetnMinmaxARB = (void (GLAPIENTRY *)(GLenum, GLboolean, GLenum, GLenum, GLsizei, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetnMinmaxARB");
  traceGL_Native.glGetnCompressedTexImageARB = (void (GLAPIENTRY *)(GLenum, GLint, GLsizei, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetnCompressedTexImageARB");
  traceGL_Native.glGetnUniformfvARB = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetnUniformfvARB");
  traceGL_Native.glGetnUniformivARB = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetnUniformivARB");
  traceGL_Native.glGetnUniformuivARB = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGetnUniformuivARB");
  traceGL_Native.glGetnUniformdvARB = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glGetnUniformdvARB");
  traceGL_Native.glBlendColorEXT = (void (GLAPIENTRY *)(GLclampf, GLclampf, GLclampf, GLclampf)) traceGL_GetProcAddress(traceGL_handle, "glBlendColorEXT");
  traceGL_Native.glPolygonOffsetEXT = (void (GLAPIENTRY *)(GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glPolygonOffsetEXT");
  traceGL_Native.glTexImage3DEXT = (void (GLAPIENTRY *)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glTexImage3DEXT");
  traceGL_Native.glTexSubImage3DEXT = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glTexSubImage3DEXT");
  traceGL_Native.glGetTexFilterFuncSGIS = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetTexFilterFuncSGIS");
  traceGL_Native.glTexFilterFuncSGIS = (void (GLAPIENTRY *)(GLenum, GLenum, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glTexFilterFuncSGIS");
  traceGL_Native.glTexSubImage1DEXT = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glTexSubImage1DEXT");
  traceGL_Native.glTexSubImage2DEXT = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glTexSubImage2DEXT");
  traceGL_Native.glCopyTexImage1DEXT = (void (GLAPIENTRY *)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint)) traceGL_GetProcAddress(traceGL_handle, "glCopyTexImage1DEXT");
  traceGL_Native.glCopyTexImage2DEXT = (void (GLAPIENTRY *)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint)) traceGL_GetProcAddress(traceGL_handle, "glCopyTexImage2DEXT");
  traceGL_Native.glCopyTexSubImage1DEXT = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLint, GLint, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glCopyTexSubImage1DEXT");
  traceGL_Native.glCopyTexSubImage2DEXT = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glCopyTexSubImage2DEXT");
  traceGL_Native.glCopyTexSubImage3DEXT = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glCopyTexSubImage3DEXT");
  traceGL_Native.glGetHistogramEXT = (void (GLAPIENTRY *)(GLenum, GLboolean, GLenum, GLenum, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetHistogramEXT");
  traceGL_Native.glGetHistogramParameterfvEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetHistogramParameterfvEXT");
  traceGL_Native.glGetHistogramParameterivEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetHistogramParameterivEXT");
  traceGL_Native.glGetMinmaxEXT = (void (GLAPIENTRY *)(GLenum, GLboolean, GLenum, GLenum, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetMinmaxEXT");
  traceGL_Native.glGetMinmaxParameterfvEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetMinmaxParameterfvEXT");
  traceGL_Native.glGetMinmaxParameterivEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetMinmaxParameterivEXT");
  traceGL_Native.glHistogramEXT = (void (GLAPIENTRY *)(GLenum, GLsizei, GLenum, GLboolean)) traceGL_GetProcAddress(traceGL_handle, "glHistogramEXT");
  traceGL_Native.glMinmaxEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLboolean)) traceGL_GetProcAddress(traceGL_handle, "glMinmaxEXT");
  traceGL_Native.glResetHistogramEXT = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glResetHistogramEXT");
  traceGL_Native.glResetMinmaxEXT = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glResetMinmaxEXT");
  traceGL_Native.glConvolutionFilter1DEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glConvolutionFilter1DEXT");
  traceGL_Native.glConvolutionFilter2DEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glConvolutionFilter2DEXT");
  traceGL_Native.glConvolutionParameterfEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glConvolutionParameterfEXT");
  traceGL_Native.glConvolutionParameterfvEXT = (void (GLAPIENTRY *)(GLenum, GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glConvolutionParameterfvEXT");
  traceGL_Native.glConvolutionParameteriEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glConvolutionParameteriEXT");
  traceGL_Native.glConvolutionParameterivEXT = (void (GLAPIENTRY *)(GLenum, GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glConvolutionParameterivEXT");
  traceGL_Native.glCopyConvolutionFilter1DEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLint, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glCopyConvolutionFilter1DEXT");
  traceGL_Native.glCopyConvolutionFilter2DEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glCopyConvolutionFilter2DEXT");
  traceGL_Native.glGetConvolutionFilterEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetConvolutionFilterEXT");
  traceGL_Native.glGetConvolutionParameterfvEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetConvolutionParameterfvEXT");
  traceGL_Native.glGetConvolutionParameterivEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetConvolutionParameterivEXT");
  traceGL_Native.glGetSeparableFilterEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLvoid *, GLvoid *, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetSeparableFilterEXT");
  traceGL_Native.glSeparableFilter2DEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glSeparableFilter2DEXT");
  traceGL_Native.glColorTableSGI = (void (GLAPIENTRY *)(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glColorTableSGI");
  traceGL_Native.glColorTableParameterfvSGI = (void (GLAPIENTRY *)(GLenum, GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glColorTableParameterfvSGI");
  traceGL_Native.glColorTableParameterivSGI = (void (GLAPIENTRY *)(GLenum, GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glColorTableParameterivSGI");
  traceGL_Native.glCopyColorTableSGI = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLint, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glCopyColorTableSGI");
  traceGL_Native.glGetColorTableSGI = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetColorTableSGI");
  traceGL_Native.glGetColorTableParameterfvSGI = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetColorTableParameterfvSGI");
  traceGL_Native.glGetColorTableParameterivSGI = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetColorTableParameterivSGI");
  traceGL_Native.glPixelTexGenSGIX = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glPixelTexGenSGIX");
  traceGL_Native.glPixelTexGenParameteriSGIS = (void (GLAPIENTRY *)(GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glPixelTexGenParameteriSGIS");
  traceGL_Native.glPixelTexGenParameterivSGIS = (void (GLAPIENTRY *)(GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glPixelTexGenParameterivSGIS");
  traceGL_Native.glPixelTexGenParameterfSGIS = (void (GLAPIENTRY *)(GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glPixelTexGenParameterfSGIS");
  traceGL_Native.glPixelTexGenParameterfvSGIS = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glPixelTexGenParameterfvSGIS");
  traceGL_Native.glGetPixelTexGenParameterivSGIS = (void (GLAPIENTRY *)(GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetPixelTexGenParameterivSGIS");
  traceGL_Native.glGetPixelTexGenParameterfvSGIS = (void (GLAPIENTRY *)(GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetPixelTexGenParameterfvSGIS");
  traceGL_Native.glTexImage4DSGIS = (void (GLAPIENTRY *)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glTexImage4DSGIS");
  traceGL_Native.glTexSubImage4DSGIS = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glTexSubImage4DSGIS");
  traceGL_Native.glAreTexturesResidentEXT = (GLboolean (GLAPIENTRY *)(GLsizei, const GLuint *, GLboolean *)) traceGL_GetProcAddress(traceGL_handle, "glAreTexturesResidentEXT");
  traceGL_Native.glBindTextureEXT = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBindTextureEXT");
  traceGL_Native.glDeleteTexturesEXT = (void (GLAPIENTRY *)(GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glDeleteTexturesEXT");
  traceGL_Native.glGenTexturesEXT = (void (GLAPIENTRY *)(GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGenTexturesEXT");
  traceGL_Native.glIsTextureEXT = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsTextureEXT");
  traceGL_Native.glPrioritizeTexturesEXT = (void (GLAPIENTRY *)(GLsizei, const GLuint *, const GLclampf *)) traceGL_GetProcAddress(traceGL_handle, "glPrioritizeTexturesEXT");
  traceGL_Native.glDetailTexFuncSGIS = (void (GLAPIENTRY *)(GLenum, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glDetailTexFuncSGIS");
  traceGL_Native.glGetDetailTexFuncSGIS = (void (GLAPIENTRY *)(GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetDetailTexFuncSGIS");
  traceGL_Native.glSharpenTexFuncSGIS = (void (GLAPIENTRY *)(GLenum, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glSharpenTexFuncSGIS");
  traceGL_Native.glGetSharpenTexFuncSGIS = (void (GLAPIENTRY *)(GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetSharpenTexFuncSGIS");
  traceGL_Native.glSampleMaskSGIS = (void (GLAPIENTRY *)(GLclampf, GLboolean)) traceGL_GetProcAddress(traceGL_handle, "glSampleMaskSGIS");
  traceGL_Native.glSamplePatternSGIS = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glSamplePatternSGIS");
  traceGL_Native.glArrayElementEXT = (void (GLAPIENTRY *)(GLint)) traceGL_GetProcAddress(traceGL_handle, "glArrayElementEXT");
  traceGL_Native.glColorPointerEXT = (void (GLAPIENTRY *)(GLint, GLenum, GLsizei, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glColorPointerEXT");
  traceGL_Native.glDrawArraysEXT = (void (GLAPIENTRY *)(GLenum, GLint, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glDrawArraysEXT");
  traceGL_Native.glEdgeFlagPointerEXT = (void (GLAPIENTRY *)(GLsizei, GLsizei, const GLboolean *)) traceGL_GetProcAddress(traceGL_handle, "glEdgeFlagPointerEXT");
  traceGL_Native.glGetPointervEXT = (void (GLAPIENTRY *)(GLenum, GLvoid **)) traceGL_GetProcAddress(traceGL_handle, "glGetPointervEXT");
  traceGL_Native.glIndexPointerEXT = (void (GLAPIENTRY *)(GLenum, GLsizei, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glIndexPointerEXT");
  traceGL_Native.glNormalPointerEXT = (void (GLAPIENTRY *)(GLenum, GLsizei, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glNormalPointerEXT");
  traceGL_Native.glTexCoordPointerEXT = (void (GLAPIENTRY *)(GLint, GLenum, GLsizei, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoordPointerEXT");
  traceGL_Native.glVertexPointerEXT = (void (GLAPIENTRY *)(GLint, GLenum, GLsizei, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glVertexPointerEXT");
  traceGL_Native.glBlendEquationEXT = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBlendEquationEXT");
  traceGL_Native.glSpriteParameterfSGIX = (void (GLAPIENTRY *)(GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glSpriteParameterfSGIX");
  traceGL_Native.glSpriteParameterfvSGIX = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glSpriteParameterfvSGIX");
  traceGL_Native.glSpriteParameteriSGIX = (void (GLAPIENTRY *)(GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glSpriteParameteriSGIX");
  traceGL_Native.glSpriteParameterivSGIX = (void (GLAPIENTRY *)(GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glSpriteParameterivSGIX");
  traceGL_Native.glPointParameterfEXT = (void (GLAPIENTRY *)(GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glPointParameterfEXT");
  traceGL_Native.glPointParameterfvEXT = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glPointParameterfvEXT");
  traceGL_Native.glPointParameterfSGIS = (void (GLAPIENTRY *)(GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glPointParameterfSGIS");
  traceGL_Native.glPointParameterfvSGIS = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glPointParameterfvSGIS");
  traceGL_Native.glGetInstrumentsSGIX = (GLint (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glGetInstrumentsSGIX");
  traceGL_Native.glInstrumentsBufferSGIX = (void (GLAPIENTRY *)(GLsizei, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glInstrumentsBufferSGIX");
  traceGL_Native.glPollInstrumentsSGIX = (GLint (GLAPIENTRY *)(GLint *)) traceGL_GetProcAddress(traceGL_handle, "glPollInstrumentsSGIX");
  traceGL_Native.glReadInstrumentsSGIX = (void (GLAPIENTRY *)(GLint)) traceGL_GetProcAddress(traceGL_handle, "glReadInstrumentsSGIX");
  traceGL_Native.glStartInstrumentsSGIX = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glStartInstrumentsSGIX");
  traceGL_Native.glStopInstrumentsSGIX = (void (GLAPIENTRY *)(GLint)) traceGL_GetProcAddress(traceGL_handle, "glStopInstrumentsSGIX");
  traceGL_Native.glFrameZoomSGIX = (void (GLAPIENTRY *)(GLint)) traceGL_GetProcAddress(traceGL_handle, "glFrameZoomSGIX");
  traceGL_Native.glTagSampleBufferSGIX = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glTagSampleBufferSGIX");
  traceGL_Native.glDeformationMap3dSGIX = (void (GLAPIENTRY *)(GLenum, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glDeformationMap3dSGIX");
  traceGL_Native.glDeformationMap3fSGIX = (void (GLAPIENTRY *)(GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glDeformationMap3fSGIX");
  traceGL_Native.glDeformSGIX = (void (GLAPIENTRY *)(GLbitfield)) traceGL_GetProcAddress(traceGL_handle, "glDeformSGIX");
  traceGL_Native.glLoadIdentityDeformationMapSGIX = (void (GLAPIENTRY *)(GLbitfield)) traceGL_GetProcAddress(traceGL_handle, "glLoadIdentityDeformationMapSGIX");
  traceGL_Native.glReferencePlaneSGIX = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glReferencePlaneSGIX");
  traceGL_Native.glFlushRasterSGIX = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glFlushRasterSGIX");
  traceGL_Native.glFogFuncSGIS = (void (GLAPIENTRY *)(GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glFogFuncSGIS");
  traceGL_Native.glGetFogFuncSGIS = (void (GLAPIENTRY *)(GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetFogFuncSGIS");
  traceGL_Native.glImageTransformParameteriHP = (void (GLAPIENTRY *)(GLenum, GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glImageTransformParameteriHP");
  traceGL_Native.glImageTransformParameterfHP = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glImageTransformParameterfHP");
  traceGL_Native.glImageTransformParameterivHP = (void (GLAPIENTRY *)(GLenum, GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glImageTransformParameterivHP");
  traceGL_Native.glImageTransformParameterfvHP = (void (GLAPIENTRY *)(GLenum, GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glImageTransformParameterfvHP");
  traceGL_Native.glGetImageTransformParameterivHP = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetImageTransformParameterivHP");
  traceGL_Native.glGetImageTransformParameterfvHP = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetImageTransformParameterfvHP");
  traceGL_Native.glColorSubTableEXT = (void (GLAPIENTRY *)(GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glColorSubTableEXT");
  traceGL_Native.glCopyColorSubTableEXT = (void (GLAPIENTRY *)(GLenum, GLsizei, GLint, GLint, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glCopyColorSubTableEXT");
  traceGL_Native.glHintPGI = (void (GLAPIENTRY *)(GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glHintPGI");
  traceGL_Native.glColorTableEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glColorTableEXT");
  traceGL_Native.glGetColorTableEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetColorTableEXT");
  traceGL_Native.glGetColorTableParameterivEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetColorTableParameterivEXT");
  traceGL_Native.glGetColorTableParameterfvEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetColorTableParameterfvEXT");
  traceGL_Native.glGetListParameterfvSGIX = (void (GLAPIENTRY *)(GLuint, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetListParameterfvSGIX");
  traceGL_Native.glGetListParameterivSGIX = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetListParameterivSGIX");
  traceGL_Native.glListParameterfSGIX = (void (GLAPIENTRY *)(GLuint, GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glListParameterfSGIX");
  traceGL_Native.glListParameterfvSGIX = (void (GLAPIENTRY *)(GLuint, GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glListParameterfvSGIX");
  traceGL_Native.glListParameteriSGIX = (void (GLAPIENTRY *)(GLuint, GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glListParameteriSGIX");
  traceGL_Native.glListParameterivSGIX = (void (GLAPIENTRY *)(GLuint, GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glListParameterivSGIX");
  traceGL_Native.glIndexMaterialEXT = (void (GLAPIENTRY *)(GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glIndexMaterialEXT");
  traceGL_Native.glIndexFuncEXT = (void (GLAPIENTRY *)(GLenum, GLclampf)) traceGL_GetProcAddress(traceGL_handle, "glIndexFuncEXT");
  traceGL_Native.glLockArraysEXT = (void (GLAPIENTRY *)(GLint, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glLockArraysEXT");
  traceGL_Native.glUnlockArraysEXT = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glUnlockArraysEXT");
  traceGL_Native.glCullParameterdvEXT = (void (GLAPIENTRY *)(GLenum, GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glCullParameterdvEXT");
  traceGL_Native.glCullParameterfvEXT = (void (GLAPIENTRY *)(GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glCullParameterfvEXT");
  traceGL_Native.glFragmentColorMaterialSGIX = (void (GLAPIENTRY *)(GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glFragmentColorMaterialSGIX");
  traceGL_Native.glFragmentLightfSGIX = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glFragmentLightfSGIX");
  traceGL_Native.glFragmentLightfvSGIX = (void (GLAPIENTRY *)(GLenum, GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glFragmentLightfvSGIX");
  traceGL_Native.glFragmentLightiSGIX = (void (GLAPIENTRY *)(GLenum, GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glFragmentLightiSGIX");
  traceGL_Native.glFragmentLightivSGIX = (void (GLAPIENTRY *)(GLenum, GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glFragmentLightivSGIX");
  traceGL_Native.glFragmentLightModelfSGIX = (void (GLAPIENTRY *)(GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glFragmentLightModelfSGIX");
  traceGL_Native.glFragmentLightModelfvSGIX = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glFragmentLightModelfvSGIX");
  traceGL_Native.glFragmentLightModeliSGIX = (void (GLAPIENTRY *)(GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glFragmentLightModeliSGIX");
  traceGL_Native.glFragmentLightModelivSGIX = (void (GLAPIENTRY *)(GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glFragmentLightModelivSGIX");
  traceGL_Native.glFragmentMaterialfSGIX = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glFragmentMaterialfSGIX");
  traceGL_Native.glFragmentMaterialfvSGIX = (void (GLAPIENTRY *)(GLenum, GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glFragmentMaterialfvSGIX");
  traceGL_Native.glFragmentMaterialiSGIX = (void (GLAPIENTRY *)(GLenum, GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glFragmentMaterialiSGIX");
  traceGL_Native.glFragmentMaterialivSGIX = (void (GLAPIENTRY *)(GLenum, GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glFragmentMaterialivSGIX");
  traceGL_Native.glGetFragmentLightfvSGIX = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetFragmentLightfvSGIX");
  traceGL_Native.glGetFragmentLightivSGIX = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetFragmentLightivSGIX");
  traceGL_Native.glGetFragmentMaterialfvSGIX = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetFragmentMaterialfvSGIX");
  traceGL_Native.glGetFragmentMaterialivSGIX = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetFragmentMaterialivSGIX");
  traceGL_Native.glLightEnviSGIX = (void (GLAPIENTRY *)(GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glLightEnviSGIX");
  traceGL_Native.glDrawRangeElementsEXT = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glDrawRangeElementsEXT");
  traceGL_Native.glApplyTextureEXT = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glApplyTextureEXT");
  traceGL_Native.glTextureLightEXT = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glTextureLightEXT");
  traceGL_Native.glTextureMaterialEXT = (void (GLAPIENTRY *)(GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glTextureMaterialEXT");
  traceGL_Native.glAsyncMarkerSGIX = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glAsyncMarkerSGIX");
  traceGL_Native.glFinishAsyncSGIX = (GLint (GLAPIENTRY *)(GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glFinishAsyncSGIX");
  traceGL_Native.glPollAsyncSGIX = (GLint (GLAPIENTRY *)(GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glPollAsyncSGIX");
  traceGL_Native.glGenAsyncMarkersSGIX = (GLuint (GLAPIENTRY *)(GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glGenAsyncMarkersSGIX");
  traceGL_Native.glDeleteAsyncMarkersSGIX = (void (GLAPIENTRY *)(GLuint, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glDeleteAsyncMarkersSGIX");
  traceGL_Native.glIsAsyncMarkerSGIX = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsAsyncMarkerSGIX");
  traceGL_Native.glVertexPointervINTEL = (void (GLAPIENTRY *)(GLint, GLenum, const GLvoid **)) traceGL_GetProcAddress(traceGL_handle, "glVertexPointervINTEL");
  traceGL_Native.glNormalPointervINTEL = (void (GLAPIENTRY *)(GLenum, const GLvoid **)) traceGL_GetProcAddress(traceGL_handle, "glNormalPointervINTEL");
  traceGL_Native.glColorPointervINTEL = (void (GLAPIENTRY *)(GLint, GLenum, const GLvoid **)) traceGL_GetProcAddress(traceGL_handle, "glColorPointervINTEL");
  traceGL_Native.glTexCoordPointervINTEL = (void (GLAPIENTRY *)(GLint, GLenum, const GLvoid **)) traceGL_GetProcAddress(traceGL_handle, "glTexCoordPointervINTEL");
  traceGL_Native.glPixelTransformParameteriEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glPixelTransformParameteriEXT");
  traceGL_Native.glPixelTransformParameterfEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glPixelTransformParameterfEXT");
  traceGL_Native.glPixelTransformParameterivEXT = (void (GLAPIENTRY *)(GLenum, GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glPixelTransformParameterivEXT");
  traceGL_Native.glPixelTransformParameterfvEXT = (void (GLAPIENTRY *)(GLenum, GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glPixelTransformParameterfvEXT");
  traceGL_Native.glSecondaryColor3bEXT = (void (GLAPIENTRY *)(GLbyte, GLbyte, GLbyte)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3bEXT");
  traceGL_Native.glSecondaryColor3bvEXT = (void (GLAPIENTRY *)(const GLbyte *)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3bvEXT");
  traceGL_Native.glSecondaryColor3dEXT = (void (GLAPIENTRY *)(GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3dEXT");
  traceGL_Native.glSecondaryColor3dvEXT = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3dvEXT");
  traceGL_Native.glSecondaryColor3fEXT = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3fEXT");
  traceGL_Native.glSecondaryColor3fvEXT = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3fvEXT");
  traceGL_Native.glSecondaryColor3iEXT = (void (GLAPIENTRY *)(GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3iEXT");
  traceGL_Native.glSecondaryColor3ivEXT = (void (GLAPIENTRY *)(const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3ivEXT");
  traceGL_Native.glSecondaryColor3sEXT = (void (GLAPIENTRY *)(GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3sEXT");
  traceGL_Native.glSecondaryColor3svEXT = (void (GLAPIENTRY *)(const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3svEXT");
  traceGL_Native.glSecondaryColor3ubEXT = (void (GLAPIENTRY *)(GLubyte, GLubyte, GLubyte)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3ubEXT");
  traceGL_Native.glSecondaryColor3ubvEXT = (void (GLAPIENTRY *)(const GLubyte *)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3ubvEXT");
  traceGL_Native.glSecondaryColor3uiEXT = (void (GLAPIENTRY *)(GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3uiEXT");
  traceGL_Native.glSecondaryColor3uivEXT = (void (GLAPIENTRY *)(const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3uivEXT");
  traceGL_Native.glSecondaryColor3usEXT = (void (GLAPIENTRY *)(GLushort, GLushort, GLushort)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3usEXT");
  traceGL_Native.glSecondaryColor3usvEXT = (void (GLAPIENTRY *)(const GLushort *)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3usvEXT");
  traceGL_Native.glSecondaryColorPointerEXT = (void (GLAPIENTRY *)(GLint, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColorPointerEXT");
  traceGL_Native.glTextureNormalEXT = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glTextureNormalEXT");
  traceGL_Native.glMultiDrawArraysEXT = (void (GLAPIENTRY *)(GLenum, const GLint *, const GLsizei *, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glMultiDrawArraysEXT");
  traceGL_Native.glMultiDrawElementsEXT = (void (GLAPIENTRY *)(GLenum, const GLsizei *, GLenum, const GLvoid **, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glMultiDrawElementsEXT");
  traceGL_Native.glFogCoordfEXT = (void (GLAPIENTRY *)(GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glFogCoordfEXT");
  traceGL_Native.glFogCoordfvEXT = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glFogCoordfvEXT");
  traceGL_Native.glFogCoorddEXT = (void (GLAPIENTRY *)(GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glFogCoorddEXT");
  traceGL_Native.glFogCoorddvEXT = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glFogCoorddvEXT");
  traceGL_Native.glFogCoordPointerEXT = (void (GLAPIENTRY *)(GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glFogCoordPointerEXT");
  traceGL_Native.glTangent3bEXT = (void (GLAPIENTRY *)(GLbyte, GLbyte, GLbyte)) traceGL_GetProcAddress(traceGL_handle, "glTangent3bEXT");
  traceGL_Native.glTangent3bvEXT = (void (GLAPIENTRY *)(const GLbyte *)) traceGL_GetProcAddress(traceGL_handle, "glTangent3bvEXT");
  traceGL_Native.glTangent3dEXT = (void (GLAPIENTRY *)(GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glTangent3dEXT");
  traceGL_Native.glTangent3dvEXT = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glTangent3dvEXT");
  traceGL_Native.glTangent3fEXT = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glTangent3fEXT");
  traceGL_Native.glTangent3fvEXT = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glTangent3fvEXT");
  traceGL_Native.glTangent3iEXT = (void (GLAPIENTRY *)(GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glTangent3iEXT");
  traceGL_Native.glTangent3ivEXT = (void (GLAPIENTRY *)(const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glTangent3ivEXT");
  traceGL_Native.glTangent3sEXT = (void (GLAPIENTRY *)(GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glTangent3sEXT");
  traceGL_Native.glTangent3svEXT = (void (GLAPIENTRY *)(const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glTangent3svEXT");
  traceGL_Native.glBinormal3bEXT = (void (GLAPIENTRY *)(GLbyte, GLbyte, GLbyte)) traceGL_GetProcAddress(traceGL_handle, "glBinormal3bEXT");
  traceGL_Native.glBinormal3bvEXT = (void (GLAPIENTRY *)(const GLbyte *)) traceGL_GetProcAddress(traceGL_handle, "glBinormal3bvEXT");
  traceGL_Native.glBinormal3dEXT = (void (GLAPIENTRY *)(GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glBinormal3dEXT");
  traceGL_Native.glBinormal3dvEXT = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glBinormal3dvEXT");
  traceGL_Native.glBinormal3fEXT = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glBinormal3fEXT");
  traceGL_Native.glBinormal3fvEXT = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glBinormal3fvEXT");
  traceGL_Native.glBinormal3iEXT = (void (GLAPIENTRY *)(GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glBinormal3iEXT");
  traceGL_Native.glBinormal3ivEXT = (void (GLAPIENTRY *)(const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glBinormal3ivEXT");
  traceGL_Native.glBinormal3sEXT = (void (GLAPIENTRY *)(GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glBinormal3sEXT");
  traceGL_Native.glBinormal3svEXT = (void (GLAPIENTRY *)(const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glBinormal3svEXT");
  traceGL_Native.glTangentPointerEXT = (void (GLAPIENTRY *)(GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glTangentPointerEXT");
  traceGL_Native.glBinormalPointerEXT = (void (GLAPIENTRY *)(GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glBinormalPointerEXT");
  traceGL_Native.glFinishTextureSUNX = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glFinishTextureSUNX");
  traceGL_Native.glGlobalAlphaFactorbSUN = (void (GLAPIENTRY *)(GLbyte)) traceGL_GetProcAddress(traceGL_handle, "glGlobalAlphaFactorbSUN");
  traceGL_Native.glGlobalAlphaFactorsSUN = (void (GLAPIENTRY *)(GLshort)) traceGL_GetProcAddress(traceGL_handle, "glGlobalAlphaFactorsSUN");
  traceGL_Native.glGlobalAlphaFactoriSUN = (void (GLAPIENTRY *)(GLint)) traceGL_GetProcAddress(traceGL_handle, "glGlobalAlphaFactoriSUN");
  traceGL_Native.glGlobalAlphaFactorfSUN = (void (GLAPIENTRY *)(GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glGlobalAlphaFactorfSUN");
  traceGL_Native.glGlobalAlphaFactordSUN = (void (GLAPIENTRY *)(GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glGlobalAlphaFactordSUN");
  traceGL_Native.glGlobalAlphaFactorubSUN = (void (GLAPIENTRY *)(GLubyte)) traceGL_GetProcAddress(traceGL_handle, "glGlobalAlphaFactorubSUN");
  traceGL_Native.glGlobalAlphaFactorusSUN = (void (GLAPIENTRY *)(GLushort)) traceGL_GetProcAddress(traceGL_handle, "glGlobalAlphaFactorusSUN");
  traceGL_Native.glGlobalAlphaFactoruiSUN = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glGlobalAlphaFactoruiSUN");
  traceGL_Native.glReplacementCodeuiSUN = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glReplacementCodeuiSUN");
  traceGL_Native.glReplacementCodeusSUN = (void (GLAPIENTRY *)(GLushort)) traceGL_GetProcAddress(traceGL_handle, "glReplacementCodeusSUN");
  traceGL_Native.glReplacementCodeubSUN = (void (GLAPIENTRY *)(GLubyte)) traceGL_GetProcAddress(traceGL_handle, "glReplacementCodeubSUN");
  traceGL_Native.glReplacementCodeuivSUN = (void (GLAPIENTRY *)(const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glReplacementCodeuivSUN");
  traceGL_Native.glReplacementCodeusvSUN = (void (GLAPIENTRY *)(const GLushort *)) traceGL_GetProcAddress(traceGL_handle, "glReplacementCodeusvSUN");
  traceGL_Native.glReplacementCodeubvSUN = (void (GLAPIENTRY *)(const GLubyte *)) traceGL_GetProcAddress(traceGL_handle, "glReplacementCodeubvSUN");
  traceGL_Native.glReplacementCodePointerSUN = (void (GLAPIENTRY *)(GLenum, GLsizei, const GLvoid **)) traceGL_GetProcAddress(traceGL_handle, "glReplacementCodePointerSUN");
  traceGL_Native.glColor4ubVertex2fSUN = (void (GLAPIENTRY *)(GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glColor4ubVertex2fSUN");
  traceGL_Native.glColor4ubVertex2fvSUN = (void (GLAPIENTRY *)(const GLubyte *, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glColor4ubVertex2fvSUN");
  traceGL_Native.glColor4ubVertex3fSUN = (void (GLAPIENTRY *)(GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glColor4ubVertex3fSUN");
  traceGL_Native.glColor4ubVertex3fvSUN = (void (GLAPIENTRY *)(const GLubyte *, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glColor4ubVertex3fvSUN");
  traceGL_Native.glColor3fVertex3fSUN = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glColor3fVertex3fSUN");
  traceGL_Native.glColor3fVertex3fvSUN = (void (GLAPIENTRY *)(const GLfloat *, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glColor3fVertex3fvSUN");
  traceGL_Native.glNormal3fVertex3fSUN = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glNormal3fVertex3fSUN");
  traceGL_Native.glNormal3fVertex3fvSUN = (void (GLAPIENTRY *)(const GLfloat *, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glNormal3fVertex3fvSUN");
  traceGL_Native.glColor4fNormal3fVertex3fSUN = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glColor4fNormal3fVertex3fSUN");
  traceGL_Native.glColor4fNormal3fVertex3fvSUN = (void (GLAPIENTRY *)(const GLfloat *, const GLfloat *, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glColor4fNormal3fVertex3fvSUN");
  traceGL_Native.glTexCoord2fVertex3fSUN = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord2fVertex3fSUN");
  traceGL_Native.glTexCoord2fVertex3fvSUN = (void (GLAPIENTRY *)(const GLfloat *, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord2fVertex3fvSUN");
  traceGL_Native.glTexCoord4fVertex4fSUN = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord4fVertex4fSUN");
  traceGL_Native.glTexCoord4fVertex4fvSUN = (void (GLAPIENTRY *)(const GLfloat *, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord4fVertex4fvSUN");
  traceGL_Native.glTexCoord2fColor4ubVertex3fSUN = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord2fColor4ubVertex3fSUN");
  traceGL_Native.glTexCoord2fColor4ubVertex3fvSUN = (void (GLAPIENTRY *)(const GLfloat *, const GLubyte *, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord2fColor4ubVertex3fvSUN");
  traceGL_Native.glTexCoord2fColor3fVertex3fSUN = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord2fColor3fVertex3fSUN");
  traceGL_Native.glTexCoord2fColor3fVertex3fvSUN = (void (GLAPIENTRY *)(const GLfloat *, const GLfloat *, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord2fColor3fVertex3fvSUN");
  traceGL_Native.glTexCoord2fNormal3fVertex3fSUN = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord2fNormal3fVertex3fSUN");
  traceGL_Native.glTexCoord2fNormal3fVertex3fvSUN = (void (GLAPIENTRY *)(const GLfloat *, const GLfloat *, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord2fNormal3fVertex3fvSUN");
  traceGL_Native.glTexCoord2fColor4fNormal3fVertex3fSUN = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord2fColor4fNormal3fVertex3fSUN");
  traceGL_Native.glTexCoord2fColor4fNormal3fVertex3fvSUN = (void (GLAPIENTRY *)(const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord2fColor4fNormal3fVertex3fvSUN");
  traceGL_Native.glTexCoord4fColor4fNormal3fVertex4fSUN = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord4fColor4fNormal3fVertex4fSUN");
  traceGL_Native.glTexCoord4fColor4fNormal3fVertex4fvSUN = (void (GLAPIENTRY *)(const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord4fColor4fNormal3fVertex4fvSUN");
  traceGL_Native.glReplacementCodeuiVertex3fSUN = (void (GLAPIENTRY *)(GLuint, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glReplacementCodeuiVertex3fSUN");
  traceGL_Native.glReplacementCodeuiVertex3fvSUN = (void (GLAPIENTRY *)(const GLuint *, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glReplacementCodeuiVertex3fvSUN");
  traceGL_Native.glReplacementCodeuiColor4ubVertex3fSUN = (void (GLAPIENTRY *)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glReplacementCodeuiColor4ubVertex3fSUN");
  traceGL_Native.glReplacementCodeuiColor4ubVertex3fvSUN = (void (GLAPIENTRY *)(const GLuint *, const GLubyte *, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glReplacementCodeuiColor4ubVertex3fvSUN");
  traceGL_Native.glReplacementCodeuiColor3fVertex3fSUN = (void (GLAPIENTRY *)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glReplacementCodeuiColor3fVertex3fSUN");
  traceGL_Native.glReplacementCodeuiColor3fVertex3fvSUN = (void (GLAPIENTRY *)(const GLuint *, const GLfloat *, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glReplacementCodeuiColor3fVertex3fvSUN");
  traceGL_Native.glReplacementCodeuiNormal3fVertex3fSUN = (void (GLAPIENTRY *)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glReplacementCodeuiNormal3fVertex3fSUN");
  traceGL_Native.glReplacementCodeuiNormal3fVertex3fvSUN = (void (GLAPIENTRY *)(const GLuint *, const GLfloat *, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glReplacementCodeuiNormal3fVertex3fvSUN");
  traceGL_Native.glReplacementCodeuiColor4fNormal3fVertex3fSUN = (void (GLAPIENTRY *)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glReplacementCodeuiColor4fNormal3fVertex3fSUN");
  traceGL_Native.glReplacementCodeuiColor4fNormal3fVertex3fvSUN = (void (GLAPIENTRY *)(const GLuint *, const GLfloat *, const GLfloat *, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glReplacementCodeuiColor4fNormal3fVertex3fvSUN");
  traceGL_Native.glReplacementCodeuiTexCoord2fVertex3fSUN = (void (GLAPIENTRY *)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glReplacementCodeuiTexCoord2fVertex3fSUN");
  traceGL_Native.glReplacementCodeuiTexCoord2fVertex3fvSUN = (void (GLAPIENTRY *)(const GLuint *, const GLfloat *, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glReplacementCodeuiTexCoord2fVertex3fvSUN");
  traceGL_Native.glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN = (void (GLAPIENTRY *)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN");
  traceGL_Native.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN = (void (GLAPIENTRY *)(const GLuint *, const GLfloat *, const GLfloat *, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN");
  traceGL_Native.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN = (void (GLAPIENTRY *)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN");
  traceGL_Native.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN = (void (GLAPIENTRY *)(const GLuint *, const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN");
  traceGL_Native.glBlendFuncSeparateEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBlendFuncSeparateEXT");
  traceGL_Native.glBlendFuncSeparateINGR = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBlendFuncSeparateINGR");
  traceGL_Native.glVertexWeightfEXT = (void (GLAPIENTRY *)(GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glVertexWeightfEXT");
  traceGL_Native.glVertexWeightfvEXT = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glVertexWeightfvEXT");
  traceGL_Native.glVertexWeightPointerEXT = (void (GLAPIENTRY *)(GLsizei, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glVertexWeightPointerEXT");
  traceGL_Native.glFlushVertexArrayRangeNV = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glFlushVertexArrayRangeNV");
  traceGL_Native.glVertexArrayRangeNV = (void (GLAPIENTRY *)(GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glVertexArrayRangeNV");
  traceGL_Native.glCombinerParameterfvNV = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glCombinerParameterfvNV");
  traceGL_Native.glCombinerParameterfNV = (void (GLAPIENTRY *)(GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glCombinerParameterfNV");
  traceGL_Native.glCombinerParameterivNV = (void (GLAPIENTRY *)(GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glCombinerParameterivNV");
  traceGL_Native.glCombinerParameteriNV = (void (GLAPIENTRY *)(GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glCombinerParameteriNV");
  traceGL_Native.glCombinerInputNV = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLenum, GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glCombinerInputNV");
  traceGL_Native.glCombinerOutputNV = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLboolean, GLboolean, GLboolean)) traceGL_GetProcAddress(traceGL_handle, "glCombinerOutputNV");
  traceGL_Native.glFinalCombinerInputNV = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glFinalCombinerInputNV");
  traceGL_Native.glGetCombinerInputParameterfvNV = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetCombinerInputParameterfvNV");
  traceGL_Native.glGetCombinerInputParameterivNV = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetCombinerInputParameterivNV");
  traceGL_Native.glGetCombinerOutputParameterfvNV = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetCombinerOutputParameterfvNV");
  traceGL_Native.glGetCombinerOutputParameterivNV = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetCombinerOutputParameterivNV");
  traceGL_Native.glGetFinalCombinerInputParameterfvNV = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetFinalCombinerInputParameterfvNV");
  traceGL_Native.glGetFinalCombinerInputParameterivNV = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetFinalCombinerInputParameterivNV");
  traceGL_Native.glResizeBuffersMESA = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glResizeBuffersMESA");
  traceGL_Native.glWindowPos2dMESA = (void (GLAPIENTRY *)(GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos2dMESA");
  traceGL_Native.glWindowPos2dvMESA = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos2dvMESA");
  traceGL_Native.glWindowPos2fMESA = (void (GLAPIENTRY *)(GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos2fMESA");
  traceGL_Native.glWindowPos2fvMESA = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos2fvMESA");
  traceGL_Native.glWindowPos2iMESA = (void (GLAPIENTRY *)(GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos2iMESA");
  traceGL_Native.glWindowPos2ivMESA = (void (GLAPIENTRY *)(const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos2ivMESA");
  traceGL_Native.glWindowPos2sMESA = (void (GLAPIENTRY *)(GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos2sMESA");
  traceGL_Native.glWindowPos2svMESA = (void (GLAPIENTRY *)(const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos2svMESA");
  traceGL_Native.glWindowPos3dMESA = (void (GLAPIENTRY *)(GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos3dMESA");
  traceGL_Native.glWindowPos3dvMESA = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos3dvMESA");
  traceGL_Native.glWindowPos3fMESA = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos3fMESA");
  traceGL_Native.glWindowPos3fvMESA = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos3fvMESA");
  traceGL_Native.glWindowPos3iMESA = (void (GLAPIENTRY *)(GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos3iMESA");
  traceGL_Native.glWindowPos3ivMESA = (void (GLAPIENTRY *)(const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos3ivMESA");
  traceGL_Native.glWindowPos3sMESA = (void (GLAPIENTRY *)(GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos3sMESA");
  traceGL_Native.glWindowPos3svMESA = (void (GLAPIENTRY *)(const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos3svMESA");
  traceGL_Native.glWindowPos4dMESA = (void (GLAPIENTRY *)(GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos4dMESA");
  traceGL_Native.glWindowPos4dvMESA = (void (GLAPIENTRY *)(const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos4dvMESA");
  traceGL_Native.glWindowPos4fMESA = (void (GLAPIENTRY *)(GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos4fMESA");
  traceGL_Native.glWindowPos4fvMESA = (void (GLAPIENTRY *)(const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos4fvMESA");
  traceGL_Native.glWindowPos4iMESA = (void (GLAPIENTRY *)(GLint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos4iMESA");
  traceGL_Native.glWindowPos4ivMESA = (void (GLAPIENTRY *)(const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos4ivMESA");
  traceGL_Native.glWindowPos4sMESA = (void (GLAPIENTRY *)(GLshort, GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos4sMESA");
  traceGL_Native.glWindowPos4svMESA = (void (GLAPIENTRY *)(const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glWindowPos4svMESA");
  traceGL_Native.glMultiModeDrawArraysIBM = (void (GLAPIENTRY *)(const GLenum *, const GLint *, const GLsizei *, GLsizei, GLint)) traceGL_GetProcAddress(traceGL_handle, "glMultiModeDrawArraysIBM");
  traceGL_Native.glMultiModeDrawElementsIBM = (void (GLAPIENTRY *)(const GLenum *, const GLsizei *, GLenum, const GLvoid * const *, GLsizei, GLint)) traceGL_GetProcAddress(traceGL_handle, "glMultiModeDrawElementsIBM");
  traceGL_Native.glColorPointerListIBM = (void (GLAPIENTRY *)(GLint, GLenum, GLint, const GLvoid **, GLint)) traceGL_GetProcAddress(traceGL_handle, "glColorPointerListIBM");
  traceGL_Native.glSecondaryColorPointerListIBM = (void (GLAPIENTRY *)(GLint, GLenum, GLint, const GLvoid **, GLint)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColorPointerListIBM");
  traceGL_Native.glEdgeFlagPointerListIBM = (void (GLAPIENTRY *)(GLint, const GLboolean **, GLint)) traceGL_GetProcAddress(traceGL_handle, "glEdgeFlagPointerListIBM");
  traceGL_Native.glFogCoordPointerListIBM = (void (GLAPIENTRY *)(GLenum, GLint, const GLvoid **, GLint)) traceGL_GetProcAddress(traceGL_handle, "glFogCoordPointerListIBM");
  traceGL_Native.glIndexPointerListIBM = (void (GLAPIENTRY *)(GLenum, GLint, const GLvoid **, GLint)) traceGL_GetProcAddress(traceGL_handle, "glIndexPointerListIBM");
  traceGL_Native.glNormalPointerListIBM = (void (GLAPIENTRY *)(GLenum, GLint, const GLvoid **, GLint)) traceGL_GetProcAddress(traceGL_handle, "glNormalPointerListIBM");
  traceGL_Native.glTexCoordPointerListIBM = (void (GLAPIENTRY *)(GLint, GLenum, GLint, const GLvoid **, GLint)) traceGL_GetProcAddress(traceGL_handle, "glTexCoordPointerListIBM");
  traceGL_Native.glVertexPointerListIBM = (void (GLAPIENTRY *)(GLint, GLenum, GLint, const GLvoid **, GLint)) traceGL_GetProcAddress(traceGL_handle, "glVertexPointerListIBM");
  traceGL_Native.glTbufferMask3DFX = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glTbufferMask3DFX");
  traceGL_Native.glSampleMaskEXT = (void (GLAPIENTRY *)(GLclampf, GLboolean)) traceGL_GetProcAddress(traceGL_handle, "glSampleMaskEXT");
  traceGL_Native.glSamplePatternEXT = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glSamplePatternEXT");
  traceGL_Native.glTextureColorMaskSGIS = (void (GLAPIENTRY *)(GLboolean, GLboolean, GLboolean, GLboolean)) traceGL_GetProcAddress(traceGL_handle, "glTextureColorMaskSGIS");
  traceGL_Native.glIglooInterfaceSGIX = (void (GLAPIENTRY *)(GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glIglooInterfaceSGIX");
  traceGL_Native.glDeleteFencesNV = (void (GLAPIENTRY *)(GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glDeleteFencesNV");
  traceGL_Native.glGenFencesNV = (void (GLAPIENTRY *)(GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGenFencesNV");
  traceGL_Native.glIsFenceNV = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsFenceNV");
  traceGL_Native.glTestFenceNV = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glTestFenceNV");
  traceGL_Native.glGetFenceivNV = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetFenceivNV");
  traceGL_Native.glFinishFenceNV = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glFinishFenceNV");
  traceGL_Native.glSetFenceNV = (void (GLAPIENTRY *)(GLuint, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glSetFenceNV");
  traceGL_Native.glMapControlPointsNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLenum, GLsizei, GLsizei, GLint, GLint, GLboolean, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glMapControlPointsNV");
  traceGL_Native.glMapParameterivNV = (void (GLAPIENTRY *)(GLenum, GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glMapParameterivNV");
  traceGL_Native.glMapParameterfvNV = (void (GLAPIENTRY *)(GLenum, GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glMapParameterfvNV");
  traceGL_Native.glGetMapControlPointsNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLenum, GLsizei, GLsizei, GLboolean, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetMapControlPointsNV");
  traceGL_Native.glGetMapParameterivNV = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetMapParameterivNV");
  traceGL_Native.glGetMapParameterfvNV = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetMapParameterfvNV");
  traceGL_Native.glGetMapAttribParameterivNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetMapAttribParameterivNV");
  traceGL_Native.glGetMapAttribParameterfvNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetMapAttribParameterfvNV");
  traceGL_Native.glEvalMapsNV = (void (GLAPIENTRY *)(GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glEvalMapsNV");
  traceGL_Native.glCombinerStageParameterfvNV = (void (GLAPIENTRY *)(GLenum, GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glCombinerStageParameterfvNV");
  traceGL_Native.glGetCombinerStageParameterfvNV = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetCombinerStageParameterfvNV");
  traceGL_Native.glAreProgramsResidentNV = (GLboolean (GLAPIENTRY *)(GLsizei, const GLuint *, GLboolean *)) traceGL_GetProcAddress(traceGL_handle, "glAreProgramsResidentNV");
  traceGL_Native.glBindProgramNV = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBindProgramNV");
  traceGL_Native.glDeleteProgramsNV = (void (GLAPIENTRY *)(GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glDeleteProgramsNV");
  traceGL_Native.glExecuteProgramNV = (void (GLAPIENTRY *)(GLenum, GLuint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glExecuteProgramNV");
  traceGL_Native.glGenProgramsNV = (void (GLAPIENTRY *)(GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGenProgramsNV");
  traceGL_Native.glGetProgramParameterdvNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLenum, GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glGetProgramParameterdvNV");
  traceGL_Native.glGetProgramParameterfvNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetProgramParameterfvNV");
  traceGL_Native.glGetProgramivNV = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetProgramivNV");
  traceGL_Native.glGetProgramStringNV = (void (GLAPIENTRY *)(GLuint, GLenum, GLubyte *)) traceGL_GetProcAddress(traceGL_handle, "glGetProgramStringNV");
  traceGL_Native.glGetTrackMatrixivNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetTrackMatrixivNV");
  traceGL_Native.glGetVertexAttribdvNV = (void (GLAPIENTRY *)(GLuint, GLenum, GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glGetVertexAttribdvNV");
  traceGL_Native.glGetVertexAttribfvNV = (void (GLAPIENTRY *)(GLuint, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetVertexAttribfvNV");
  traceGL_Native.glGetVertexAttribivNV = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetVertexAttribivNV");
  traceGL_Native.glGetVertexAttribPointervNV = (void (GLAPIENTRY *)(GLuint, GLenum, GLvoid **)) traceGL_GetProcAddress(traceGL_handle, "glGetVertexAttribPointervNV");
  traceGL_Native.glIsProgramNV = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsProgramNV");
  traceGL_Native.glLoadProgramNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLsizei, const GLubyte *)) traceGL_GetProcAddress(traceGL_handle, "glLoadProgramNV");
  traceGL_Native.glProgramParameter4dNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glProgramParameter4dNV");
  traceGL_Native.glProgramParameter4dvNV = (void (GLAPIENTRY *)(GLenum, GLuint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramParameter4dvNV");
  traceGL_Native.glProgramParameter4fNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glProgramParameter4fNV");
  traceGL_Native.glProgramParameter4fvNV = (void (GLAPIENTRY *)(GLenum, GLuint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramParameter4fvNV");
  traceGL_Native.glProgramParameters4dvNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramParameters4dvNV");
  traceGL_Native.glProgramParameters4fvNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramParameters4fvNV");
  traceGL_Native.glRequestResidentProgramsNV = (void (GLAPIENTRY *)(GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glRequestResidentProgramsNV");
  traceGL_Native.glTrackMatrixNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glTrackMatrixNV");
  traceGL_Native.glVertexAttribPointerNV = (void (GLAPIENTRY *)(GLuint, GLint, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribPointerNV");
  traceGL_Native.glVertexAttrib1dNV = (void (GLAPIENTRY *)(GLuint, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib1dNV");
  traceGL_Native.glVertexAttrib1dvNV = (void (GLAPIENTRY *)(GLuint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib1dvNV");
  traceGL_Native.glVertexAttrib1fNV = (void (GLAPIENTRY *)(GLuint, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib1fNV");
  traceGL_Native.glVertexAttrib1fvNV = (void (GLAPIENTRY *)(GLuint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib1fvNV");
  traceGL_Native.glVertexAttrib1sNV = (void (GLAPIENTRY *)(GLuint, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib1sNV");
  traceGL_Native.glVertexAttrib1svNV = (void (GLAPIENTRY *)(GLuint, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib1svNV");
  traceGL_Native.glVertexAttrib2dNV = (void (GLAPIENTRY *)(GLuint, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib2dNV");
  traceGL_Native.glVertexAttrib2dvNV = (void (GLAPIENTRY *)(GLuint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib2dvNV");
  traceGL_Native.glVertexAttrib2fNV = (void (GLAPIENTRY *)(GLuint, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib2fNV");
  traceGL_Native.glVertexAttrib2fvNV = (void (GLAPIENTRY *)(GLuint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib2fvNV");
  traceGL_Native.glVertexAttrib2sNV = (void (GLAPIENTRY *)(GLuint, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib2sNV");
  traceGL_Native.glVertexAttrib2svNV = (void (GLAPIENTRY *)(GLuint, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib2svNV");
  traceGL_Native.glVertexAttrib3dNV = (void (GLAPIENTRY *)(GLuint, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib3dNV");
  traceGL_Native.glVertexAttrib3dvNV = (void (GLAPIENTRY *)(GLuint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib3dvNV");
  traceGL_Native.glVertexAttrib3fNV = (void (GLAPIENTRY *)(GLuint, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib3fNV");
  traceGL_Native.glVertexAttrib3fvNV = (void (GLAPIENTRY *)(GLuint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib3fvNV");
  traceGL_Native.glVertexAttrib3sNV = (void (GLAPIENTRY *)(GLuint, GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib3sNV");
  traceGL_Native.glVertexAttrib3svNV = (void (GLAPIENTRY *)(GLuint, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib3svNV");
  traceGL_Native.glVertexAttrib4dNV = (void (GLAPIENTRY *)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4dNV");
  traceGL_Native.glVertexAttrib4dvNV = (void (GLAPIENTRY *)(GLuint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4dvNV");
  traceGL_Native.glVertexAttrib4fNV = (void (GLAPIENTRY *)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4fNV");
  traceGL_Native.glVertexAttrib4fvNV = (void (GLAPIENTRY *)(GLuint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4fvNV");
  traceGL_Native.glVertexAttrib4sNV = (void (GLAPIENTRY *)(GLuint, GLshort, GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4sNV");
  traceGL_Native.glVertexAttrib4svNV = (void (GLAPIENTRY *)(GLuint, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4svNV");
  traceGL_Native.glVertexAttrib4ubNV = (void (GLAPIENTRY *)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4ubNV");
  traceGL_Native.glVertexAttrib4ubvNV = (void (GLAPIENTRY *)(GLuint, const GLubyte *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4ubvNV");
  traceGL_Native.glVertexAttribs1dvNV = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribs1dvNV");
  traceGL_Native.glVertexAttribs1fvNV = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribs1fvNV");
  traceGL_Native.glVertexAttribs1svNV = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribs1svNV");
  traceGL_Native.glVertexAttribs2dvNV = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribs2dvNV");
  traceGL_Native.glVertexAttribs2fvNV = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribs2fvNV");
  traceGL_Native.glVertexAttribs2svNV = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribs2svNV");
  traceGL_Native.glVertexAttribs3dvNV = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribs3dvNV");
  traceGL_Native.glVertexAttribs3fvNV = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribs3fvNV");
  traceGL_Native.glVertexAttribs3svNV = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribs3svNV");
  traceGL_Native.glVertexAttribs4dvNV = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribs4dvNV");
  traceGL_Native.glVertexAttribs4fvNV = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribs4fvNV");
  traceGL_Native.glVertexAttribs4svNV = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribs4svNV");
  traceGL_Native.glVertexAttribs4ubvNV = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLubyte *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribs4ubvNV");
  traceGL_Native.glTexBumpParameterivATI = (void (GLAPIENTRY *)(GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glTexBumpParameterivATI");
  traceGL_Native.glTexBumpParameterfvATI = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glTexBumpParameterfvATI");
  traceGL_Native.glGetTexBumpParameterivATI = (void (GLAPIENTRY *)(GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetTexBumpParameterivATI");
  traceGL_Native.glGetTexBumpParameterfvATI = (void (GLAPIENTRY *)(GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetTexBumpParameterfvATI");
  traceGL_Native.glGenFragmentShadersATI = (GLuint (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glGenFragmentShadersATI");
  traceGL_Native.glBindFragmentShaderATI = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBindFragmentShaderATI");
  traceGL_Native.glDeleteFragmentShaderATI = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glDeleteFragmentShaderATI");
  traceGL_Native.glBeginFragmentShaderATI = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glBeginFragmentShaderATI");
  traceGL_Native.glEndFragmentShaderATI = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glEndFragmentShaderATI");
  traceGL_Native.glPassTexCoordATI = (void (GLAPIENTRY *)(GLuint, GLuint, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glPassTexCoordATI");
  traceGL_Native.glSampleMapATI = (void (GLAPIENTRY *)(GLuint, GLuint, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glSampleMapATI");
  traceGL_Native.glColorFragmentOp1ATI = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glColorFragmentOp1ATI");
  traceGL_Native.glColorFragmentOp2ATI = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glColorFragmentOp2ATI");
  traceGL_Native.glColorFragmentOp3ATI = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glColorFragmentOp3ATI");
  traceGL_Native.glAlphaFragmentOp1ATI = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glAlphaFragmentOp1ATI");
  traceGL_Native.glAlphaFragmentOp2ATI = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glAlphaFragmentOp2ATI");
  traceGL_Native.glAlphaFragmentOp3ATI = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glAlphaFragmentOp3ATI");
  traceGL_Native.glSetFragmentShaderConstantATI = (void (GLAPIENTRY *)(GLuint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glSetFragmentShaderConstantATI");
  traceGL_Native.glPNTrianglesiATI = (void (GLAPIENTRY *)(GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glPNTrianglesiATI");
  traceGL_Native.glPNTrianglesfATI = (void (GLAPIENTRY *)(GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glPNTrianglesfATI");
  traceGL_Native.glNewObjectBufferATI = (GLuint (GLAPIENTRY *)(GLsizei, const GLvoid *, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glNewObjectBufferATI");
  traceGL_Native.glIsObjectBufferATI = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsObjectBufferATI");
  traceGL_Native.glUpdateObjectBufferATI = (void (GLAPIENTRY *)(GLuint, GLuint, GLsizei, const GLvoid *, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glUpdateObjectBufferATI");
  traceGL_Native.glGetObjectBufferfvATI = (void (GLAPIENTRY *)(GLuint, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetObjectBufferfvATI");
  traceGL_Native.glGetObjectBufferivATI = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetObjectBufferivATI");
  traceGL_Native.glFreeObjectBufferATI = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glFreeObjectBufferATI");
  traceGL_Native.glArrayObjectATI = (void (GLAPIENTRY *)(GLenum, GLint, GLenum, GLsizei, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glArrayObjectATI");
  traceGL_Native.glGetArrayObjectfvATI = (void (GLAPIENTRY *)(GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetArrayObjectfvATI");
  traceGL_Native.glGetArrayObjectivATI = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetArrayObjectivATI");
  traceGL_Native.glVariantArrayObjectATI = (void (GLAPIENTRY *)(GLuint, GLenum, GLsizei, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glVariantArrayObjectATI");
  traceGL_Native.glGetVariantArrayObjectfvATI = (void (GLAPIENTRY *)(GLuint, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetVariantArrayObjectfvATI");
  traceGL_Native.glGetVariantArrayObjectivATI = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetVariantArrayObjectivATI");
  traceGL_Native.glBeginVertexShaderEXT = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glBeginVertexShaderEXT");
  traceGL_Native.glEndVertexShaderEXT = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glEndVertexShaderEXT");
  traceGL_Native.glBindVertexShaderEXT = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBindVertexShaderEXT");
  traceGL_Native.glGenVertexShadersEXT = (GLuint (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glGenVertexShadersEXT");
  traceGL_Native.glDeleteVertexShaderEXT = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glDeleteVertexShaderEXT");
  traceGL_Native.glShaderOp1EXT = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glShaderOp1EXT");
  traceGL_Native.glShaderOp2EXT = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glShaderOp2EXT");
  traceGL_Native.glShaderOp3EXT = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glShaderOp3EXT");
  traceGL_Native.glSwizzleEXT = (void (GLAPIENTRY *)(GLuint, GLuint, GLenum, GLenum, GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glSwizzleEXT");
  traceGL_Native.glWriteMaskEXT = (void (GLAPIENTRY *)(GLuint, GLuint, GLenum, GLenum, GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glWriteMaskEXT");
  traceGL_Native.glInsertComponentEXT = (void (GLAPIENTRY *)(GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glInsertComponentEXT");
  traceGL_Native.glExtractComponentEXT = (void (GLAPIENTRY *)(GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glExtractComponentEXT");
  traceGL_Native.glGenSymbolsEXT = (GLuint (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glGenSymbolsEXT");
  traceGL_Native.glSetInvariantEXT = (void (GLAPIENTRY *)(GLuint, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glSetInvariantEXT");
  traceGL_Native.glSetLocalConstantEXT = (void (GLAPIENTRY *)(GLuint, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glSetLocalConstantEXT");
  traceGL_Native.glVariantbvEXT = (void (GLAPIENTRY *)(GLuint, const GLbyte *)) traceGL_GetProcAddress(traceGL_handle, "glVariantbvEXT");
  traceGL_Native.glVariantsvEXT = (void (GLAPIENTRY *)(GLuint, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVariantsvEXT");
  traceGL_Native.glVariantivEXT = (void (GLAPIENTRY *)(GLuint, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glVariantivEXT");
  traceGL_Native.glVariantfvEXT = (void (GLAPIENTRY *)(GLuint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glVariantfvEXT");
  traceGL_Native.glVariantdvEXT = (void (GLAPIENTRY *)(GLuint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVariantdvEXT");
  traceGL_Native.glVariantubvEXT = (void (GLAPIENTRY *)(GLuint, const GLubyte *)) traceGL_GetProcAddress(traceGL_handle, "glVariantubvEXT");
  traceGL_Native.glVariantusvEXT = (void (GLAPIENTRY *)(GLuint, const GLushort *)) traceGL_GetProcAddress(traceGL_handle, "glVariantusvEXT");
  traceGL_Native.glVariantuivEXT = (void (GLAPIENTRY *)(GLuint, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glVariantuivEXT");
  traceGL_Native.glVariantPointerEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glVariantPointerEXT");
  traceGL_Native.glEnableVariantClientStateEXT = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glEnableVariantClientStateEXT");
  traceGL_Native.glDisableVariantClientStateEXT = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glDisableVariantClientStateEXT");
  traceGL_Native.glBindLightParameterEXT = (GLuint (GLAPIENTRY *)(GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBindLightParameterEXT");
  traceGL_Native.glBindMaterialParameterEXT = (GLuint (GLAPIENTRY *)(GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBindMaterialParameterEXT");
  traceGL_Native.glBindTexGenParameterEXT = (GLuint (GLAPIENTRY *)(GLenum, GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBindTexGenParameterEXT");
  traceGL_Native.glBindTextureUnitParameterEXT = (GLuint (GLAPIENTRY *)(GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBindTextureUnitParameterEXT");
  traceGL_Native.glBindParameterEXT = (GLuint (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBindParameterEXT");
  traceGL_Native.glIsVariantEnabledEXT = (GLboolean (GLAPIENTRY *)(GLuint, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glIsVariantEnabledEXT");
  traceGL_Native.glGetVariantBooleanvEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLboolean *)) traceGL_GetProcAddress(traceGL_handle, "glGetVariantBooleanvEXT");
  traceGL_Native.glGetVariantIntegervEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetVariantIntegervEXT");
  traceGL_Native.glGetVariantFloatvEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetVariantFloatvEXT");
  traceGL_Native.glGetVariantPointervEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLvoid **)) traceGL_GetProcAddress(traceGL_handle, "glGetVariantPointervEXT");
  traceGL_Native.glGetInvariantBooleanvEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLboolean *)) traceGL_GetProcAddress(traceGL_handle, "glGetInvariantBooleanvEXT");
  traceGL_Native.glGetInvariantIntegervEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetInvariantIntegervEXT");
  traceGL_Native.glGetInvariantFloatvEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetInvariantFloatvEXT");
  traceGL_Native.glGetLocalConstantBooleanvEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLboolean *)) traceGL_GetProcAddress(traceGL_handle, "glGetLocalConstantBooleanvEXT");
  traceGL_Native.glGetLocalConstantIntegervEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetLocalConstantIntegervEXT");
  traceGL_Native.glGetLocalConstantFloatvEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetLocalConstantFloatvEXT");
  traceGL_Native.glVertexStream1sATI = (void (GLAPIENTRY *)(GLenum, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream1sATI");
  traceGL_Native.glVertexStream1svATI = (void (GLAPIENTRY *)(GLenum, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream1svATI");
  traceGL_Native.glVertexStream1iATI = (void (GLAPIENTRY *)(GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream1iATI");
  traceGL_Native.glVertexStream1ivATI = (void (GLAPIENTRY *)(GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream1ivATI");
  traceGL_Native.glVertexStream1fATI = (void (GLAPIENTRY *)(GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream1fATI");
  traceGL_Native.glVertexStream1fvATI = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream1fvATI");
  traceGL_Native.glVertexStream1dATI = (void (GLAPIENTRY *)(GLenum, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream1dATI");
  traceGL_Native.glVertexStream1dvATI = (void (GLAPIENTRY *)(GLenum, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream1dvATI");
  traceGL_Native.glVertexStream2sATI = (void (GLAPIENTRY *)(GLenum, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream2sATI");
  traceGL_Native.glVertexStream2svATI = (void (GLAPIENTRY *)(GLenum, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream2svATI");
  traceGL_Native.glVertexStream2iATI = (void (GLAPIENTRY *)(GLenum, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream2iATI");
  traceGL_Native.glVertexStream2ivATI = (void (GLAPIENTRY *)(GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream2ivATI");
  traceGL_Native.glVertexStream2fATI = (void (GLAPIENTRY *)(GLenum, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream2fATI");
  traceGL_Native.glVertexStream2fvATI = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream2fvATI");
  traceGL_Native.glVertexStream2dATI = (void (GLAPIENTRY *)(GLenum, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream2dATI");
  traceGL_Native.glVertexStream2dvATI = (void (GLAPIENTRY *)(GLenum, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream2dvATI");
  traceGL_Native.glVertexStream3sATI = (void (GLAPIENTRY *)(GLenum, GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream3sATI");
  traceGL_Native.glVertexStream3svATI = (void (GLAPIENTRY *)(GLenum, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream3svATI");
  traceGL_Native.glVertexStream3iATI = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream3iATI");
  traceGL_Native.glVertexStream3ivATI = (void (GLAPIENTRY *)(GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream3ivATI");
  traceGL_Native.glVertexStream3fATI = (void (GLAPIENTRY *)(GLenum, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream3fATI");
  traceGL_Native.glVertexStream3fvATI = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream3fvATI");
  traceGL_Native.glVertexStream3dATI = (void (GLAPIENTRY *)(GLenum, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream3dATI");
  traceGL_Native.glVertexStream3dvATI = (void (GLAPIENTRY *)(GLenum, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream3dvATI");
  traceGL_Native.glVertexStream4sATI = (void (GLAPIENTRY *)(GLenum, GLshort, GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream4sATI");
  traceGL_Native.glVertexStream4svATI = (void (GLAPIENTRY *)(GLenum, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream4svATI");
  traceGL_Native.glVertexStream4iATI = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream4iATI");
  traceGL_Native.glVertexStream4ivATI = (void (GLAPIENTRY *)(GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream4ivATI");
  traceGL_Native.glVertexStream4fATI = (void (GLAPIENTRY *)(GLenum, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream4fATI");
  traceGL_Native.glVertexStream4fvATI = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream4fvATI");
  traceGL_Native.glVertexStream4dATI = (void (GLAPIENTRY *)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream4dATI");
  traceGL_Native.glVertexStream4dvATI = (void (GLAPIENTRY *)(GLenum, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexStream4dvATI");
  traceGL_Native.glNormalStream3bATI = (void (GLAPIENTRY *)(GLenum, GLbyte, GLbyte, GLbyte)) traceGL_GetProcAddress(traceGL_handle, "glNormalStream3bATI");
  traceGL_Native.glNormalStream3bvATI = (void (GLAPIENTRY *)(GLenum, const GLbyte *)) traceGL_GetProcAddress(traceGL_handle, "glNormalStream3bvATI");
  traceGL_Native.glNormalStream3sATI = (void (GLAPIENTRY *)(GLenum, GLshort, GLshort, GLshort)) traceGL_GetProcAddress(traceGL_handle, "glNormalStream3sATI");
  traceGL_Native.glNormalStream3svATI = (void (GLAPIENTRY *)(GLenum, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glNormalStream3svATI");
  traceGL_Native.glNormalStream3iATI = (void (GLAPIENTRY *)(GLenum, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glNormalStream3iATI");
  traceGL_Native.glNormalStream3ivATI = (void (GLAPIENTRY *)(GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glNormalStream3ivATI");
  traceGL_Native.glNormalStream3fATI = (void (GLAPIENTRY *)(GLenum, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glNormalStream3fATI");
  traceGL_Native.glNormalStream3fvATI = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glNormalStream3fvATI");
  traceGL_Native.glNormalStream3dATI = (void (GLAPIENTRY *)(GLenum, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glNormalStream3dATI");
  traceGL_Native.glNormalStream3dvATI = (void (GLAPIENTRY *)(GLenum, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glNormalStream3dvATI");
  traceGL_Native.glClientActiveVertexStreamATI = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glClientActiveVertexStreamATI");
  traceGL_Native.glVertexBlendEnviATI = (void (GLAPIENTRY *)(GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glVertexBlendEnviATI");
  traceGL_Native.glVertexBlendEnvfATI = (void (GLAPIENTRY *)(GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glVertexBlendEnvfATI");
  traceGL_Native.glElementPointerATI = (void (GLAPIENTRY *)(GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glElementPointerATI");
  traceGL_Native.glDrawElementArrayATI = (void (GLAPIENTRY *)(GLenum, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glDrawElementArrayATI");
  traceGL_Native.glDrawRangeElementArrayATI = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glDrawRangeElementArrayATI");
  traceGL_Native.glDrawMeshArraysSUN = (void (GLAPIENTRY *)(GLenum, GLint, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glDrawMeshArraysSUN");
  traceGL_Native.glGenOcclusionQueriesNV = (void (GLAPIENTRY *)(GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGenOcclusionQueriesNV");
  traceGL_Native.glDeleteOcclusionQueriesNV = (void (GLAPIENTRY *)(GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glDeleteOcclusionQueriesNV");
  traceGL_Native.glIsOcclusionQueryNV = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsOcclusionQueryNV");
  traceGL_Native.glBeginOcclusionQueryNV = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBeginOcclusionQueryNV");
  traceGL_Native.glEndOcclusionQueryNV = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glEndOcclusionQueryNV");
  traceGL_Native.glGetOcclusionQueryivNV = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetOcclusionQueryivNV");
  traceGL_Native.glGetOcclusionQueryuivNV = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGetOcclusionQueryuivNV");
  traceGL_Native.glPointParameteriNV = (void (GLAPIENTRY *)(GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glPointParameteriNV");
  traceGL_Native.glPointParameterivNV = (void (GLAPIENTRY *)(GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glPointParameterivNV");
  traceGL_Native.glActiveStencilFaceEXT = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glActiveStencilFaceEXT");
  traceGL_Native.glElementPointerAPPLE = (void (GLAPIENTRY *)(GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glElementPointerAPPLE");
  traceGL_Native.glDrawElementArrayAPPLE = (void (GLAPIENTRY *)(GLenum, GLint, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glDrawElementArrayAPPLE");
  traceGL_Native.glDrawRangeElementArrayAPPLE = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint, GLint, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glDrawRangeElementArrayAPPLE");
  traceGL_Native.glMultiDrawElementArrayAPPLE = (void (GLAPIENTRY *)(GLenum, const GLint *, const GLsizei *, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glMultiDrawElementArrayAPPLE");
  traceGL_Native.glMultiDrawRangeElementArrayAPPLE = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint, const GLint *, const GLsizei *, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glMultiDrawRangeElementArrayAPPLE");
  traceGL_Native.glGenFencesAPPLE = (void (GLAPIENTRY *)(GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGenFencesAPPLE");
  traceGL_Native.glDeleteFencesAPPLE = (void (GLAPIENTRY *)(GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glDeleteFencesAPPLE");
  traceGL_Native.glSetFenceAPPLE = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glSetFenceAPPLE");
  traceGL_Native.glIsFenceAPPLE = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsFenceAPPLE");
  traceGL_Native.glTestFenceAPPLE = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glTestFenceAPPLE");
  traceGL_Native.glFinishFenceAPPLE = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glFinishFenceAPPLE");
  traceGL_Native.glTestObjectAPPLE = (GLboolean (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glTestObjectAPPLE");
  traceGL_Native.glFinishObjectAPPLE = (void (GLAPIENTRY *)(GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glFinishObjectAPPLE");
  traceGL_Native.glBindVertexArrayAPPLE = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBindVertexArrayAPPLE");
  traceGL_Native.glDeleteVertexArraysAPPLE = (void (GLAPIENTRY *)(GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glDeleteVertexArraysAPPLE");
  traceGL_Native.glGenVertexArraysAPPLE = (void (GLAPIENTRY *)(GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGenVertexArraysAPPLE");
  traceGL_Native.glIsVertexArrayAPPLE = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsVertexArrayAPPLE");
  traceGL_Native.glVertexArrayRangeAPPLE = (void (GLAPIENTRY *)(GLsizei, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glVertexArrayRangeAPPLE");
  traceGL_Native.glFlushVertexArrayRangeAPPLE = (void (GLAPIENTRY *)(GLsizei, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glFlushVertexArrayRangeAPPLE");
  traceGL_Native.glVertexArrayParameteriAPPLE = (void (GLAPIENTRY *)(GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glVertexArrayParameteriAPPLE");
  traceGL_Native.glDrawBuffersATI = (void (GLAPIENTRY *)(GLsizei, const GLenum *)) traceGL_GetProcAddress(traceGL_handle, "glDrawBuffersATI");
  traceGL_Native.glProgramNamedParameter4fNV = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLubyte *, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glProgramNamedParameter4fNV");
  traceGL_Native.glProgramNamedParameter4dNV = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLubyte *, GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glProgramNamedParameter4dNV");
  traceGL_Native.glProgramNamedParameter4fvNV = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLubyte *, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramNamedParameter4fvNV");
  traceGL_Native.glProgramNamedParameter4dvNV = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLubyte *, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramNamedParameter4dvNV");
  traceGL_Native.glGetProgramNamedParameterfvNV = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLubyte *, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetProgramNamedParameterfvNV");
  traceGL_Native.glGetProgramNamedParameterdvNV = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLubyte *, GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glGetProgramNamedParameterdvNV");
  traceGL_Native.glVertex2hNV = (void (GLAPIENTRY *)(GLhalfNV, GLhalfNV)) traceGL_GetProcAddress(traceGL_handle, "glVertex2hNV");
  traceGL_Native.glVertex2hvNV = (void (GLAPIENTRY *)(const GLhalfNV *)) traceGL_GetProcAddress(traceGL_handle, "glVertex2hvNV");
  traceGL_Native.glVertex3hNV = (void (GLAPIENTRY *)(GLhalfNV, GLhalfNV, GLhalfNV)) traceGL_GetProcAddress(traceGL_handle, "glVertex3hNV");
  traceGL_Native.glVertex3hvNV = (void (GLAPIENTRY *)(const GLhalfNV *)) traceGL_GetProcAddress(traceGL_handle, "glVertex3hvNV");
  traceGL_Native.glVertex4hNV = (void (GLAPIENTRY *)(GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV)) traceGL_GetProcAddress(traceGL_handle, "glVertex4hNV");
  traceGL_Native.glVertex4hvNV = (void (GLAPIENTRY *)(const GLhalfNV *)) traceGL_GetProcAddress(traceGL_handle, "glVertex4hvNV");
  traceGL_Native.glNormal3hNV = (void (GLAPIENTRY *)(GLhalfNV, GLhalfNV, GLhalfNV)) traceGL_GetProcAddress(traceGL_handle, "glNormal3hNV");
  traceGL_Native.glNormal3hvNV = (void (GLAPIENTRY *)(const GLhalfNV *)) traceGL_GetProcAddress(traceGL_handle, "glNormal3hvNV");
  traceGL_Native.glColor3hNV = (void (GLAPIENTRY *)(GLhalfNV, GLhalfNV, GLhalfNV)) traceGL_GetProcAddress(traceGL_handle, "glColor3hNV");
  traceGL_Native.glColor3hvNV = (void (GLAPIENTRY *)(const GLhalfNV *)) traceGL_GetProcAddress(traceGL_handle, "glColor3hvNV");
  traceGL_Native.glColor4hNV = (void (GLAPIENTRY *)(GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV)) traceGL_GetProcAddress(traceGL_handle, "glColor4hNV");
  traceGL_Native.glColor4hvNV = (void (GLAPIENTRY *)(const GLhalfNV *)) traceGL_GetProcAddress(traceGL_handle, "glColor4hvNV");
  traceGL_Native.glTexCoord1hNV = (void (GLAPIENTRY *)(GLhalfNV)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord1hNV");
  traceGL_Native.glTexCoord1hvNV = (void (GLAPIENTRY *)(const GLhalfNV *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord1hvNV");
  traceGL_Native.glTexCoord2hNV = (void (GLAPIENTRY *)(GLhalfNV, GLhalfNV)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord2hNV");
  traceGL_Native.glTexCoord2hvNV = (void (GLAPIENTRY *)(const GLhalfNV *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord2hvNV");
  traceGL_Native.glTexCoord3hNV = (void (GLAPIENTRY *)(GLhalfNV, GLhalfNV, GLhalfNV)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord3hNV");
  traceGL_Native.glTexCoord3hvNV = (void (GLAPIENTRY *)(const GLhalfNV *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord3hvNV");
  traceGL_Native.glTexCoord4hNV = (void (GLAPIENTRY *)(GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord4hNV");
  traceGL_Native.glTexCoord4hvNV = (void (GLAPIENTRY *)(const GLhalfNV *)) traceGL_GetProcAddress(traceGL_handle, "glTexCoord4hvNV");
  traceGL_Native.glMultiTexCoord1hNV = (void (GLAPIENTRY *)(GLenum, GLhalfNV)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord1hNV");
  traceGL_Native.glMultiTexCoord1hvNV = (void (GLAPIENTRY *)(GLenum, const GLhalfNV *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord1hvNV");
  traceGL_Native.glMultiTexCoord2hNV = (void (GLAPIENTRY *)(GLenum, GLhalfNV, GLhalfNV)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord2hNV");
  traceGL_Native.glMultiTexCoord2hvNV = (void (GLAPIENTRY *)(GLenum, const GLhalfNV *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord2hvNV");
  traceGL_Native.glMultiTexCoord3hNV = (void (GLAPIENTRY *)(GLenum, GLhalfNV, GLhalfNV, GLhalfNV)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord3hNV");
  traceGL_Native.glMultiTexCoord3hvNV = (void (GLAPIENTRY *)(GLenum, const GLhalfNV *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord3hvNV");
  traceGL_Native.glMultiTexCoord4hNV = (void (GLAPIENTRY *)(GLenum, GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord4hNV");
  traceGL_Native.glMultiTexCoord4hvNV = (void (GLAPIENTRY *)(GLenum, const GLhalfNV *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoord4hvNV");
  traceGL_Native.glFogCoordhNV = (void (GLAPIENTRY *)(GLhalfNV)) traceGL_GetProcAddress(traceGL_handle, "glFogCoordhNV");
  traceGL_Native.glFogCoordhvNV = (void (GLAPIENTRY *)(const GLhalfNV *)) traceGL_GetProcAddress(traceGL_handle, "glFogCoordhvNV");
  traceGL_Native.glSecondaryColor3hNV = (void (GLAPIENTRY *)(GLhalfNV, GLhalfNV, GLhalfNV)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3hNV");
  traceGL_Native.glSecondaryColor3hvNV = (void (GLAPIENTRY *)(const GLhalfNV *)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColor3hvNV");
  traceGL_Native.glVertexWeighthNV = (void (GLAPIENTRY *)(GLhalfNV)) traceGL_GetProcAddress(traceGL_handle, "glVertexWeighthNV");
  traceGL_Native.glVertexWeighthvNV = (void (GLAPIENTRY *)(const GLhalfNV *)) traceGL_GetProcAddress(traceGL_handle, "glVertexWeighthvNV");
  traceGL_Native.glVertexAttrib1hNV = (void (GLAPIENTRY *)(GLuint, GLhalfNV)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib1hNV");
  traceGL_Native.glVertexAttrib1hvNV = (void (GLAPIENTRY *)(GLuint, const GLhalfNV *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib1hvNV");
  traceGL_Native.glVertexAttrib2hNV = (void (GLAPIENTRY *)(GLuint, GLhalfNV, GLhalfNV)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib2hNV");
  traceGL_Native.glVertexAttrib2hvNV = (void (GLAPIENTRY *)(GLuint, const GLhalfNV *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib2hvNV");
  traceGL_Native.glVertexAttrib3hNV = (void (GLAPIENTRY *)(GLuint, GLhalfNV, GLhalfNV, GLhalfNV)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib3hNV");
  traceGL_Native.glVertexAttrib3hvNV = (void (GLAPIENTRY *)(GLuint, const GLhalfNV *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib3hvNV");
  traceGL_Native.glVertexAttrib4hNV = (void (GLAPIENTRY *)(GLuint, GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4hNV");
  traceGL_Native.glVertexAttrib4hvNV = (void (GLAPIENTRY *)(GLuint, const GLhalfNV *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttrib4hvNV");
  traceGL_Native.glVertexAttribs1hvNV = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLhalfNV *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribs1hvNV");
  traceGL_Native.glVertexAttribs2hvNV = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLhalfNV *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribs2hvNV");
  traceGL_Native.glVertexAttribs3hvNV = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLhalfNV *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribs3hvNV");
  traceGL_Native.glVertexAttribs4hvNV = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLhalfNV *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribs4hvNV");
  traceGL_Native.glPixelDataRangeNV = (void (GLAPIENTRY *)(GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glPixelDataRangeNV");
  traceGL_Native.glFlushPixelDataRangeNV = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glFlushPixelDataRangeNV");
  traceGL_Native.glPrimitiveRestartNV = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glPrimitiveRestartNV");
  traceGL_Native.glPrimitiveRestartIndexNV = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glPrimitiveRestartIndexNV");
  traceGL_Native.glMapObjectBufferATI = (GLvoid *(GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glMapObjectBufferATI");
  traceGL_Native.glUnmapObjectBufferATI = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glUnmapObjectBufferATI");
  traceGL_Native.glStencilOpSeparateATI = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glStencilOpSeparateATI");
  traceGL_Native.glStencilFuncSeparateATI = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glStencilFuncSeparateATI");
  traceGL_Native.glVertexAttribArrayObjectATI = (void (GLAPIENTRY *)(GLuint, GLint, GLenum, GLboolean, GLsizei, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribArrayObjectATI");
  traceGL_Native.glGetVertexAttribArrayObjectfvATI = (void (GLAPIENTRY *)(GLuint, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetVertexAttribArrayObjectfvATI");
  traceGL_Native.glGetVertexAttribArrayObjectivATI = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetVertexAttribArrayObjectivATI");
  traceGL_Native.glDepthBoundsEXT = (void (GLAPIENTRY *)(GLclampd, GLclampd)) traceGL_GetProcAddress(traceGL_handle, "glDepthBoundsEXT");
  traceGL_Native.glBlendEquationSeparateEXT = (void (GLAPIENTRY *)(GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBlendEquationSeparateEXT");
  traceGL_Native.glIsRenderbufferEXT = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsRenderbufferEXT");
  traceGL_Native.glBindRenderbufferEXT = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBindRenderbufferEXT");
  traceGL_Native.glDeleteRenderbuffersEXT = (void (GLAPIENTRY *)(GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glDeleteRenderbuffersEXT");
  traceGL_Native.glGenRenderbuffersEXT = (void (GLAPIENTRY *)(GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGenRenderbuffersEXT");
  traceGL_Native.glRenderbufferStorageEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glRenderbufferStorageEXT");
  traceGL_Native.glGetRenderbufferParameterivEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetRenderbufferParameterivEXT");
  traceGL_Native.glIsFramebufferEXT = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsFramebufferEXT");
  traceGL_Native.glBindFramebufferEXT = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBindFramebufferEXT");
  traceGL_Native.glDeleteFramebuffersEXT = (void (GLAPIENTRY *)(GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glDeleteFramebuffersEXT");
  traceGL_Native.glGenFramebuffersEXT = (void (GLAPIENTRY *)(GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGenFramebuffersEXT");
  traceGL_Native.glCheckFramebufferStatusEXT = (GLenum (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glCheckFramebufferStatusEXT");
  traceGL_Native.glFramebufferTexture1DEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLuint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glFramebufferTexture1DEXT");
  traceGL_Native.glFramebufferTexture2DEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLuint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glFramebufferTexture2DEXT");
  traceGL_Native.glFramebufferTexture3DEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLuint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glFramebufferTexture3DEXT");
  traceGL_Native.glFramebufferRenderbufferEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glFramebufferRenderbufferEXT");
  traceGL_Native.glGetFramebufferAttachmentParameterivEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetFramebufferAttachmentParameterivEXT");
  traceGL_Native.glGenerateMipmapEXT = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glGenerateMipmapEXT");
  traceGL_Native.glStringMarkerGREMEDY = (void (GLAPIENTRY *)(GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glStringMarkerGREMEDY");
  traceGL_Native.glStencilClearTagEXT = (void (GLAPIENTRY *)(GLsizei, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glStencilClearTagEXT");
  traceGL_Native.glBlitFramebufferEXT = (void (GLAPIENTRY *)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBlitFramebufferEXT");
  traceGL_Native.glRenderbufferStorageMultisampleEXT = (void (GLAPIENTRY *)(GLenum, GLsizei, GLenum, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glRenderbufferStorageMultisampleEXT");
  traceGL_Native.glGetQueryObjecti64vEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glGetQueryObjecti64vEXT");
  traceGL_Native.glGetQueryObjectui64vEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glGetQueryObjectui64vEXT");
  traceGL_Native.glProgramEnvParameters4fvEXT = (void (GLAPIENTRY *)(GLenum, GLuint, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramEnvParameters4fvEXT");
  traceGL_Native.glProgramLocalParameters4fvEXT = (void (GLAPIENTRY *)(GLenum, GLuint, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramLocalParameters4fvEXT");
  traceGL_Native.glBufferParameteriAPPLE = (void (GLAPIENTRY *)(GLenum, GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glBufferParameteriAPPLE");
  traceGL_Native.glFlushMappedBufferRangeAPPLE = (void (GLAPIENTRY *)(GLenum, GLintptr, GLsizeiptr)) traceGL_GetProcAddress(traceGL_handle, "glFlushMappedBufferRangeAPPLE");
  traceGL_Native.glProgramLocalParameterI4iNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glProgramLocalParameterI4iNV");
  traceGL_Native.glProgramLocalParameterI4ivNV = (void (GLAPIENTRY *)(GLenum, GLuint, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glProgramLocalParameterI4ivNV");
  traceGL_Native.glProgramLocalParametersI4ivNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLsizei, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glProgramLocalParametersI4ivNV");
  traceGL_Native.glProgramLocalParameterI4uiNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glProgramLocalParameterI4uiNV");
  traceGL_Native.glProgramLocalParameterI4uivNV = (void (GLAPIENTRY *)(GLenum, GLuint, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glProgramLocalParameterI4uivNV");
  traceGL_Native.glProgramLocalParametersI4uivNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glProgramLocalParametersI4uivNV");
  traceGL_Native.glProgramEnvParameterI4iNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glProgramEnvParameterI4iNV");
  traceGL_Native.glProgramEnvParameterI4ivNV = (void (GLAPIENTRY *)(GLenum, GLuint, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glProgramEnvParameterI4ivNV");
  traceGL_Native.glProgramEnvParametersI4ivNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLsizei, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glProgramEnvParametersI4ivNV");
  traceGL_Native.glProgramEnvParameterI4uiNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glProgramEnvParameterI4uiNV");
  traceGL_Native.glProgramEnvParameterI4uivNV = (void (GLAPIENTRY *)(GLenum, GLuint, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glProgramEnvParameterI4uivNV");
  traceGL_Native.glProgramEnvParametersI4uivNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glProgramEnvParametersI4uivNV");
  traceGL_Native.glGetProgramLocalParameterIivNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetProgramLocalParameterIivNV");
  traceGL_Native.glGetProgramLocalParameterIuivNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGetProgramLocalParameterIuivNV");
  traceGL_Native.glGetProgramEnvParameterIivNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetProgramEnvParameterIivNV");
  traceGL_Native.glGetProgramEnvParameterIuivNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGetProgramEnvParameterIuivNV");
  traceGL_Native.glProgramVertexLimitNV = (void (GLAPIENTRY *)(GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glProgramVertexLimitNV");
  traceGL_Native.glFramebufferTextureEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLuint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glFramebufferTextureEXT");
  traceGL_Native.glFramebufferTextureLayerEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLuint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glFramebufferTextureLayerEXT");
  traceGL_Native.glFramebufferTextureFaceEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLuint, GLint, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glFramebufferTextureFaceEXT");
  traceGL_Native.glProgramParameteriEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glProgramParameteriEXT");
  traceGL_Native.glVertexAttribI1iEXT = (void (GLAPIENTRY *)(GLuint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI1iEXT");
  traceGL_Native.glVertexAttribI2iEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI2iEXT");
  traceGL_Native.glVertexAttribI3iEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI3iEXT");
  traceGL_Native.glVertexAttribI4iEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI4iEXT");
  traceGL_Native.glVertexAttribI1uiEXT = (void (GLAPIENTRY *)(GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI1uiEXT");
  traceGL_Native.glVertexAttribI2uiEXT = (void (GLAPIENTRY *)(GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI2uiEXT");
  traceGL_Native.glVertexAttribI3uiEXT = (void (GLAPIENTRY *)(GLuint, GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI3uiEXT");
  traceGL_Native.glVertexAttribI4uiEXT = (void (GLAPIENTRY *)(GLuint, GLuint, GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI4uiEXT");
  traceGL_Native.glVertexAttribI1ivEXT = (void (GLAPIENTRY *)(GLuint, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI1ivEXT");
  traceGL_Native.glVertexAttribI2ivEXT = (void (GLAPIENTRY *)(GLuint, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI2ivEXT");
  traceGL_Native.glVertexAttribI3ivEXT = (void (GLAPIENTRY *)(GLuint, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI3ivEXT");
  traceGL_Native.glVertexAttribI4ivEXT = (void (GLAPIENTRY *)(GLuint, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI4ivEXT");
  traceGL_Native.glVertexAttribI1uivEXT = (void (GLAPIENTRY *)(GLuint, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI1uivEXT");
  traceGL_Native.glVertexAttribI2uivEXT = (void (GLAPIENTRY *)(GLuint, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI2uivEXT");
  traceGL_Native.glVertexAttribI3uivEXT = (void (GLAPIENTRY *)(GLuint, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI3uivEXT");
  traceGL_Native.glVertexAttribI4uivEXT = (void (GLAPIENTRY *)(GLuint, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI4uivEXT");
  traceGL_Native.glVertexAttribI4bvEXT = (void (GLAPIENTRY *)(GLuint, const GLbyte *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI4bvEXT");
  traceGL_Native.glVertexAttribI4svEXT = (void (GLAPIENTRY *)(GLuint, const GLshort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI4svEXT");
  traceGL_Native.glVertexAttribI4ubvEXT = (void (GLAPIENTRY *)(GLuint, const GLubyte *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI4ubvEXT");
  traceGL_Native.glVertexAttribI4usvEXT = (void (GLAPIENTRY *)(GLuint, const GLushort *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribI4usvEXT");
  traceGL_Native.glVertexAttribIPointerEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribIPointerEXT");
  traceGL_Native.glGetVertexAttribIivEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetVertexAttribIivEXT");
  traceGL_Native.glGetVertexAttribIuivEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGetVertexAttribIuivEXT");
  traceGL_Native.glGetUniformuivEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGetUniformuivEXT");
  traceGL_Native.glBindFragDataLocationEXT = (void (GLAPIENTRY *)(GLuint, GLuint, const GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glBindFragDataLocationEXT");
  traceGL_Native.glGetFragDataLocationEXT = (GLint (GLAPIENTRY *)(GLuint, const GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glGetFragDataLocationEXT");
  traceGL_Native.glUniform1uiEXT = (void (GLAPIENTRY *)(GLint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glUniform1uiEXT");
  traceGL_Native.glUniform2uiEXT = (void (GLAPIENTRY *)(GLint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glUniform2uiEXT");
  traceGL_Native.glUniform3uiEXT = (void (GLAPIENTRY *)(GLint, GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glUniform3uiEXT");
  traceGL_Native.glUniform4uiEXT = (void (GLAPIENTRY *)(GLint, GLuint, GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glUniform4uiEXT");
  traceGL_Native.glUniform1uivEXT = (void (GLAPIENTRY *)(GLint, GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glUniform1uivEXT");
  traceGL_Native.glUniform2uivEXT = (void (GLAPIENTRY *)(GLint, GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glUniform2uivEXT");
  traceGL_Native.glUniform3uivEXT = (void (GLAPIENTRY *)(GLint, GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glUniform3uivEXT");
  traceGL_Native.glUniform4uivEXT = (void (GLAPIENTRY *)(GLint, GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glUniform4uivEXT");
  traceGL_Native.glDrawArraysInstancedEXT = (void (GLAPIENTRY *)(GLenum, GLint, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glDrawArraysInstancedEXT");
  traceGL_Native.glDrawElementsInstancedEXT = (void (GLAPIENTRY *)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glDrawElementsInstancedEXT");
  traceGL_Native.glTexBufferEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glTexBufferEXT");
  traceGL_Native.glDepthRangedNV = (void (GLAPIENTRY *)(GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glDepthRangedNV");
  traceGL_Native.glClearDepthdNV = (void (GLAPIENTRY *)(GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glClearDepthdNV");
  traceGL_Native.glDepthBoundsdNV = (void (GLAPIENTRY *)(GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glDepthBoundsdNV");
  traceGL_Native.glRenderbufferStorageMultisampleCoverageNV = (void (GLAPIENTRY *)(GLenum, GLsizei, GLsizei, GLenum, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glRenderbufferStorageMultisampleCoverageNV");
  traceGL_Native.glProgramBufferParametersfvNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramBufferParametersfvNV");
  traceGL_Native.glProgramBufferParametersIivNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint, GLsizei, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glProgramBufferParametersIivNV");
  traceGL_Native.glProgramBufferParametersIuivNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint, GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glProgramBufferParametersIuivNV");
  traceGL_Native.glColorMaskIndexedEXT = (void (GLAPIENTRY *)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean)) traceGL_GetProcAddress(traceGL_handle, "glColorMaskIndexedEXT");
  traceGL_Native.glGetBooleanIndexedvEXT = (void (GLAPIENTRY *)(GLenum, GLuint, GLboolean *)) traceGL_GetProcAddress(traceGL_handle, "glGetBooleanIndexedvEXT");
  traceGL_Native.glGetIntegerIndexedvEXT = (void (GLAPIENTRY *)(GLenum, GLuint, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetIntegerIndexedvEXT");
  traceGL_Native.glEnableIndexedEXT = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glEnableIndexedEXT");
  traceGL_Native.glDisableIndexedEXT = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glDisableIndexedEXT");
  traceGL_Native.glIsEnabledIndexedEXT = (GLboolean (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsEnabledIndexedEXT");
  traceGL_Native.glBeginTransformFeedbackNV = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBeginTransformFeedbackNV");
  traceGL_Native.glEndTransformFeedbackNV = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glEndTransformFeedbackNV");
  traceGL_Native.glTransformFeedbackAttribsNV = (void (GLAPIENTRY *)(GLuint, const GLint *, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glTransformFeedbackAttribsNV");
  traceGL_Native.glBindBufferRangeNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr)) traceGL_GetProcAddress(traceGL_handle, "glBindBufferRangeNV");
  traceGL_Native.glBindBufferOffsetNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint, GLintptr)) traceGL_GetProcAddress(traceGL_handle, "glBindBufferOffsetNV");
  traceGL_Native.glBindBufferBaseNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBindBufferBaseNV");
  traceGL_Native.glTransformFeedbackVaryingsNV = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLint *, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glTransformFeedbackVaryingsNV");
  traceGL_Native.glActiveVaryingNV = (void (GLAPIENTRY *)(GLuint, const GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glActiveVaryingNV");
  traceGL_Native.glGetVaryingLocationNV = (GLint (GLAPIENTRY *)(GLuint, const GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glGetVaryingLocationNV");
  traceGL_Native.glGetActiveVaryingNV = (void (GLAPIENTRY *)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glGetActiveVaryingNV");
  traceGL_Native.glGetTransformFeedbackVaryingNV = (void (GLAPIENTRY *)(GLuint, GLuint, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetTransformFeedbackVaryingNV");
  traceGL_Native.glUniformBufferEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glUniformBufferEXT");
  traceGL_Native.glGetUniformBufferSizeEXT = (GLint (GLAPIENTRY *)(GLuint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glGetUniformBufferSizeEXT");
  traceGL_Native.glGetUniformOffsetEXT = (GLintptr (GLAPIENTRY *)(GLuint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glGetUniformOffsetEXT");
  traceGL_Native.glTexParameterIivEXT = (void (GLAPIENTRY *)(GLenum, GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glTexParameterIivEXT");
  traceGL_Native.glTexParameterIuivEXT = (void (GLAPIENTRY *)(GLenum, GLenum, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glTexParameterIuivEXT");
  traceGL_Native.glGetTexParameterIivEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetTexParameterIivEXT");
  traceGL_Native.glGetTexParameterIuivEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGetTexParameterIuivEXT");
  traceGL_Native.glClearColorIiEXT = (void (GLAPIENTRY *)(GLint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glClearColorIiEXT");
  traceGL_Native.glClearColorIuiEXT = (void (GLAPIENTRY *)(GLuint, GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glClearColorIuiEXT");
  traceGL_Native.glFrameTerminatorGREMEDY = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glFrameTerminatorGREMEDY");
  traceGL_Native.glBeginConditionalRenderNV = (void (GLAPIENTRY *)(GLuint, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBeginConditionalRenderNV");
  traceGL_Native.glEndConditionalRenderNV = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glEndConditionalRenderNV");
  traceGL_Native.glPresentFrameKeyedNV = (void (GLAPIENTRY *)(GLuint, GLuint64EXT, GLuint, GLuint, GLenum, GLenum, GLuint, GLuint, GLenum, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glPresentFrameKeyedNV");
  traceGL_Native.glPresentFrameDualFillNV = (void (GLAPIENTRY *)(GLuint, GLuint64EXT, GLuint, GLuint, GLenum, GLenum, GLuint, GLenum, GLuint, GLenum, GLuint, GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glPresentFrameDualFillNV");
  traceGL_Native.glGetVideoivNV = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetVideoivNV");
  traceGL_Native.glGetVideouivNV = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGetVideouivNV");
  traceGL_Native.glGetVideoi64vNV = (void (GLAPIENTRY *)(GLuint, GLenum, GLint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glGetVideoi64vNV");
  traceGL_Native.glGetVideoui64vNV = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glGetVideoui64vNV");
  traceGL_Native.glBeginTransformFeedbackEXT = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBeginTransformFeedbackEXT");
  traceGL_Native.glEndTransformFeedbackEXT = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glEndTransformFeedbackEXT");
  traceGL_Native.glBindBufferRangeEXT = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr)) traceGL_GetProcAddress(traceGL_handle, "glBindBufferRangeEXT");
  traceGL_Native.glBindBufferOffsetEXT = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint, GLintptr)) traceGL_GetProcAddress(traceGL_handle, "glBindBufferOffsetEXT");
  traceGL_Native.glBindBufferBaseEXT = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBindBufferBaseEXT");
  traceGL_Native.glTransformFeedbackVaryingsEXT = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLchar **, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glTransformFeedbackVaryingsEXT");
  traceGL_Native.glGetTransformFeedbackVaryingEXT = (void (GLAPIENTRY *)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glGetTransformFeedbackVaryingEXT");
  traceGL_Native.glClientAttribDefaultEXT = (void (GLAPIENTRY *)(GLbitfield)) traceGL_GetProcAddress(traceGL_handle, "glClientAttribDefaultEXT");
  traceGL_Native.glPushClientAttribDefaultEXT = (void (GLAPIENTRY *)(GLbitfield)) traceGL_GetProcAddress(traceGL_handle, "glPushClientAttribDefaultEXT");
  traceGL_Native.glMatrixLoadfEXT = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glMatrixLoadfEXT");
  traceGL_Native.glMatrixLoaddEXT = (void (GLAPIENTRY *)(GLenum, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glMatrixLoaddEXT");
  traceGL_Native.glMatrixMultfEXT = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glMatrixMultfEXT");
  traceGL_Native.glMatrixMultdEXT = (void (GLAPIENTRY *)(GLenum, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glMatrixMultdEXT");
  traceGL_Native.glMatrixLoadIdentityEXT = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glMatrixLoadIdentityEXT");
  traceGL_Native.glMatrixRotatefEXT = (void (GLAPIENTRY *)(GLenum, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glMatrixRotatefEXT");
  traceGL_Native.glMatrixRotatedEXT = (void (GLAPIENTRY *)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glMatrixRotatedEXT");
  traceGL_Native.glMatrixScalefEXT = (void (GLAPIENTRY *)(GLenum, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glMatrixScalefEXT");
  traceGL_Native.glMatrixScaledEXT = (void (GLAPIENTRY *)(GLenum, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glMatrixScaledEXT");
  traceGL_Native.glMatrixTranslatefEXT = (void (GLAPIENTRY *)(GLenum, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glMatrixTranslatefEXT");
  traceGL_Native.glMatrixTranslatedEXT = (void (GLAPIENTRY *)(GLenum, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glMatrixTranslatedEXT");
  traceGL_Native.glMatrixFrustumEXT = (void (GLAPIENTRY *)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glMatrixFrustumEXT");
  traceGL_Native.glMatrixOrthoEXT = (void (GLAPIENTRY *)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glMatrixOrthoEXT");
  traceGL_Native.glMatrixPopEXT = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glMatrixPopEXT");
  traceGL_Native.glMatrixPushEXT = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glMatrixPushEXT");
  traceGL_Native.glMatrixLoadTransposefEXT = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glMatrixLoadTransposefEXT");
  traceGL_Native.glMatrixLoadTransposedEXT = (void (GLAPIENTRY *)(GLenum, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glMatrixLoadTransposedEXT");
  traceGL_Native.glMatrixMultTransposefEXT = (void (GLAPIENTRY *)(GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glMatrixMultTransposefEXT");
  traceGL_Native.glMatrixMultTransposedEXT = (void (GLAPIENTRY *)(GLenum, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glMatrixMultTransposedEXT");
  traceGL_Native.glTextureParameterfEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glTextureParameterfEXT");
  traceGL_Native.glTextureParameterfvEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glTextureParameterfvEXT");
  traceGL_Native.glTextureParameteriEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glTextureParameteriEXT");
  traceGL_Native.glTextureParameterivEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glTextureParameterivEXT");
  traceGL_Native.glTextureImage1DEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint, GLenum, GLsizei, GLint, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glTextureImage1DEXT");
  traceGL_Native.glTextureImage2DEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glTextureImage2DEXT");
  traceGL_Native.glTextureSubImage1DEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glTextureSubImage1DEXT");
  traceGL_Native.glTextureSubImage2DEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glTextureSubImage2DEXT");
  traceGL_Native.glCopyTextureImage1DEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint)) traceGL_GetProcAddress(traceGL_handle, "glCopyTextureImage1DEXT");
  traceGL_Native.glCopyTextureImage2DEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint)) traceGL_GetProcAddress(traceGL_handle, "glCopyTextureImage2DEXT");
  traceGL_Native.glCopyTextureSubImage1DEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glCopyTextureSubImage1DEXT");
  traceGL_Native.glCopyTextureSubImage2DEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glCopyTextureSubImage2DEXT");
  traceGL_Native.glGetTextureImageEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint, GLenum, GLenum, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetTextureImageEXT");
  traceGL_Native.glGetTextureParameterfvEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetTextureParameterfvEXT");
  traceGL_Native.glGetTextureParameterivEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetTextureParameterivEXT");
  traceGL_Native.glGetTextureLevelParameterfvEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetTextureLevelParameterfvEXT");
  traceGL_Native.glGetTextureLevelParameterivEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetTextureLevelParameterivEXT");
  traceGL_Native.glTextureImage3DEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glTextureImage3DEXT");
  traceGL_Native.glTextureSubImage3DEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glTextureSubImage3DEXT");
  traceGL_Native.glCopyTextureSubImage3DEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glCopyTextureSubImage3DEXT");
  traceGL_Native.glMultiTexParameterfEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexParameterfEXT");
  traceGL_Native.glMultiTexParameterfvEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexParameterfvEXT");
  traceGL_Native.glMultiTexParameteriEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexParameteriEXT");
  traceGL_Native.glMultiTexParameterivEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexParameterivEXT");
  traceGL_Native.glMultiTexImage1DEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLenum, GLsizei, GLint, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexImage1DEXT");
  traceGL_Native.glMultiTexImage2DEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexImage2DEXT");
  traceGL_Native.glMultiTexSubImage1DEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexSubImage1DEXT");
  traceGL_Native.glMultiTexSubImage2DEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexSubImage2DEXT");
  traceGL_Native.glCopyMultiTexImage1DEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint)) traceGL_GetProcAddress(traceGL_handle, "glCopyMultiTexImage1DEXT");
  traceGL_Native.glCopyMultiTexImage2DEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint)) traceGL_GetProcAddress(traceGL_handle, "glCopyMultiTexImage2DEXT");
  traceGL_Native.glCopyMultiTexSubImage1DEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glCopyMultiTexSubImage1DEXT");
  traceGL_Native.glCopyMultiTexSubImage2DEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glCopyMultiTexSubImage2DEXT");
  traceGL_Native.glGetMultiTexImageEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLenum, GLenum, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetMultiTexImageEXT");
  traceGL_Native.glGetMultiTexParameterfvEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetMultiTexParameterfvEXT");
  traceGL_Native.glGetMultiTexParameterivEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetMultiTexParameterivEXT");
  traceGL_Native.glGetMultiTexLevelParameterfvEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetMultiTexLevelParameterfvEXT");
  traceGL_Native.glGetMultiTexLevelParameterivEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetMultiTexLevelParameterivEXT");
  traceGL_Native.glMultiTexImage3DEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexImage3DEXT");
  traceGL_Native.glMultiTexSubImage3DEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexSubImage3DEXT");
  traceGL_Native.glCopyMultiTexSubImage3DEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glCopyMultiTexSubImage3DEXT");
  traceGL_Native.glBindMultiTextureEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBindMultiTextureEXT");
  traceGL_Native.glEnableClientStateIndexedEXT = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glEnableClientStateIndexedEXT");
  traceGL_Native.glDisableClientStateIndexedEXT = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glDisableClientStateIndexedEXT");
  traceGL_Native.glMultiTexCoordPointerEXT = (void (GLAPIENTRY *)(GLenum, GLint, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexCoordPointerEXT");
  traceGL_Native.glMultiTexEnvfEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexEnvfEXT");
  traceGL_Native.glMultiTexEnvfvEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexEnvfvEXT");
  traceGL_Native.glMultiTexEnviEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexEnviEXT");
  traceGL_Native.glMultiTexEnvivEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexEnvivEXT");
  traceGL_Native.glMultiTexGendEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexGendEXT");
  traceGL_Native.glMultiTexGendvEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexGendvEXT");
  traceGL_Native.glMultiTexGenfEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexGenfEXT");
  traceGL_Native.glMultiTexGenfvEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexGenfvEXT");
  traceGL_Native.glMultiTexGeniEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexGeniEXT");
  traceGL_Native.glMultiTexGenivEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexGenivEXT");
  traceGL_Native.glGetMultiTexEnvfvEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetMultiTexEnvfvEXT");
  traceGL_Native.glGetMultiTexEnvivEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetMultiTexEnvivEXT");
  traceGL_Native.glGetMultiTexGendvEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glGetMultiTexGendvEXT");
  traceGL_Native.glGetMultiTexGenfvEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetMultiTexGenfvEXT");
  traceGL_Native.glGetMultiTexGenivEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetMultiTexGenivEXT");
  traceGL_Native.glGetFloatIndexedvEXT = (void (GLAPIENTRY *)(GLenum, GLuint, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetFloatIndexedvEXT");
  traceGL_Native.glGetDoubleIndexedvEXT = (void (GLAPIENTRY *)(GLenum, GLuint, GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glGetDoubleIndexedvEXT");
  traceGL_Native.glGetPointerIndexedvEXT = (void (GLAPIENTRY *)(GLenum, GLuint, GLvoid **)) traceGL_GetProcAddress(traceGL_handle, "glGetPointerIndexedvEXT");
  traceGL_Native.glCompressedTextureImage3DEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glCompressedTextureImage3DEXT");
  traceGL_Native.glCompressedTextureImage2DEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glCompressedTextureImage2DEXT");
  traceGL_Native.glCompressedTextureImage1DEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glCompressedTextureImage1DEXT");
  traceGL_Native.glCompressedTextureSubImage3DEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glCompressedTextureSubImage3DEXT");
  traceGL_Native.glCompressedTextureSubImage2DEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glCompressedTextureSubImage2DEXT");
  traceGL_Native.glCompressedTextureSubImage1DEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glCompressedTextureSubImage1DEXT");
  traceGL_Native.glGetCompressedTextureImageEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetCompressedTextureImageEXT");
  traceGL_Native.glCompressedMultiTexImage3DEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glCompressedMultiTexImage3DEXT");
  traceGL_Native.glCompressedMultiTexImage2DEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glCompressedMultiTexImage2DEXT");
  traceGL_Native.glCompressedMultiTexImage1DEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glCompressedMultiTexImage1DEXT");
  traceGL_Native.glCompressedMultiTexSubImage3DEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glCompressedMultiTexSubImage3DEXT");
  traceGL_Native.glCompressedMultiTexSubImage2DEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glCompressedMultiTexSubImage2DEXT");
  traceGL_Native.glCompressedMultiTexSubImage1DEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glCompressedMultiTexSubImage1DEXT");
  traceGL_Native.glGetCompressedMultiTexImageEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLint, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetCompressedMultiTexImageEXT");
  traceGL_Native.glNamedProgramStringEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glNamedProgramStringEXT");
  traceGL_Native.glNamedProgramLocalParameter4dEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glNamedProgramLocalParameter4dEXT");
  traceGL_Native.glNamedProgramLocalParameter4dvEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glNamedProgramLocalParameter4dvEXT");
  traceGL_Native.glNamedProgramLocalParameter4fEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glNamedProgramLocalParameter4fEXT");
  traceGL_Native.glNamedProgramLocalParameter4fvEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glNamedProgramLocalParameter4fvEXT");
  traceGL_Native.glGetNamedProgramLocalParameterdvEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint, GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glGetNamedProgramLocalParameterdvEXT");
  traceGL_Native.glGetNamedProgramLocalParameterfvEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetNamedProgramLocalParameterfvEXT");
  traceGL_Native.glGetNamedProgramivEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetNamedProgramivEXT");
  traceGL_Native.glGetNamedProgramStringEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetNamedProgramStringEXT");
  traceGL_Native.glNamedProgramLocalParameters4fvEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glNamedProgramLocalParameters4fvEXT");
  traceGL_Native.glNamedProgramLocalParameterI4iEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint, GLint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glNamedProgramLocalParameterI4iEXT");
  traceGL_Native.glNamedProgramLocalParameterI4ivEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glNamedProgramLocalParameterI4ivEXT");
  traceGL_Native.glNamedProgramLocalParametersI4ivEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint, GLsizei, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glNamedProgramLocalParametersI4ivEXT");
  traceGL_Native.glNamedProgramLocalParameterI4uiEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint, GLuint, GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glNamedProgramLocalParameterI4uiEXT");
  traceGL_Native.glNamedProgramLocalParameterI4uivEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glNamedProgramLocalParameterI4uivEXT");
  traceGL_Native.glNamedProgramLocalParametersI4uivEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint, GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glNamedProgramLocalParametersI4uivEXT");
  traceGL_Native.glGetNamedProgramLocalParameterIivEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetNamedProgramLocalParameterIivEXT");
  traceGL_Native.glGetNamedProgramLocalParameterIuivEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGetNamedProgramLocalParameterIuivEXT");
  traceGL_Native.glTextureParameterIivEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glTextureParameterIivEXT");
  traceGL_Native.glTextureParameterIuivEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glTextureParameterIuivEXT");
  traceGL_Native.glGetTextureParameterIivEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetTextureParameterIivEXT");
  traceGL_Native.glGetTextureParameterIuivEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGetTextureParameterIuivEXT");
  traceGL_Native.glMultiTexParameterIivEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexParameterIivEXT");
  traceGL_Native.glMultiTexParameterIuivEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexParameterIuivEXT");
  traceGL_Native.glGetMultiTexParameterIivEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetMultiTexParameterIivEXT");
  traceGL_Native.glGetMultiTexParameterIuivEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGetMultiTexParameterIuivEXT");
  traceGL_Native.glProgramUniform1fEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform1fEXT");
  traceGL_Native.glProgramUniform2fEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform2fEXT");
  traceGL_Native.glProgramUniform3fEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform3fEXT");
  traceGL_Native.glProgramUniform4fEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform4fEXT");
  traceGL_Native.glProgramUniform1iEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform1iEXT");
  traceGL_Native.glProgramUniform2iEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform2iEXT");
  traceGL_Native.glProgramUniform3iEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform3iEXT");
  traceGL_Native.glProgramUniform4iEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLint, GLint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform4iEXT");
  traceGL_Native.glProgramUniform1fvEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform1fvEXT");
  traceGL_Native.glProgramUniform2fvEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform2fvEXT");
  traceGL_Native.glProgramUniform3fvEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform3fvEXT");
  traceGL_Native.glProgramUniform4fvEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform4fvEXT");
  traceGL_Native.glProgramUniform1ivEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform1ivEXT");
  traceGL_Native.glProgramUniform2ivEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform2ivEXT");
  traceGL_Native.glProgramUniform3ivEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform3ivEXT");
  traceGL_Native.glProgramUniform4ivEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform4ivEXT");
  traceGL_Native.glProgramUniformMatrix2fvEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix2fvEXT");
  traceGL_Native.glProgramUniformMatrix3fvEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix3fvEXT");
  traceGL_Native.glProgramUniformMatrix4fvEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix4fvEXT");
  traceGL_Native.glProgramUniformMatrix2x3fvEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix2x3fvEXT");
  traceGL_Native.glProgramUniformMatrix3x2fvEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix3x2fvEXT");
  traceGL_Native.glProgramUniformMatrix2x4fvEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix2x4fvEXT");
  traceGL_Native.glProgramUniformMatrix4x2fvEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix4x2fvEXT");
  traceGL_Native.glProgramUniformMatrix3x4fvEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix3x4fvEXT");
  traceGL_Native.glProgramUniformMatrix4x3fvEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix4x3fvEXT");
  traceGL_Native.glProgramUniform1uiEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform1uiEXT");
  traceGL_Native.glProgramUniform2uiEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform2uiEXT");
  traceGL_Native.glProgramUniform3uiEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform3uiEXT");
  traceGL_Native.glProgramUniform4uiEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform4uiEXT");
  traceGL_Native.glProgramUniform1uivEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform1uivEXT");
  traceGL_Native.glProgramUniform2uivEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform2uivEXT");
  traceGL_Native.glProgramUniform3uivEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform3uivEXT");
  traceGL_Native.glProgramUniform4uivEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform4uivEXT");
  traceGL_Native.glNamedBufferDataEXT = (void (GLAPIENTRY *)(GLuint, GLsizeiptr, const GLvoid *, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glNamedBufferDataEXT");
  traceGL_Native.glNamedBufferSubDataEXT = (void (GLAPIENTRY *)(GLuint, GLintptr, GLsizeiptr, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glNamedBufferSubDataEXT");
  traceGL_Native.glMapNamedBufferEXT = (GLvoid *(GLAPIENTRY *)(GLuint, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glMapNamedBufferEXT");
  traceGL_Native.glUnmapNamedBufferEXT = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glUnmapNamedBufferEXT");
  traceGL_Native.glGetNamedBufferParameterivEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetNamedBufferParameterivEXT");
  traceGL_Native.glGetNamedBufferPointervEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLvoid **)) traceGL_GetProcAddress(traceGL_handle, "glGetNamedBufferPointervEXT");
  traceGL_Native.glGetNamedBufferSubDataEXT = (void (GLAPIENTRY *)(GLuint, GLintptr, GLsizeiptr, GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glGetNamedBufferSubDataEXT");
  traceGL_Native.glTextureBufferEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glTextureBufferEXT");
  traceGL_Native.glMultiTexBufferEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexBufferEXT");
  traceGL_Native.glNamedRenderbufferStorageEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glNamedRenderbufferStorageEXT");
  traceGL_Native.glGetNamedRenderbufferParameterivEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetNamedRenderbufferParameterivEXT");
  traceGL_Native.glCheckNamedFramebufferStatusEXT = (GLenum (GLAPIENTRY *)(GLuint, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glCheckNamedFramebufferStatusEXT");
  traceGL_Native.glNamedFramebufferTexture1DEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum, GLuint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glNamedFramebufferTexture1DEXT");
  traceGL_Native.glNamedFramebufferTexture2DEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum, GLuint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glNamedFramebufferTexture2DEXT");
  traceGL_Native.glNamedFramebufferTexture3DEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum, GLuint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glNamedFramebufferTexture3DEXT");
  traceGL_Native.glNamedFramebufferRenderbufferEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glNamedFramebufferRenderbufferEXT");
  traceGL_Native.glGetNamedFramebufferAttachmentParameterivEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetNamedFramebufferAttachmentParameterivEXT");
  traceGL_Native.glGenerateTextureMipmapEXT = (void (GLAPIENTRY *)(GLuint, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glGenerateTextureMipmapEXT");
  traceGL_Native.glGenerateMultiTexMipmapEXT = (void (GLAPIENTRY *)(GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glGenerateMultiTexMipmapEXT");
  traceGL_Native.glFramebufferDrawBufferEXT = (void (GLAPIENTRY *)(GLuint, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glFramebufferDrawBufferEXT");
  traceGL_Native.glFramebufferDrawBuffersEXT = (void (GLAPIENTRY *)(GLuint, GLsizei, const GLenum *)) traceGL_GetProcAddress(traceGL_handle, "glFramebufferDrawBuffersEXT");
  traceGL_Native.glFramebufferReadBufferEXT = (void (GLAPIENTRY *)(GLuint, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glFramebufferReadBufferEXT");
  traceGL_Native.glGetFramebufferParameterivEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetFramebufferParameterivEXT");
  traceGL_Native.glNamedRenderbufferStorageMultisampleEXT = (void (GLAPIENTRY *)(GLuint, GLsizei, GLenum, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glNamedRenderbufferStorageMultisampleEXT");
  traceGL_Native.glNamedRenderbufferStorageMultisampleCoverageEXT = (void (GLAPIENTRY *)(GLuint, GLsizei, GLsizei, GLenum, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glNamedRenderbufferStorageMultisampleCoverageEXT");
  traceGL_Native.glNamedFramebufferTextureEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glNamedFramebufferTextureEXT");
  traceGL_Native.glNamedFramebufferTextureLayerEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glNamedFramebufferTextureLayerEXT");
  traceGL_Native.glNamedFramebufferTextureFaceEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint, GLint, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glNamedFramebufferTextureFaceEXT");
  traceGL_Native.glTextureRenderbufferEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glTextureRenderbufferEXT");
  traceGL_Native.glMultiTexRenderbufferEXT = (void (GLAPIENTRY *)(GLenum, GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glMultiTexRenderbufferEXT");
  traceGL_Native.glMapNamedBufferRangeEXT = (GLvoid *(GLAPIENTRY *)(GLuint, GLintptr, GLsizeiptr, GLbitfield)) traceGL_GetProcAddress(traceGL_handle, "glMapNamedBufferRangeEXT");
  traceGL_Native.glFlushMappedNamedBufferRangeEXT = (void (GLAPIENTRY *)(GLuint, GLintptr, GLsizeiptr)) traceGL_GetProcAddress(traceGL_handle, "glFlushMappedNamedBufferRangeEXT");
  traceGL_Native.glNamedCopyBufferSubDataEXT = (void (GLAPIENTRY *)(GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr)) traceGL_GetProcAddress(traceGL_handle, "glNamedCopyBufferSubDataEXT");
  traceGL_Native.glProgramUniform1dEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform1dEXT");
  traceGL_Native.glProgramUniform2dEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform2dEXT");
  traceGL_Native.glProgramUniform3dEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform3dEXT");
  traceGL_Native.glProgramUniform4dEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform4dEXT");
  traceGL_Native.glProgramUniform1dvEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform1dvEXT");
  traceGL_Native.glProgramUniform2dvEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform2dvEXT");
  traceGL_Native.glProgramUniform3dvEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform3dvEXT");
  traceGL_Native.glProgramUniform4dvEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform4dvEXT");
  traceGL_Native.glProgramUniformMatrix2dvEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix2dvEXT");
  traceGL_Native.glProgramUniformMatrix3dvEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix3dvEXT");
  traceGL_Native.glProgramUniformMatrix4dvEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix4dvEXT");
  traceGL_Native.glProgramUniformMatrix2x3dvEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix2x3dvEXT");
  traceGL_Native.glProgramUniformMatrix2x4dvEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix2x4dvEXT");
  traceGL_Native.glProgramUniformMatrix3x2dvEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix3x2dvEXT");
  traceGL_Native.glProgramUniformMatrix3x4dvEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix3x4dvEXT");
  traceGL_Native.glProgramUniformMatrix4x2dvEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix4x2dvEXT");
  traceGL_Native.glProgramUniformMatrix4x3dvEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformMatrix4x3dvEXT");
  traceGL_Native.glGetMultisamplefvNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetMultisamplefvNV");
  traceGL_Native.glSampleMaskIndexedNV = (void (GLAPIENTRY *)(GLuint, GLbitfield)) traceGL_GetProcAddress(traceGL_handle, "glSampleMaskIndexedNV");
  traceGL_Native.glTexRenderbufferNV = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glTexRenderbufferNV");
  traceGL_Native.glBindTransformFeedbackNV = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBindTransformFeedbackNV");
  traceGL_Native.glDeleteTransformFeedbacksNV = (void (GLAPIENTRY *)(GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glDeleteTransformFeedbacksNV");
  traceGL_Native.glGenTransformFeedbacksNV = (void (GLAPIENTRY *)(GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGenTransformFeedbacksNV");
  traceGL_Native.glIsTransformFeedbackNV = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsTransformFeedbackNV");
  traceGL_Native.glPauseTransformFeedbackNV = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glPauseTransformFeedbackNV");
  traceGL_Native.glResumeTransformFeedbackNV = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glResumeTransformFeedbackNV");
  traceGL_Native.glDrawTransformFeedbackNV = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glDrawTransformFeedbackNV");
  traceGL_Native.glGetPerfMonitorGroupsAMD = (void (GLAPIENTRY *)(GLint *, GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGetPerfMonitorGroupsAMD");
  traceGL_Native.glGetPerfMonitorCountersAMD = (void (GLAPIENTRY *)(GLuint, GLint *, GLint *, GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGetPerfMonitorCountersAMD");
  traceGL_Native.glGetPerfMonitorGroupStringAMD = (void (GLAPIENTRY *)(GLuint, GLsizei, GLsizei *, GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glGetPerfMonitorGroupStringAMD");
  traceGL_Native.glGetPerfMonitorCounterStringAMD = (void (GLAPIENTRY *)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glGetPerfMonitorCounterStringAMD");
  traceGL_Native.glGetPerfMonitorCounterInfoAMD = (void (GLAPIENTRY *)(GLuint, GLuint, GLenum, void *)) traceGL_GetProcAddress(traceGL_handle, "glGetPerfMonitorCounterInfoAMD");
  traceGL_Native.glGenPerfMonitorsAMD = (void (GLAPIENTRY *)(GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glGenPerfMonitorsAMD");
  traceGL_Native.glDeletePerfMonitorsAMD = (void (GLAPIENTRY *)(GLsizei, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glDeletePerfMonitorsAMD");
  traceGL_Native.glSelectPerfMonitorCountersAMD = (void (GLAPIENTRY *)(GLuint, GLboolean, GLuint, GLint, GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glSelectPerfMonitorCountersAMD");
  traceGL_Native.glBeginPerfMonitorAMD = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBeginPerfMonitorAMD");
  traceGL_Native.glEndPerfMonitorAMD = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glEndPerfMonitorAMD");
  traceGL_Native.glGetPerfMonitorCounterDataAMD = (void (GLAPIENTRY *)(GLuint, GLenum, GLsizei, GLuint *, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetPerfMonitorCounterDataAMD");
  traceGL_Native.glTessellationFactorAMD = (void (GLAPIENTRY *)(GLfloat)) traceGL_GetProcAddress(traceGL_handle, "glTessellationFactorAMD");
  traceGL_Native.glTessellationModeAMD = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glTessellationModeAMD");
  traceGL_Native.glProvokingVertexEXT = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glProvokingVertexEXT");
  traceGL_Native.glBlendFuncIndexedAMD = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBlendFuncIndexedAMD");
  traceGL_Native.glBlendFuncSeparateIndexedAMD = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum, GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBlendFuncSeparateIndexedAMD");
  traceGL_Native.glBlendEquationIndexedAMD = (void (GLAPIENTRY *)(GLuint, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBlendEquationIndexedAMD");
  traceGL_Native.glBlendEquationSeparateIndexedAMD = (void (GLAPIENTRY *)(GLuint, GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glBlendEquationSeparateIndexedAMD");
  traceGL_Native.glTextureRangeAPPLE = (void (GLAPIENTRY *)(GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glTextureRangeAPPLE");
  traceGL_Native.glGetTexParameterPointervAPPLE = (void (GLAPIENTRY *)(GLenum, GLenum, GLvoid **)) traceGL_GetProcAddress(traceGL_handle, "glGetTexParameterPointervAPPLE");
  traceGL_Native.glEnableVertexAttribAPPLE = (void (GLAPIENTRY *)(GLuint, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glEnableVertexAttribAPPLE");
  traceGL_Native.glDisableVertexAttribAPPLE = (void (GLAPIENTRY *)(GLuint, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glDisableVertexAttribAPPLE");
  traceGL_Native.glIsVertexAttribEnabledAPPLE = (GLboolean (GLAPIENTRY *)(GLuint, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glIsVertexAttribEnabledAPPLE");
  traceGL_Native.glMapVertexAttrib1dAPPLE = (void (GLAPIENTRY *)(GLuint, GLuint, GLdouble, GLdouble, GLint, GLint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glMapVertexAttrib1dAPPLE");
  traceGL_Native.glMapVertexAttrib1fAPPLE = (void (GLAPIENTRY *)(GLuint, GLuint, GLfloat, GLfloat, GLint, GLint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glMapVertexAttrib1fAPPLE");
  traceGL_Native.glMapVertexAttrib2dAPPLE = (void (GLAPIENTRY *)(GLuint, GLuint, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glMapVertexAttrib2dAPPLE");
  traceGL_Native.glMapVertexAttrib2fAPPLE = (void (GLAPIENTRY *)(GLuint, GLuint, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glMapVertexAttrib2fAPPLE");
  traceGL_Native.glObjectPurgeableAPPLE = (GLenum (GLAPIENTRY *)(GLenum, GLuint, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glObjectPurgeableAPPLE");
  traceGL_Native.glObjectUnpurgeableAPPLE = (GLenum (GLAPIENTRY *)(GLenum, GLuint, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glObjectUnpurgeableAPPLE");
  traceGL_Native.glGetObjectParameterivAPPLE = (void (GLAPIENTRY *)(GLenum, GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetObjectParameterivAPPLE");
  traceGL_Native.glBeginVideoCaptureNV = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBeginVideoCaptureNV");
  traceGL_Native.glBindVideoCaptureStreamBufferNV = (void (GLAPIENTRY *)(GLuint, GLuint, GLenum, GLintptr)) traceGL_GetProcAddress(traceGL_handle, "glBindVideoCaptureStreamBufferNV");
  traceGL_Native.glBindVideoCaptureStreamTextureNV = (void (GLAPIENTRY *)(GLuint, GLuint, GLenum, GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glBindVideoCaptureStreamTextureNV");
  traceGL_Native.glEndVideoCaptureNV = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glEndVideoCaptureNV");
  traceGL_Native.glGetVideoCaptureivNV = (void (GLAPIENTRY *)(GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetVideoCaptureivNV");
  traceGL_Native.glGetVideoCaptureStreamivNV = (void (GLAPIENTRY *)(GLuint, GLuint, GLenum, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glGetVideoCaptureStreamivNV");
  traceGL_Native.glGetVideoCaptureStreamfvNV = (void (GLAPIENTRY *)(GLuint, GLuint, GLenum, GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glGetVideoCaptureStreamfvNV");
  traceGL_Native.glGetVideoCaptureStreamdvNV = (void (GLAPIENTRY *)(GLuint, GLuint, GLenum, GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glGetVideoCaptureStreamdvNV");
  traceGL_Native.glVideoCaptureNV = (GLenum (GLAPIENTRY *)(GLuint, GLuint *, GLuint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glVideoCaptureNV");
  traceGL_Native.glVideoCaptureStreamParameterivNV = (void (GLAPIENTRY *)(GLuint, GLuint, GLenum, const GLint *)) traceGL_GetProcAddress(traceGL_handle, "glVideoCaptureStreamParameterivNV");
  traceGL_Native.glVideoCaptureStreamParameterfvNV = (void (GLAPIENTRY *)(GLuint, GLuint, GLenum, const GLfloat *)) traceGL_GetProcAddress(traceGL_handle, "glVideoCaptureStreamParameterfvNV");
  traceGL_Native.glVideoCaptureStreamParameterdvNV = (void (GLAPIENTRY *)(GLuint, GLuint, GLenum, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVideoCaptureStreamParameterdvNV");
  traceGL_Native.glCopyImageSubDataNV = (void (GLAPIENTRY *)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glCopyImageSubDataNV");
  traceGL_Native.glUseShaderProgramEXT = (void (GLAPIENTRY *)(GLenum, GLuint)) traceGL_GetProcAddress(traceGL_handle, "glUseShaderProgramEXT");
  traceGL_Native.glActiveProgramEXT = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glActiveProgramEXT");
  traceGL_Native.glCreateShaderProgramEXT = (GLuint (GLAPIENTRY *)(GLenum, const GLchar *)) traceGL_GetProcAddress(traceGL_handle, "glCreateShaderProgramEXT");
  traceGL_Native.glMakeBufferResidentNV = (void (GLAPIENTRY *)(GLenum, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glMakeBufferResidentNV");
  traceGL_Native.glMakeBufferNonResidentNV = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glMakeBufferNonResidentNV");
  traceGL_Native.glIsBufferResidentNV = (GLboolean (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glIsBufferResidentNV");
  traceGL_Native.glMakeNamedBufferResidentNV = (void (GLAPIENTRY *)(GLuint, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glMakeNamedBufferResidentNV");
  traceGL_Native.glMakeNamedBufferNonResidentNV = (void (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glMakeNamedBufferNonResidentNV");
  traceGL_Native.glIsNamedBufferResidentNV = (GLboolean (GLAPIENTRY *)(GLuint)) traceGL_GetProcAddress(traceGL_handle, "glIsNamedBufferResidentNV");
  traceGL_Native.glGetBufferParameterui64vNV = (void (GLAPIENTRY *)(GLenum, GLenum, GLuint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glGetBufferParameterui64vNV");
  traceGL_Native.glGetNamedBufferParameterui64vNV = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glGetNamedBufferParameterui64vNV");
  traceGL_Native.glGetIntegerui64vNV = (void (GLAPIENTRY *)(GLenum, GLuint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glGetIntegerui64vNV");
  traceGL_Native.glUniformui64NV = (void (GLAPIENTRY *)(GLint, GLuint64EXT)) traceGL_GetProcAddress(traceGL_handle, "glUniformui64NV");
  traceGL_Native.glUniformui64vNV = (void (GLAPIENTRY *)(GLint, GLsizei, const GLuint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glUniformui64vNV");
  traceGL_Native.glGetUniformui64vNV = (void (GLAPIENTRY *)(GLuint, GLint, GLuint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glGetUniformui64vNV");
  traceGL_Native.glProgramUniformui64NV = (void (GLAPIENTRY *)(GLuint, GLint, GLuint64EXT)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformui64NV");
  traceGL_Native.glProgramUniformui64vNV = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLuint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniformui64vNV");
  traceGL_Native.glBufferAddressRangeNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint64EXT, GLsizeiptr)) traceGL_GetProcAddress(traceGL_handle, "glBufferAddressRangeNV");
  traceGL_Native.glVertexFormatNV = (void (GLAPIENTRY *)(GLint, GLenum, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glVertexFormatNV");
  traceGL_Native.glNormalFormatNV = (void (GLAPIENTRY *)(GLenum, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glNormalFormatNV");
  traceGL_Native.glColorFormatNV = (void (GLAPIENTRY *)(GLint, GLenum, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glColorFormatNV");
  traceGL_Native.glIndexFormatNV = (void (GLAPIENTRY *)(GLenum, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glIndexFormatNV");
  traceGL_Native.glTexCoordFormatNV = (void (GLAPIENTRY *)(GLint, GLenum, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glTexCoordFormatNV");
  traceGL_Native.glEdgeFlagFormatNV = (void (GLAPIENTRY *)(GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glEdgeFlagFormatNV");
  traceGL_Native.glSecondaryColorFormatNV = (void (GLAPIENTRY *)(GLint, GLenum, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glSecondaryColorFormatNV");
  traceGL_Native.glFogCoordFormatNV = (void (GLAPIENTRY *)(GLenum, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glFogCoordFormatNV");
  traceGL_Native.glVertexAttribFormatNV = (void (GLAPIENTRY *)(GLuint, GLint, GLenum, GLboolean, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribFormatNV");
  traceGL_Native.glVertexAttribIFormatNV = (void (GLAPIENTRY *)(GLuint, GLint, GLenum, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribIFormatNV");
  traceGL_Native.glGetIntegerui64i_vNV = (void (GLAPIENTRY *)(GLenum, GLuint, GLuint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glGetIntegerui64i_vNV");
  traceGL_Native.glTextureBarrierNV = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glTextureBarrierNV");
  traceGL_Native.glBindImageTextureEXT = (void (GLAPIENTRY *)(GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLint)) traceGL_GetProcAddress(traceGL_handle, "glBindImageTextureEXT");
  traceGL_Native.glMemoryBarrierEXT = (void (GLAPIENTRY *)(GLbitfield)) traceGL_GetProcAddress(traceGL_handle, "glMemoryBarrierEXT");
  traceGL_Native.glVertexAttribL1dEXT = (void (GLAPIENTRY *)(GLuint, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL1dEXT");
  traceGL_Native.glVertexAttribL2dEXT = (void (GLAPIENTRY *)(GLuint, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL2dEXT");
  traceGL_Native.glVertexAttribL3dEXT = (void (GLAPIENTRY *)(GLuint, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL3dEXT");
  traceGL_Native.glVertexAttribL4dEXT = (void (GLAPIENTRY *)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL4dEXT");
  traceGL_Native.glVertexAttribL1dvEXT = (void (GLAPIENTRY *)(GLuint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL1dvEXT");
  traceGL_Native.glVertexAttribL2dvEXT = (void (GLAPIENTRY *)(GLuint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL2dvEXT");
  traceGL_Native.glVertexAttribL3dvEXT = (void (GLAPIENTRY *)(GLuint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL3dvEXT");
  traceGL_Native.glVertexAttribL4dvEXT = (void (GLAPIENTRY *)(GLuint, const GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL4dvEXT");
  traceGL_Native.glVertexAttribLPointerEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLenum, GLsizei, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribLPointerEXT");
  traceGL_Native.glVertexArrayVertexAttribLOffsetEXT = (void (GLAPIENTRY *)(GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr)) traceGL_GetProcAddress(traceGL_handle, "glVertexArrayVertexAttribLOffsetEXT");
  traceGL_Native.glGetVertexAttribLdvEXT = (void (GLAPIENTRY *)(GLuint, GLenum, GLdouble *)) traceGL_GetProcAddress(traceGL_handle, "glGetVertexAttribLdvEXT");
  traceGL_Native.glUniform1i64NV = (void (GLAPIENTRY *)(GLint, GLint64EXT)) traceGL_GetProcAddress(traceGL_handle, "glUniform1i64NV");
  traceGL_Native.glUniform2i64NV = (void (GLAPIENTRY *)(GLint, GLint64EXT, GLint64EXT)) traceGL_GetProcAddress(traceGL_handle, "glUniform2i64NV");
  traceGL_Native.glUniform3i64NV = (void (GLAPIENTRY *)(GLint, GLint64EXT, GLint64EXT, GLint64EXT)) traceGL_GetProcAddress(traceGL_handle, "glUniform3i64NV");
  traceGL_Native.glUniform4i64NV = (void (GLAPIENTRY *)(GLint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT)) traceGL_GetProcAddress(traceGL_handle, "glUniform4i64NV");
  traceGL_Native.glUniform1i64vNV = (void (GLAPIENTRY *)(GLint, GLsizei, const GLint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glUniform1i64vNV");
  traceGL_Native.glUniform2i64vNV = (void (GLAPIENTRY *)(GLint, GLsizei, const GLint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glUniform2i64vNV");
  traceGL_Native.glUniform3i64vNV = (void (GLAPIENTRY *)(GLint, GLsizei, const GLint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glUniform3i64vNV");
  traceGL_Native.glUniform4i64vNV = (void (GLAPIENTRY *)(GLint, GLsizei, const GLint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glUniform4i64vNV");
  traceGL_Native.glUniform1ui64NV = (void (GLAPIENTRY *)(GLint, GLuint64EXT)) traceGL_GetProcAddress(traceGL_handle, "glUniform1ui64NV");
  traceGL_Native.glUniform2ui64NV = (void (GLAPIENTRY *)(GLint, GLuint64EXT, GLuint64EXT)) traceGL_GetProcAddress(traceGL_handle, "glUniform2ui64NV");
  traceGL_Native.glUniform3ui64NV = (void (GLAPIENTRY *)(GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT)) traceGL_GetProcAddress(traceGL_handle, "glUniform3ui64NV");
  traceGL_Native.glUniform4ui64NV = (void (GLAPIENTRY *)(GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT)) traceGL_GetProcAddress(traceGL_handle, "glUniform4ui64NV");
  traceGL_Native.glUniform1ui64vNV = (void (GLAPIENTRY *)(GLint, GLsizei, const GLuint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glUniform1ui64vNV");
  traceGL_Native.glUniform2ui64vNV = (void (GLAPIENTRY *)(GLint, GLsizei, const GLuint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glUniform2ui64vNV");
  traceGL_Native.glUniform3ui64vNV = (void (GLAPIENTRY *)(GLint, GLsizei, const GLuint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glUniform3ui64vNV");
  traceGL_Native.glUniform4ui64vNV = (void (GLAPIENTRY *)(GLint, GLsizei, const GLuint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glUniform4ui64vNV");
  traceGL_Native.glProgramUniform1i64NV = (void (GLAPIENTRY *)(GLuint, GLint, GLint64EXT)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform1i64NV");
  traceGL_Native.glProgramUniform2i64NV = (void (GLAPIENTRY *)(GLuint, GLint, GLint64EXT, GLint64EXT)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform2i64NV");
  traceGL_Native.glProgramUniform3i64NV = (void (GLAPIENTRY *)(GLuint, GLint, GLint64EXT, GLint64EXT, GLint64EXT)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform3i64NV");
  traceGL_Native.glProgramUniform4i64NV = (void (GLAPIENTRY *)(GLuint, GLint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform4i64NV");
  traceGL_Native.glProgramUniform1i64vNV = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform1i64vNV");
  traceGL_Native.glProgramUniform2i64vNV = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform2i64vNV");
  traceGL_Native.glProgramUniform3i64vNV = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform3i64vNV");
  traceGL_Native.glProgramUniform4i64vNV = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform4i64vNV");
  traceGL_Native.glProgramUniform1ui64NV = (void (GLAPIENTRY *)(GLuint, GLint, GLuint64EXT)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform1ui64NV");
  traceGL_Native.glProgramUniform2ui64NV = (void (GLAPIENTRY *)(GLuint, GLint, GLuint64EXT, GLuint64EXT)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform2ui64NV");
  traceGL_Native.glProgramUniform3ui64NV = (void (GLAPIENTRY *)(GLuint, GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform3ui64NV");
  traceGL_Native.glProgramUniform4ui64NV = (void (GLAPIENTRY *)(GLuint, GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform4ui64NV");
  traceGL_Native.glProgramUniform1ui64vNV = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLuint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform1ui64vNV");
  traceGL_Native.glProgramUniform2ui64vNV = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLuint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform2ui64vNV");
  traceGL_Native.glProgramUniform3ui64vNV = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLuint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform3ui64vNV");
  traceGL_Native.glProgramUniform4ui64vNV = (void (GLAPIENTRY *)(GLuint, GLint, GLsizei, const GLuint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glProgramUniform4ui64vNV");
  traceGL_Native.glGetUniformi64vNV = (void (GLAPIENTRY *)(GLuint, GLint, GLint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glGetUniformi64vNV");
  traceGL_Native.glVertexAttribL1i64NV = (void (GLAPIENTRY *)(GLuint, GLint64EXT)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL1i64NV");
  traceGL_Native.glVertexAttribL2i64NV = (void (GLAPIENTRY *)(GLuint, GLint64EXT, GLint64EXT)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL2i64NV");
  traceGL_Native.glVertexAttribL3i64NV = (void (GLAPIENTRY *)(GLuint, GLint64EXT, GLint64EXT, GLint64EXT)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL3i64NV");
  traceGL_Native.glVertexAttribL4i64NV = (void (GLAPIENTRY *)(GLuint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL4i64NV");
  traceGL_Native.glVertexAttribL1ui64NV = (void (GLAPIENTRY *)(GLuint, GLuint64EXT)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL1ui64NV");
  traceGL_Native.glVertexAttribL2ui64NV = (void (GLAPIENTRY *)(GLuint, GLuint64EXT, GLuint64EXT)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL2ui64NV");
  traceGL_Native.glVertexAttribL3ui64NV = (void (GLAPIENTRY *)(GLuint, GLuint64EXT, GLuint64EXT, GLuint64EXT)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL3ui64NV");
  traceGL_Native.glVertexAttribL4ui64NV = (void (GLAPIENTRY *)(GLuint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL4ui64NV");
  traceGL_Native.glVertexAttribL1i64vNV = (void (GLAPIENTRY *)(GLuint, const GLint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL1i64vNV");
  traceGL_Native.glVertexAttribL2i64vNV = (void (GLAPIENTRY *)(GLuint, const GLint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL2i64vNV");
  traceGL_Native.glVertexAttribL3i64vNV = (void (GLAPIENTRY *)(GLuint, const GLint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL3i64vNV");
  traceGL_Native.glVertexAttribL4i64vNV = (void (GLAPIENTRY *)(GLuint, const GLint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL4i64vNV");
  traceGL_Native.glVertexAttribL1ui64vNV = (void (GLAPIENTRY *)(GLuint, const GLuint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL1ui64vNV");
  traceGL_Native.glVertexAttribL2ui64vNV = (void (GLAPIENTRY *)(GLuint, const GLuint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL2ui64vNV");
  traceGL_Native.glVertexAttribL3ui64vNV = (void (GLAPIENTRY *)(GLuint, const GLuint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL3ui64vNV");
  traceGL_Native.glVertexAttribL4ui64vNV = (void (GLAPIENTRY *)(GLuint, const GLuint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribL4ui64vNV");
  traceGL_Native.glVertexAttribLFormatNV = (void (GLAPIENTRY *)(GLuint, GLint, GLenum, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glVertexAttribLFormatNV");
  traceGL_Native.glGetVertexAttribLi64vNV = (void (GLAPIENTRY *)(GLuint, GLenum, GLint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glGetVertexAttribLi64vNV");
  traceGL_Native.glGetVertexAttribLui64vNV = (void (GLAPIENTRY *)(GLuint, GLenum, GLuint64EXT *)) traceGL_GetProcAddress(traceGL_handle, "glGetVertexAttribLui64vNV");
  traceGL_Native.glVDPAUInitNV = (void (GLAPIENTRY *)(const GLvoid *, const GLvoid *)) traceGL_GetProcAddress(traceGL_handle, "glVDPAUInitNV");
  traceGL_Native.glVDPAUFiniNV = (void (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glVDPAUFiniNV");
  traceGL_Native.glVDPAURegisterVideoSurfaceNV = (GLvdpauSurfaceNV (GLAPIENTRY *)(const GLvoid *, GLenum, GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glVDPAURegisterVideoSurfaceNV");
  traceGL_Native.glVDPAURegisterOutputSurfaceNV = (GLvdpauSurfaceNV (GLAPIENTRY *)(const GLvoid *, GLenum, GLsizei, const GLuint *)) traceGL_GetProcAddress(traceGL_handle, "glVDPAURegisterOutputSurfaceNV");
  traceGL_Native.glVDPAUIsSurfaceNV = (GLboolean (GLAPIENTRY *)(GLvdpauSurfaceNV)) traceGL_GetProcAddress(traceGL_handle, "glVDPAUIsSurfaceNV");
  traceGL_Native.glVDPAUUnregisterSurfaceNV = (void (GLAPIENTRY *)(GLvdpauSurfaceNV)) traceGL_GetProcAddress(traceGL_handle, "glVDPAUUnregisterSurfaceNV");
  traceGL_Native.glVDPAUGetSurfaceivNV = (void (GLAPIENTRY *)(GLvdpauSurfaceNV, GLenum, GLsizei, GLsizei *, GLint *)) traceGL_GetProcAddress(traceGL_handle, "glVDPAUGetSurfaceivNV");
  traceGL_Native.glVDPAUSurfaceAccessNV = (void (GLAPIENTRY *)(GLvdpauSurfaceNV, GLenum)) traceGL_GetProcAddress(traceGL_handle, "glVDPAUSurfaceAccessNV");
  traceGL_Native.glVDPAUMapSurfacesNV = (void (GLAPIENTRY *)(GLsizei, const GLvdpauSurfaceNV *)) traceGL_GetProcAddress(traceGL_handle, "glVDPAUMapSurfacesNV");
  traceGL_Native.glVDPAUUnmapSurfacesNV = (void (GLAPIENTRY *)(GLsizei, const GLvdpauSurfaceNV *)) traceGL_GetProcAddress(traceGL_handle, "glVDPAUUnmapSurfacesNV");
  traceGL_Native.glBufferRegionEnabledEXT = (GLuint (GLAPIENTRY *)(void)) traceGL_GetProcAddress(traceGL_handle, "glBufferRegionEnabledEXT");
  traceGL_Native.glNewBufferRegionEXT = (GLuint (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glNewBufferRegionEXT");
  traceGL_Native.glDeleteBufferRegionEXT = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glDeleteBufferRegionEXT");
  traceGL_Native.glReadBufferRegionEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLint, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glReadBufferRegionEXT");
  traceGL_Native.glDrawBufferRegionEXT = (void (GLAPIENTRY *)(GLuint, GLint, GLint, GLsizei, GLsizei, GLint, GLint)) traceGL_GetProcAddress(traceGL_handle, "glDrawBufferRegionEXT");
  traceGL_Native.glTextureFogSGIX = (void (GLAPIENTRY *)(GLenum)) traceGL_GetProcAddress(traceGL_handle, "glTextureFogSGIX");
  traceGL_Native.glAddSwapHintRectWIN = (void (GLAPIENTRY *)(GLint, GLint, GLsizei, GLsizei)) traceGL_GetProcAddress(traceGL_handle, "glAddSwapHintRectWIN");

  /* Load GL GetProcAddress functions. */

#if defined(_WIN32)
  traceGL_wglGetProcAddress = (void *(__stdcall *)(const char *)) traceGL_GetProcAddress(traceGL_handle, "wglGetProcAddress");
#elif !defined(__APPLE__)
  traceGL_glXGetProcAddress = (void *(*)(const char *)) traceGL_GetProcAddress(traceGL_handle, "glXGetProcAddress");
#endif

  /* Query GL version. */

  if
  (
    (traceGL_Native.glGetString) &&
    (traceGL_Native.glGetString != glGetString) &&
    (versionString = (const char *) traceGL_Native.glGetString(GL_VERSION)) &&
    (traceGL_Native.glGetError) &&
    (traceGL_Native.glGetError != glGetError) &&
    (traceGL_Native.glGetError() == GL_NO_ERROR)
  )
  {
    traceInfo("GL version: %s.", versionString);
  }
  if
  (
    (traceGL_Native.glGetIntegerv) &&
    (traceGL_Native.glGetIntegerv != glGetIntegerv)
  )
  {
    traceGL_Native.glGetIntegerv(GL_MAJOR_VERSION, &versionMajor);
    traceGL_Native.glGetIntegerv(GL_MINOR_VERSION, &versionMinor);
  }
  if
  (
    (traceGL_Native.glGetError) &&
    (traceGL_Native.glGetError != glGetError) &&
    (traceGL_Native.glGetError() == GL_NO_ERROR)
  )
  {
    traceInfo("GL version: %d.%d.", versionMajor, versionMinor);
    #define VERSION(a,b) ((a<<10)|b)
    if (VERSION(versionMajor, versionMinor) <= VERSION(2,0))
      traceWarning("Trace tools do not support this version of GL.");
  }
  else
    traceWarning("GL version: Unknown.");

  /* Validate GL API functions. */

  if (traceGL_Native.glNewList)
  {
    if (traceGL_Native.glNewList == glNewList)
    {
      traceWarning("Ignoring glNewList loaded from traceGL library.");
      traceGL_Native.glNewList = NULL;
    }
  }
  else
  {
    traceWarning("glNewList not loaded.");
  }
  if (traceGL_Native.glEndList)
  {
    if (traceGL_Native.glEndList == glEndList)
    {
      traceWarning("Ignoring glEndList loaded from traceGL library.");
      traceGL_Native.glEndList = NULL;
    }
  }
  else
  {
    traceWarning("glEndList not loaded.");
  }
  if (traceGL_Native.glCallList)
  {
    if (traceGL_Native.glCallList == glCallList)
    {
      traceWarning("Ignoring glCallList loaded from traceGL library.");
      traceGL_Native.glCallList = NULL;
    }
  }
  else
  {
    traceWarning("glCallList not loaded.");
  }
  if (traceGL_Native.glCallLists)
  {
    if (traceGL_Native.glCallLists == glCallLists)
    {
      traceWarning("Ignoring glCallLists loaded from traceGL library.");
      traceGL_Native.glCallLists = NULL;
    }
  }
  else
  {
    traceWarning("glCallLists not loaded.");
  }
  if (traceGL_Native.glDeleteLists)
  {
    if (traceGL_Native.glDeleteLists == glDeleteLists)
    {
      traceWarning("Ignoring glDeleteLists loaded from traceGL library.");
      traceGL_Native.glDeleteLists = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteLists not loaded.");
  }
  if (traceGL_Native.glGenLists)
  {
    if (traceGL_Native.glGenLists == glGenLists)
    {
      traceWarning("Ignoring glGenLists loaded from traceGL library.");
      traceGL_Native.glGenLists = NULL;
    }
  }
  else
  {
    traceWarning("glGenLists not loaded.");
  }
  if (traceGL_Native.glListBase)
  {
    if (traceGL_Native.glListBase == glListBase)
    {
      traceWarning("Ignoring glListBase loaded from traceGL library.");
      traceGL_Native.glListBase = NULL;
    }
  }
  else
  {
    traceWarning("glListBase not loaded.");
  }
  if (traceGL_Native.glBegin)
  {
    if (traceGL_Native.glBegin == glBegin)
    {
      traceWarning("Ignoring glBegin loaded from traceGL library.");
      traceGL_Native.glBegin = NULL;
    }
  }
  else
  {
    traceWarning("glBegin not loaded.");
  }
  if (traceGL_Native.glBitmap)
  {
    if (traceGL_Native.glBitmap == glBitmap)
    {
      traceWarning("Ignoring glBitmap loaded from traceGL library.");
      traceGL_Native.glBitmap = NULL;
    }
  }
  else
  {
    traceWarning("glBitmap not loaded.");
  }
  if (traceGL_Native.glColor3b)
  {
    if (traceGL_Native.glColor3b == glColor3b)
    {
      traceWarning("Ignoring glColor3b loaded from traceGL library.");
      traceGL_Native.glColor3b = NULL;
    }
  }
  else
  {
    traceWarning("glColor3b not loaded.");
  }
  if (traceGL_Native.glColor3bv)
  {
    if (traceGL_Native.glColor3bv == glColor3bv)
    {
      traceWarning("Ignoring glColor3bv loaded from traceGL library.");
      traceGL_Native.glColor3bv = NULL;
    }
  }
  else
  {
    traceWarning("glColor3bv not loaded.");
  }
  if (traceGL_Native.glColor3d)
  {
    if (traceGL_Native.glColor3d == glColor3d)
    {
      traceWarning("Ignoring glColor3d loaded from traceGL library.");
      traceGL_Native.glColor3d = NULL;
    }
  }
  else
  {
    traceWarning("glColor3d not loaded.");
  }
  if (traceGL_Native.glColor3dv)
  {
    if (traceGL_Native.glColor3dv == glColor3dv)
    {
      traceWarning("Ignoring glColor3dv loaded from traceGL library.");
      traceGL_Native.glColor3dv = NULL;
    }
  }
  else
  {
    traceWarning("glColor3dv not loaded.");
  }
  if (traceGL_Native.glColor3f)
  {
    if (traceGL_Native.glColor3f == glColor3f)
    {
      traceWarning("Ignoring glColor3f loaded from traceGL library.");
      traceGL_Native.glColor3f = NULL;
    }
  }
  else
  {
    traceWarning("glColor3f not loaded.");
  }
  if (traceGL_Native.glColor3fv)
  {
    if (traceGL_Native.glColor3fv == glColor3fv)
    {
      traceWarning("Ignoring glColor3fv loaded from traceGL library.");
      traceGL_Native.glColor3fv = NULL;
    }
  }
  else
  {
    traceWarning("glColor3fv not loaded.");
  }
  if (traceGL_Native.glColor3i)
  {
    if (traceGL_Native.glColor3i == glColor3i)
    {
      traceWarning("Ignoring glColor3i loaded from traceGL library.");
      traceGL_Native.glColor3i = NULL;
    }
  }
  else
  {
    traceWarning("glColor3i not loaded.");
  }
  if (traceGL_Native.glColor3iv)
  {
    if (traceGL_Native.glColor3iv == glColor3iv)
    {
      traceWarning("Ignoring glColor3iv loaded from traceGL library.");
      traceGL_Native.glColor3iv = NULL;
    }
  }
  else
  {
    traceWarning("glColor3iv not loaded.");
  }
  if (traceGL_Native.glColor3s)
  {
    if (traceGL_Native.glColor3s == glColor3s)
    {
      traceWarning("Ignoring glColor3s loaded from traceGL library.");
      traceGL_Native.glColor3s = NULL;
    }
  }
  else
  {
    traceWarning("glColor3s not loaded.");
  }
  if (traceGL_Native.glColor3sv)
  {
    if (traceGL_Native.glColor3sv == glColor3sv)
    {
      traceWarning("Ignoring glColor3sv loaded from traceGL library.");
      traceGL_Native.glColor3sv = NULL;
    }
  }
  else
  {
    traceWarning("glColor3sv not loaded.");
  }
  if (traceGL_Native.glColor3ub)
  {
    if (traceGL_Native.glColor3ub == glColor3ub)
    {
      traceWarning("Ignoring glColor3ub loaded from traceGL library.");
      traceGL_Native.glColor3ub = NULL;
    }
  }
  else
  {
    traceWarning("glColor3ub not loaded.");
  }
  if (traceGL_Native.glColor3ubv)
  {
    if (traceGL_Native.glColor3ubv == glColor3ubv)
    {
      traceWarning("Ignoring glColor3ubv loaded from traceGL library.");
      traceGL_Native.glColor3ubv = NULL;
    }
  }
  else
  {
    traceWarning("glColor3ubv not loaded.");
  }
  if (traceGL_Native.glColor3ui)
  {
    if (traceGL_Native.glColor3ui == glColor3ui)
    {
      traceWarning("Ignoring glColor3ui loaded from traceGL library.");
      traceGL_Native.glColor3ui = NULL;
    }
  }
  else
  {
    traceWarning("glColor3ui not loaded.");
  }
  if (traceGL_Native.glColor3uiv)
  {
    if (traceGL_Native.glColor3uiv == glColor3uiv)
    {
      traceWarning("Ignoring glColor3uiv loaded from traceGL library.");
      traceGL_Native.glColor3uiv = NULL;
    }
  }
  else
  {
    traceWarning("glColor3uiv not loaded.");
  }
  if (traceGL_Native.glColor3us)
  {
    if (traceGL_Native.glColor3us == glColor3us)
    {
      traceWarning("Ignoring glColor3us loaded from traceGL library.");
      traceGL_Native.glColor3us = NULL;
    }
  }
  else
  {
    traceWarning("glColor3us not loaded.");
  }
  if (traceGL_Native.glColor3usv)
  {
    if (traceGL_Native.glColor3usv == glColor3usv)
    {
      traceWarning("Ignoring glColor3usv loaded from traceGL library.");
      traceGL_Native.glColor3usv = NULL;
    }
  }
  else
  {
    traceWarning("glColor3usv not loaded.");
  }
  if (traceGL_Native.glColor4b)
  {
    if (traceGL_Native.glColor4b == glColor4b)
    {
      traceWarning("Ignoring glColor4b loaded from traceGL library.");
      traceGL_Native.glColor4b = NULL;
    }
  }
  else
  {
    traceWarning("glColor4b not loaded.");
  }
  if (traceGL_Native.glColor4bv)
  {
    if (traceGL_Native.glColor4bv == glColor4bv)
    {
      traceWarning("Ignoring glColor4bv loaded from traceGL library.");
      traceGL_Native.glColor4bv = NULL;
    }
  }
  else
  {
    traceWarning("glColor4bv not loaded.");
  }
  if (traceGL_Native.glColor4d)
  {
    if (traceGL_Native.glColor4d == glColor4d)
    {
      traceWarning("Ignoring glColor4d loaded from traceGL library.");
      traceGL_Native.glColor4d = NULL;
    }
  }
  else
  {
    traceWarning("glColor4d not loaded.");
  }
  if (traceGL_Native.glColor4dv)
  {
    if (traceGL_Native.glColor4dv == glColor4dv)
    {
      traceWarning("Ignoring glColor4dv loaded from traceGL library.");
      traceGL_Native.glColor4dv = NULL;
    }
  }
  else
  {
    traceWarning("glColor4dv not loaded.");
  }
  if (traceGL_Native.glColor4f)
  {
    if (traceGL_Native.glColor4f == glColor4f)
    {
      traceWarning("Ignoring glColor4f loaded from traceGL library.");
      traceGL_Native.glColor4f = NULL;
    }
  }
  else
  {
    traceWarning("glColor4f not loaded.");
  }
  if (traceGL_Native.glColor4fv)
  {
    if (traceGL_Native.glColor4fv == glColor4fv)
    {
      traceWarning("Ignoring glColor4fv loaded from traceGL library.");
      traceGL_Native.glColor4fv = NULL;
    }
  }
  else
  {
    traceWarning("glColor4fv not loaded.");
  }
  if (traceGL_Native.glColor4i)
  {
    if (traceGL_Native.glColor4i == glColor4i)
    {
      traceWarning("Ignoring glColor4i loaded from traceGL library.");
      traceGL_Native.glColor4i = NULL;
    }
  }
  else
  {
    traceWarning("glColor4i not loaded.");
  }
  if (traceGL_Native.glColor4iv)
  {
    if (traceGL_Native.glColor4iv == glColor4iv)
    {
      traceWarning("Ignoring glColor4iv loaded from traceGL library.");
      traceGL_Native.glColor4iv = NULL;
    }
  }
  else
  {
    traceWarning("glColor4iv not loaded.");
  }
  if (traceGL_Native.glColor4s)
  {
    if (traceGL_Native.glColor4s == glColor4s)
    {
      traceWarning("Ignoring glColor4s loaded from traceGL library.");
      traceGL_Native.glColor4s = NULL;
    }
  }
  else
  {
    traceWarning("glColor4s not loaded.");
  }
  if (traceGL_Native.glColor4sv)
  {
    if (traceGL_Native.glColor4sv == glColor4sv)
    {
      traceWarning("Ignoring glColor4sv loaded from traceGL library.");
      traceGL_Native.glColor4sv = NULL;
    }
  }
  else
  {
    traceWarning("glColor4sv not loaded.");
  }
  if (traceGL_Native.glColor4ub)
  {
    if (traceGL_Native.glColor4ub == glColor4ub)
    {
      traceWarning("Ignoring glColor4ub loaded from traceGL library.");
      traceGL_Native.glColor4ub = NULL;
    }
  }
  else
  {
    traceWarning("glColor4ub not loaded.");
  }
  if (traceGL_Native.glColor4ubv)
  {
    if (traceGL_Native.glColor4ubv == glColor4ubv)
    {
      traceWarning("Ignoring glColor4ubv loaded from traceGL library.");
      traceGL_Native.glColor4ubv = NULL;
    }
  }
  else
  {
    traceWarning("glColor4ubv not loaded.");
  }
  if (traceGL_Native.glColor4ui)
  {
    if (traceGL_Native.glColor4ui == glColor4ui)
    {
      traceWarning("Ignoring glColor4ui loaded from traceGL library.");
      traceGL_Native.glColor4ui = NULL;
    }
  }
  else
  {
    traceWarning("glColor4ui not loaded.");
  }
  if (traceGL_Native.glColor4uiv)
  {
    if (traceGL_Native.glColor4uiv == glColor4uiv)
    {
      traceWarning("Ignoring glColor4uiv loaded from traceGL library.");
      traceGL_Native.glColor4uiv = NULL;
    }
  }
  else
  {
    traceWarning("glColor4uiv not loaded.");
  }
  if (traceGL_Native.glColor4us)
  {
    if (traceGL_Native.glColor4us == glColor4us)
    {
      traceWarning("Ignoring glColor4us loaded from traceGL library.");
      traceGL_Native.glColor4us = NULL;
    }
  }
  else
  {
    traceWarning("glColor4us not loaded.");
  }
  if (traceGL_Native.glColor4usv)
  {
    if (traceGL_Native.glColor4usv == glColor4usv)
    {
      traceWarning("Ignoring glColor4usv loaded from traceGL library.");
      traceGL_Native.glColor4usv = NULL;
    }
  }
  else
  {
    traceWarning("glColor4usv not loaded.");
  }
  if (traceGL_Native.glEdgeFlag)
  {
    if (traceGL_Native.glEdgeFlag == glEdgeFlag)
    {
      traceWarning("Ignoring glEdgeFlag loaded from traceGL library.");
      traceGL_Native.glEdgeFlag = NULL;
    }
  }
  else
  {
    traceWarning("glEdgeFlag not loaded.");
  }
  if (traceGL_Native.glEdgeFlagv)
  {
    if (traceGL_Native.glEdgeFlagv == glEdgeFlagv)
    {
      traceWarning("Ignoring glEdgeFlagv loaded from traceGL library.");
      traceGL_Native.glEdgeFlagv = NULL;
    }
  }
  else
  {
    traceWarning("glEdgeFlagv not loaded.");
  }
  if (traceGL_Native.glEnd)
  {
    if (traceGL_Native.glEnd == glEnd)
    {
      traceWarning("Ignoring glEnd loaded from traceGL library.");
      traceGL_Native.glEnd = NULL;
    }
  }
  else
  {
    traceWarning("glEnd not loaded.");
  }
  if (traceGL_Native.glIndexd)
  {
    if (traceGL_Native.glIndexd == glIndexd)
    {
      traceWarning("Ignoring glIndexd loaded from traceGL library.");
      traceGL_Native.glIndexd = NULL;
    }
  }
  else
  {
    traceWarning("glIndexd not loaded.");
  }
  if (traceGL_Native.glIndexdv)
  {
    if (traceGL_Native.glIndexdv == glIndexdv)
    {
      traceWarning("Ignoring glIndexdv loaded from traceGL library.");
      traceGL_Native.glIndexdv = NULL;
    }
  }
  else
  {
    traceWarning("glIndexdv not loaded.");
  }
  if (traceGL_Native.glIndexf)
  {
    if (traceGL_Native.glIndexf == glIndexf)
    {
      traceWarning("Ignoring glIndexf loaded from traceGL library.");
      traceGL_Native.glIndexf = NULL;
    }
  }
  else
  {
    traceWarning("glIndexf not loaded.");
  }
  if (traceGL_Native.glIndexfv)
  {
    if (traceGL_Native.glIndexfv == glIndexfv)
    {
      traceWarning("Ignoring glIndexfv loaded from traceGL library.");
      traceGL_Native.glIndexfv = NULL;
    }
  }
  else
  {
    traceWarning("glIndexfv not loaded.");
  }
  if (traceGL_Native.glIndexi)
  {
    if (traceGL_Native.glIndexi == glIndexi)
    {
      traceWarning("Ignoring glIndexi loaded from traceGL library.");
      traceGL_Native.glIndexi = NULL;
    }
  }
  else
  {
    traceWarning("glIndexi not loaded.");
  }
  if (traceGL_Native.glIndexiv)
  {
    if (traceGL_Native.glIndexiv == glIndexiv)
    {
      traceWarning("Ignoring glIndexiv loaded from traceGL library.");
      traceGL_Native.glIndexiv = NULL;
    }
  }
  else
  {
    traceWarning("glIndexiv not loaded.");
  }
  if (traceGL_Native.glIndexs)
  {
    if (traceGL_Native.glIndexs == glIndexs)
    {
      traceWarning("Ignoring glIndexs loaded from traceGL library.");
      traceGL_Native.glIndexs = NULL;
    }
  }
  else
  {
    traceWarning("glIndexs not loaded.");
  }
  if (traceGL_Native.glIndexsv)
  {
    if (traceGL_Native.glIndexsv == glIndexsv)
    {
      traceWarning("Ignoring glIndexsv loaded from traceGL library.");
      traceGL_Native.glIndexsv = NULL;
    }
  }
  else
  {
    traceWarning("glIndexsv not loaded.");
  }
  if (traceGL_Native.glNormal3b)
  {
    if (traceGL_Native.glNormal3b == glNormal3b)
    {
      traceWarning("Ignoring glNormal3b loaded from traceGL library.");
      traceGL_Native.glNormal3b = NULL;
    }
  }
  else
  {
    traceWarning("glNormal3b not loaded.");
  }
  if (traceGL_Native.glNormal3bv)
  {
    if (traceGL_Native.glNormal3bv == glNormal3bv)
    {
      traceWarning("Ignoring glNormal3bv loaded from traceGL library.");
      traceGL_Native.glNormal3bv = NULL;
    }
  }
  else
  {
    traceWarning("glNormal3bv not loaded.");
  }
  if (traceGL_Native.glNormal3d)
  {
    if (traceGL_Native.glNormal3d == glNormal3d)
    {
      traceWarning("Ignoring glNormal3d loaded from traceGL library.");
      traceGL_Native.glNormal3d = NULL;
    }
  }
  else
  {
    traceWarning("glNormal3d not loaded.");
  }
  if (traceGL_Native.glNormal3dv)
  {
    if (traceGL_Native.glNormal3dv == glNormal3dv)
    {
      traceWarning("Ignoring glNormal3dv loaded from traceGL library.");
      traceGL_Native.glNormal3dv = NULL;
    }
  }
  else
  {
    traceWarning("glNormal3dv not loaded.");
  }
  if (traceGL_Native.glNormal3f)
  {
    if (traceGL_Native.glNormal3f == glNormal3f)
    {
      traceWarning("Ignoring glNormal3f loaded from traceGL library.");
      traceGL_Native.glNormal3f = NULL;
    }
  }
  else
  {
    traceWarning("glNormal3f not loaded.");
  }
  if (traceGL_Native.glNormal3fv)
  {
    if (traceGL_Native.glNormal3fv == glNormal3fv)
    {
      traceWarning("Ignoring glNormal3fv loaded from traceGL library.");
      traceGL_Native.glNormal3fv = NULL;
    }
  }
  else
  {
    traceWarning("glNormal3fv not loaded.");
  }
  if (traceGL_Native.glNormal3i)
  {
    if (traceGL_Native.glNormal3i == glNormal3i)
    {
      traceWarning("Ignoring glNormal3i loaded from traceGL library.");
      traceGL_Native.glNormal3i = NULL;
    }
  }
  else
  {
    traceWarning("glNormal3i not loaded.");
  }
  if (traceGL_Native.glNormal3iv)
  {
    if (traceGL_Native.glNormal3iv == glNormal3iv)
    {
      traceWarning("Ignoring glNormal3iv loaded from traceGL library.");
      traceGL_Native.glNormal3iv = NULL;
    }
  }
  else
  {
    traceWarning("glNormal3iv not loaded.");
  }
  if (traceGL_Native.glNormal3s)
  {
    if (traceGL_Native.glNormal3s == glNormal3s)
    {
      traceWarning("Ignoring glNormal3s loaded from traceGL library.");
      traceGL_Native.glNormal3s = NULL;
    }
  }
  else
  {
    traceWarning("glNormal3s not loaded.");
  }
  if (traceGL_Native.glNormal3sv)
  {
    if (traceGL_Native.glNormal3sv == glNormal3sv)
    {
      traceWarning("Ignoring glNormal3sv loaded from traceGL library.");
      traceGL_Native.glNormal3sv = NULL;
    }
  }
  else
  {
    traceWarning("glNormal3sv not loaded.");
  }
  if (traceGL_Native.glRasterPos2d)
  {
    if (traceGL_Native.glRasterPos2d == glRasterPos2d)
    {
      traceWarning("Ignoring glRasterPos2d loaded from traceGL library.");
      traceGL_Native.glRasterPos2d = NULL;
    }
  }
  else
  {
    traceWarning("glRasterPos2d not loaded.");
  }
  if (traceGL_Native.glRasterPos2dv)
  {
    if (traceGL_Native.glRasterPos2dv == glRasterPos2dv)
    {
      traceWarning("Ignoring glRasterPos2dv loaded from traceGL library.");
      traceGL_Native.glRasterPos2dv = NULL;
    }
  }
  else
  {
    traceWarning("glRasterPos2dv not loaded.");
  }
  if (traceGL_Native.glRasterPos2f)
  {
    if (traceGL_Native.glRasterPos2f == glRasterPos2f)
    {
      traceWarning("Ignoring glRasterPos2f loaded from traceGL library.");
      traceGL_Native.glRasterPos2f = NULL;
    }
  }
  else
  {
    traceWarning("glRasterPos2f not loaded.");
  }
  if (traceGL_Native.glRasterPos2fv)
  {
    if (traceGL_Native.glRasterPos2fv == glRasterPos2fv)
    {
      traceWarning("Ignoring glRasterPos2fv loaded from traceGL library.");
      traceGL_Native.glRasterPos2fv = NULL;
    }
  }
  else
  {
    traceWarning("glRasterPos2fv not loaded.");
  }
  if (traceGL_Native.glRasterPos2i)
  {
    if (traceGL_Native.glRasterPos2i == glRasterPos2i)
    {
      traceWarning("Ignoring glRasterPos2i loaded from traceGL library.");
      traceGL_Native.glRasterPos2i = NULL;
    }
  }
  else
  {
    traceWarning("glRasterPos2i not loaded.");
  }
  if (traceGL_Native.glRasterPos2iv)
  {
    if (traceGL_Native.glRasterPos2iv == glRasterPos2iv)
    {
      traceWarning("Ignoring glRasterPos2iv loaded from traceGL library.");
      traceGL_Native.glRasterPos2iv = NULL;
    }
  }
  else
  {
    traceWarning("glRasterPos2iv not loaded.");
  }
  if (traceGL_Native.glRasterPos2s)
  {
    if (traceGL_Native.glRasterPos2s == glRasterPos2s)
    {
      traceWarning("Ignoring glRasterPos2s loaded from traceGL library.");
      traceGL_Native.glRasterPos2s = NULL;
    }
  }
  else
  {
    traceWarning("glRasterPos2s not loaded.");
  }
  if (traceGL_Native.glRasterPos2sv)
  {
    if (traceGL_Native.glRasterPos2sv == glRasterPos2sv)
    {
      traceWarning("Ignoring glRasterPos2sv loaded from traceGL library.");
      traceGL_Native.glRasterPos2sv = NULL;
    }
  }
  else
  {
    traceWarning("glRasterPos2sv not loaded.");
  }
  if (traceGL_Native.glRasterPos3d)
  {
    if (traceGL_Native.glRasterPos3d == glRasterPos3d)
    {
      traceWarning("Ignoring glRasterPos3d loaded from traceGL library.");
      traceGL_Native.glRasterPos3d = NULL;
    }
  }
  else
  {
    traceWarning("glRasterPos3d not loaded.");
  }
  if (traceGL_Native.glRasterPos3dv)
  {
    if (traceGL_Native.glRasterPos3dv == glRasterPos3dv)
    {
      traceWarning("Ignoring glRasterPos3dv loaded from traceGL library.");
      traceGL_Native.glRasterPos3dv = NULL;
    }
  }
  else
  {
    traceWarning("glRasterPos3dv not loaded.");
  }
  if (traceGL_Native.glRasterPos3f)
  {
    if (traceGL_Native.glRasterPos3f == glRasterPos3f)
    {
      traceWarning("Ignoring glRasterPos3f loaded from traceGL library.");
      traceGL_Native.glRasterPos3f = NULL;
    }
  }
  else
  {
    traceWarning("glRasterPos3f not loaded.");
  }
  if (traceGL_Native.glRasterPos3fv)
  {
    if (traceGL_Native.glRasterPos3fv == glRasterPos3fv)
    {
      traceWarning("Ignoring glRasterPos3fv loaded from traceGL library.");
      traceGL_Native.glRasterPos3fv = NULL;
    }
  }
  else
  {
    traceWarning("glRasterPos3fv not loaded.");
  }
  if (traceGL_Native.glRasterPos3i)
  {
    if (traceGL_Native.glRasterPos3i == glRasterPos3i)
    {
      traceWarning("Ignoring glRasterPos3i loaded from traceGL library.");
      traceGL_Native.glRasterPos3i = NULL;
    }
  }
  else
  {
    traceWarning("glRasterPos3i not loaded.");
  }
  if (traceGL_Native.glRasterPos3iv)
  {
    if (traceGL_Native.glRasterPos3iv == glRasterPos3iv)
    {
      traceWarning("Ignoring glRasterPos3iv loaded from traceGL library.");
      traceGL_Native.glRasterPos3iv = NULL;
    }
  }
  else
  {
    traceWarning("glRasterPos3iv not loaded.");
  }
  if (traceGL_Native.glRasterPos3s)
  {
    if (traceGL_Native.glRasterPos3s == glRasterPos3s)
    {
      traceWarning("Ignoring glRasterPos3s loaded from traceGL library.");
      traceGL_Native.glRasterPos3s = NULL;
    }
  }
  else
  {
    traceWarning("glRasterPos3s not loaded.");
  }
  if (traceGL_Native.glRasterPos3sv)
  {
    if (traceGL_Native.glRasterPos3sv == glRasterPos3sv)
    {
      traceWarning("Ignoring glRasterPos3sv loaded from traceGL library.");
      traceGL_Native.glRasterPos3sv = NULL;
    }
  }
  else
  {
    traceWarning("glRasterPos3sv not loaded.");
  }
  if (traceGL_Native.glRasterPos4d)
  {
    if (traceGL_Native.glRasterPos4d == glRasterPos4d)
    {
      traceWarning("Ignoring glRasterPos4d loaded from traceGL library.");
      traceGL_Native.glRasterPos4d = NULL;
    }
  }
  else
  {
    traceWarning("glRasterPos4d not loaded.");
  }
  if (traceGL_Native.glRasterPos4dv)
  {
    if (traceGL_Native.glRasterPos4dv == glRasterPos4dv)
    {
      traceWarning("Ignoring glRasterPos4dv loaded from traceGL library.");
      traceGL_Native.glRasterPos4dv = NULL;
    }
  }
  else
  {
    traceWarning("glRasterPos4dv not loaded.");
  }
  if (traceGL_Native.glRasterPos4f)
  {
    if (traceGL_Native.glRasterPos4f == glRasterPos4f)
    {
      traceWarning("Ignoring glRasterPos4f loaded from traceGL library.");
      traceGL_Native.glRasterPos4f = NULL;
    }
  }
  else
  {
    traceWarning("glRasterPos4f not loaded.");
  }
  if (traceGL_Native.glRasterPos4fv)
  {
    if (traceGL_Native.glRasterPos4fv == glRasterPos4fv)
    {
      traceWarning("Ignoring glRasterPos4fv loaded from traceGL library.");
      traceGL_Native.glRasterPos4fv = NULL;
    }
  }
  else
  {
    traceWarning("glRasterPos4fv not loaded.");
  }
  if (traceGL_Native.glRasterPos4i)
  {
    if (traceGL_Native.glRasterPos4i == glRasterPos4i)
    {
      traceWarning("Ignoring glRasterPos4i loaded from traceGL library.");
      traceGL_Native.glRasterPos4i = NULL;
    }
  }
  else
  {
    traceWarning("glRasterPos4i not loaded.");
  }
  if (traceGL_Native.glRasterPos4iv)
  {
    if (traceGL_Native.glRasterPos4iv == glRasterPos4iv)
    {
      traceWarning("Ignoring glRasterPos4iv loaded from traceGL library.");
      traceGL_Native.glRasterPos4iv = NULL;
    }
  }
  else
  {
    traceWarning("glRasterPos4iv not loaded.");
  }
  if (traceGL_Native.glRasterPos4s)
  {
    if (traceGL_Native.glRasterPos4s == glRasterPos4s)
    {
      traceWarning("Ignoring glRasterPos4s loaded from traceGL library.");
      traceGL_Native.glRasterPos4s = NULL;
    }
  }
  else
  {
    traceWarning("glRasterPos4s not loaded.");
  }
  if (traceGL_Native.glRasterPos4sv)
  {
    if (traceGL_Native.glRasterPos4sv == glRasterPos4sv)
    {
      traceWarning("Ignoring glRasterPos4sv loaded from traceGL library.");
      traceGL_Native.glRasterPos4sv = NULL;
    }
  }
  else
  {
    traceWarning("glRasterPos4sv not loaded.");
  }
  if (traceGL_Native.glRectd)
  {
    if (traceGL_Native.glRectd == glRectd)
    {
      traceWarning("Ignoring glRectd loaded from traceGL library.");
      traceGL_Native.glRectd = NULL;
    }
  }
  else
  {
    traceWarning("glRectd not loaded.");
  }
  if (traceGL_Native.glRectdv)
  {
    if (traceGL_Native.glRectdv == glRectdv)
    {
      traceWarning("Ignoring glRectdv loaded from traceGL library.");
      traceGL_Native.glRectdv = NULL;
    }
  }
  else
  {
    traceWarning("glRectdv not loaded.");
  }
  if (traceGL_Native.glRectf)
  {
    if (traceGL_Native.glRectf == glRectf)
    {
      traceWarning("Ignoring glRectf loaded from traceGL library.");
      traceGL_Native.glRectf = NULL;
    }
  }
  else
  {
    traceWarning("glRectf not loaded.");
  }
  if (traceGL_Native.glRectfv)
  {
    if (traceGL_Native.glRectfv == glRectfv)
    {
      traceWarning("Ignoring glRectfv loaded from traceGL library.");
      traceGL_Native.glRectfv = NULL;
    }
  }
  else
  {
    traceWarning("glRectfv not loaded.");
  }
  if (traceGL_Native.glRecti)
  {
    if (traceGL_Native.glRecti == glRecti)
    {
      traceWarning("Ignoring glRecti loaded from traceGL library.");
      traceGL_Native.glRecti = NULL;
    }
  }
  else
  {
    traceWarning("glRecti not loaded.");
  }
  if (traceGL_Native.glRectiv)
  {
    if (traceGL_Native.glRectiv == glRectiv)
    {
      traceWarning("Ignoring glRectiv loaded from traceGL library.");
      traceGL_Native.glRectiv = NULL;
    }
  }
  else
  {
    traceWarning("glRectiv not loaded.");
  }
  if (traceGL_Native.glRects)
  {
    if (traceGL_Native.glRects == glRects)
    {
      traceWarning("Ignoring glRects loaded from traceGL library.");
      traceGL_Native.glRects = NULL;
    }
  }
  else
  {
    traceWarning("glRects not loaded.");
  }
  if (traceGL_Native.glRectsv)
  {
    if (traceGL_Native.glRectsv == glRectsv)
    {
      traceWarning("Ignoring glRectsv loaded from traceGL library.");
      traceGL_Native.glRectsv = NULL;
    }
  }
  else
  {
    traceWarning("glRectsv not loaded.");
  }
  if (traceGL_Native.glTexCoord1d)
  {
    if (traceGL_Native.glTexCoord1d == glTexCoord1d)
    {
      traceWarning("Ignoring glTexCoord1d loaded from traceGL library.");
      traceGL_Native.glTexCoord1d = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord1d not loaded.");
  }
  if (traceGL_Native.glTexCoord1dv)
  {
    if (traceGL_Native.glTexCoord1dv == glTexCoord1dv)
    {
      traceWarning("Ignoring glTexCoord1dv loaded from traceGL library.");
      traceGL_Native.glTexCoord1dv = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord1dv not loaded.");
  }
  if (traceGL_Native.glTexCoord1f)
  {
    if (traceGL_Native.glTexCoord1f == glTexCoord1f)
    {
      traceWarning("Ignoring glTexCoord1f loaded from traceGL library.");
      traceGL_Native.glTexCoord1f = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord1f not loaded.");
  }
  if (traceGL_Native.glTexCoord1fv)
  {
    if (traceGL_Native.glTexCoord1fv == glTexCoord1fv)
    {
      traceWarning("Ignoring glTexCoord1fv loaded from traceGL library.");
      traceGL_Native.glTexCoord1fv = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord1fv not loaded.");
  }
  if (traceGL_Native.glTexCoord1i)
  {
    if (traceGL_Native.glTexCoord1i == glTexCoord1i)
    {
      traceWarning("Ignoring glTexCoord1i loaded from traceGL library.");
      traceGL_Native.glTexCoord1i = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord1i not loaded.");
  }
  if (traceGL_Native.glTexCoord1iv)
  {
    if (traceGL_Native.glTexCoord1iv == glTexCoord1iv)
    {
      traceWarning("Ignoring glTexCoord1iv loaded from traceGL library.");
      traceGL_Native.glTexCoord1iv = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord1iv not loaded.");
  }
  if (traceGL_Native.glTexCoord1s)
  {
    if (traceGL_Native.glTexCoord1s == glTexCoord1s)
    {
      traceWarning("Ignoring glTexCoord1s loaded from traceGL library.");
      traceGL_Native.glTexCoord1s = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord1s not loaded.");
  }
  if (traceGL_Native.glTexCoord1sv)
  {
    if (traceGL_Native.glTexCoord1sv == glTexCoord1sv)
    {
      traceWarning("Ignoring glTexCoord1sv loaded from traceGL library.");
      traceGL_Native.glTexCoord1sv = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord1sv not loaded.");
  }
  if (traceGL_Native.glTexCoord2d)
  {
    if (traceGL_Native.glTexCoord2d == glTexCoord2d)
    {
      traceWarning("Ignoring glTexCoord2d loaded from traceGL library.");
      traceGL_Native.glTexCoord2d = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord2d not loaded.");
  }
  if (traceGL_Native.glTexCoord2dv)
  {
    if (traceGL_Native.glTexCoord2dv == glTexCoord2dv)
    {
      traceWarning("Ignoring glTexCoord2dv loaded from traceGL library.");
      traceGL_Native.glTexCoord2dv = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord2dv not loaded.");
  }
  if (traceGL_Native.glTexCoord2f)
  {
    if (traceGL_Native.glTexCoord2f == glTexCoord2f)
    {
      traceWarning("Ignoring glTexCoord2f loaded from traceGL library.");
      traceGL_Native.glTexCoord2f = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord2f not loaded.");
  }
  if (traceGL_Native.glTexCoord2fv)
  {
    if (traceGL_Native.glTexCoord2fv == glTexCoord2fv)
    {
      traceWarning("Ignoring glTexCoord2fv loaded from traceGL library.");
      traceGL_Native.glTexCoord2fv = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord2fv not loaded.");
  }
  if (traceGL_Native.glTexCoord2i)
  {
    if (traceGL_Native.glTexCoord2i == glTexCoord2i)
    {
      traceWarning("Ignoring glTexCoord2i loaded from traceGL library.");
      traceGL_Native.glTexCoord2i = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord2i not loaded.");
  }
  if (traceGL_Native.glTexCoord2iv)
  {
    if (traceGL_Native.glTexCoord2iv == glTexCoord2iv)
    {
      traceWarning("Ignoring glTexCoord2iv loaded from traceGL library.");
      traceGL_Native.glTexCoord2iv = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord2iv not loaded.");
  }
  if (traceGL_Native.glTexCoord2s)
  {
    if (traceGL_Native.glTexCoord2s == glTexCoord2s)
    {
      traceWarning("Ignoring glTexCoord2s loaded from traceGL library.");
      traceGL_Native.glTexCoord2s = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord2s not loaded.");
  }
  if (traceGL_Native.glTexCoord2sv)
  {
    if (traceGL_Native.glTexCoord2sv == glTexCoord2sv)
    {
      traceWarning("Ignoring glTexCoord2sv loaded from traceGL library.");
      traceGL_Native.glTexCoord2sv = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord2sv not loaded.");
  }
  if (traceGL_Native.glTexCoord3d)
  {
    if (traceGL_Native.glTexCoord3d == glTexCoord3d)
    {
      traceWarning("Ignoring glTexCoord3d loaded from traceGL library.");
      traceGL_Native.glTexCoord3d = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord3d not loaded.");
  }
  if (traceGL_Native.glTexCoord3dv)
  {
    if (traceGL_Native.glTexCoord3dv == glTexCoord3dv)
    {
      traceWarning("Ignoring glTexCoord3dv loaded from traceGL library.");
      traceGL_Native.glTexCoord3dv = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord3dv not loaded.");
  }
  if (traceGL_Native.glTexCoord3f)
  {
    if (traceGL_Native.glTexCoord3f == glTexCoord3f)
    {
      traceWarning("Ignoring glTexCoord3f loaded from traceGL library.");
      traceGL_Native.glTexCoord3f = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord3f not loaded.");
  }
  if (traceGL_Native.glTexCoord3fv)
  {
    if (traceGL_Native.glTexCoord3fv == glTexCoord3fv)
    {
      traceWarning("Ignoring glTexCoord3fv loaded from traceGL library.");
      traceGL_Native.glTexCoord3fv = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord3fv not loaded.");
  }
  if (traceGL_Native.glTexCoord3i)
  {
    if (traceGL_Native.glTexCoord3i == glTexCoord3i)
    {
      traceWarning("Ignoring glTexCoord3i loaded from traceGL library.");
      traceGL_Native.glTexCoord3i = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord3i not loaded.");
  }
  if (traceGL_Native.glTexCoord3iv)
  {
    if (traceGL_Native.glTexCoord3iv == glTexCoord3iv)
    {
      traceWarning("Ignoring glTexCoord3iv loaded from traceGL library.");
      traceGL_Native.glTexCoord3iv = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord3iv not loaded.");
  }
  if (traceGL_Native.glTexCoord3s)
  {
    if (traceGL_Native.glTexCoord3s == glTexCoord3s)
    {
      traceWarning("Ignoring glTexCoord3s loaded from traceGL library.");
      traceGL_Native.glTexCoord3s = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord3s not loaded.");
  }
  if (traceGL_Native.glTexCoord3sv)
  {
    if (traceGL_Native.glTexCoord3sv == glTexCoord3sv)
    {
      traceWarning("Ignoring glTexCoord3sv loaded from traceGL library.");
      traceGL_Native.glTexCoord3sv = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord3sv not loaded.");
  }
  if (traceGL_Native.glTexCoord4d)
  {
    if (traceGL_Native.glTexCoord4d == glTexCoord4d)
    {
      traceWarning("Ignoring glTexCoord4d loaded from traceGL library.");
      traceGL_Native.glTexCoord4d = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord4d not loaded.");
  }
  if (traceGL_Native.glTexCoord4dv)
  {
    if (traceGL_Native.glTexCoord4dv == glTexCoord4dv)
    {
      traceWarning("Ignoring glTexCoord4dv loaded from traceGL library.");
      traceGL_Native.glTexCoord4dv = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord4dv not loaded.");
  }
  if (traceGL_Native.glTexCoord4f)
  {
    if (traceGL_Native.glTexCoord4f == glTexCoord4f)
    {
      traceWarning("Ignoring glTexCoord4f loaded from traceGL library.");
      traceGL_Native.glTexCoord4f = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord4f not loaded.");
  }
  if (traceGL_Native.glTexCoord4fv)
  {
    if (traceGL_Native.glTexCoord4fv == glTexCoord4fv)
    {
      traceWarning("Ignoring glTexCoord4fv loaded from traceGL library.");
      traceGL_Native.glTexCoord4fv = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord4fv not loaded.");
  }
  if (traceGL_Native.glTexCoord4i)
  {
    if (traceGL_Native.glTexCoord4i == glTexCoord4i)
    {
      traceWarning("Ignoring glTexCoord4i loaded from traceGL library.");
      traceGL_Native.glTexCoord4i = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord4i not loaded.");
  }
  if (traceGL_Native.glTexCoord4iv)
  {
    if (traceGL_Native.glTexCoord4iv == glTexCoord4iv)
    {
      traceWarning("Ignoring glTexCoord4iv loaded from traceGL library.");
      traceGL_Native.glTexCoord4iv = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord4iv not loaded.");
  }
  if (traceGL_Native.glTexCoord4s)
  {
    if (traceGL_Native.glTexCoord4s == glTexCoord4s)
    {
      traceWarning("Ignoring glTexCoord4s loaded from traceGL library.");
      traceGL_Native.glTexCoord4s = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord4s not loaded.");
  }
  if (traceGL_Native.glTexCoord4sv)
  {
    if (traceGL_Native.glTexCoord4sv == glTexCoord4sv)
    {
      traceWarning("Ignoring glTexCoord4sv loaded from traceGL library.");
      traceGL_Native.glTexCoord4sv = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord4sv not loaded.");
  }
  if (traceGL_Native.glVertex2d)
  {
    if (traceGL_Native.glVertex2d == glVertex2d)
    {
      traceWarning("Ignoring glVertex2d loaded from traceGL library.");
      traceGL_Native.glVertex2d = NULL;
    }
  }
  else
  {
    traceWarning("glVertex2d not loaded.");
  }
  if (traceGL_Native.glVertex2dv)
  {
    if (traceGL_Native.glVertex2dv == glVertex2dv)
    {
      traceWarning("Ignoring glVertex2dv loaded from traceGL library.");
      traceGL_Native.glVertex2dv = NULL;
    }
  }
  else
  {
    traceWarning("glVertex2dv not loaded.");
  }
  if (traceGL_Native.glVertex2f)
  {
    if (traceGL_Native.glVertex2f == glVertex2f)
    {
      traceWarning("Ignoring glVertex2f loaded from traceGL library.");
      traceGL_Native.glVertex2f = NULL;
    }
  }
  else
  {
    traceWarning("glVertex2f not loaded.");
  }
  if (traceGL_Native.glVertex2fv)
  {
    if (traceGL_Native.glVertex2fv == glVertex2fv)
    {
      traceWarning("Ignoring glVertex2fv loaded from traceGL library.");
      traceGL_Native.glVertex2fv = NULL;
    }
  }
  else
  {
    traceWarning("glVertex2fv not loaded.");
  }
  if (traceGL_Native.glVertex2i)
  {
    if (traceGL_Native.glVertex2i == glVertex2i)
    {
      traceWarning("Ignoring glVertex2i loaded from traceGL library.");
      traceGL_Native.glVertex2i = NULL;
    }
  }
  else
  {
    traceWarning("glVertex2i not loaded.");
  }
  if (traceGL_Native.glVertex2iv)
  {
    if (traceGL_Native.glVertex2iv == glVertex2iv)
    {
      traceWarning("Ignoring glVertex2iv loaded from traceGL library.");
      traceGL_Native.glVertex2iv = NULL;
    }
  }
  else
  {
    traceWarning("glVertex2iv not loaded.");
  }
  if (traceGL_Native.glVertex2s)
  {
    if (traceGL_Native.glVertex2s == glVertex2s)
    {
      traceWarning("Ignoring glVertex2s loaded from traceGL library.");
      traceGL_Native.glVertex2s = NULL;
    }
  }
  else
  {
    traceWarning("glVertex2s not loaded.");
  }
  if (traceGL_Native.glVertex2sv)
  {
    if (traceGL_Native.glVertex2sv == glVertex2sv)
    {
      traceWarning("Ignoring glVertex2sv loaded from traceGL library.");
      traceGL_Native.glVertex2sv = NULL;
    }
  }
  else
  {
    traceWarning("glVertex2sv not loaded.");
  }
  if (traceGL_Native.glVertex3d)
  {
    if (traceGL_Native.glVertex3d == glVertex3d)
    {
      traceWarning("Ignoring glVertex3d loaded from traceGL library.");
      traceGL_Native.glVertex3d = NULL;
    }
  }
  else
  {
    traceWarning("glVertex3d not loaded.");
  }
  if (traceGL_Native.glVertex3dv)
  {
    if (traceGL_Native.glVertex3dv == glVertex3dv)
    {
      traceWarning("Ignoring glVertex3dv loaded from traceGL library.");
      traceGL_Native.glVertex3dv = NULL;
    }
  }
  else
  {
    traceWarning("glVertex3dv not loaded.");
  }
  if (traceGL_Native.glVertex3f)
  {
    if (traceGL_Native.glVertex3f == glVertex3f)
    {
      traceWarning("Ignoring glVertex3f loaded from traceGL library.");
      traceGL_Native.glVertex3f = NULL;
    }
  }
  else
  {
    traceWarning("glVertex3f not loaded.");
  }
  if (traceGL_Native.glVertex3fv)
  {
    if (traceGL_Native.glVertex3fv == glVertex3fv)
    {
      traceWarning("Ignoring glVertex3fv loaded from traceGL library.");
      traceGL_Native.glVertex3fv = NULL;
    }
  }
  else
  {
    traceWarning("glVertex3fv not loaded.");
  }
  if (traceGL_Native.glVertex3i)
  {
    if (traceGL_Native.glVertex3i == glVertex3i)
    {
      traceWarning("Ignoring glVertex3i loaded from traceGL library.");
      traceGL_Native.glVertex3i = NULL;
    }
  }
  else
  {
    traceWarning("glVertex3i not loaded.");
  }
  if (traceGL_Native.glVertex3iv)
  {
    if (traceGL_Native.glVertex3iv == glVertex3iv)
    {
      traceWarning("Ignoring glVertex3iv loaded from traceGL library.");
      traceGL_Native.glVertex3iv = NULL;
    }
  }
  else
  {
    traceWarning("glVertex3iv not loaded.");
  }
  if (traceGL_Native.glVertex3s)
  {
    if (traceGL_Native.glVertex3s == glVertex3s)
    {
      traceWarning("Ignoring glVertex3s loaded from traceGL library.");
      traceGL_Native.glVertex3s = NULL;
    }
  }
  else
  {
    traceWarning("glVertex3s not loaded.");
  }
  if (traceGL_Native.glVertex3sv)
  {
    if (traceGL_Native.glVertex3sv == glVertex3sv)
    {
      traceWarning("Ignoring glVertex3sv loaded from traceGL library.");
      traceGL_Native.glVertex3sv = NULL;
    }
  }
  else
  {
    traceWarning("glVertex3sv not loaded.");
  }
  if (traceGL_Native.glVertex4d)
  {
    if (traceGL_Native.glVertex4d == glVertex4d)
    {
      traceWarning("Ignoring glVertex4d loaded from traceGL library.");
      traceGL_Native.glVertex4d = NULL;
    }
  }
  else
  {
    traceWarning("glVertex4d not loaded.");
  }
  if (traceGL_Native.glVertex4dv)
  {
    if (traceGL_Native.glVertex4dv == glVertex4dv)
    {
      traceWarning("Ignoring glVertex4dv loaded from traceGL library.");
      traceGL_Native.glVertex4dv = NULL;
    }
  }
  else
  {
    traceWarning("glVertex4dv not loaded.");
  }
  if (traceGL_Native.glVertex4f)
  {
    if (traceGL_Native.glVertex4f == glVertex4f)
    {
      traceWarning("Ignoring glVertex4f loaded from traceGL library.");
      traceGL_Native.glVertex4f = NULL;
    }
  }
  else
  {
    traceWarning("glVertex4f not loaded.");
  }
  if (traceGL_Native.glVertex4fv)
  {
    if (traceGL_Native.glVertex4fv == glVertex4fv)
    {
      traceWarning("Ignoring glVertex4fv loaded from traceGL library.");
      traceGL_Native.glVertex4fv = NULL;
    }
  }
  else
  {
    traceWarning("glVertex4fv not loaded.");
  }
  if (traceGL_Native.glVertex4i)
  {
    if (traceGL_Native.glVertex4i == glVertex4i)
    {
      traceWarning("Ignoring glVertex4i loaded from traceGL library.");
      traceGL_Native.glVertex4i = NULL;
    }
  }
  else
  {
    traceWarning("glVertex4i not loaded.");
  }
  if (traceGL_Native.glVertex4iv)
  {
    if (traceGL_Native.glVertex4iv == glVertex4iv)
    {
      traceWarning("Ignoring glVertex4iv loaded from traceGL library.");
      traceGL_Native.glVertex4iv = NULL;
    }
  }
  else
  {
    traceWarning("glVertex4iv not loaded.");
  }
  if (traceGL_Native.glVertex4s)
  {
    if (traceGL_Native.glVertex4s == glVertex4s)
    {
      traceWarning("Ignoring glVertex4s loaded from traceGL library.");
      traceGL_Native.glVertex4s = NULL;
    }
  }
  else
  {
    traceWarning("glVertex4s not loaded.");
  }
  if (traceGL_Native.glVertex4sv)
  {
    if (traceGL_Native.glVertex4sv == glVertex4sv)
    {
      traceWarning("Ignoring glVertex4sv loaded from traceGL library.");
      traceGL_Native.glVertex4sv = NULL;
    }
  }
  else
  {
    traceWarning("glVertex4sv not loaded.");
  }
  if (traceGL_Native.glClipPlane)
  {
    if (traceGL_Native.glClipPlane == glClipPlane)
    {
      traceWarning("Ignoring glClipPlane loaded from traceGL library.");
      traceGL_Native.glClipPlane = NULL;
    }
  }
  else
  {
    traceWarning("glClipPlane not loaded.");
  }
  if (traceGL_Native.glColorMaterial)
  {
    if (traceGL_Native.glColorMaterial == glColorMaterial)
    {
      traceWarning("Ignoring glColorMaterial loaded from traceGL library.");
      traceGL_Native.glColorMaterial = NULL;
    }
  }
  else
  {
    traceWarning("glColorMaterial not loaded.");
  }
  if (traceGL_Native.glCullFace)
  {
    if (traceGL_Native.glCullFace == glCullFace)
    {
      traceWarning("Ignoring glCullFace loaded from traceGL library.");
      traceGL_Native.glCullFace = NULL;
    }
  }
  else
  {
    traceWarning("glCullFace not loaded.");
  }
  if (traceGL_Native.glFogf)
  {
    if (traceGL_Native.glFogf == glFogf)
    {
      traceWarning("Ignoring glFogf loaded from traceGL library.");
      traceGL_Native.glFogf = NULL;
    }
  }
  else
  {
    traceWarning("glFogf not loaded.");
  }
  if (traceGL_Native.glFogfv)
  {
    if (traceGL_Native.glFogfv == glFogfv)
    {
      traceWarning("Ignoring glFogfv loaded from traceGL library.");
      traceGL_Native.glFogfv = NULL;
    }
  }
  else
  {
    traceWarning("glFogfv not loaded.");
  }
  if (traceGL_Native.glFogi)
  {
    if (traceGL_Native.glFogi == glFogi)
    {
      traceWarning("Ignoring glFogi loaded from traceGL library.");
      traceGL_Native.glFogi = NULL;
    }
  }
  else
  {
    traceWarning("glFogi not loaded.");
  }
  if (traceGL_Native.glFogiv)
  {
    if (traceGL_Native.glFogiv == glFogiv)
    {
      traceWarning("Ignoring glFogiv loaded from traceGL library.");
      traceGL_Native.glFogiv = NULL;
    }
  }
  else
  {
    traceWarning("glFogiv not loaded.");
  }
  if (traceGL_Native.glFrontFace)
  {
    if (traceGL_Native.glFrontFace == glFrontFace)
    {
      traceWarning("Ignoring glFrontFace loaded from traceGL library.");
      traceGL_Native.glFrontFace = NULL;
    }
  }
  else
  {
    traceWarning("glFrontFace not loaded.");
  }
  if (traceGL_Native.glHint)
  {
    if (traceGL_Native.glHint == glHint)
    {
      traceWarning("Ignoring glHint loaded from traceGL library.");
      traceGL_Native.glHint = NULL;
    }
  }
  else
  {
    traceWarning("glHint not loaded.");
  }
  if (traceGL_Native.glLightf)
  {
    if (traceGL_Native.glLightf == glLightf)
    {
      traceWarning("Ignoring glLightf loaded from traceGL library.");
      traceGL_Native.glLightf = NULL;
    }
  }
  else
  {
    traceWarning("glLightf not loaded.");
  }
  if (traceGL_Native.glLightfv)
  {
    if (traceGL_Native.glLightfv == glLightfv)
    {
      traceWarning("Ignoring glLightfv loaded from traceGL library.");
      traceGL_Native.glLightfv = NULL;
    }
  }
  else
  {
    traceWarning("glLightfv not loaded.");
  }
  if (traceGL_Native.glLighti)
  {
    if (traceGL_Native.glLighti == glLighti)
    {
      traceWarning("Ignoring glLighti loaded from traceGL library.");
      traceGL_Native.glLighti = NULL;
    }
  }
  else
  {
    traceWarning("glLighti not loaded.");
  }
  if (traceGL_Native.glLightiv)
  {
    if (traceGL_Native.glLightiv == glLightiv)
    {
      traceWarning("Ignoring glLightiv loaded from traceGL library.");
      traceGL_Native.glLightiv = NULL;
    }
  }
  else
  {
    traceWarning("glLightiv not loaded.");
  }
  if (traceGL_Native.glLightModelf)
  {
    if (traceGL_Native.glLightModelf == glLightModelf)
    {
      traceWarning("Ignoring glLightModelf loaded from traceGL library.");
      traceGL_Native.glLightModelf = NULL;
    }
  }
  else
  {
    traceWarning("glLightModelf not loaded.");
  }
  if (traceGL_Native.glLightModelfv)
  {
    if (traceGL_Native.glLightModelfv == glLightModelfv)
    {
      traceWarning("Ignoring glLightModelfv loaded from traceGL library.");
      traceGL_Native.glLightModelfv = NULL;
    }
  }
  else
  {
    traceWarning("glLightModelfv not loaded.");
  }
  if (traceGL_Native.glLightModeli)
  {
    if (traceGL_Native.glLightModeli == glLightModeli)
    {
      traceWarning("Ignoring glLightModeli loaded from traceGL library.");
      traceGL_Native.glLightModeli = NULL;
    }
  }
  else
  {
    traceWarning("glLightModeli not loaded.");
  }
  if (traceGL_Native.glLightModeliv)
  {
    if (traceGL_Native.glLightModeliv == glLightModeliv)
    {
      traceWarning("Ignoring glLightModeliv loaded from traceGL library.");
      traceGL_Native.glLightModeliv = NULL;
    }
  }
  else
  {
    traceWarning("glLightModeliv not loaded.");
  }
  if (traceGL_Native.glLineStipple)
  {
    if (traceGL_Native.glLineStipple == glLineStipple)
    {
      traceWarning("Ignoring glLineStipple loaded from traceGL library.");
      traceGL_Native.glLineStipple = NULL;
    }
  }
  else
  {
    traceWarning("glLineStipple not loaded.");
  }
  if (traceGL_Native.glLineWidth)
  {
    if (traceGL_Native.glLineWidth == glLineWidth)
    {
      traceWarning("Ignoring glLineWidth loaded from traceGL library.");
      traceGL_Native.glLineWidth = NULL;
    }
  }
  else
  {
    traceWarning("glLineWidth not loaded.");
  }
  if (traceGL_Native.glMaterialf)
  {
    if (traceGL_Native.glMaterialf == glMaterialf)
    {
      traceWarning("Ignoring glMaterialf loaded from traceGL library.");
      traceGL_Native.glMaterialf = NULL;
    }
  }
  else
  {
    traceWarning("glMaterialf not loaded.");
  }
  if (traceGL_Native.glMaterialfv)
  {
    if (traceGL_Native.glMaterialfv == glMaterialfv)
    {
      traceWarning("Ignoring glMaterialfv loaded from traceGL library.");
      traceGL_Native.glMaterialfv = NULL;
    }
  }
  else
  {
    traceWarning("glMaterialfv not loaded.");
  }
  if (traceGL_Native.glMateriali)
  {
    if (traceGL_Native.glMateriali == glMateriali)
    {
      traceWarning("Ignoring glMateriali loaded from traceGL library.");
      traceGL_Native.glMateriali = NULL;
    }
  }
  else
  {
    traceWarning("glMateriali not loaded.");
  }
  if (traceGL_Native.glMaterialiv)
  {
    if (traceGL_Native.glMaterialiv == glMaterialiv)
    {
      traceWarning("Ignoring glMaterialiv loaded from traceGL library.");
      traceGL_Native.glMaterialiv = NULL;
    }
  }
  else
  {
    traceWarning("glMaterialiv not loaded.");
  }
  if (traceGL_Native.glPointSize)
  {
    if (traceGL_Native.glPointSize == glPointSize)
    {
      traceWarning("Ignoring glPointSize loaded from traceGL library.");
      traceGL_Native.glPointSize = NULL;
    }
  }
  else
  {
    traceWarning("glPointSize not loaded.");
  }
  if (traceGL_Native.glPolygonMode)
  {
    if (traceGL_Native.glPolygonMode == glPolygonMode)
    {
      traceWarning("Ignoring glPolygonMode loaded from traceGL library.");
      traceGL_Native.glPolygonMode = NULL;
    }
  }
  else
  {
    traceWarning("glPolygonMode not loaded.");
  }
  if (traceGL_Native.glPolygonStipple)
  {
    if (traceGL_Native.glPolygonStipple == glPolygonStipple)
    {
      traceWarning("Ignoring glPolygonStipple loaded from traceGL library.");
      traceGL_Native.glPolygonStipple = NULL;
    }
  }
  else
  {
    traceWarning("glPolygonStipple not loaded.");
  }
  if (traceGL_Native.glScissor)
  {
    if (traceGL_Native.glScissor == glScissor)
    {
      traceWarning("Ignoring glScissor loaded from traceGL library.");
      traceGL_Native.glScissor = NULL;
    }
  }
  else
  {
    traceWarning("glScissor not loaded.");
  }
  if (traceGL_Native.glShadeModel)
  {
    if (traceGL_Native.glShadeModel == glShadeModel)
    {
      traceWarning("Ignoring glShadeModel loaded from traceGL library.");
      traceGL_Native.glShadeModel = NULL;
    }
  }
  else
  {
    traceWarning("glShadeModel not loaded.");
  }
  if (traceGL_Native.glTexParameterf)
  {
    if (traceGL_Native.glTexParameterf == glTexParameterf)
    {
      traceWarning("Ignoring glTexParameterf loaded from traceGL library.");
      traceGL_Native.glTexParameterf = NULL;
    }
  }
  else
  {
    traceWarning("glTexParameterf not loaded.");
  }
  if (traceGL_Native.glTexParameterfv)
  {
    if (traceGL_Native.glTexParameterfv == glTexParameterfv)
    {
      traceWarning("Ignoring glTexParameterfv loaded from traceGL library.");
      traceGL_Native.glTexParameterfv = NULL;
    }
  }
  else
  {
    traceWarning("glTexParameterfv not loaded.");
  }
  if (traceGL_Native.glTexParameteri)
  {
    if (traceGL_Native.glTexParameteri == glTexParameteri)
    {
      traceWarning("Ignoring glTexParameteri loaded from traceGL library.");
      traceGL_Native.glTexParameteri = NULL;
    }
  }
  else
  {
    traceWarning("glTexParameteri not loaded.");
  }
  if (traceGL_Native.glTexParameteriv)
  {
    if (traceGL_Native.glTexParameteriv == glTexParameteriv)
    {
      traceWarning("Ignoring glTexParameteriv loaded from traceGL library.");
      traceGL_Native.glTexParameteriv = NULL;
    }
  }
  else
  {
    traceWarning("glTexParameteriv not loaded.");
  }
  if (traceGL_Native.glTexImage1D)
  {
    if (traceGL_Native.glTexImage1D == glTexImage1D)
    {
      traceWarning("Ignoring glTexImage1D loaded from traceGL library.");
      traceGL_Native.glTexImage1D = NULL;
    }
  }
  else
  {
    traceWarning("glTexImage1D not loaded.");
  }
  if (traceGL_Native.glTexImage2D)
  {
    if (traceGL_Native.glTexImage2D == glTexImage2D)
    {
      traceWarning("Ignoring glTexImage2D loaded from traceGL library.");
      traceGL_Native.glTexImage2D = NULL;
    }
  }
  else
  {
    traceWarning("glTexImage2D not loaded.");
  }
  if (traceGL_Native.glTexEnvf)
  {
    if (traceGL_Native.glTexEnvf == glTexEnvf)
    {
      traceWarning("Ignoring glTexEnvf loaded from traceGL library.");
      traceGL_Native.glTexEnvf = NULL;
    }
  }
  else
  {
    traceWarning("glTexEnvf not loaded.");
  }
  if (traceGL_Native.glTexEnvfv)
  {
    if (traceGL_Native.glTexEnvfv == glTexEnvfv)
    {
      traceWarning("Ignoring glTexEnvfv loaded from traceGL library.");
      traceGL_Native.glTexEnvfv = NULL;
    }
  }
  else
  {
    traceWarning("glTexEnvfv not loaded.");
  }
  if (traceGL_Native.glTexEnvi)
  {
    if (traceGL_Native.glTexEnvi == glTexEnvi)
    {
      traceWarning("Ignoring glTexEnvi loaded from traceGL library.");
      traceGL_Native.glTexEnvi = NULL;
    }
  }
  else
  {
    traceWarning("glTexEnvi not loaded.");
  }
  if (traceGL_Native.glTexEnviv)
  {
    if (traceGL_Native.glTexEnviv == glTexEnviv)
    {
      traceWarning("Ignoring glTexEnviv loaded from traceGL library.");
      traceGL_Native.glTexEnviv = NULL;
    }
  }
  else
  {
    traceWarning("glTexEnviv not loaded.");
  }
  if (traceGL_Native.glTexGend)
  {
    if (traceGL_Native.glTexGend == glTexGend)
    {
      traceWarning("Ignoring glTexGend loaded from traceGL library.");
      traceGL_Native.glTexGend = NULL;
    }
  }
  else
  {
    traceWarning("glTexGend not loaded.");
  }
  if (traceGL_Native.glTexGendv)
  {
    if (traceGL_Native.glTexGendv == glTexGendv)
    {
      traceWarning("Ignoring glTexGendv loaded from traceGL library.");
      traceGL_Native.glTexGendv = NULL;
    }
  }
  else
  {
    traceWarning("glTexGendv not loaded.");
  }
  if (traceGL_Native.glTexGenf)
  {
    if (traceGL_Native.glTexGenf == glTexGenf)
    {
      traceWarning("Ignoring glTexGenf loaded from traceGL library.");
      traceGL_Native.glTexGenf = NULL;
    }
  }
  else
  {
    traceWarning("glTexGenf not loaded.");
  }
  if (traceGL_Native.glTexGenfv)
  {
    if (traceGL_Native.glTexGenfv == glTexGenfv)
    {
      traceWarning("Ignoring glTexGenfv loaded from traceGL library.");
      traceGL_Native.glTexGenfv = NULL;
    }
  }
  else
  {
    traceWarning("glTexGenfv not loaded.");
  }
  if (traceGL_Native.glTexGeni)
  {
    if (traceGL_Native.glTexGeni == glTexGeni)
    {
      traceWarning("Ignoring glTexGeni loaded from traceGL library.");
      traceGL_Native.glTexGeni = NULL;
    }
  }
  else
  {
    traceWarning("glTexGeni not loaded.");
  }
  if (traceGL_Native.glTexGeniv)
  {
    if (traceGL_Native.glTexGeniv == glTexGeniv)
    {
      traceWarning("Ignoring glTexGeniv loaded from traceGL library.");
      traceGL_Native.glTexGeniv = NULL;
    }
  }
  else
  {
    traceWarning("glTexGeniv not loaded.");
  }
  if (traceGL_Native.glFeedbackBuffer)
  {
    if (traceGL_Native.glFeedbackBuffer == glFeedbackBuffer)
    {
      traceWarning("Ignoring glFeedbackBuffer loaded from traceGL library.");
      traceGL_Native.glFeedbackBuffer = NULL;
    }
  }
  else
  {
    traceWarning("glFeedbackBuffer not loaded.");
  }
  if (traceGL_Native.glSelectBuffer)
  {
    if (traceGL_Native.glSelectBuffer == glSelectBuffer)
    {
      traceWarning("Ignoring glSelectBuffer loaded from traceGL library.");
      traceGL_Native.glSelectBuffer = NULL;
    }
  }
  else
  {
    traceWarning("glSelectBuffer not loaded.");
  }
  if (traceGL_Native.glRenderMode)
  {
    if (traceGL_Native.glRenderMode == glRenderMode)
    {
      traceWarning("Ignoring glRenderMode loaded from traceGL library.");
      traceGL_Native.glRenderMode = NULL;
    }
  }
  else
  {
    traceWarning("glRenderMode not loaded.");
  }
  if (traceGL_Native.glInitNames)
  {
    if (traceGL_Native.glInitNames == glInitNames)
    {
      traceWarning("Ignoring glInitNames loaded from traceGL library.");
      traceGL_Native.glInitNames = NULL;
    }
  }
  else
  {
    traceWarning("glInitNames not loaded.");
  }
  if (traceGL_Native.glLoadName)
  {
    if (traceGL_Native.glLoadName == glLoadName)
    {
      traceWarning("Ignoring glLoadName loaded from traceGL library.");
      traceGL_Native.glLoadName = NULL;
    }
  }
  else
  {
    traceWarning("glLoadName not loaded.");
  }
  if (traceGL_Native.glPassThrough)
  {
    if (traceGL_Native.glPassThrough == glPassThrough)
    {
      traceWarning("Ignoring glPassThrough loaded from traceGL library.");
      traceGL_Native.glPassThrough = NULL;
    }
  }
  else
  {
    traceWarning("glPassThrough not loaded.");
  }
  if (traceGL_Native.glPopName)
  {
    if (traceGL_Native.glPopName == glPopName)
    {
      traceWarning("Ignoring glPopName loaded from traceGL library.");
      traceGL_Native.glPopName = NULL;
    }
  }
  else
  {
    traceWarning("glPopName not loaded.");
  }
  if (traceGL_Native.glPushName)
  {
    if (traceGL_Native.glPushName == glPushName)
    {
      traceWarning("Ignoring glPushName loaded from traceGL library.");
      traceGL_Native.glPushName = NULL;
    }
  }
  else
  {
    traceWarning("glPushName not loaded.");
  }
  if (traceGL_Native.glDrawBuffer)
  {
    if (traceGL_Native.glDrawBuffer == glDrawBuffer)
    {
      traceWarning("Ignoring glDrawBuffer loaded from traceGL library.");
      traceGL_Native.glDrawBuffer = NULL;
    }
  }
  else
  {
    traceWarning("glDrawBuffer not loaded.");
  }
  if (traceGL_Native.glClear)
  {
    if (traceGL_Native.glClear == glClear)
    {
      traceWarning("Ignoring glClear loaded from traceGL library.");
      traceGL_Native.glClear = NULL;
    }
  }
  else
  {
    traceWarning("glClear not loaded.");
  }
  if (traceGL_Native.glClearAccum)
  {
    if (traceGL_Native.glClearAccum == glClearAccum)
    {
      traceWarning("Ignoring glClearAccum loaded from traceGL library.");
      traceGL_Native.glClearAccum = NULL;
    }
  }
  else
  {
    traceWarning("glClearAccum not loaded.");
  }
  if (traceGL_Native.glClearColor)
  {
    if (traceGL_Native.glClearColor == glClearColor)
    {
      traceWarning("Ignoring glClearColor loaded from traceGL library.");
      traceGL_Native.glClearColor = NULL;
    }
  }
  else
  {
    traceWarning("glClearColor not loaded.");
  }
  if (traceGL_Native.glClearDepth)
  {
    if (traceGL_Native.glClearDepth == glClearDepth)
    {
      traceWarning("Ignoring glClearDepth loaded from traceGL library.");
      traceGL_Native.glClearDepth = NULL;
    }
  }
  else
  {
    traceWarning("glClearDepth not loaded.");
  }
  if (traceGL_Native.glClearIndex)
  {
    if (traceGL_Native.glClearIndex == glClearIndex)
    {
      traceWarning("Ignoring glClearIndex loaded from traceGL library.");
      traceGL_Native.glClearIndex = NULL;
    }
  }
  else
  {
    traceWarning("glClearIndex not loaded.");
  }
  if (traceGL_Native.glClearStencil)
  {
    if (traceGL_Native.glClearStencil == glClearStencil)
    {
      traceWarning("Ignoring glClearStencil loaded from traceGL library.");
      traceGL_Native.glClearStencil = NULL;
    }
  }
  else
  {
    traceWarning("glClearStencil not loaded.");
  }
  if (traceGL_Native.glColorMask)
  {
    if (traceGL_Native.glColorMask == glColorMask)
    {
      traceWarning("Ignoring glColorMask loaded from traceGL library.");
      traceGL_Native.glColorMask = NULL;
    }
  }
  else
  {
    traceWarning("glColorMask not loaded.");
  }
  if (traceGL_Native.glDepthMask)
  {
    if (traceGL_Native.glDepthMask == glDepthMask)
    {
      traceWarning("Ignoring glDepthMask loaded from traceGL library.");
      traceGL_Native.glDepthMask = NULL;
    }
  }
  else
  {
    traceWarning("glDepthMask not loaded.");
  }
  if (traceGL_Native.glIndexMask)
  {
    if (traceGL_Native.glIndexMask == glIndexMask)
    {
      traceWarning("Ignoring glIndexMask loaded from traceGL library.");
      traceGL_Native.glIndexMask = NULL;
    }
  }
  else
  {
    traceWarning("glIndexMask not loaded.");
  }
  if (traceGL_Native.glStencilMask)
  {
    if (traceGL_Native.glStencilMask == glStencilMask)
    {
      traceWarning("Ignoring glStencilMask loaded from traceGL library.");
      traceGL_Native.glStencilMask = NULL;
    }
  }
  else
  {
    traceWarning("glStencilMask not loaded.");
  }
  if (traceGL_Native.glAccum)
  {
    if (traceGL_Native.glAccum == glAccum)
    {
      traceWarning("Ignoring glAccum loaded from traceGL library.");
      traceGL_Native.glAccum = NULL;
    }
  }
  else
  {
    traceWarning("glAccum not loaded.");
  }
  if (traceGL_Native.glDisable)
  {
    if (traceGL_Native.glDisable == glDisable)
    {
      traceWarning("Ignoring glDisable loaded from traceGL library.");
      traceGL_Native.glDisable = NULL;
    }
  }
  else
  {
    traceWarning("glDisable not loaded.");
  }
  if (traceGL_Native.glEnable)
  {
    if (traceGL_Native.glEnable == glEnable)
    {
      traceWarning("Ignoring glEnable loaded from traceGL library.");
      traceGL_Native.glEnable = NULL;
    }
  }
  else
  {
    traceWarning("glEnable not loaded.");
  }
  if (traceGL_Native.glFinish)
  {
    if (traceGL_Native.glFinish == glFinish)
    {
      traceWarning("Ignoring glFinish loaded from traceGL library.");
      traceGL_Native.glFinish = NULL;
    }
  }
  else
  {
    traceWarning("glFinish not loaded.");
  }
  if (traceGL_Native.glFlush)
  {
    if (traceGL_Native.glFlush == glFlush)
    {
      traceWarning("Ignoring glFlush loaded from traceGL library.");
      traceGL_Native.glFlush = NULL;
    }
  }
  else
  {
    traceWarning("glFlush not loaded.");
  }
  if (traceGL_Native.glPopAttrib)
  {
    if (traceGL_Native.glPopAttrib == glPopAttrib)
    {
      traceWarning("Ignoring glPopAttrib loaded from traceGL library.");
      traceGL_Native.glPopAttrib = NULL;
    }
  }
  else
  {
    traceWarning("glPopAttrib not loaded.");
  }
  if (traceGL_Native.glPushAttrib)
  {
    if (traceGL_Native.glPushAttrib == glPushAttrib)
    {
      traceWarning("Ignoring glPushAttrib loaded from traceGL library.");
      traceGL_Native.glPushAttrib = NULL;
    }
  }
  else
  {
    traceWarning("glPushAttrib not loaded.");
  }
  if (traceGL_Native.glMap1d)
  {
    if (traceGL_Native.glMap1d == glMap1d)
    {
      traceWarning("Ignoring glMap1d loaded from traceGL library.");
      traceGL_Native.glMap1d = NULL;
    }
  }
  else
  {
    traceWarning("glMap1d not loaded.");
  }
  if (traceGL_Native.glMap1f)
  {
    if (traceGL_Native.glMap1f == glMap1f)
    {
      traceWarning("Ignoring glMap1f loaded from traceGL library.");
      traceGL_Native.glMap1f = NULL;
    }
  }
  else
  {
    traceWarning("glMap1f not loaded.");
  }
  if (traceGL_Native.glMap2d)
  {
    if (traceGL_Native.glMap2d == glMap2d)
    {
      traceWarning("Ignoring glMap2d loaded from traceGL library.");
      traceGL_Native.glMap2d = NULL;
    }
  }
  else
  {
    traceWarning("glMap2d not loaded.");
  }
  if (traceGL_Native.glMap2f)
  {
    if (traceGL_Native.glMap2f == glMap2f)
    {
      traceWarning("Ignoring glMap2f loaded from traceGL library.");
      traceGL_Native.glMap2f = NULL;
    }
  }
  else
  {
    traceWarning("glMap2f not loaded.");
  }
  if (traceGL_Native.glMapGrid1d)
  {
    if (traceGL_Native.glMapGrid1d == glMapGrid1d)
    {
      traceWarning("Ignoring glMapGrid1d loaded from traceGL library.");
      traceGL_Native.glMapGrid1d = NULL;
    }
  }
  else
  {
    traceWarning("glMapGrid1d not loaded.");
  }
  if (traceGL_Native.glMapGrid1f)
  {
    if (traceGL_Native.glMapGrid1f == glMapGrid1f)
    {
      traceWarning("Ignoring glMapGrid1f loaded from traceGL library.");
      traceGL_Native.glMapGrid1f = NULL;
    }
  }
  else
  {
    traceWarning("glMapGrid1f not loaded.");
  }
  if (traceGL_Native.glMapGrid2d)
  {
    if (traceGL_Native.glMapGrid2d == glMapGrid2d)
    {
      traceWarning("Ignoring glMapGrid2d loaded from traceGL library.");
      traceGL_Native.glMapGrid2d = NULL;
    }
  }
  else
  {
    traceWarning("glMapGrid2d not loaded.");
  }
  if (traceGL_Native.glMapGrid2f)
  {
    if (traceGL_Native.glMapGrid2f == glMapGrid2f)
    {
      traceWarning("Ignoring glMapGrid2f loaded from traceGL library.");
      traceGL_Native.glMapGrid2f = NULL;
    }
  }
  else
  {
    traceWarning("glMapGrid2f not loaded.");
  }
  if (traceGL_Native.glEvalCoord1d)
  {
    if (traceGL_Native.glEvalCoord1d == glEvalCoord1d)
    {
      traceWarning("Ignoring glEvalCoord1d loaded from traceGL library.");
      traceGL_Native.glEvalCoord1d = NULL;
    }
  }
  else
  {
    traceWarning("glEvalCoord1d not loaded.");
  }
  if (traceGL_Native.glEvalCoord1dv)
  {
    if (traceGL_Native.glEvalCoord1dv == glEvalCoord1dv)
    {
      traceWarning("Ignoring glEvalCoord1dv loaded from traceGL library.");
      traceGL_Native.glEvalCoord1dv = NULL;
    }
  }
  else
  {
    traceWarning("glEvalCoord1dv not loaded.");
  }
  if (traceGL_Native.glEvalCoord1f)
  {
    if (traceGL_Native.glEvalCoord1f == glEvalCoord1f)
    {
      traceWarning("Ignoring glEvalCoord1f loaded from traceGL library.");
      traceGL_Native.glEvalCoord1f = NULL;
    }
  }
  else
  {
    traceWarning("glEvalCoord1f not loaded.");
  }
  if (traceGL_Native.glEvalCoord1fv)
  {
    if (traceGL_Native.glEvalCoord1fv == glEvalCoord1fv)
    {
      traceWarning("Ignoring glEvalCoord1fv loaded from traceGL library.");
      traceGL_Native.glEvalCoord1fv = NULL;
    }
  }
  else
  {
    traceWarning("glEvalCoord1fv not loaded.");
  }
  if (traceGL_Native.glEvalCoord2d)
  {
    if (traceGL_Native.glEvalCoord2d == glEvalCoord2d)
    {
      traceWarning("Ignoring glEvalCoord2d loaded from traceGL library.");
      traceGL_Native.glEvalCoord2d = NULL;
    }
  }
  else
  {
    traceWarning("glEvalCoord2d not loaded.");
  }
  if (traceGL_Native.glEvalCoord2dv)
  {
    if (traceGL_Native.glEvalCoord2dv == glEvalCoord2dv)
    {
      traceWarning("Ignoring glEvalCoord2dv loaded from traceGL library.");
      traceGL_Native.glEvalCoord2dv = NULL;
    }
  }
  else
  {
    traceWarning("glEvalCoord2dv not loaded.");
  }
  if (traceGL_Native.glEvalCoord2f)
  {
    if (traceGL_Native.glEvalCoord2f == glEvalCoord2f)
    {
      traceWarning("Ignoring glEvalCoord2f loaded from traceGL library.");
      traceGL_Native.glEvalCoord2f = NULL;
    }
  }
  else
  {
    traceWarning("glEvalCoord2f not loaded.");
  }
  if (traceGL_Native.glEvalCoord2fv)
  {
    if (traceGL_Native.glEvalCoord2fv == glEvalCoord2fv)
    {
      traceWarning("Ignoring glEvalCoord2fv loaded from traceGL library.");
      traceGL_Native.glEvalCoord2fv = NULL;
    }
  }
  else
  {
    traceWarning("glEvalCoord2fv not loaded.");
  }
  if (traceGL_Native.glEvalMesh1)
  {
    if (traceGL_Native.glEvalMesh1 == glEvalMesh1)
    {
      traceWarning("Ignoring glEvalMesh1 loaded from traceGL library.");
      traceGL_Native.glEvalMesh1 = NULL;
    }
  }
  else
  {
    traceWarning("glEvalMesh1 not loaded.");
  }
  if (traceGL_Native.glEvalMesh2)
  {
    if (traceGL_Native.glEvalMesh2 == glEvalMesh2)
    {
      traceWarning("Ignoring glEvalMesh2 loaded from traceGL library.");
      traceGL_Native.glEvalMesh2 = NULL;
    }
  }
  else
  {
    traceWarning("glEvalMesh2 not loaded.");
  }
  if (traceGL_Native.glEvalPoint1)
  {
    if (traceGL_Native.glEvalPoint1 == glEvalPoint1)
    {
      traceWarning("Ignoring glEvalPoint1 loaded from traceGL library.");
      traceGL_Native.glEvalPoint1 = NULL;
    }
  }
  else
  {
    traceWarning("glEvalPoint1 not loaded.");
  }
  if (traceGL_Native.glEvalPoint2)
  {
    if (traceGL_Native.glEvalPoint2 == glEvalPoint2)
    {
      traceWarning("Ignoring glEvalPoint2 loaded from traceGL library.");
      traceGL_Native.glEvalPoint2 = NULL;
    }
  }
  else
  {
    traceWarning("glEvalPoint2 not loaded.");
  }
  if (traceGL_Native.glAlphaFunc)
  {
    if (traceGL_Native.glAlphaFunc == glAlphaFunc)
    {
      traceWarning("Ignoring glAlphaFunc loaded from traceGL library.");
      traceGL_Native.glAlphaFunc = NULL;
    }
  }
  else
  {
    traceWarning("glAlphaFunc not loaded.");
  }
  if (traceGL_Native.glBlendFunc)
  {
    if (traceGL_Native.glBlendFunc == glBlendFunc)
    {
      traceWarning("Ignoring glBlendFunc loaded from traceGL library.");
      traceGL_Native.glBlendFunc = NULL;
    }
  }
  else
  {
    traceWarning("glBlendFunc not loaded.");
  }
  if (traceGL_Native.glDepthFunc)
  {
    if (traceGL_Native.glDepthFunc == glDepthFunc)
    {
      traceWarning("Ignoring glDepthFunc loaded from traceGL library.");
      traceGL_Native.glDepthFunc = NULL;
    }
  }
  else
  {
    traceWarning("glDepthFunc not loaded.");
  }
  if (traceGL_Native.glStencilFunc)
  {
    if (traceGL_Native.glStencilFunc == glStencilFunc)
    {
      traceWarning("Ignoring glStencilFunc loaded from traceGL library.");
      traceGL_Native.glStencilFunc = NULL;
    }
  }
  else
  {
    traceWarning("glStencilFunc not loaded.");
  }
  if (traceGL_Native.glLogicOp)
  {
    if (traceGL_Native.glLogicOp == glLogicOp)
    {
      traceWarning("Ignoring glLogicOp loaded from traceGL library.");
      traceGL_Native.glLogicOp = NULL;
    }
  }
  else
  {
    traceWarning("glLogicOp not loaded.");
  }
  if (traceGL_Native.glStencilOp)
  {
    if (traceGL_Native.glStencilOp == glStencilOp)
    {
      traceWarning("Ignoring glStencilOp loaded from traceGL library.");
      traceGL_Native.glStencilOp = NULL;
    }
  }
  else
  {
    traceWarning("glStencilOp not loaded.");
  }
  if (traceGL_Native.glPixelZoom)
  {
    if (traceGL_Native.glPixelZoom == glPixelZoom)
    {
      traceWarning("Ignoring glPixelZoom loaded from traceGL library.");
      traceGL_Native.glPixelZoom = NULL;
    }
  }
  else
  {
    traceWarning("glPixelZoom not loaded.");
  }
  if (traceGL_Native.glPixelTransferf)
  {
    if (traceGL_Native.glPixelTransferf == glPixelTransferf)
    {
      traceWarning("Ignoring glPixelTransferf loaded from traceGL library.");
      traceGL_Native.glPixelTransferf = NULL;
    }
  }
  else
  {
    traceWarning("glPixelTransferf not loaded.");
  }
  if (traceGL_Native.glPixelTransferi)
  {
    if (traceGL_Native.glPixelTransferi == glPixelTransferi)
    {
      traceWarning("Ignoring glPixelTransferi loaded from traceGL library.");
      traceGL_Native.glPixelTransferi = NULL;
    }
  }
  else
  {
    traceWarning("glPixelTransferi not loaded.");
  }
  if (traceGL_Native.glPixelStoref)
  {
    if (traceGL_Native.glPixelStoref == glPixelStoref)
    {
      traceWarning("Ignoring glPixelStoref loaded from traceGL library.");
      traceGL_Native.glPixelStoref = NULL;
    }
  }
  else
  {
    traceWarning("glPixelStoref not loaded.");
  }
  if (traceGL_Native.glPixelStorei)
  {
    if (traceGL_Native.glPixelStorei == glPixelStorei)
    {
      traceWarning("Ignoring glPixelStorei loaded from traceGL library.");
      traceGL_Native.glPixelStorei = NULL;
    }
  }
  else
  {
    traceWarning("glPixelStorei not loaded.");
  }
  if (traceGL_Native.glPixelMapfv)
  {
    if (traceGL_Native.glPixelMapfv == glPixelMapfv)
    {
      traceWarning("Ignoring glPixelMapfv loaded from traceGL library.");
      traceGL_Native.glPixelMapfv = NULL;
    }
  }
  else
  {
    traceWarning("glPixelMapfv not loaded.");
  }
  if (traceGL_Native.glPixelMapuiv)
  {
    if (traceGL_Native.glPixelMapuiv == glPixelMapuiv)
    {
      traceWarning("Ignoring glPixelMapuiv loaded from traceGL library.");
      traceGL_Native.glPixelMapuiv = NULL;
    }
  }
  else
  {
    traceWarning("glPixelMapuiv not loaded.");
  }
  if (traceGL_Native.glPixelMapusv)
  {
    if (traceGL_Native.glPixelMapusv == glPixelMapusv)
    {
      traceWarning("Ignoring glPixelMapusv loaded from traceGL library.");
      traceGL_Native.glPixelMapusv = NULL;
    }
  }
  else
  {
    traceWarning("glPixelMapusv not loaded.");
  }
  if (traceGL_Native.glReadBuffer)
  {
    if (traceGL_Native.glReadBuffer == glReadBuffer)
    {
      traceWarning("Ignoring glReadBuffer loaded from traceGL library.");
      traceGL_Native.glReadBuffer = NULL;
    }
  }
  else
  {
    traceWarning("glReadBuffer not loaded.");
  }
  if (traceGL_Native.glCopyPixels)
  {
    if (traceGL_Native.glCopyPixels == glCopyPixels)
    {
      traceWarning("Ignoring glCopyPixels loaded from traceGL library.");
      traceGL_Native.glCopyPixels = NULL;
    }
  }
  else
  {
    traceWarning("glCopyPixels not loaded.");
  }
  if (traceGL_Native.glReadPixels)
  {
    if (traceGL_Native.glReadPixels == glReadPixels)
    {
      traceWarning("Ignoring glReadPixels loaded from traceGL library.");
      traceGL_Native.glReadPixels = NULL;
    }
  }
  else
  {
    traceWarning("glReadPixels not loaded.");
  }
  if (traceGL_Native.glDrawPixels)
  {
    if (traceGL_Native.glDrawPixels == glDrawPixels)
    {
      traceWarning("Ignoring glDrawPixels loaded from traceGL library.");
      traceGL_Native.glDrawPixels = NULL;
    }
  }
  else
  {
    traceWarning("glDrawPixels not loaded.");
  }
  if (traceGL_Native.glGetBooleanv)
  {
    if (traceGL_Native.glGetBooleanv == glGetBooleanv)
    {
      traceWarning("Ignoring glGetBooleanv loaded from traceGL library.");
      traceGL_Native.glGetBooleanv = NULL;
    }
  }
  else
  {
    traceWarning("glGetBooleanv not loaded.");
  }
  if (traceGL_Native.glGetDoublev)
  {
    if (traceGL_Native.glGetDoublev == glGetDoublev)
    {
      traceWarning("Ignoring glGetDoublev loaded from traceGL library.");
      traceGL_Native.glGetDoublev = NULL;
    }
  }
  else
  {
    traceWarning("glGetDoublev not loaded.");
  }
  if (traceGL_Native.glGetFloatv)
  {
    if (traceGL_Native.glGetFloatv == glGetFloatv)
    {
      traceWarning("Ignoring glGetFloatv loaded from traceGL library.");
      traceGL_Native.glGetFloatv = NULL;
    }
  }
  else
  {
    traceWarning("glGetFloatv not loaded.");
  }
  if (traceGL_Native.glGetIntegerv)
  {
    if (traceGL_Native.glGetIntegerv == glGetIntegerv)
    {
      traceWarning("Ignoring glGetIntegerv loaded from traceGL library.");
      traceGL_Native.glGetIntegerv = NULL;
    }
  }
  else
  {
    traceWarning("glGetIntegerv not loaded.");
  }
  if (traceGL_Native.glGetClipPlane)
  {
    if (traceGL_Native.glGetClipPlane == glGetClipPlane)
    {
      traceWarning("Ignoring glGetClipPlane loaded from traceGL library.");
      traceGL_Native.glGetClipPlane = NULL;
    }
  }
  else
  {
    traceWarning("glGetClipPlane not loaded.");
  }
  if (traceGL_Native.glGetError)
  {
    if (traceGL_Native.glGetError == glGetError)
    {
      traceWarning("Ignoring glGetError loaded from traceGL library.");
      traceGL_Native.glGetError = NULL;
    }
  }
  else
  {
    traceWarning("glGetError not loaded.");
  }
  if (traceGL_Native.glGetLightfv)
  {
    if (traceGL_Native.glGetLightfv == glGetLightfv)
    {
      traceWarning("Ignoring glGetLightfv loaded from traceGL library.");
      traceGL_Native.glGetLightfv = NULL;
    }
  }
  else
  {
    traceWarning("glGetLightfv not loaded.");
  }
  if (traceGL_Native.glGetLightiv)
  {
    if (traceGL_Native.glGetLightiv == glGetLightiv)
    {
      traceWarning("Ignoring glGetLightiv loaded from traceGL library.");
      traceGL_Native.glGetLightiv = NULL;
    }
  }
  else
  {
    traceWarning("glGetLightiv not loaded.");
  }
  if (traceGL_Native.glGetMapdv)
  {
    if (traceGL_Native.glGetMapdv == glGetMapdv)
    {
      traceWarning("Ignoring glGetMapdv loaded from traceGL library.");
      traceGL_Native.glGetMapdv = NULL;
    }
  }
  else
  {
    traceWarning("glGetMapdv not loaded.");
  }
  if (traceGL_Native.glGetMapfv)
  {
    if (traceGL_Native.glGetMapfv == glGetMapfv)
    {
      traceWarning("Ignoring glGetMapfv loaded from traceGL library.");
      traceGL_Native.glGetMapfv = NULL;
    }
  }
  else
  {
    traceWarning("glGetMapfv not loaded.");
  }
  if (traceGL_Native.glGetMapiv)
  {
    if (traceGL_Native.glGetMapiv == glGetMapiv)
    {
      traceWarning("Ignoring glGetMapiv loaded from traceGL library.");
      traceGL_Native.glGetMapiv = NULL;
    }
  }
  else
  {
    traceWarning("glGetMapiv not loaded.");
  }
  if (traceGL_Native.glGetMaterialfv)
  {
    if (traceGL_Native.glGetMaterialfv == glGetMaterialfv)
    {
      traceWarning("Ignoring glGetMaterialfv loaded from traceGL library.");
      traceGL_Native.glGetMaterialfv = NULL;
    }
  }
  else
  {
    traceWarning("glGetMaterialfv not loaded.");
  }
  if (traceGL_Native.glGetMaterialiv)
  {
    if (traceGL_Native.glGetMaterialiv == glGetMaterialiv)
    {
      traceWarning("Ignoring glGetMaterialiv loaded from traceGL library.");
      traceGL_Native.glGetMaterialiv = NULL;
    }
  }
  else
  {
    traceWarning("glGetMaterialiv not loaded.");
  }
  if (traceGL_Native.glGetPixelMapfv)
  {
    if (traceGL_Native.glGetPixelMapfv == glGetPixelMapfv)
    {
      traceWarning("Ignoring glGetPixelMapfv loaded from traceGL library.");
      traceGL_Native.glGetPixelMapfv = NULL;
    }
  }
  else
  {
    traceWarning("glGetPixelMapfv not loaded.");
  }
  if (traceGL_Native.glGetPixelMapuiv)
  {
    if (traceGL_Native.glGetPixelMapuiv == glGetPixelMapuiv)
    {
      traceWarning("Ignoring glGetPixelMapuiv loaded from traceGL library.");
      traceGL_Native.glGetPixelMapuiv = NULL;
    }
  }
  else
  {
    traceWarning("glGetPixelMapuiv not loaded.");
  }
  if (traceGL_Native.glGetPixelMapusv)
  {
    if (traceGL_Native.glGetPixelMapusv == glGetPixelMapusv)
    {
      traceWarning("Ignoring glGetPixelMapusv loaded from traceGL library.");
      traceGL_Native.glGetPixelMapusv = NULL;
    }
  }
  else
  {
    traceWarning("glGetPixelMapusv not loaded.");
  }
  if (traceGL_Native.glGetPolygonStipple)
  {
    if (traceGL_Native.glGetPolygonStipple == glGetPolygonStipple)
    {
      traceWarning("Ignoring glGetPolygonStipple loaded from traceGL library.");
      traceGL_Native.glGetPolygonStipple = NULL;
    }
  }
  else
  {
    traceWarning("glGetPolygonStipple not loaded.");
  }
  if (traceGL_Native.glGetString)
  {
    if (traceGL_Native.glGetString == glGetString)
    {
      traceWarning("Ignoring glGetString loaded from traceGL library.");
      traceGL_Native.glGetString = NULL;
    }
  }
  else
  {
    traceWarning("glGetString not loaded.");
  }
  if (traceGL_Native.glGetTexEnvfv)
  {
    if (traceGL_Native.glGetTexEnvfv == glGetTexEnvfv)
    {
      traceWarning("Ignoring glGetTexEnvfv loaded from traceGL library.");
      traceGL_Native.glGetTexEnvfv = NULL;
    }
  }
  else
  {
    traceWarning("glGetTexEnvfv not loaded.");
  }
  if (traceGL_Native.glGetTexEnviv)
  {
    if (traceGL_Native.glGetTexEnviv == glGetTexEnviv)
    {
      traceWarning("Ignoring glGetTexEnviv loaded from traceGL library.");
      traceGL_Native.glGetTexEnviv = NULL;
    }
  }
  else
  {
    traceWarning("glGetTexEnviv not loaded.");
  }
  if (traceGL_Native.glGetTexGendv)
  {
    if (traceGL_Native.glGetTexGendv == glGetTexGendv)
    {
      traceWarning("Ignoring glGetTexGendv loaded from traceGL library.");
      traceGL_Native.glGetTexGendv = NULL;
    }
  }
  else
  {
    traceWarning("glGetTexGendv not loaded.");
  }
  if (traceGL_Native.glGetTexGenfv)
  {
    if (traceGL_Native.glGetTexGenfv == glGetTexGenfv)
    {
      traceWarning("Ignoring glGetTexGenfv loaded from traceGL library.");
      traceGL_Native.glGetTexGenfv = NULL;
    }
  }
  else
  {
    traceWarning("glGetTexGenfv not loaded.");
  }
  if (traceGL_Native.glGetTexGeniv)
  {
    if (traceGL_Native.glGetTexGeniv == glGetTexGeniv)
    {
      traceWarning("Ignoring glGetTexGeniv loaded from traceGL library.");
      traceGL_Native.glGetTexGeniv = NULL;
    }
  }
  else
  {
    traceWarning("glGetTexGeniv not loaded.");
  }
  if (traceGL_Native.glGetTexImage)
  {
    if (traceGL_Native.glGetTexImage == glGetTexImage)
    {
      traceWarning("Ignoring glGetTexImage loaded from traceGL library.");
      traceGL_Native.glGetTexImage = NULL;
    }
  }
  else
  {
    traceWarning("glGetTexImage not loaded.");
  }
  if (traceGL_Native.glGetTexParameterfv)
  {
    if (traceGL_Native.glGetTexParameterfv == glGetTexParameterfv)
    {
      traceWarning("Ignoring glGetTexParameterfv loaded from traceGL library.");
      traceGL_Native.glGetTexParameterfv = NULL;
    }
  }
  else
  {
    traceWarning("glGetTexParameterfv not loaded.");
  }
  if (traceGL_Native.glGetTexParameteriv)
  {
    if (traceGL_Native.glGetTexParameteriv == glGetTexParameteriv)
    {
      traceWarning("Ignoring glGetTexParameteriv loaded from traceGL library.");
      traceGL_Native.glGetTexParameteriv = NULL;
    }
  }
  else
  {
    traceWarning("glGetTexParameteriv not loaded.");
  }
  if (traceGL_Native.glGetTexLevelParameterfv)
  {
    if (traceGL_Native.glGetTexLevelParameterfv == glGetTexLevelParameterfv)
    {
      traceWarning("Ignoring glGetTexLevelParameterfv loaded from traceGL library.");
      traceGL_Native.glGetTexLevelParameterfv = NULL;
    }
  }
  else
  {
    traceWarning("glGetTexLevelParameterfv not loaded.");
  }
  if (traceGL_Native.glGetTexLevelParameteriv)
  {
    if (traceGL_Native.glGetTexLevelParameteriv == glGetTexLevelParameteriv)
    {
      traceWarning("Ignoring glGetTexLevelParameteriv loaded from traceGL library.");
      traceGL_Native.glGetTexLevelParameteriv = NULL;
    }
  }
  else
  {
    traceWarning("glGetTexLevelParameteriv not loaded.");
  }
  if (traceGL_Native.glIsEnabled)
  {
    if (traceGL_Native.glIsEnabled == glIsEnabled)
    {
      traceWarning("Ignoring glIsEnabled loaded from traceGL library.");
      traceGL_Native.glIsEnabled = NULL;
    }
  }
  else
  {
    traceWarning("glIsEnabled not loaded.");
  }
  if (traceGL_Native.glIsList)
  {
    if (traceGL_Native.glIsList == glIsList)
    {
      traceWarning("Ignoring glIsList loaded from traceGL library.");
      traceGL_Native.glIsList = NULL;
    }
  }
  else
  {
    traceWarning("glIsList not loaded.");
  }
  if (traceGL_Native.glDepthRange)
  {
    if (traceGL_Native.glDepthRange == glDepthRange)
    {
      traceWarning("Ignoring glDepthRange loaded from traceGL library.");
      traceGL_Native.glDepthRange = NULL;
    }
  }
  else
  {
    traceWarning("glDepthRange not loaded.");
  }
  if (traceGL_Native.glFrustum)
  {
    if (traceGL_Native.glFrustum == glFrustum)
    {
      traceWarning("Ignoring glFrustum loaded from traceGL library.");
      traceGL_Native.glFrustum = NULL;
    }
  }
  else
  {
    traceWarning("glFrustum not loaded.");
  }
  if (traceGL_Native.glLoadIdentity)
  {
    if (traceGL_Native.glLoadIdentity == glLoadIdentity)
    {
      traceWarning("Ignoring glLoadIdentity loaded from traceGL library.");
      traceGL_Native.glLoadIdentity = NULL;
    }
  }
  else
  {
    traceWarning("glLoadIdentity not loaded.");
  }
  if (traceGL_Native.glLoadMatrixd)
  {
    if (traceGL_Native.glLoadMatrixd == glLoadMatrixd)
    {
      traceWarning("Ignoring glLoadMatrixd loaded from traceGL library.");
      traceGL_Native.glLoadMatrixd = NULL;
    }
  }
  else
  {
    traceWarning("glLoadMatrixd not loaded.");
  }
  if (traceGL_Native.glLoadMatrixf)
  {
    if (traceGL_Native.glLoadMatrixf == glLoadMatrixf)
    {
      traceWarning("Ignoring glLoadMatrixf loaded from traceGL library.");
      traceGL_Native.glLoadMatrixf = NULL;
    }
  }
  else
  {
    traceWarning("glLoadMatrixf not loaded.");
  }
  if (traceGL_Native.glMatrixMode)
  {
    if (traceGL_Native.glMatrixMode == glMatrixMode)
    {
      traceWarning("Ignoring glMatrixMode loaded from traceGL library.");
      traceGL_Native.glMatrixMode = NULL;
    }
  }
  else
  {
    traceWarning("glMatrixMode not loaded.");
  }
  if (traceGL_Native.glMultMatrixd)
  {
    if (traceGL_Native.glMultMatrixd == glMultMatrixd)
    {
      traceWarning("Ignoring glMultMatrixd loaded from traceGL library.");
      traceGL_Native.glMultMatrixd = NULL;
    }
  }
  else
  {
    traceWarning("glMultMatrixd not loaded.");
  }
  if (traceGL_Native.glMultMatrixf)
  {
    if (traceGL_Native.glMultMatrixf == glMultMatrixf)
    {
      traceWarning("Ignoring glMultMatrixf loaded from traceGL library.");
      traceGL_Native.glMultMatrixf = NULL;
    }
  }
  else
  {
    traceWarning("glMultMatrixf not loaded.");
  }
  if (traceGL_Native.glOrtho)
  {
    if (traceGL_Native.glOrtho == glOrtho)
    {
      traceWarning("Ignoring glOrtho loaded from traceGL library.");
      traceGL_Native.glOrtho = NULL;
    }
  }
  else
  {
    traceWarning("glOrtho not loaded.");
  }
  if (traceGL_Native.glPopMatrix)
  {
    if (traceGL_Native.glPopMatrix == glPopMatrix)
    {
      traceWarning("Ignoring glPopMatrix loaded from traceGL library.");
      traceGL_Native.glPopMatrix = NULL;
    }
  }
  else
  {
    traceWarning("glPopMatrix not loaded.");
  }
  if (traceGL_Native.glPushMatrix)
  {
    if (traceGL_Native.glPushMatrix == glPushMatrix)
    {
      traceWarning("Ignoring glPushMatrix loaded from traceGL library.");
      traceGL_Native.glPushMatrix = NULL;
    }
  }
  else
  {
    traceWarning("glPushMatrix not loaded.");
  }
  if (traceGL_Native.glRotated)
  {
    if (traceGL_Native.glRotated == glRotated)
    {
      traceWarning("Ignoring glRotated loaded from traceGL library.");
      traceGL_Native.glRotated = NULL;
    }
  }
  else
  {
    traceWarning("glRotated not loaded.");
  }
  if (traceGL_Native.glRotatef)
  {
    if (traceGL_Native.glRotatef == glRotatef)
    {
      traceWarning("Ignoring glRotatef loaded from traceGL library.");
      traceGL_Native.glRotatef = NULL;
    }
  }
  else
  {
    traceWarning("glRotatef not loaded.");
  }
  if (traceGL_Native.glScaled)
  {
    if (traceGL_Native.glScaled == glScaled)
    {
      traceWarning("Ignoring glScaled loaded from traceGL library.");
      traceGL_Native.glScaled = NULL;
    }
  }
  else
  {
    traceWarning("glScaled not loaded.");
  }
  if (traceGL_Native.glScalef)
  {
    if (traceGL_Native.glScalef == glScalef)
    {
      traceWarning("Ignoring glScalef loaded from traceGL library.");
      traceGL_Native.glScalef = NULL;
    }
  }
  else
  {
    traceWarning("glScalef not loaded.");
  }
  if (traceGL_Native.glTranslated)
  {
    if (traceGL_Native.glTranslated == glTranslated)
    {
      traceWarning("Ignoring glTranslated loaded from traceGL library.");
      traceGL_Native.glTranslated = NULL;
    }
  }
  else
  {
    traceWarning("glTranslated not loaded.");
  }
  if (traceGL_Native.glTranslatef)
  {
    if (traceGL_Native.glTranslatef == glTranslatef)
    {
      traceWarning("Ignoring glTranslatef loaded from traceGL library.");
      traceGL_Native.glTranslatef = NULL;
    }
  }
  else
  {
    traceWarning("glTranslatef not loaded.");
  }
  if (traceGL_Native.glViewport)
  {
    if (traceGL_Native.glViewport == glViewport)
    {
      traceWarning("Ignoring glViewport loaded from traceGL library.");
      traceGL_Native.glViewport = NULL;
    }
  }
  else
  {
    traceWarning("glViewport not loaded.");
  }
  if (traceGL_Native.glArrayElement)
  {
    if (traceGL_Native.glArrayElement == glArrayElement)
    {
      traceWarning("Ignoring glArrayElement loaded from traceGL library.");
      traceGL_Native.glArrayElement = NULL;
    }
  }
  else
  {
    traceWarning("glArrayElement not loaded.");
  }
  if (traceGL_Native.glDrawArrays)
  {
    if (traceGL_Native.glDrawArrays == glDrawArrays)
    {
      traceWarning("Ignoring glDrawArrays loaded from traceGL library.");
      traceGL_Native.glDrawArrays = NULL;
    }
  }
  else
  {
    traceWarning("glDrawArrays not loaded.");
  }
  if (traceGL_Native.glDrawElements)
  {
    if (traceGL_Native.glDrawElements == glDrawElements)
    {
      traceWarning("Ignoring glDrawElements loaded from traceGL library.");
      traceGL_Native.glDrawElements = NULL;
    }
  }
  else
  {
    traceWarning("glDrawElements not loaded.");
  }
  if (traceGL_Native.glInterleavedArrays)
  {
    if (traceGL_Native.glInterleavedArrays == glInterleavedArrays)
    {
      traceWarning("Ignoring glInterleavedArrays loaded from traceGL library.");
      traceGL_Native.glInterleavedArrays = NULL;
    }
  }
  else
  {
    traceWarning("glInterleavedArrays not loaded.");
  }
  if (traceGL_Native.glDisableClientState)
  {
    if (traceGL_Native.glDisableClientState == glDisableClientState)
    {
      traceWarning("Ignoring glDisableClientState loaded from traceGL library.");
      traceGL_Native.glDisableClientState = NULL;
    }
  }
  else
  {
    traceWarning("glDisableClientState not loaded.");
  }
  if (traceGL_Native.glEnableClientState)
  {
    if (traceGL_Native.glEnableClientState == glEnableClientState)
    {
      traceWarning("Ignoring glEnableClientState loaded from traceGL library.");
      traceGL_Native.glEnableClientState = NULL;
    }
  }
  else
  {
    traceWarning("glEnableClientState not loaded.");
  }
  if (traceGL_Native.glGetPointerv)
  {
    if (traceGL_Native.glGetPointerv == glGetPointerv)
    {
      traceWarning("Ignoring glGetPointerv loaded from traceGL library.");
      traceGL_Native.glGetPointerv = NULL;
    }
  }
  else
  {
    traceWarning("glGetPointerv not loaded.");
  }
  if (traceGL_Native.glColorPointer)
  {
    if (traceGL_Native.glColorPointer == glColorPointer)
    {
      traceWarning("Ignoring glColorPointer loaded from traceGL library.");
      traceGL_Native.glColorPointer = NULL;
    }
  }
  else
  {
    traceWarning("glColorPointer not loaded.");
  }
  if (traceGL_Native.glEdgeFlagPointer)
  {
    if (traceGL_Native.glEdgeFlagPointer == glEdgeFlagPointer)
    {
      traceWarning("Ignoring glEdgeFlagPointer loaded from traceGL library.");
      traceGL_Native.glEdgeFlagPointer = NULL;
    }
  }
  else
  {
    traceWarning("glEdgeFlagPointer not loaded.");
  }
  if (traceGL_Native.glIndexPointer)
  {
    if (traceGL_Native.glIndexPointer == glIndexPointer)
    {
      traceWarning("Ignoring glIndexPointer loaded from traceGL library.");
      traceGL_Native.glIndexPointer = NULL;
    }
  }
  else
  {
    traceWarning("glIndexPointer not loaded.");
  }
  if (traceGL_Native.glNormalPointer)
  {
    if (traceGL_Native.glNormalPointer == glNormalPointer)
    {
      traceWarning("Ignoring glNormalPointer loaded from traceGL library.");
      traceGL_Native.glNormalPointer = NULL;
    }
  }
  else
  {
    traceWarning("glNormalPointer not loaded.");
  }
  if (traceGL_Native.glTexCoordPointer)
  {
    if (traceGL_Native.glTexCoordPointer == glTexCoordPointer)
    {
      traceWarning("Ignoring glTexCoordPointer loaded from traceGL library.");
      traceGL_Native.glTexCoordPointer = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoordPointer not loaded.");
  }
  if (traceGL_Native.glVertexPointer)
  {
    if (traceGL_Native.glVertexPointer == glVertexPointer)
    {
      traceWarning("Ignoring glVertexPointer loaded from traceGL library.");
      traceGL_Native.glVertexPointer = NULL;
    }
  }
  else
  {
    traceWarning("glVertexPointer not loaded.");
  }
  if (traceGL_Native.glPolygonOffset)
  {
    if (traceGL_Native.glPolygonOffset == glPolygonOffset)
    {
      traceWarning("Ignoring glPolygonOffset loaded from traceGL library.");
      traceGL_Native.glPolygonOffset = NULL;
    }
  }
  else
  {
    traceWarning("glPolygonOffset not loaded.");
  }
  if (traceGL_Native.glCopyTexImage1D)
  {
    if (traceGL_Native.glCopyTexImage1D == glCopyTexImage1D)
    {
      traceWarning("Ignoring glCopyTexImage1D loaded from traceGL library.");
      traceGL_Native.glCopyTexImage1D = NULL;
    }
  }
  else
  {
    traceWarning("glCopyTexImage1D not loaded.");
  }
  if (traceGL_Native.glCopyTexImage2D)
  {
    if (traceGL_Native.glCopyTexImage2D == glCopyTexImage2D)
    {
      traceWarning("Ignoring glCopyTexImage2D loaded from traceGL library.");
      traceGL_Native.glCopyTexImage2D = NULL;
    }
  }
  else
  {
    traceWarning("glCopyTexImage2D not loaded.");
  }
  if (traceGL_Native.glCopyTexSubImage1D)
  {
    if (traceGL_Native.glCopyTexSubImage1D == glCopyTexSubImage1D)
    {
      traceWarning("Ignoring glCopyTexSubImage1D loaded from traceGL library.");
      traceGL_Native.glCopyTexSubImage1D = NULL;
    }
  }
  else
  {
    traceWarning("glCopyTexSubImage1D not loaded.");
  }
  if (traceGL_Native.glCopyTexSubImage2D)
  {
    if (traceGL_Native.glCopyTexSubImage2D == glCopyTexSubImage2D)
    {
      traceWarning("Ignoring glCopyTexSubImage2D loaded from traceGL library.");
      traceGL_Native.glCopyTexSubImage2D = NULL;
    }
  }
  else
  {
    traceWarning("glCopyTexSubImage2D not loaded.");
  }
  if (traceGL_Native.glTexSubImage1D)
  {
    if (traceGL_Native.glTexSubImage1D == glTexSubImage1D)
    {
      traceWarning("Ignoring glTexSubImage1D loaded from traceGL library.");
      traceGL_Native.glTexSubImage1D = NULL;
    }
  }
  else
  {
    traceWarning("glTexSubImage1D not loaded.");
  }
  if (traceGL_Native.glTexSubImage2D)
  {
    if (traceGL_Native.glTexSubImage2D == glTexSubImage2D)
    {
      traceWarning("Ignoring glTexSubImage2D loaded from traceGL library.");
      traceGL_Native.glTexSubImage2D = NULL;
    }
  }
  else
  {
    traceWarning("glTexSubImage2D not loaded.");
  }
  if (traceGL_Native.glAreTexturesResident)
  {
    if (traceGL_Native.glAreTexturesResident == glAreTexturesResident)
    {
      traceWarning("Ignoring glAreTexturesResident loaded from traceGL library.");
      traceGL_Native.glAreTexturesResident = NULL;
    }
  }
  else
  {
    traceWarning("glAreTexturesResident not loaded.");
  }
  if (traceGL_Native.glBindTexture)
  {
    if (traceGL_Native.glBindTexture == glBindTexture)
    {
      traceWarning("Ignoring glBindTexture loaded from traceGL library.");
      traceGL_Native.glBindTexture = NULL;
    }
  }
  else
  {
    traceWarning("glBindTexture not loaded.");
  }
  if (traceGL_Native.glDeleteTextures)
  {
    if (traceGL_Native.glDeleteTextures == glDeleteTextures)
    {
      traceWarning("Ignoring glDeleteTextures loaded from traceGL library.");
      traceGL_Native.glDeleteTextures = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteTextures not loaded.");
  }
  if (traceGL_Native.glGenTextures)
  {
    if (traceGL_Native.glGenTextures == glGenTextures)
    {
      traceWarning("Ignoring glGenTextures loaded from traceGL library.");
      traceGL_Native.glGenTextures = NULL;
    }
  }
  else
  {
    traceWarning("glGenTextures not loaded.");
  }
  if (traceGL_Native.glIsTexture)
  {
    if (traceGL_Native.glIsTexture == glIsTexture)
    {
      traceWarning("Ignoring glIsTexture loaded from traceGL library.");
      traceGL_Native.glIsTexture = NULL;
    }
  }
  else
  {
    traceWarning("glIsTexture not loaded.");
  }
  if (traceGL_Native.glPrioritizeTextures)
  {
    if (traceGL_Native.glPrioritizeTextures == glPrioritizeTextures)
    {
      traceWarning("Ignoring glPrioritizeTextures loaded from traceGL library.");
      traceGL_Native.glPrioritizeTextures = NULL;
    }
  }
  else
  {
    traceWarning("glPrioritizeTextures not loaded.");
  }
  if (traceGL_Native.glIndexub)
  {
    if (traceGL_Native.glIndexub == glIndexub)
    {
      traceWarning("Ignoring glIndexub loaded from traceGL library.");
      traceGL_Native.glIndexub = NULL;
    }
  }
  else
  {
    traceWarning("glIndexub not loaded.");
  }
  if (traceGL_Native.glIndexubv)
  {
    if (traceGL_Native.glIndexubv == glIndexubv)
    {
      traceWarning("Ignoring glIndexubv loaded from traceGL library.");
      traceGL_Native.glIndexubv = NULL;
    }
  }
  else
  {
    traceWarning("glIndexubv not loaded.");
  }
  if (traceGL_Native.glPopClientAttrib)
  {
    if (traceGL_Native.glPopClientAttrib == glPopClientAttrib)
    {
      traceWarning("Ignoring glPopClientAttrib loaded from traceGL library.");
      traceGL_Native.glPopClientAttrib = NULL;
    }
  }
  else
  {
    traceWarning("glPopClientAttrib not loaded.");
  }
  if (traceGL_Native.glPushClientAttrib)
  {
    if (traceGL_Native.glPushClientAttrib == glPushClientAttrib)
    {
      traceWarning("Ignoring glPushClientAttrib loaded from traceGL library.");
      traceGL_Native.glPushClientAttrib = NULL;
    }
  }
  else
  {
    traceWarning("glPushClientAttrib not loaded.");
  }
#if !defined(_WIN32)
  if (traceGL_Native.glBlendColor)
  {
    if (traceGL_Native.glBlendColor == glBlendColor)
    {
      traceWarning("Ignoring glBlendColor loaded from traceGL library.");
      traceGL_Native.glBlendColor = NULL;
    }
  }
  else
  {
    traceWarning("glBlendColor not loaded.");
  }
  if (traceGL_Native.glBlendEquation)
  {
    if (traceGL_Native.glBlendEquation == glBlendEquation)
    {
      traceWarning("Ignoring glBlendEquation loaded from traceGL library.");
      traceGL_Native.glBlendEquation = NULL;
    }
  }
  else
  {
    traceWarning("glBlendEquation not loaded.");
  }
  if (traceGL_Native.glDrawRangeElements)
  {
    if (traceGL_Native.glDrawRangeElements == glDrawRangeElements)
    {
      traceWarning("Ignoring glDrawRangeElements loaded from traceGL library.");
      traceGL_Native.glDrawRangeElements = NULL;
    }
  }
  else
  {
    traceWarning("glDrawRangeElements not loaded.");
  }
  if (traceGL_Native.glTexImage3D)
  {
    if (traceGL_Native.glTexImage3D == glTexImage3D)
    {
      traceWarning("Ignoring glTexImage3D loaded from traceGL library.");
      traceGL_Native.glTexImage3D = NULL;
    }
  }
  else
  {
    traceWarning("glTexImage3D not loaded.");
  }
  if (traceGL_Native.glTexSubImage3D)
  {
    if (traceGL_Native.glTexSubImage3D == glTexSubImage3D)
    {
      traceWarning("Ignoring glTexSubImage3D loaded from traceGL library.");
      traceGL_Native.glTexSubImage3D = NULL;
    }
  }
  else
  {
    traceWarning("glTexSubImage3D not loaded.");
  }
  if (traceGL_Native.glCopyTexSubImage3D)
  {
    if (traceGL_Native.glCopyTexSubImage3D == glCopyTexSubImage3D)
    {
      traceWarning("Ignoring glCopyTexSubImage3D loaded from traceGL library.");
      traceGL_Native.glCopyTexSubImage3D = NULL;
    }
  }
  else
  {
    traceWarning("glCopyTexSubImage3D not loaded.");
  }
  if (traceGL_Native.glColorTable)
  {
    if (traceGL_Native.glColorTable == glColorTable)
    {
      traceWarning("Ignoring glColorTable loaded from traceGL library.");
      traceGL_Native.glColorTable = NULL;
    }
  }
  else
  {
    traceWarning("glColorTable not loaded.");
  }
  if (traceGL_Native.glColorTableParameterfv)
  {
    if (traceGL_Native.glColorTableParameterfv == glColorTableParameterfv)
    {
      traceWarning("Ignoring glColorTableParameterfv loaded from traceGL library.");
      traceGL_Native.glColorTableParameterfv = NULL;
    }
  }
  else
  {
    traceWarning("glColorTableParameterfv not loaded.");
  }
  if (traceGL_Native.glColorTableParameteriv)
  {
    if (traceGL_Native.glColorTableParameteriv == glColorTableParameteriv)
    {
      traceWarning("Ignoring glColorTableParameteriv loaded from traceGL library.");
      traceGL_Native.glColorTableParameteriv = NULL;
    }
  }
  else
  {
    traceWarning("glColorTableParameteriv not loaded.");
  }
  if (traceGL_Native.glCopyColorTable)
  {
    if (traceGL_Native.glCopyColorTable == glCopyColorTable)
    {
      traceWarning("Ignoring glCopyColorTable loaded from traceGL library.");
      traceGL_Native.glCopyColorTable = NULL;
    }
  }
  else
  {
    traceWarning("glCopyColorTable not loaded.");
  }
  if (traceGL_Native.glGetColorTable)
  {
    if (traceGL_Native.glGetColorTable == glGetColorTable)
    {
      traceWarning("Ignoring glGetColorTable loaded from traceGL library.");
      traceGL_Native.glGetColorTable = NULL;
    }
  }
  else
  {
    traceWarning("glGetColorTable not loaded.");
  }
  if (traceGL_Native.glGetColorTableParameterfv)
  {
    if (traceGL_Native.glGetColorTableParameterfv == glGetColorTableParameterfv)
    {
      traceWarning("Ignoring glGetColorTableParameterfv loaded from traceGL library.");
      traceGL_Native.glGetColorTableParameterfv = NULL;
    }
  }
  else
  {
    traceWarning("glGetColorTableParameterfv not loaded.");
  }
  if (traceGL_Native.glGetColorTableParameteriv)
  {
    if (traceGL_Native.glGetColorTableParameteriv == glGetColorTableParameteriv)
    {
      traceWarning("Ignoring glGetColorTableParameteriv loaded from traceGL library.");
      traceGL_Native.glGetColorTableParameteriv = NULL;
    }
  }
  else
  {
    traceWarning("glGetColorTableParameteriv not loaded.");
  }
  if (traceGL_Native.glColorSubTable)
  {
    if (traceGL_Native.glColorSubTable == glColorSubTable)
    {
      traceWarning("Ignoring glColorSubTable loaded from traceGL library.");
      traceGL_Native.glColorSubTable = NULL;
    }
  }
  else
  {
    traceWarning("glColorSubTable not loaded.");
  }
  if (traceGL_Native.glCopyColorSubTable)
  {
    if (traceGL_Native.glCopyColorSubTable == glCopyColorSubTable)
    {
      traceWarning("Ignoring glCopyColorSubTable loaded from traceGL library.");
      traceGL_Native.glCopyColorSubTable = NULL;
    }
  }
  else
  {
    traceWarning("glCopyColorSubTable not loaded.");
  }
  if (traceGL_Native.glConvolutionFilter1D)
  {
    if (traceGL_Native.glConvolutionFilter1D == glConvolutionFilter1D)
    {
      traceWarning("Ignoring glConvolutionFilter1D loaded from traceGL library.");
      traceGL_Native.glConvolutionFilter1D = NULL;
    }
  }
  else
  {
    traceWarning("glConvolutionFilter1D not loaded.");
  }
  if (traceGL_Native.glConvolutionFilter2D)
  {
    if (traceGL_Native.glConvolutionFilter2D == glConvolutionFilter2D)
    {
      traceWarning("Ignoring glConvolutionFilter2D loaded from traceGL library.");
      traceGL_Native.glConvolutionFilter2D = NULL;
    }
  }
  else
  {
    traceWarning("glConvolutionFilter2D not loaded.");
  }
  if (traceGL_Native.glConvolutionParameterf)
  {
    if (traceGL_Native.glConvolutionParameterf == glConvolutionParameterf)
    {
      traceWarning("Ignoring glConvolutionParameterf loaded from traceGL library.");
      traceGL_Native.glConvolutionParameterf = NULL;
    }
  }
  else
  {
    traceWarning("glConvolutionParameterf not loaded.");
  }
  if (traceGL_Native.glConvolutionParameterfv)
  {
    if (traceGL_Native.glConvolutionParameterfv == glConvolutionParameterfv)
    {
      traceWarning("Ignoring glConvolutionParameterfv loaded from traceGL library.");
      traceGL_Native.glConvolutionParameterfv = NULL;
    }
  }
  else
  {
    traceWarning("glConvolutionParameterfv not loaded.");
  }
  if (traceGL_Native.glConvolutionParameteri)
  {
    if (traceGL_Native.glConvolutionParameteri == glConvolutionParameteri)
    {
      traceWarning("Ignoring glConvolutionParameteri loaded from traceGL library.");
      traceGL_Native.glConvolutionParameteri = NULL;
    }
  }
  else
  {
    traceWarning("glConvolutionParameteri not loaded.");
  }
  if (traceGL_Native.glConvolutionParameteriv)
  {
    if (traceGL_Native.glConvolutionParameteriv == glConvolutionParameteriv)
    {
      traceWarning("Ignoring glConvolutionParameteriv loaded from traceGL library.");
      traceGL_Native.glConvolutionParameteriv = NULL;
    }
  }
  else
  {
    traceWarning("glConvolutionParameteriv not loaded.");
  }
  if (traceGL_Native.glCopyConvolutionFilter1D)
  {
    if (traceGL_Native.glCopyConvolutionFilter1D == glCopyConvolutionFilter1D)
    {
      traceWarning("Ignoring glCopyConvolutionFilter1D loaded from traceGL library.");
      traceGL_Native.glCopyConvolutionFilter1D = NULL;
    }
  }
  else
  {
    traceWarning("glCopyConvolutionFilter1D not loaded.");
  }
  if (traceGL_Native.glCopyConvolutionFilter2D)
  {
    if (traceGL_Native.glCopyConvolutionFilter2D == glCopyConvolutionFilter2D)
    {
      traceWarning("Ignoring glCopyConvolutionFilter2D loaded from traceGL library.");
      traceGL_Native.glCopyConvolutionFilter2D = NULL;
    }
  }
  else
  {
    traceWarning("glCopyConvolutionFilter2D not loaded.");
  }
  if (traceGL_Native.glGetConvolutionFilter)
  {
    if (traceGL_Native.glGetConvolutionFilter == glGetConvolutionFilter)
    {
      traceWarning("Ignoring glGetConvolutionFilter loaded from traceGL library.");
      traceGL_Native.glGetConvolutionFilter = NULL;
    }
  }
  else
  {
    traceWarning("glGetConvolutionFilter not loaded.");
  }
  if (traceGL_Native.glGetConvolutionParameterfv)
  {
    if (traceGL_Native.glGetConvolutionParameterfv == glGetConvolutionParameterfv)
    {
      traceWarning("Ignoring glGetConvolutionParameterfv loaded from traceGL library.");
      traceGL_Native.glGetConvolutionParameterfv = NULL;
    }
  }
  else
  {
    traceWarning("glGetConvolutionParameterfv not loaded.");
  }
  if (traceGL_Native.glGetConvolutionParameteriv)
  {
    if (traceGL_Native.glGetConvolutionParameteriv == glGetConvolutionParameteriv)
    {
      traceWarning("Ignoring glGetConvolutionParameteriv loaded from traceGL library.");
      traceGL_Native.glGetConvolutionParameteriv = NULL;
    }
  }
  else
  {
    traceWarning("glGetConvolutionParameteriv not loaded.");
  }
  if (traceGL_Native.glGetSeparableFilter)
  {
    if (traceGL_Native.glGetSeparableFilter == glGetSeparableFilter)
    {
      traceWarning("Ignoring glGetSeparableFilter loaded from traceGL library.");
      traceGL_Native.glGetSeparableFilter = NULL;
    }
  }
  else
  {
    traceWarning("glGetSeparableFilter not loaded.");
  }
  if (traceGL_Native.glSeparableFilter2D)
  {
    if (traceGL_Native.glSeparableFilter2D == glSeparableFilter2D)
    {
      traceWarning("Ignoring glSeparableFilter2D loaded from traceGL library.");
      traceGL_Native.glSeparableFilter2D = NULL;
    }
  }
  else
  {
    traceWarning("glSeparableFilter2D not loaded.");
  }
  if (traceGL_Native.glGetHistogram)
  {
    if (traceGL_Native.glGetHistogram == glGetHistogram)
    {
      traceWarning("Ignoring glGetHistogram loaded from traceGL library.");
      traceGL_Native.glGetHistogram = NULL;
    }
  }
  else
  {
    traceWarning("glGetHistogram not loaded.");
  }
  if (traceGL_Native.glGetHistogramParameterfv)
  {
    if (traceGL_Native.glGetHistogramParameterfv == glGetHistogramParameterfv)
    {
      traceWarning("Ignoring glGetHistogramParameterfv loaded from traceGL library.");
      traceGL_Native.glGetHistogramParameterfv = NULL;
    }
  }
  else
  {
    traceWarning("glGetHistogramParameterfv not loaded.");
  }
  if (traceGL_Native.glGetHistogramParameteriv)
  {
    if (traceGL_Native.glGetHistogramParameteriv == glGetHistogramParameteriv)
    {
      traceWarning("Ignoring glGetHistogramParameteriv loaded from traceGL library.");
      traceGL_Native.glGetHistogramParameteriv = NULL;
    }
  }
  else
  {
    traceWarning("glGetHistogramParameteriv not loaded.");
  }
  if (traceGL_Native.glGetMinmax)
  {
    if (traceGL_Native.glGetMinmax == glGetMinmax)
    {
      traceWarning("Ignoring glGetMinmax loaded from traceGL library.");
      traceGL_Native.glGetMinmax = NULL;
    }
  }
  else
  {
    traceWarning("glGetMinmax not loaded.");
  }
  if (traceGL_Native.glGetMinmaxParameterfv)
  {
    if (traceGL_Native.glGetMinmaxParameterfv == glGetMinmaxParameterfv)
    {
      traceWarning("Ignoring glGetMinmaxParameterfv loaded from traceGL library.");
      traceGL_Native.glGetMinmaxParameterfv = NULL;
    }
  }
  else
  {
    traceWarning("glGetMinmaxParameterfv not loaded.");
  }
  if (traceGL_Native.glGetMinmaxParameteriv)
  {
    if (traceGL_Native.glGetMinmaxParameteriv == glGetMinmaxParameteriv)
    {
      traceWarning("Ignoring glGetMinmaxParameteriv loaded from traceGL library.");
      traceGL_Native.glGetMinmaxParameteriv = NULL;
    }
  }
  else
  {
    traceWarning("glGetMinmaxParameteriv not loaded.");
  }
  if (traceGL_Native.glHistogram)
  {
    if (traceGL_Native.glHistogram == glHistogram)
    {
      traceWarning("Ignoring glHistogram loaded from traceGL library.");
      traceGL_Native.glHistogram = NULL;
    }
  }
  else
  {
    traceWarning("glHistogram not loaded.");
  }
  if (traceGL_Native.glMinmax)
  {
    if (traceGL_Native.glMinmax == glMinmax)
    {
      traceWarning("Ignoring glMinmax loaded from traceGL library.");
      traceGL_Native.glMinmax = NULL;
    }
  }
  else
  {
    traceWarning("glMinmax not loaded.");
  }
  if (traceGL_Native.glResetHistogram)
  {
    if (traceGL_Native.glResetHistogram == glResetHistogram)
    {
      traceWarning("Ignoring glResetHistogram loaded from traceGL library.");
      traceGL_Native.glResetHistogram = NULL;
    }
  }
  else
  {
    traceWarning("glResetHistogram not loaded.");
  }
  if (traceGL_Native.glResetMinmax)
  {
    if (traceGL_Native.glResetMinmax == glResetMinmax)
    {
      traceWarning("Ignoring glResetMinmax loaded from traceGL library.");
      traceGL_Native.glResetMinmax = NULL;
    }
  }
  else
  {
    traceWarning("glResetMinmax not loaded.");
  }
  if (traceGL_Native.glActiveTexture)
  {
    if (traceGL_Native.glActiveTexture == glActiveTexture)
    {
      traceWarning("Ignoring glActiveTexture loaded from traceGL library.");
      traceGL_Native.glActiveTexture = NULL;
    }
  }
  else
  {
    traceWarning("glActiveTexture not loaded.");
  }
  if (traceGL_Native.glSampleCoverage)
  {
    if (traceGL_Native.glSampleCoverage == glSampleCoverage)
    {
      traceWarning("Ignoring glSampleCoverage loaded from traceGL library.");
      traceGL_Native.glSampleCoverage = NULL;
    }
  }
  else
  {
    traceWarning("glSampleCoverage not loaded.");
  }
  if (traceGL_Native.glCompressedTexImage3D)
  {
    if (traceGL_Native.glCompressedTexImage3D == glCompressedTexImage3D)
    {
      traceWarning("Ignoring glCompressedTexImage3D loaded from traceGL library.");
      traceGL_Native.glCompressedTexImage3D = NULL;
    }
  }
  else
  {
    traceWarning("glCompressedTexImage3D not loaded.");
  }
  if (traceGL_Native.glCompressedTexImage2D)
  {
    if (traceGL_Native.glCompressedTexImage2D == glCompressedTexImage2D)
    {
      traceWarning("Ignoring glCompressedTexImage2D loaded from traceGL library.");
      traceGL_Native.glCompressedTexImage2D = NULL;
    }
  }
  else
  {
    traceWarning("glCompressedTexImage2D not loaded.");
  }
  if (traceGL_Native.glCompressedTexImage1D)
  {
    if (traceGL_Native.glCompressedTexImage1D == glCompressedTexImage1D)
    {
      traceWarning("Ignoring glCompressedTexImage1D loaded from traceGL library.");
      traceGL_Native.glCompressedTexImage1D = NULL;
    }
  }
  else
  {
    traceWarning("glCompressedTexImage1D not loaded.");
  }
  if (traceGL_Native.glCompressedTexSubImage3D)
  {
    if (traceGL_Native.glCompressedTexSubImage3D == glCompressedTexSubImage3D)
    {
      traceWarning("Ignoring glCompressedTexSubImage3D loaded from traceGL library.");
      traceGL_Native.glCompressedTexSubImage3D = NULL;
    }
  }
  else
  {
    traceWarning("glCompressedTexSubImage3D not loaded.");
  }
  if (traceGL_Native.glCompressedTexSubImage2D)
  {
    if (traceGL_Native.glCompressedTexSubImage2D == glCompressedTexSubImage2D)
    {
      traceWarning("Ignoring glCompressedTexSubImage2D loaded from traceGL library.");
      traceGL_Native.glCompressedTexSubImage2D = NULL;
    }
  }
  else
  {
    traceWarning("glCompressedTexSubImage2D not loaded.");
  }
  if (traceGL_Native.glCompressedTexSubImage1D)
  {
    if (traceGL_Native.glCompressedTexSubImage1D == glCompressedTexSubImage1D)
    {
      traceWarning("Ignoring glCompressedTexSubImage1D loaded from traceGL library.");
      traceGL_Native.glCompressedTexSubImage1D = NULL;
    }
  }
  else
  {
    traceWarning("glCompressedTexSubImage1D not loaded.");
  }
  if (traceGL_Native.glGetCompressedTexImage)
  {
    if (traceGL_Native.glGetCompressedTexImage == glGetCompressedTexImage)
    {
      traceWarning("Ignoring glGetCompressedTexImage loaded from traceGL library.");
      traceGL_Native.glGetCompressedTexImage = NULL;
    }
  }
  else
  {
    traceWarning("glGetCompressedTexImage not loaded.");
  }
  if (traceGL_Native.glClientActiveTexture)
  {
    if (traceGL_Native.glClientActiveTexture == glClientActiveTexture)
    {
      traceWarning("Ignoring glClientActiveTexture loaded from traceGL library.");
      traceGL_Native.glClientActiveTexture = NULL;
    }
  }
  else
  {
    traceWarning("glClientActiveTexture not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord1d)
  {
    if (traceGL_Native.glMultiTexCoord1d == glMultiTexCoord1d)
    {
      traceWarning("Ignoring glMultiTexCoord1d loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord1d = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord1d not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord1dv)
  {
    if (traceGL_Native.glMultiTexCoord1dv == glMultiTexCoord1dv)
    {
      traceWarning("Ignoring glMultiTexCoord1dv loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord1dv = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord1dv not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord1f)
  {
    if (traceGL_Native.glMultiTexCoord1f == glMultiTexCoord1f)
    {
      traceWarning("Ignoring glMultiTexCoord1f loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord1f = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord1f not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord1fv)
  {
    if (traceGL_Native.glMultiTexCoord1fv == glMultiTexCoord1fv)
    {
      traceWarning("Ignoring glMultiTexCoord1fv loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord1fv = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord1fv not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord1i)
  {
    if (traceGL_Native.glMultiTexCoord1i == glMultiTexCoord1i)
    {
      traceWarning("Ignoring glMultiTexCoord1i loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord1i = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord1i not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord1iv)
  {
    if (traceGL_Native.glMultiTexCoord1iv == glMultiTexCoord1iv)
    {
      traceWarning("Ignoring glMultiTexCoord1iv loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord1iv = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord1iv not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord1s)
  {
    if (traceGL_Native.glMultiTexCoord1s == glMultiTexCoord1s)
    {
      traceWarning("Ignoring glMultiTexCoord1s loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord1s = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord1s not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord1sv)
  {
    if (traceGL_Native.glMultiTexCoord1sv == glMultiTexCoord1sv)
    {
      traceWarning("Ignoring glMultiTexCoord1sv loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord1sv = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord1sv not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord2d)
  {
    if (traceGL_Native.glMultiTexCoord2d == glMultiTexCoord2d)
    {
      traceWarning("Ignoring glMultiTexCoord2d loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord2d = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord2d not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord2dv)
  {
    if (traceGL_Native.glMultiTexCoord2dv == glMultiTexCoord2dv)
    {
      traceWarning("Ignoring glMultiTexCoord2dv loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord2dv = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord2dv not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord2f)
  {
    if (traceGL_Native.glMultiTexCoord2f == glMultiTexCoord2f)
    {
      traceWarning("Ignoring glMultiTexCoord2f loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord2f = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord2f not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord2fv)
  {
    if (traceGL_Native.glMultiTexCoord2fv == glMultiTexCoord2fv)
    {
      traceWarning("Ignoring glMultiTexCoord2fv loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord2fv = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord2fv not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord2i)
  {
    if (traceGL_Native.glMultiTexCoord2i == glMultiTexCoord2i)
    {
      traceWarning("Ignoring glMultiTexCoord2i loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord2i = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord2i not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord2iv)
  {
    if (traceGL_Native.glMultiTexCoord2iv == glMultiTexCoord2iv)
    {
      traceWarning("Ignoring glMultiTexCoord2iv loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord2iv = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord2iv not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord2s)
  {
    if (traceGL_Native.glMultiTexCoord2s == glMultiTexCoord2s)
    {
      traceWarning("Ignoring glMultiTexCoord2s loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord2s = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord2s not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord2sv)
  {
    if (traceGL_Native.glMultiTexCoord2sv == glMultiTexCoord2sv)
    {
      traceWarning("Ignoring glMultiTexCoord2sv loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord2sv = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord2sv not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord3d)
  {
    if (traceGL_Native.glMultiTexCoord3d == glMultiTexCoord3d)
    {
      traceWarning("Ignoring glMultiTexCoord3d loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord3d = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord3d not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord3dv)
  {
    if (traceGL_Native.glMultiTexCoord3dv == glMultiTexCoord3dv)
    {
      traceWarning("Ignoring glMultiTexCoord3dv loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord3dv = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord3dv not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord3f)
  {
    if (traceGL_Native.glMultiTexCoord3f == glMultiTexCoord3f)
    {
      traceWarning("Ignoring glMultiTexCoord3f loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord3f = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord3f not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord3fv)
  {
    if (traceGL_Native.glMultiTexCoord3fv == glMultiTexCoord3fv)
    {
      traceWarning("Ignoring glMultiTexCoord3fv loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord3fv = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord3fv not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord3i)
  {
    if (traceGL_Native.glMultiTexCoord3i == glMultiTexCoord3i)
    {
      traceWarning("Ignoring glMultiTexCoord3i loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord3i = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord3i not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord3iv)
  {
    if (traceGL_Native.glMultiTexCoord3iv == glMultiTexCoord3iv)
    {
      traceWarning("Ignoring glMultiTexCoord3iv loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord3iv = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord3iv not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord3s)
  {
    if (traceGL_Native.glMultiTexCoord3s == glMultiTexCoord3s)
    {
      traceWarning("Ignoring glMultiTexCoord3s loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord3s = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord3s not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord3sv)
  {
    if (traceGL_Native.glMultiTexCoord3sv == glMultiTexCoord3sv)
    {
      traceWarning("Ignoring glMultiTexCoord3sv loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord3sv = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord3sv not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord4d)
  {
    if (traceGL_Native.glMultiTexCoord4d == glMultiTexCoord4d)
    {
      traceWarning("Ignoring glMultiTexCoord4d loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord4d = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord4d not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord4dv)
  {
    if (traceGL_Native.glMultiTexCoord4dv == glMultiTexCoord4dv)
    {
      traceWarning("Ignoring glMultiTexCoord4dv loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord4dv = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord4dv not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord4f)
  {
    if (traceGL_Native.glMultiTexCoord4f == glMultiTexCoord4f)
    {
      traceWarning("Ignoring glMultiTexCoord4f loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord4f = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord4f not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord4fv)
  {
    if (traceGL_Native.glMultiTexCoord4fv == glMultiTexCoord4fv)
    {
      traceWarning("Ignoring glMultiTexCoord4fv loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord4fv = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord4fv not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord4i)
  {
    if (traceGL_Native.glMultiTexCoord4i == glMultiTexCoord4i)
    {
      traceWarning("Ignoring glMultiTexCoord4i loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord4i = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord4i not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord4iv)
  {
    if (traceGL_Native.glMultiTexCoord4iv == glMultiTexCoord4iv)
    {
      traceWarning("Ignoring glMultiTexCoord4iv loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord4iv = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord4iv not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord4s)
  {
    if (traceGL_Native.glMultiTexCoord4s == glMultiTexCoord4s)
    {
      traceWarning("Ignoring glMultiTexCoord4s loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord4s = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord4s not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord4sv)
  {
    if (traceGL_Native.glMultiTexCoord4sv == glMultiTexCoord4sv)
    {
      traceWarning("Ignoring glMultiTexCoord4sv loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord4sv = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord4sv not loaded.");
  }
  if (traceGL_Native.glLoadTransposeMatrixf)
  {
    if (traceGL_Native.glLoadTransposeMatrixf == glLoadTransposeMatrixf)
    {
      traceWarning("Ignoring glLoadTransposeMatrixf loaded from traceGL library.");
      traceGL_Native.glLoadTransposeMatrixf = NULL;
    }
  }
  else
  {
    traceWarning("glLoadTransposeMatrixf not loaded.");
  }
  if (traceGL_Native.glLoadTransposeMatrixd)
  {
    if (traceGL_Native.glLoadTransposeMatrixd == glLoadTransposeMatrixd)
    {
      traceWarning("Ignoring glLoadTransposeMatrixd loaded from traceGL library.");
      traceGL_Native.glLoadTransposeMatrixd = NULL;
    }
  }
  else
  {
    traceWarning("glLoadTransposeMatrixd not loaded.");
  }
  if (traceGL_Native.glMultTransposeMatrixf)
  {
    if (traceGL_Native.glMultTransposeMatrixf == glMultTransposeMatrixf)
    {
      traceWarning("Ignoring glMultTransposeMatrixf loaded from traceGL library.");
      traceGL_Native.glMultTransposeMatrixf = NULL;
    }
  }
  else
  {
    traceWarning("glMultTransposeMatrixf not loaded.");
  }
  if (traceGL_Native.glMultTransposeMatrixd)
  {
    if (traceGL_Native.glMultTransposeMatrixd == glMultTransposeMatrixd)
    {
      traceWarning("Ignoring glMultTransposeMatrixd loaded from traceGL library.");
      traceGL_Native.glMultTransposeMatrixd = NULL;
    }
  }
  else
  {
    traceWarning("glMultTransposeMatrixd not loaded.");
  }
  if (traceGL_Native.glBlendFuncSeparate)
  {
    if (traceGL_Native.glBlendFuncSeparate == glBlendFuncSeparate)
    {
      traceWarning("Ignoring glBlendFuncSeparate loaded from traceGL library.");
      traceGL_Native.glBlendFuncSeparate = NULL;
    }
  }
  else
  {
    traceWarning("glBlendFuncSeparate not loaded.");
  }
  if (traceGL_Native.glMultiDrawArrays)
  {
    if (traceGL_Native.glMultiDrawArrays == glMultiDrawArrays)
    {
      traceWarning("Ignoring glMultiDrawArrays loaded from traceGL library.");
      traceGL_Native.glMultiDrawArrays = NULL;
    }
  }
  else
  {
    traceWarning("glMultiDrawArrays not loaded.");
  }
  if (traceGL_Native.glMultiDrawElements)
  {
    if (traceGL_Native.glMultiDrawElements == glMultiDrawElements)
    {
      traceWarning("Ignoring glMultiDrawElements loaded from traceGL library.");
      traceGL_Native.glMultiDrawElements = NULL;
    }
  }
  else
  {
    traceWarning("glMultiDrawElements not loaded.");
  }
  if (traceGL_Native.glPointParameterf)
  {
    if (traceGL_Native.glPointParameterf == glPointParameterf)
    {
      traceWarning("Ignoring glPointParameterf loaded from traceGL library.");
      traceGL_Native.glPointParameterf = NULL;
    }
  }
  else
  {
    traceWarning("glPointParameterf not loaded.");
  }
  if (traceGL_Native.glPointParameterfv)
  {
    if (traceGL_Native.glPointParameterfv == glPointParameterfv)
    {
      traceWarning("Ignoring glPointParameterfv loaded from traceGL library.");
      traceGL_Native.glPointParameterfv = NULL;
    }
  }
  else
  {
    traceWarning("glPointParameterfv not loaded.");
  }
  if (traceGL_Native.glPointParameteri)
  {
    if (traceGL_Native.glPointParameteri == glPointParameteri)
    {
      traceWarning("Ignoring glPointParameteri loaded from traceGL library.");
      traceGL_Native.glPointParameteri = NULL;
    }
  }
  else
  {
    traceWarning("glPointParameteri not loaded.");
  }
  if (traceGL_Native.glPointParameteriv)
  {
    if (traceGL_Native.glPointParameteriv == glPointParameteriv)
    {
      traceWarning("Ignoring glPointParameteriv loaded from traceGL library.");
      traceGL_Native.glPointParameteriv = NULL;
    }
  }
  else
  {
    traceWarning("glPointParameteriv not loaded.");
  }
  if (traceGL_Native.glFogCoordf)
  {
    if (traceGL_Native.glFogCoordf == glFogCoordf)
    {
      traceWarning("Ignoring glFogCoordf loaded from traceGL library.");
      traceGL_Native.glFogCoordf = NULL;
    }
  }
  else
  {
    traceWarning("glFogCoordf not loaded.");
  }
  if (traceGL_Native.glFogCoordfv)
  {
    if (traceGL_Native.glFogCoordfv == glFogCoordfv)
    {
      traceWarning("Ignoring glFogCoordfv loaded from traceGL library.");
      traceGL_Native.glFogCoordfv = NULL;
    }
  }
  else
  {
    traceWarning("glFogCoordfv not loaded.");
  }
  if (traceGL_Native.glFogCoordd)
  {
    if (traceGL_Native.glFogCoordd == glFogCoordd)
    {
      traceWarning("Ignoring glFogCoordd loaded from traceGL library.");
      traceGL_Native.glFogCoordd = NULL;
    }
  }
  else
  {
    traceWarning("glFogCoordd not loaded.");
  }
  if (traceGL_Native.glFogCoorddv)
  {
    if (traceGL_Native.glFogCoorddv == glFogCoorddv)
    {
      traceWarning("Ignoring glFogCoorddv loaded from traceGL library.");
      traceGL_Native.glFogCoorddv = NULL;
    }
  }
  else
  {
    traceWarning("glFogCoorddv not loaded.");
  }
  if (traceGL_Native.glFogCoordPointer)
  {
    if (traceGL_Native.glFogCoordPointer == glFogCoordPointer)
    {
      traceWarning("Ignoring glFogCoordPointer loaded from traceGL library.");
      traceGL_Native.glFogCoordPointer = NULL;
    }
  }
  else
  {
    traceWarning("glFogCoordPointer not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3b)
  {
    if (traceGL_Native.glSecondaryColor3b == glSecondaryColor3b)
    {
      traceWarning("Ignoring glSecondaryColor3b loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3b = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3b not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3bv)
  {
    if (traceGL_Native.glSecondaryColor3bv == glSecondaryColor3bv)
    {
      traceWarning("Ignoring glSecondaryColor3bv loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3bv = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3bv not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3d)
  {
    if (traceGL_Native.glSecondaryColor3d == glSecondaryColor3d)
    {
      traceWarning("Ignoring glSecondaryColor3d loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3d = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3d not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3dv)
  {
    if (traceGL_Native.glSecondaryColor3dv == glSecondaryColor3dv)
    {
      traceWarning("Ignoring glSecondaryColor3dv loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3dv = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3dv not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3f)
  {
    if (traceGL_Native.glSecondaryColor3f == glSecondaryColor3f)
    {
      traceWarning("Ignoring glSecondaryColor3f loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3f = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3f not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3fv)
  {
    if (traceGL_Native.glSecondaryColor3fv == glSecondaryColor3fv)
    {
      traceWarning("Ignoring glSecondaryColor3fv loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3fv = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3fv not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3i)
  {
    if (traceGL_Native.glSecondaryColor3i == glSecondaryColor3i)
    {
      traceWarning("Ignoring glSecondaryColor3i loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3i = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3i not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3iv)
  {
    if (traceGL_Native.glSecondaryColor3iv == glSecondaryColor3iv)
    {
      traceWarning("Ignoring glSecondaryColor3iv loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3iv = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3iv not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3s)
  {
    if (traceGL_Native.glSecondaryColor3s == glSecondaryColor3s)
    {
      traceWarning("Ignoring glSecondaryColor3s loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3s = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3s not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3sv)
  {
    if (traceGL_Native.glSecondaryColor3sv == glSecondaryColor3sv)
    {
      traceWarning("Ignoring glSecondaryColor3sv loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3sv = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3sv not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3ub)
  {
    if (traceGL_Native.glSecondaryColor3ub == glSecondaryColor3ub)
    {
      traceWarning("Ignoring glSecondaryColor3ub loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3ub = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3ub not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3ubv)
  {
    if (traceGL_Native.glSecondaryColor3ubv == glSecondaryColor3ubv)
    {
      traceWarning("Ignoring glSecondaryColor3ubv loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3ubv = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3ubv not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3ui)
  {
    if (traceGL_Native.glSecondaryColor3ui == glSecondaryColor3ui)
    {
      traceWarning("Ignoring glSecondaryColor3ui loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3ui = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3ui not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3uiv)
  {
    if (traceGL_Native.glSecondaryColor3uiv == glSecondaryColor3uiv)
    {
      traceWarning("Ignoring glSecondaryColor3uiv loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3uiv = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3uiv not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3us)
  {
    if (traceGL_Native.glSecondaryColor3us == glSecondaryColor3us)
    {
      traceWarning("Ignoring glSecondaryColor3us loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3us = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3us not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3usv)
  {
    if (traceGL_Native.glSecondaryColor3usv == glSecondaryColor3usv)
    {
      traceWarning("Ignoring glSecondaryColor3usv loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3usv = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3usv not loaded.");
  }
  if (traceGL_Native.glSecondaryColorPointer)
  {
    if (traceGL_Native.glSecondaryColorPointer == glSecondaryColorPointer)
    {
      traceWarning("Ignoring glSecondaryColorPointer loaded from traceGL library.");
      traceGL_Native.glSecondaryColorPointer = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColorPointer not loaded.");
  }
  if (traceGL_Native.glWindowPos2d)
  {
    if (traceGL_Native.glWindowPos2d == glWindowPos2d)
    {
      traceWarning("Ignoring glWindowPos2d loaded from traceGL library.");
      traceGL_Native.glWindowPos2d = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos2d not loaded.");
  }
  if (traceGL_Native.glWindowPos2dv)
  {
    if (traceGL_Native.glWindowPos2dv == glWindowPos2dv)
    {
      traceWarning("Ignoring glWindowPos2dv loaded from traceGL library.");
      traceGL_Native.glWindowPos2dv = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos2dv not loaded.");
  }
  if (traceGL_Native.glWindowPos2f)
  {
    if (traceGL_Native.glWindowPos2f == glWindowPos2f)
    {
      traceWarning("Ignoring glWindowPos2f loaded from traceGL library.");
      traceGL_Native.glWindowPos2f = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos2f not loaded.");
  }
  if (traceGL_Native.glWindowPos2fv)
  {
    if (traceGL_Native.glWindowPos2fv == glWindowPos2fv)
    {
      traceWarning("Ignoring glWindowPos2fv loaded from traceGL library.");
      traceGL_Native.glWindowPos2fv = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos2fv not loaded.");
  }
  if (traceGL_Native.glWindowPos2i)
  {
    if (traceGL_Native.glWindowPos2i == glWindowPos2i)
    {
      traceWarning("Ignoring glWindowPos2i loaded from traceGL library.");
      traceGL_Native.glWindowPos2i = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos2i not loaded.");
  }
  if (traceGL_Native.glWindowPos2iv)
  {
    if (traceGL_Native.glWindowPos2iv == glWindowPos2iv)
    {
      traceWarning("Ignoring glWindowPos2iv loaded from traceGL library.");
      traceGL_Native.glWindowPos2iv = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos2iv not loaded.");
  }
  if (traceGL_Native.glWindowPos2s)
  {
    if (traceGL_Native.glWindowPos2s == glWindowPos2s)
    {
      traceWarning("Ignoring glWindowPos2s loaded from traceGL library.");
      traceGL_Native.glWindowPos2s = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos2s not loaded.");
  }
  if (traceGL_Native.glWindowPos2sv)
  {
    if (traceGL_Native.glWindowPos2sv == glWindowPos2sv)
    {
      traceWarning("Ignoring glWindowPos2sv loaded from traceGL library.");
      traceGL_Native.glWindowPos2sv = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos2sv not loaded.");
  }
  if (traceGL_Native.glWindowPos3d)
  {
    if (traceGL_Native.glWindowPos3d == glWindowPos3d)
    {
      traceWarning("Ignoring glWindowPos3d loaded from traceGL library.");
      traceGL_Native.glWindowPos3d = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos3d not loaded.");
  }
  if (traceGL_Native.glWindowPos3dv)
  {
    if (traceGL_Native.glWindowPos3dv == glWindowPos3dv)
    {
      traceWarning("Ignoring glWindowPos3dv loaded from traceGL library.");
      traceGL_Native.glWindowPos3dv = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos3dv not loaded.");
  }
  if (traceGL_Native.glWindowPos3f)
  {
    if (traceGL_Native.glWindowPos3f == glWindowPos3f)
    {
      traceWarning("Ignoring glWindowPos3f loaded from traceGL library.");
      traceGL_Native.glWindowPos3f = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos3f not loaded.");
  }
  if (traceGL_Native.glWindowPos3fv)
  {
    if (traceGL_Native.glWindowPos3fv == glWindowPos3fv)
    {
      traceWarning("Ignoring glWindowPos3fv loaded from traceGL library.");
      traceGL_Native.glWindowPos3fv = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos3fv not loaded.");
  }
  if (traceGL_Native.glWindowPos3i)
  {
    if (traceGL_Native.glWindowPos3i == glWindowPos3i)
    {
      traceWarning("Ignoring glWindowPos3i loaded from traceGL library.");
      traceGL_Native.glWindowPos3i = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos3i not loaded.");
  }
  if (traceGL_Native.glWindowPos3iv)
  {
    if (traceGL_Native.glWindowPos3iv == glWindowPos3iv)
    {
      traceWarning("Ignoring glWindowPos3iv loaded from traceGL library.");
      traceGL_Native.glWindowPos3iv = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos3iv not loaded.");
  }
  if (traceGL_Native.glWindowPos3s)
  {
    if (traceGL_Native.glWindowPos3s == glWindowPos3s)
    {
      traceWarning("Ignoring glWindowPos3s loaded from traceGL library.");
      traceGL_Native.glWindowPos3s = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos3s not loaded.");
  }
  if (traceGL_Native.glWindowPos3sv)
  {
    if (traceGL_Native.glWindowPos3sv == glWindowPos3sv)
    {
      traceWarning("Ignoring glWindowPos3sv loaded from traceGL library.");
      traceGL_Native.glWindowPos3sv = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos3sv not loaded.");
  }
  if (traceGL_Native.glGenQueries)
  {
    if (traceGL_Native.glGenQueries == glGenQueries)
    {
      traceWarning("Ignoring glGenQueries loaded from traceGL library.");
      traceGL_Native.glGenQueries = NULL;
    }
  }
  else
  {
    traceWarning("glGenQueries not loaded.");
  }
  if (traceGL_Native.glDeleteQueries)
  {
    if (traceGL_Native.glDeleteQueries == glDeleteQueries)
    {
      traceWarning("Ignoring glDeleteQueries loaded from traceGL library.");
      traceGL_Native.glDeleteQueries = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteQueries not loaded.");
  }
  if (traceGL_Native.glIsQuery)
  {
    if (traceGL_Native.glIsQuery == glIsQuery)
    {
      traceWarning("Ignoring glIsQuery loaded from traceGL library.");
      traceGL_Native.glIsQuery = NULL;
    }
  }
  else
  {
    traceWarning("glIsQuery not loaded.");
  }
  if (traceGL_Native.glBeginQuery)
  {
    if (traceGL_Native.glBeginQuery == glBeginQuery)
    {
      traceWarning("Ignoring glBeginQuery loaded from traceGL library.");
      traceGL_Native.glBeginQuery = NULL;
    }
  }
  else
  {
    traceWarning("glBeginQuery not loaded.");
  }
  if (traceGL_Native.glEndQuery)
  {
    if (traceGL_Native.glEndQuery == glEndQuery)
    {
      traceWarning("Ignoring glEndQuery loaded from traceGL library.");
      traceGL_Native.glEndQuery = NULL;
    }
  }
  else
  {
    traceWarning("glEndQuery not loaded.");
  }
  if (traceGL_Native.glGetQueryiv)
  {
    if (traceGL_Native.glGetQueryiv == glGetQueryiv)
    {
      traceWarning("Ignoring glGetQueryiv loaded from traceGL library.");
      traceGL_Native.glGetQueryiv = NULL;
    }
  }
  else
  {
    traceWarning("glGetQueryiv not loaded.");
  }
  if (traceGL_Native.glGetQueryObjectiv)
  {
    if (traceGL_Native.glGetQueryObjectiv == glGetQueryObjectiv)
    {
      traceWarning("Ignoring glGetQueryObjectiv loaded from traceGL library.");
      traceGL_Native.glGetQueryObjectiv = NULL;
    }
  }
  else
  {
    traceWarning("glGetQueryObjectiv not loaded.");
  }
  if (traceGL_Native.glGetQueryObjectuiv)
  {
    if (traceGL_Native.glGetQueryObjectuiv == glGetQueryObjectuiv)
    {
      traceWarning("Ignoring glGetQueryObjectuiv loaded from traceGL library.");
      traceGL_Native.glGetQueryObjectuiv = NULL;
    }
  }
  else
  {
    traceWarning("glGetQueryObjectuiv not loaded.");
  }
  if (traceGL_Native.glBindBuffer)
  {
    if (traceGL_Native.glBindBuffer == glBindBuffer)
    {
      traceWarning("Ignoring glBindBuffer loaded from traceGL library.");
      traceGL_Native.glBindBuffer = NULL;
    }
  }
  else
  {
    traceWarning("glBindBuffer not loaded.");
  }
  if (traceGL_Native.glDeleteBuffers)
  {
    if (traceGL_Native.glDeleteBuffers == glDeleteBuffers)
    {
      traceWarning("Ignoring glDeleteBuffers loaded from traceGL library.");
      traceGL_Native.glDeleteBuffers = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteBuffers not loaded.");
  }
  if (traceGL_Native.glGenBuffers)
  {
    if (traceGL_Native.glGenBuffers == glGenBuffers)
    {
      traceWarning("Ignoring glGenBuffers loaded from traceGL library.");
      traceGL_Native.glGenBuffers = NULL;
    }
  }
  else
  {
    traceWarning("glGenBuffers not loaded.");
  }
  if (traceGL_Native.glIsBuffer)
  {
    if (traceGL_Native.glIsBuffer == glIsBuffer)
    {
      traceWarning("Ignoring glIsBuffer loaded from traceGL library.");
      traceGL_Native.glIsBuffer = NULL;
    }
  }
  else
  {
    traceWarning("glIsBuffer not loaded.");
  }
  if (traceGL_Native.glBufferData)
  {
    if (traceGL_Native.glBufferData == glBufferData)
    {
      traceWarning("Ignoring glBufferData loaded from traceGL library.");
      traceGL_Native.glBufferData = NULL;
    }
  }
  else
  {
    traceWarning("glBufferData not loaded.");
  }
  if (traceGL_Native.glBufferSubData)
  {
    if (traceGL_Native.glBufferSubData == glBufferSubData)
    {
      traceWarning("Ignoring glBufferSubData loaded from traceGL library.");
      traceGL_Native.glBufferSubData = NULL;
    }
  }
  else
  {
    traceWarning("glBufferSubData not loaded.");
  }
  if (traceGL_Native.glGetBufferSubData)
  {
    if (traceGL_Native.glGetBufferSubData == glGetBufferSubData)
    {
      traceWarning("Ignoring glGetBufferSubData loaded from traceGL library.");
      traceGL_Native.glGetBufferSubData = NULL;
    }
  }
  else
  {
    traceWarning("glGetBufferSubData not loaded.");
  }
  if (traceGL_Native.glMapBuffer)
  {
    if (traceGL_Native.glMapBuffer == glMapBuffer)
    {
      traceWarning("Ignoring glMapBuffer loaded from traceGL library.");
      traceGL_Native.glMapBuffer = NULL;
    }
  }
  else
  {
    traceWarning("glMapBuffer not loaded.");
  }
  if (traceGL_Native.glUnmapBuffer)
  {
    if (traceGL_Native.glUnmapBuffer == glUnmapBuffer)
    {
      traceWarning("Ignoring glUnmapBuffer loaded from traceGL library.");
      traceGL_Native.glUnmapBuffer = NULL;
    }
  }
  else
  {
    traceWarning("glUnmapBuffer not loaded.");
  }
  if (traceGL_Native.glGetBufferParameteriv)
  {
    if (traceGL_Native.glGetBufferParameteriv == glGetBufferParameteriv)
    {
      traceWarning("Ignoring glGetBufferParameteriv loaded from traceGL library.");
      traceGL_Native.glGetBufferParameteriv = NULL;
    }
  }
  else
  {
    traceWarning("glGetBufferParameteriv not loaded.");
  }
  if (traceGL_Native.glGetBufferPointerv)
  {
    if (traceGL_Native.glGetBufferPointerv == glGetBufferPointerv)
    {
      traceWarning("Ignoring glGetBufferPointerv loaded from traceGL library.");
      traceGL_Native.glGetBufferPointerv = NULL;
    }
  }
  else
  {
    traceWarning("glGetBufferPointerv not loaded.");
  }
  if (traceGL_Native.glBlendEquationSeparate)
  {
    if (traceGL_Native.glBlendEquationSeparate == glBlendEquationSeparate)
    {
      traceWarning("Ignoring glBlendEquationSeparate loaded from traceGL library.");
      traceGL_Native.glBlendEquationSeparate = NULL;
    }
  }
  else
  {
    traceWarning("glBlendEquationSeparate not loaded.");
  }
  if (traceGL_Native.glDrawBuffers)
  {
    if (traceGL_Native.glDrawBuffers == glDrawBuffers)
    {
      traceWarning("Ignoring glDrawBuffers loaded from traceGL library.");
      traceGL_Native.glDrawBuffers = NULL;
    }
  }
  else
  {
    traceWarning("glDrawBuffers not loaded.");
  }
  if (traceGL_Native.glStencilOpSeparate)
  {
    if (traceGL_Native.glStencilOpSeparate == glStencilOpSeparate)
    {
      traceWarning("Ignoring glStencilOpSeparate loaded from traceGL library.");
      traceGL_Native.glStencilOpSeparate = NULL;
    }
  }
  else
  {
    traceWarning("glStencilOpSeparate not loaded.");
  }
  if (traceGL_Native.glStencilFuncSeparate)
  {
    if (traceGL_Native.glStencilFuncSeparate == glStencilFuncSeparate)
    {
      traceWarning("Ignoring glStencilFuncSeparate loaded from traceGL library.");
      traceGL_Native.glStencilFuncSeparate = NULL;
    }
  }
  else
  {
    traceWarning("glStencilFuncSeparate not loaded.");
  }
  if (traceGL_Native.glStencilMaskSeparate)
  {
    if (traceGL_Native.glStencilMaskSeparate == glStencilMaskSeparate)
    {
      traceWarning("Ignoring glStencilMaskSeparate loaded from traceGL library.");
      traceGL_Native.glStencilMaskSeparate = NULL;
    }
  }
  else
  {
    traceWarning("glStencilMaskSeparate not loaded.");
  }
  if (traceGL_Native.glAttachShader)
  {
    if (traceGL_Native.glAttachShader == glAttachShader)
    {
      traceWarning("Ignoring glAttachShader loaded from traceGL library.");
      traceGL_Native.glAttachShader = NULL;
    }
  }
  else
  {
    traceWarning("glAttachShader not loaded.");
  }
  if (traceGL_Native.glBindAttribLocation)
  {
    if (traceGL_Native.glBindAttribLocation == glBindAttribLocation)
    {
      traceWarning("Ignoring glBindAttribLocation loaded from traceGL library.");
      traceGL_Native.glBindAttribLocation = NULL;
    }
  }
  else
  {
    traceWarning("glBindAttribLocation not loaded.");
  }
  if (traceGL_Native.glCompileShader)
  {
    if (traceGL_Native.glCompileShader == glCompileShader)
    {
      traceWarning("Ignoring glCompileShader loaded from traceGL library.");
      traceGL_Native.glCompileShader = NULL;
    }
  }
  else
  {
    traceWarning("glCompileShader not loaded.");
  }
  if (traceGL_Native.glCreateProgram)
  {
    if (traceGL_Native.glCreateProgram == glCreateProgram)
    {
      traceWarning("Ignoring glCreateProgram loaded from traceGL library.");
      traceGL_Native.glCreateProgram = NULL;
    }
  }
  else
  {
    traceWarning("glCreateProgram not loaded.");
  }
  if (traceGL_Native.glCreateShader)
  {
    if (traceGL_Native.glCreateShader == glCreateShader)
    {
      traceWarning("Ignoring glCreateShader loaded from traceGL library.");
      traceGL_Native.glCreateShader = NULL;
    }
  }
  else
  {
    traceWarning("glCreateShader not loaded.");
  }
  if (traceGL_Native.glDeleteProgram)
  {
    if (traceGL_Native.glDeleteProgram == glDeleteProgram)
    {
      traceWarning("Ignoring glDeleteProgram loaded from traceGL library.");
      traceGL_Native.glDeleteProgram = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteProgram not loaded.");
  }
  if (traceGL_Native.glDeleteShader)
  {
    if (traceGL_Native.glDeleteShader == glDeleteShader)
    {
      traceWarning("Ignoring glDeleteShader loaded from traceGL library.");
      traceGL_Native.glDeleteShader = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteShader not loaded.");
  }
  if (traceGL_Native.glDetachShader)
  {
    if (traceGL_Native.glDetachShader == glDetachShader)
    {
      traceWarning("Ignoring glDetachShader loaded from traceGL library.");
      traceGL_Native.glDetachShader = NULL;
    }
  }
  else
  {
    traceWarning("glDetachShader not loaded.");
  }
  if (traceGL_Native.glDisableVertexAttribArray)
  {
    if (traceGL_Native.glDisableVertexAttribArray == glDisableVertexAttribArray)
    {
      traceWarning("Ignoring glDisableVertexAttribArray loaded from traceGL library.");
      traceGL_Native.glDisableVertexAttribArray = NULL;
    }
  }
  else
  {
    traceWarning("glDisableVertexAttribArray not loaded.");
  }
  if (traceGL_Native.glEnableVertexAttribArray)
  {
    if (traceGL_Native.glEnableVertexAttribArray == glEnableVertexAttribArray)
    {
      traceWarning("Ignoring glEnableVertexAttribArray loaded from traceGL library.");
      traceGL_Native.glEnableVertexAttribArray = NULL;
    }
  }
  else
  {
    traceWarning("glEnableVertexAttribArray not loaded.");
  }
  if (traceGL_Native.glGetActiveAttrib)
  {
    if (traceGL_Native.glGetActiveAttrib == glGetActiveAttrib)
    {
      traceWarning("Ignoring glGetActiveAttrib loaded from traceGL library.");
      traceGL_Native.glGetActiveAttrib = NULL;
    }
  }
  else
  {
    traceWarning("glGetActiveAttrib not loaded.");
  }
  if (traceGL_Native.glGetActiveUniform)
  {
    if (traceGL_Native.glGetActiveUniform == glGetActiveUniform)
    {
      traceWarning("Ignoring glGetActiveUniform loaded from traceGL library.");
      traceGL_Native.glGetActiveUniform = NULL;
    }
  }
  else
  {
    traceWarning("glGetActiveUniform not loaded.");
  }
  if (traceGL_Native.glGetAttachedShaders)
  {
    if (traceGL_Native.glGetAttachedShaders == glGetAttachedShaders)
    {
      traceWarning("Ignoring glGetAttachedShaders loaded from traceGL library.");
      traceGL_Native.glGetAttachedShaders = NULL;
    }
  }
  else
  {
    traceWarning("glGetAttachedShaders not loaded.");
  }
  if (traceGL_Native.glGetAttribLocation)
  {
    if (traceGL_Native.glGetAttribLocation == glGetAttribLocation)
    {
      traceWarning("Ignoring glGetAttribLocation loaded from traceGL library.");
      traceGL_Native.glGetAttribLocation = NULL;
    }
  }
  else
  {
    traceWarning("glGetAttribLocation not loaded.");
  }
  if (traceGL_Native.glGetProgramiv)
  {
    if (traceGL_Native.glGetProgramiv == glGetProgramiv)
    {
      traceWarning("Ignoring glGetProgramiv loaded from traceGL library.");
      traceGL_Native.glGetProgramiv = NULL;
    }
  }
  else
  {
    traceWarning("glGetProgramiv not loaded.");
  }
  if (traceGL_Native.glGetProgramInfoLog)
  {
    if (traceGL_Native.glGetProgramInfoLog == glGetProgramInfoLog)
    {
      traceWarning("Ignoring glGetProgramInfoLog loaded from traceGL library.");
      traceGL_Native.glGetProgramInfoLog = NULL;
    }
  }
  else
  {
    traceWarning("glGetProgramInfoLog not loaded.");
  }
  if (traceGL_Native.glGetShaderiv)
  {
    if (traceGL_Native.glGetShaderiv == glGetShaderiv)
    {
      traceWarning("Ignoring glGetShaderiv loaded from traceGL library.");
      traceGL_Native.glGetShaderiv = NULL;
    }
  }
  else
  {
    traceWarning("glGetShaderiv not loaded.");
  }
  if (traceGL_Native.glGetShaderInfoLog)
  {
    if (traceGL_Native.glGetShaderInfoLog == glGetShaderInfoLog)
    {
      traceWarning("Ignoring glGetShaderInfoLog loaded from traceGL library.");
      traceGL_Native.glGetShaderInfoLog = NULL;
    }
  }
  else
  {
    traceWarning("glGetShaderInfoLog not loaded.");
  }
  if (traceGL_Native.glGetShaderSource)
  {
    if (traceGL_Native.glGetShaderSource == glGetShaderSource)
    {
      traceWarning("Ignoring glGetShaderSource loaded from traceGL library.");
      traceGL_Native.glGetShaderSource = NULL;
    }
  }
  else
  {
    traceWarning("glGetShaderSource not loaded.");
  }
  if (traceGL_Native.glGetUniformLocation)
  {
    if (traceGL_Native.glGetUniformLocation == glGetUniformLocation)
    {
      traceWarning("Ignoring glGetUniformLocation loaded from traceGL library.");
      traceGL_Native.glGetUniformLocation = NULL;
    }
  }
  else
  {
    traceWarning("glGetUniformLocation not loaded.");
  }
  if (traceGL_Native.glGetUniformfv)
  {
    if (traceGL_Native.glGetUniformfv == glGetUniformfv)
    {
      traceWarning("Ignoring glGetUniformfv loaded from traceGL library.");
      traceGL_Native.glGetUniformfv = NULL;
    }
  }
  else
  {
    traceWarning("glGetUniformfv not loaded.");
  }
  if (traceGL_Native.glGetUniformiv)
  {
    if (traceGL_Native.glGetUniformiv == glGetUniformiv)
    {
      traceWarning("Ignoring glGetUniformiv loaded from traceGL library.");
      traceGL_Native.glGetUniformiv = NULL;
    }
  }
  else
  {
    traceWarning("glGetUniformiv not loaded.");
  }
  if (traceGL_Native.glGetVertexAttribdv)
  {
    if (traceGL_Native.glGetVertexAttribdv == glGetVertexAttribdv)
    {
      traceWarning("Ignoring glGetVertexAttribdv loaded from traceGL library.");
      traceGL_Native.glGetVertexAttribdv = NULL;
    }
  }
  else
  {
    traceWarning("glGetVertexAttribdv not loaded.");
  }
  if (traceGL_Native.glGetVertexAttribfv)
  {
    if (traceGL_Native.glGetVertexAttribfv == glGetVertexAttribfv)
    {
      traceWarning("Ignoring glGetVertexAttribfv loaded from traceGL library.");
      traceGL_Native.glGetVertexAttribfv = NULL;
    }
  }
  else
  {
    traceWarning("glGetVertexAttribfv not loaded.");
  }
  if (traceGL_Native.glGetVertexAttribiv)
  {
    if (traceGL_Native.glGetVertexAttribiv == glGetVertexAttribiv)
    {
      traceWarning("Ignoring glGetVertexAttribiv loaded from traceGL library.");
      traceGL_Native.glGetVertexAttribiv = NULL;
    }
  }
  else
  {
    traceWarning("glGetVertexAttribiv not loaded.");
  }
  if (traceGL_Native.glGetVertexAttribPointerv)
  {
    if (traceGL_Native.glGetVertexAttribPointerv == glGetVertexAttribPointerv)
    {
      traceWarning("Ignoring glGetVertexAttribPointerv loaded from traceGL library.");
      traceGL_Native.glGetVertexAttribPointerv = NULL;
    }
  }
  else
  {
    traceWarning("glGetVertexAttribPointerv not loaded.");
  }
  if (traceGL_Native.glIsProgram)
  {
    if (traceGL_Native.glIsProgram == glIsProgram)
    {
      traceWarning("Ignoring glIsProgram loaded from traceGL library.");
      traceGL_Native.glIsProgram = NULL;
    }
  }
  else
  {
    traceWarning("glIsProgram not loaded.");
  }
  if (traceGL_Native.glIsShader)
  {
    if (traceGL_Native.glIsShader == glIsShader)
    {
      traceWarning("Ignoring glIsShader loaded from traceGL library.");
      traceGL_Native.glIsShader = NULL;
    }
  }
  else
  {
    traceWarning("glIsShader not loaded.");
  }
  if (traceGL_Native.glLinkProgram)
  {
    if (traceGL_Native.glLinkProgram == glLinkProgram)
    {
      traceWarning("Ignoring glLinkProgram loaded from traceGL library.");
      traceGL_Native.glLinkProgram = NULL;
    }
  }
  else
  {
    traceWarning("glLinkProgram not loaded.");
  }
  if (traceGL_Native.glShaderSource)
  {
    if (traceGL_Native.glShaderSource == glShaderSource)
    {
      traceWarning("Ignoring glShaderSource loaded from traceGL library.");
      traceGL_Native.glShaderSource = NULL;
    }
  }
  else
  {
    traceWarning("glShaderSource not loaded.");
  }
  if (traceGL_Native.glUseProgram)
  {
    if (traceGL_Native.glUseProgram == glUseProgram)
    {
      traceWarning("Ignoring glUseProgram loaded from traceGL library.");
      traceGL_Native.glUseProgram = NULL;
    }
  }
  else
  {
    traceWarning("glUseProgram not loaded.");
  }
  if (traceGL_Native.glUniform1f)
  {
    if (traceGL_Native.glUniform1f == glUniform1f)
    {
      traceWarning("Ignoring glUniform1f loaded from traceGL library.");
      traceGL_Native.glUniform1f = NULL;
    }
  }
  else
  {
    traceWarning("glUniform1f not loaded.");
  }
  if (traceGL_Native.glUniform2f)
  {
    if (traceGL_Native.glUniform2f == glUniform2f)
    {
      traceWarning("Ignoring glUniform2f loaded from traceGL library.");
      traceGL_Native.glUniform2f = NULL;
    }
  }
  else
  {
    traceWarning("glUniform2f not loaded.");
  }
  if (traceGL_Native.glUniform3f)
  {
    if (traceGL_Native.glUniform3f == glUniform3f)
    {
      traceWarning("Ignoring glUniform3f loaded from traceGL library.");
      traceGL_Native.glUniform3f = NULL;
    }
  }
  else
  {
    traceWarning("glUniform3f not loaded.");
  }
  if (traceGL_Native.glUniform4f)
  {
    if (traceGL_Native.glUniform4f == glUniform4f)
    {
      traceWarning("Ignoring glUniform4f loaded from traceGL library.");
      traceGL_Native.glUniform4f = NULL;
    }
  }
  else
  {
    traceWarning("glUniform4f not loaded.");
  }
  if (traceGL_Native.glUniform1i)
  {
    if (traceGL_Native.glUniform1i == glUniform1i)
    {
      traceWarning("Ignoring glUniform1i loaded from traceGL library.");
      traceGL_Native.glUniform1i = NULL;
    }
  }
  else
  {
    traceWarning("glUniform1i not loaded.");
  }
  if (traceGL_Native.glUniform2i)
  {
    if (traceGL_Native.glUniform2i == glUniform2i)
    {
      traceWarning("Ignoring glUniform2i loaded from traceGL library.");
      traceGL_Native.glUniform2i = NULL;
    }
  }
  else
  {
    traceWarning("glUniform2i not loaded.");
  }
  if (traceGL_Native.glUniform3i)
  {
    if (traceGL_Native.glUniform3i == glUniform3i)
    {
      traceWarning("Ignoring glUniform3i loaded from traceGL library.");
      traceGL_Native.glUniform3i = NULL;
    }
  }
  else
  {
    traceWarning("glUniform3i not loaded.");
  }
  if (traceGL_Native.glUniform4i)
  {
    if (traceGL_Native.glUniform4i == glUniform4i)
    {
      traceWarning("Ignoring glUniform4i loaded from traceGL library.");
      traceGL_Native.glUniform4i = NULL;
    }
  }
  else
  {
    traceWarning("glUniform4i not loaded.");
  }
  if (traceGL_Native.glUniform1fv)
  {
    if (traceGL_Native.glUniform1fv == glUniform1fv)
    {
      traceWarning("Ignoring glUniform1fv loaded from traceGL library.");
      traceGL_Native.glUniform1fv = NULL;
    }
  }
  else
  {
    traceWarning("glUniform1fv not loaded.");
  }
  if (traceGL_Native.glUniform2fv)
  {
    if (traceGL_Native.glUniform2fv == glUniform2fv)
    {
      traceWarning("Ignoring glUniform2fv loaded from traceGL library.");
      traceGL_Native.glUniform2fv = NULL;
    }
  }
  else
  {
    traceWarning("glUniform2fv not loaded.");
  }
  if (traceGL_Native.glUniform3fv)
  {
    if (traceGL_Native.glUniform3fv == glUniform3fv)
    {
      traceWarning("Ignoring glUniform3fv loaded from traceGL library.");
      traceGL_Native.glUniform3fv = NULL;
    }
  }
  else
  {
    traceWarning("glUniform3fv not loaded.");
  }
  if (traceGL_Native.glUniform4fv)
  {
    if (traceGL_Native.glUniform4fv == glUniform4fv)
    {
      traceWarning("Ignoring glUniform4fv loaded from traceGL library.");
      traceGL_Native.glUniform4fv = NULL;
    }
  }
  else
  {
    traceWarning("glUniform4fv not loaded.");
  }
  if (traceGL_Native.glUniform1iv)
  {
    if (traceGL_Native.glUniform1iv == glUniform1iv)
    {
      traceWarning("Ignoring glUniform1iv loaded from traceGL library.");
      traceGL_Native.glUniform1iv = NULL;
    }
  }
  else
  {
    traceWarning("glUniform1iv not loaded.");
  }
  if (traceGL_Native.glUniform2iv)
  {
    if (traceGL_Native.glUniform2iv == glUniform2iv)
    {
      traceWarning("Ignoring glUniform2iv loaded from traceGL library.");
      traceGL_Native.glUniform2iv = NULL;
    }
  }
  else
  {
    traceWarning("glUniform2iv not loaded.");
  }
  if (traceGL_Native.glUniform3iv)
  {
    if (traceGL_Native.glUniform3iv == glUniform3iv)
    {
      traceWarning("Ignoring glUniform3iv loaded from traceGL library.");
      traceGL_Native.glUniform3iv = NULL;
    }
  }
  else
  {
    traceWarning("glUniform3iv not loaded.");
  }
  if (traceGL_Native.glUniform4iv)
  {
    if (traceGL_Native.glUniform4iv == glUniform4iv)
    {
      traceWarning("Ignoring glUniform4iv loaded from traceGL library.");
      traceGL_Native.glUniform4iv = NULL;
    }
  }
  else
  {
    traceWarning("glUniform4iv not loaded.");
  }
  if (traceGL_Native.glUniformMatrix2fv)
  {
    if (traceGL_Native.glUniformMatrix2fv == glUniformMatrix2fv)
    {
      traceWarning("Ignoring glUniformMatrix2fv loaded from traceGL library.");
      traceGL_Native.glUniformMatrix2fv = NULL;
    }
  }
  else
  {
    traceWarning("glUniformMatrix2fv not loaded.");
  }
  if (traceGL_Native.glUniformMatrix3fv)
  {
    if (traceGL_Native.glUniformMatrix3fv == glUniformMatrix3fv)
    {
      traceWarning("Ignoring glUniformMatrix3fv loaded from traceGL library.");
      traceGL_Native.glUniformMatrix3fv = NULL;
    }
  }
  else
  {
    traceWarning("glUniformMatrix3fv not loaded.");
  }
  if (traceGL_Native.glUniformMatrix4fv)
  {
    if (traceGL_Native.glUniformMatrix4fv == glUniformMatrix4fv)
    {
      traceWarning("Ignoring glUniformMatrix4fv loaded from traceGL library.");
      traceGL_Native.glUniformMatrix4fv = NULL;
    }
  }
  else
  {
    traceWarning("glUniformMatrix4fv not loaded.");
  }
  if (traceGL_Native.glValidateProgram)
  {
    if (traceGL_Native.glValidateProgram == glValidateProgram)
    {
      traceWarning("Ignoring glValidateProgram loaded from traceGL library.");
      traceGL_Native.glValidateProgram = NULL;
    }
  }
  else
  {
    traceWarning("glValidateProgram not loaded.");
  }
  if (traceGL_Native.glVertexAttrib1d)
  {
    if (traceGL_Native.glVertexAttrib1d == glVertexAttrib1d)
    {
      traceWarning("Ignoring glVertexAttrib1d loaded from traceGL library.");
      traceGL_Native.glVertexAttrib1d = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib1d not loaded.");
  }
  if (traceGL_Native.glVertexAttrib1dv)
  {
    if (traceGL_Native.glVertexAttrib1dv == glVertexAttrib1dv)
    {
      traceWarning("Ignoring glVertexAttrib1dv loaded from traceGL library.");
      traceGL_Native.glVertexAttrib1dv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib1dv not loaded.");
  }
  if (traceGL_Native.glVertexAttrib1f)
  {
    if (traceGL_Native.glVertexAttrib1f == glVertexAttrib1f)
    {
      traceWarning("Ignoring glVertexAttrib1f loaded from traceGL library.");
      traceGL_Native.glVertexAttrib1f = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib1f not loaded.");
  }
  if (traceGL_Native.glVertexAttrib1fv)
  {
    if (traceGL_Native.glVertexAttrib1fv == glVertexAttrib1fv)
    {
      traceWarning("Ignoring glVertexAttrib1fv loaded from traceGL library.");
      traceGL_Native.glVertexAttrib1fv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib1fv not loaded.");
  }
  if (traceGL_Native.glVertexAttrib1s)
  {
    if (traceGL_Native.glVertexAttrib1s == glVertexAttrib1s)
    {
      traceWarning("Ignoring glVertexAttrib1s loaded from traceGL library.");
      traceGL_Native.glVertexAttrib1s = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib1s not loaded.");
  }
  if (traceGL_Native.glVertexAttrib1sv)
  {
    if (traceGL_Native.glVertexAttrib1sv == glVertexAttrib1sv)
    {
      traceWarning("Ignoring glVertexAttrib1sv loaded from traceGL library.");
      traceGL_Native.glVertexAttrib1sv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib1sv not loaded.");
  }
  if (traceGL_Native.glVertexAttrib2d)
  {
    if (traceGL_Native.glVertexAttrib2d == glVertexAttrib2d)
    {
      traceWarning("Ignoring glVertexAttrib2d loaded from traceGL library.");
      traceGL_Native.glVertexAttrib2d = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib2d not loaded.");
  }
  if (traceGL_Native.glVertexAttrib2dv)
  {
    if (traceGL_Native.glVertexAttrib2dv == glVertexAttrib2dv)
    {
      traceWarning("Ignoring glVertexAttrib2dv loaded from traceGL library.");
      traceGL_Native.glVertexAttrib2dv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib2dv not loaded.");
  }
  if (traceGL_Native.glVertexAttrib2f)
  {
    if (traceGL_Native.glVertexAttrib2f == glVertexAttrib2f)
    {
      traceWarning("Ignoring glVertexAttrib2f loaded from traceGL library.");
      traceGL_Native.glVertexAttrib2f = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib2f not loaded.");
  }
  if (traceGL_Native.glVertexAttrib2fv)
  {
    if (traceGL_Native.glVertexAttrib2fv == glVertexAttrib2fv)
    {
      traceWarning("Ignoring glVertexAttrib2fv loaded from traceGL library.");
      traceGL_Native.glVertexAttrib2fv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib2fv not loaded.");
  }
  if (traceGL_Native.glVertexAttrib2s)
  {
    if (traceGL_Native.glVertexAttrib2s == glVertexAttrib2s)
    {
      traceWarning("Ignoring glVertexAttrib2s loaded from traceGL library.");
      traceGL_Native.glVertexAttrib2s = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib2s not loaded.");
  }
  if (traceGL_Native.glVertexAttrib2sv)
  {
    if (traceGL_Native.glVertexAttrib2sv == glVertexAttrib2sv)
    {
      traceWarning("Ignoring glVertexAttrib2sv loaded from traceGL library.");
      traceGL_Native.glVertexAttrib2sv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib2sv not loaded.");
  }
  if (traceGL_Native.glVertexAttrib3d)
  {
    if (traceGL_Native.glVertexAttrib3d == glVertexAttrib3d)
    {
      traceWarning("Ignoring glVertexAttrib3d loaded from traceGL library.");
      traceGL_Native.glVertexAttrib3d = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib3d not loaded.");
  }
  if (traceGL_Native.glVertexAttrib3dv)
  {
    if (traceGL_Native.glVertexAttrib3dv == glVertexAttrib3dv)
    {
      traceWarning("Ignoring glVertexAttrib3dv loaded from traceGL library.");
      traceGL_Native.glVertexAttrib3dv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib3dv not loaded.");
  }
  if (traceGL_Native.glVertexAttrib3f)
  {
    if (traceGL_Native.glVertexAttrib3f == glVertexAttrib3f)
    {
      traceWarning("Ignoring glVertexAttrib3f loaded from traceGL library.");
      traceGL_Native.glVertexAttrib3f = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib3f not loaded.");
  }
  if (traceGL_Native.glVertexAttrib3fv)
  {
    if (traceGL_Native.glVertexAttrib3fv == glVertexAttrib3fv)
    {
      traceWarning("Ignoring glVertexAttrib3fv loaded from traceGL library.");
      traceGL_Native.glVertexAttrib3fv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib3fv not loaded.");
  }
  if (traceGL_Native.glVertexAttrib3s)
  {
    if (traceGL_Native.glVertexAttrib3s == glVertexAttrib3s)
    {
      traceWarning("Ignoring glVertexAttrib3s loaded from traceGL library.");
      traceGL_Native.glVertexAttrib3s = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib3s not loaded.");
  }
  if (traceGL_Native.glVertexAttrib3sv)
  {
    if (traceGL_Native.glVertexAttrib3sv == glVertexAttrib3sv)
    {
      traceWarning("Ignoring glVertexAttrib3sv loaded from traceGL library.");
      traceGL_Native.glVertexAttrib3sv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib3sv not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4Nbv)
  {
    if (traceGL_Native.glVertexAttrib4Nbv == glVertexAttrib4Nbv)
    {
      traceWarning("Ignoring glVertexAttrib4Nbv loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4Nbv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4Nbv not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4Niv)
  {
    if (traceGL_Native.glVertexAttrib4Niv == glVertexAttrib4Niv)
    {
      traceWarning("Ignoring glVertexAttrib4Niv loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4Niv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4Niv not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4Nsv)
  {
    if (traceGL_Native.glVertexAttrib4Nsv == glVertexAttrib4Nsv)
    {
      traceWarning("Ignoring glVertexAttrib4Nsv loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4Nsv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4Nsv not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4Nub)
  {
    if (traceGL_Native.glVertexAttrib4Nub == glVertexAttrib4Nub)
    {
      traceWarning("Ignoring glVertexAttrib4Nub loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4Nub = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4Nub not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4Nubv)
  {
    if (traceGL_Native.glVertexAttrib4Nubv == glVertexAttrib4Nubv)
    {
      traceWarning("Ignoring glVertexAttrib4Nubv loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4Nubv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4Nubv not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4Nuiv)
  {
    if (traceGL_Native.glVertexAttrib4Nuiv == glVertexAttrib4Nuiv)
    {
      traceWarning("Ignoring glVertexAttrib4Nuiv loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4Nuiv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4Nuiv not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4Nusv)
  {
    if (traceGL_Native.glVertexAttrib4Nusv == glVertexAttrib4Nusv)
    {
      traceWarning("Ignoring glVertexAttrib4Nusv loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4Nusv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4Nusv not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4bv)
  {
    if (traceGL_Native.glVertexAttrib4bv == glVertexAttrib4bv)
    {
      traceWarning("Ignoring glVertexAttrib4bv loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4bv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4bv not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4d)
  {
    if (traceGL_Native.glVertexAttrib4d == glVertexAttrib4d)
    {
      traceWarning("Ignoring glVertexAttrib4d loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4d = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4d not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4dv)
  {
    if (traceGL_Native.glVertexAttrib4dv == glVertexAttrib4dv)
    {
      traceWarning("Ignoring glVertexAttrib4dv loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4dv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4dv not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4f)
  {
    if (traceGL_Native.glVertexAttrib4f == glVertexAttrib4f)
    {
      traceWarning("Ignoring glVertexAttrib4f loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4f = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4f not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4fv)
  {
    if (traceGL_Native.glVertexAttrib4fv == glVertexAttrib4fv)
    {
      traceWarning("Ignoring glVertexAttrib4fv loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4fv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4fv not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4iv)
  {
    if (traceGL_Native.glVertexAttrib4iv == glVertexAttrib4iv)
    {
      traceWarning("Ignoring glVertexAttrib4iv loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4iv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4iv not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4s)
  {
    if (traceGL_Native.glVertexAttrib4s == glVertexAttrib4s)
    {
      traceWarning("Ignoring glVertexAttrib4s loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4s = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4s not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4sv)
  {
    if (traceGL_Native.glVertexAttrib4sv == glVertexAttrib4sv)
    {
      traceWarning("Ignoring glVertexAttrib4sv loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4sv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4sv not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4ubv)
  {
    if (traceGL_Native.glVertexAttrib4ubv == glVertexAttrib4ubv)
    {
      traceWarning("Ignoring glVertexAttrib4ubv loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4ubv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4ubv not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4uiv)
  {
    if (traceGL_Native.glVertexAttrib4uiv == glVertexAttrib4uiv)
    {
      traceWarning("Ignoring glVertexAttrib4uiv loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4uiv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4uiv not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4usv)
  {
    if (traceGL_Native.glVertexAttrib4usv == glVertexAttrib4usv)
    {
      traceWarning("Ignoring glVertexAttrib4usv loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4usv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4usv not loaded.");
  }
  if (traceGL_Native.glVertexAttribPointer)
  {
    if (traceGL_Native.glVertexAttribPointer == glVertexAttribPointer)
    {
      traceWarning("Ignoring glVertexAttribPointer loaded from traceGL library.");
      traceGL_Native.glVertexAttribPointer = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribPointer not loaded.");
  }
  if (traceGL_Native.glUniformMatrix2x3fv)
  {
    if (traceGL_Native.glUniformMatrix2x3fv == glUniformMatrix2x3fv)
    {
      traceWarning("Ignoring glUniformMatrix2x3fv loaded from traceGL library.");
      traceGL_Native.glUniformMatrix2x3fv = NULL;
    }
  }
  else
  {
    traceWarning("glUniformMatrix2x3fv not loaded.");
  }
  if (traceGL_Native.glUniformMatrix3x2fv)
  {
    if (traceGL_Native.glUniformMatrix3x2fv == glUniformMatrix3x2fv)
    {
      traceWarning("Ignoring glUniformMatrix3x2fv loaded from traceGL library.");
      traceGL_Native.glUniformMatrix3x2fv = NULL;
    }
  }
  else
  {
    traceWarning("glUniformMatrix3x2fv not loaded.");
  }
  if (traceGL_Native.glUniformMatrix2x4fv)
  {
    if (traceGL_Native.glUniformMatrix2x4fv == glUniformMatrix2x4fv)
    {
      traceWarning("Ignoring glUniformMatrix2x4fv loaded from traceGL library.");
      traceGL_Native.glUniformMatrix2x4fv = NULL;
    }
  }
  else
  {
    traceWarning("glUniformMatrix2x4fv not loaded.");
  }
  if (traceGL_Native.glUniformMatrix4x2fv)
  {
    if (traceGL_Native.glUniformMatrix4x2fv == glUniformMatrix4x2fv)
    {
      traceWarning("Ignoring glUniformMatrix4x2fv loaded from traceGL library.");
      traceGL_Native.glUniformMatrix4x2fv = NULL;
    }
  }
  else
  {
    traceWarning("glUniformMatrix4x2fv not loaded.");
  }
  if (traceGL_Native.glUniformMatrix3x4fv)
  {
    if (traceGL_Native.glUniformMatrix3x4fv == glUniformMatrix3x4fv)
    {
      traceWarning("Ignoring glUniformMatrix3x4fv loaded from traceGL library.");
      traceGL_Native.glUniformMatrix3x4fv = NULL;
    }
  }
  else
  {
    traceWarning("glUniformMatrix3x4fv not loaded.");
  }
  if (traceGL_Native.glUniformMatrix4x3fv)
  {
    if (traceGL_Native.glUniformMatrix4x3fv == glUniformMatrix4x3fv)
    {
      traceWarning("Ignoring glUniformMatrix4x3fv loaded from traceGL library.");
      traceGL_Native.glUniformMatrix4x3fv = NULL;
    }
  }
  else
  {
    traceWarning("glUniformMatrix4x3fv not loaded.");
  }
  if (traceGL_Native.glColorMaski)
  {
    if (traceGL_Native.glColorMaski == glColorMaski)
    {
      traceWarning("Ignoring glColorMaski loaded from traceGL library.");
      traceGL_Native.glColorMaski = NULL;
    }
  }
  else
  {
    traceWarning("glColorMaski not loaded.");
  }
  if (traceGL_Native.glGetBooleani_v)
  {
    if (traceGL_Native.glGetBooleani_v == glGetBooleani_v)
    {
      traceWarning("Ignoring glGetBooleani_v loaded from traceGL library.");
      traceGL_Native.glGetBooleani_v = NULL;
    }
  }
  else
  {
    traceWarning("glGetBooleani_v not loaded.");
  }
  if (traceGL_Native.glGetIntegeri_v)
  {
    if (traceGL_Native.glGetIntegeri_v == glGetIntegeri_v)
    {
      traceWarning("Ignoring glGetIntegeri_v loaded from traceGL library.");
      traceGL_Native.glGetIntegeri_v = NULL;
    }
  }
  else
  {
    traceWarning("glGetIntegeri_v not loaded.");
  }
  if (traceGL_Native.glEnablei)
  {
    if (traceGL_Native.glEnablei == glEnablei)
    {
      traceWarning("Ignoring glEnablei loaded from traceGL library.");
      traceGL_Native.glEnablei = NULL;
    }
  }
  else
  {
    traceWarning("glEnablei not loaded.");
  }
  if (traceGL_Native.glDisablei)
  {
    if (traceGL_Native.glDisablei == glDisablei)
    {
      traceWarning("Ignoring glDisablei loaded from traceGL library.");
      traceGL_Native.glDisablei = NULL;
    }
  }
  else
  {
    traceWarning("glDisablei not loaded.");
  }
  if (traceGL_Native.glIsEnabledi)
  {
    if (traceGL_Native.glIsEnabledi == glIsEnabledi)
    {
      traceWarning("Ignoring glIsEnabledi loaded from traceGL library.");
      traceGL_Native.glIsEnabledi = NULL;
    }
  }
  else
  {
    traceWarning("glIsEnabledi not loaded.");
  }
  if (traceGL_Native.glBeginTransformFeedback)
  {
    if (traceGL_Native.glBeginTransformFeedback == glBeginTransformFeedback)
    {
      traceWarning("Ignoring glBeginTransformFeedback loaded from traceGL library.");
      traceGL_Native.glBeginTransformFeedback = NULL;
    }
  }
  else
  {
    traceWarning("glBeginTransformFeedback not loaded.");
  }
  if (traceGL_Native.glEndTransformFeedback)
  {
    if (traceGL_Native.glEndTransformFeedback == glEndTransformFeedback)
    {
      traceWarning("Ignoring glEndTransformFeedback loaded from traceGL library.");
      traceGL_Native.glEndTransformFeedback = NULL;
    }
  }
  else
  {
    traceWarning("glEndTransformFeedback not loaded.");
  }
  if (traceGL_Native.glBindBufferRange)
  {
    if (traceGL_Native.glBindBufferRange == glBindBufferRange)
    {
      traceWarning("Ignoring glBindBufferRange loaded from traceGL library.");
      traceGL_Native.glBindBufferRange = NULL;
    }
  }
  else
  {
    traceWarning("glBindBufferRange not loaded.");
  }
  if (traceGL_Native.glBindBufferBase)
  {
    if (traceGL_Native.glBindBufferBase == glBindBufferBase)
    {
      traceWarning("Ignoring glBindBufferBase loaded from traceGL library.");
      traceGL_Native.glBindBufferBase = NULL;
    }
  }
  else
  {
    traceWarning("glBindBufferBase not loaded.");
  }
  if (traceGL_Native.glTransformFeedbackVaryings)
  {
    if (traceGL_Native.glTransformFeedbackVaryings == glTransformFeedbackVaryings)
    {
      traceWarning("Ignoring glTransformFeedbackVaryings loaded from traceGL library.");
      traceGL_Native.glTransformFeedbackVaryings = NULL;
    }
  }
  else
  {
    traceWarning("glTransformFeedbackVaryings not loaded.");
  }
  if (traceGL_Native.glGetTransformFeedbackVarying)
  {
    if (traceGL_Native.glGetTransformFeedbackVarying == glGetTransformFeedbackVarying)
    {
      traceWarning("Ignoring glGetTransformFeedbackVarying loaded from traceGL library.");
      traceGL_Native.glGetTransformFeedbackVarying = NULL;
    }
  }
  else
  {
    traceWarning("glGetTransformFeedbackVarying not loaded.");
  }
  if (traceGL_Native.glClampColor)
  {
    if (traceGL_Native.glClampColor == glClampColor)
    {
      traceWarning("Ignoring glClampColor loaded from traceGL library.");
      traceGL_Native.glClampColor = NULL;
    }
  }
  else
  {
    traceWarning("glClampColor not loaded.");
  }
  if (traceGL_Native.glBeginConditionalRender)
  {
    if (traceGL_Native.glBeginConditionalRender == glBeginConditionalRender)
    {
      traceWarning("Ignoring glBeginConditionalRender loaded from traceGL library.");
      traceGL_Native.glBeginConditionalRender = NULL;
    }
  }
  else
  {
    traceWarning("glBeginConditionalRender not loaded.");
  }
  if (traceGL_Native.glEndConditionalRender)
  {
    if (traceGL_Native.glEndConditionalRender == glEndConditionalRender)
    {
      traceWarning("Ignoring glEndConditionalRender loaded from traceGL library.");
      traceGL_Native.glEndConditionalRender = NULL;
    }
  }
  else
  {
    traceWarning("glEndConditionalRender not loaded.");
  }
  if (traceGL_Native.glVertexAttribIPointer)
  {
    if (traceGL_Native.glVertexAttribIPointer == glVertexAttribIPointer)
    {
      traceWarning("Ignoring glVertexAttribIPointer loaded from traceGL library.");
      traceGL_Native.glVertexAttribIPointer = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribIPointer not loaded.");
  }
  if (traceGL_Native.glGetVertexAttribIiv)
  {
    if (traceGL_Native.glGetVertexAttribIiv == glGetVertexAttribIiv)
    {
      traceWarning("Ignoring glGetVertexAttribIiv loaded from traceGL library.");
      traceGL_Native.glGetVertexAttribIiv = NULL;
    }
  }
  else
  {
    traceWarning("glGetVertexAttribIiv not loaded.");
  }
  if (traceGL_Native.glGetVertexAttribIuiv)
  {
    if (traceGL_Native.glGetVertexAttribIuiv == glGetVertexAttribIuiv)
    {
      traceWarning("Ignoring glGetVertexAttribIuiv loaded from traceGL library.");
      traceGL_Native.glGetVertexAttribIuiv = NULL;
    }
  }
  else
  {
    traceWarning("glGetVertexAttribIuiv not loaded.");
  }
  if (traceGL_Native.glVertexAttribI1i)
  {
    if (traceGL_Native.glVertexAttribI1i == glVertexAttribI1i)
    {
      traceWarning("Ignoring glVertexAttribI1i loaded from traceGL library.");
      traceGL_Native.glVertexAttribI1i = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI1i not loaded.");
  }
  if (traceGL_Native.glVertexAttribI2i)
  {
    if (traceGL_Native.glVertexAttribI2i == glVertexAttribI2i)
    {
      traceWarning("Ignoring glVertexAttribI2i loaded from traceGL library.");
      traceGL_Native.glVertexAttribI2i = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI2i not loaded.");
  }
  if (traceGL_Native.glVertexAttribI3i)
  {
    if (traceGL_Native.glVertexAttribI3i == glVertexAttribI3i)
    {
      traceWarning("Ignoring glVertexAttribI3i loaded from traceGL library.");
      traceGL_Native.glVertexAttribI3i = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI3i not loaded.");
  }
  if (traceGL_Native.glVertexAttribI4i)
  {
    if (traceGL_Native.glVertexAttribI4i == glVertexAttribI4i)
    {
      traceWarning("Ignoring glVertexAttribI4i loaded from traceGL library.");
      traceGL_Native.glVertexAttribI4i = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI4i not loaded.");
  }
  if (traceGL_Native.glVertexAttribI1ui)
  {
    if (traceGL_Native.glVertexAttribI1ui == glVertexAttribI1ui)
    {
      traceWarning("Ignoring glVertexAttribI1ui loaded from traceGL library.");
      traceGL_Native.glVertexAttribI1ui = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI1ui not loaded.");
  }
  if (traceGL_Native.glVertexAttribI2ui)
  {
    if (traceGL_Native.glVertexAttribI2ui == glVertexAttribI2ui)
    {
      traceWarning("Ignoring glVertexAttribI2ui loaded from traceGL library.");
      traceGL_Native.glVertexAttribI2ui = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI2ui not loaded.");
  }
  if (traceGL_Native.glVertexAttribI3ui)
  {
    if (traceGL_Native.glVertexAttribI3ui == glVertexAttribI3ui)
    {
      traceWarning("Ignoring glVertexAttribI3ui loaded from traceGL library.");
      traceGL_Native.glVertexAttribI3ui = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI3ui not loaded.");
  }
  if (traceGL_Native.glVertexAttribI4ui)
  {
    if (traceGL_Native.glVertexAttribI4ui == glVertexAttribI4ui)
    {
      traceWarning("Ignoring glVertexAttribI4ui loaded from traceGL library.");
      traceGL_Native.glVertexAttribI4ui = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI4ui not loaded.");
  }
  if (traceGL_Native.glVertexAttribI1iv)
  {
    if (traceGL_Native.glVertexAttribI1iv == glVertexAttribI1iv)
    {
      traceWarning("Ignoring glVertexAttribI1iv loaded from traceGL library.");
      traceGL_Native.glVertexAttribI1iv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI1iv not loaded.");
  }
  if (traceGL_Native.glVertexAttribI2iv)
  {
    if (traceGL_Native.glVertexAttribI2iv == glVertexAttribI2iv)
    {
      traceWarning("Ignoring glVertexAttribI2iv loaded from traceGL library.");
      traceGL_Native.glVertexAttribI2iv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI2iv not loaded.");
  }
  if (traceGL_Native.glVertexAttribI3iv)
  {
    if (traceGL_Native.glVertexAttribI3iv == glVertexAttribI3iv)
    {
      traceWarning("Ignoring glVertexAttribI3iv loaded from traceGL library.");
      traceGL_Native.glVertexAttribI3iv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI3iv not loaded.");
  }
  if (traceGL_Native.glVertexAttribI4iv)
  {
    if (traceGL_Native.glVertexAttribI4iv == glVertexAttribI4iv)
    {
      traceWarning("Ignoring glVertexAttribI4iv loaded from traceGL library.");
      traceGL_Native.glVertexAttribI4iv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI4iv not loaded.");
  }
  if (traceGL_Native.glVertexAttribI1uiv)
  {
    if (traceGL_Native.glVertexAttribI1uiv == glVertexAttribI1uiv)
    {
      traceWarning("Ignoring glVertexAttribI1uiv loaded from traceGL library.");
      traceGL_Native.glVertexAttribI1uiv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI1uiv not loaded.");
  }
  if (traceGL_Native.glVertexAttribI2uiv)
  {
    if (traceGL_Native.glVertexAttribI2uiv == glVertexAttribI2uiv)
    {
      traceWarning("Ignoring glVertexAttribI2uiv loaded from traceGL library.");
      traceGL_Native.glVertexAttribI2uiv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI2uiv not loaded.");
  }
  if (traceGL_Native.glVertexAttribI3uiv)
  {
    if (traceGL_Native.glVertexAttribI3uiv == glVertexAttribI3uiv)
    {
      traceWarning("Ignoring glVertexAttribI3uiv loaded from traceGL library.");
      traceGL_Native.glVertexAttribI3uiv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI3uiv not loaded.");
  }
  if (traceGL_Native.glVertexAttribI4uiv)
  {
    if (traceGL_Native.glVertexAttribI4uiv == glVertexAttribI4uiv)
    {
      traceWarning("Ignoring glVertexAttribI4uiv loaded from traceGL library.");
      traceGL_Native.glVertexAttribI4uiv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI4uiv not loaded.");
  }
  if (traceGL_Native.glVertexAttribI4bv)
  {
    if (traceGL_Native.glVertexAttribI4bv == glVertexAttribI4bv)
    {
      traceWarning("Ignoring glVertexAttribI4bv loaded from traceGL library.");
      traceGL_Native.glVertexAttribI4bv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI4bv not loaded.");
  }
  if (traceGL_Native.glVertexAttribI4sv)
  {
    if (traceGL_Native.glVertexAttribI4sv == glVertexAttribI4sv)
    {
      traceWarning("Ignoring glVertexAttribI4sv loaded from traceGL library.");
      traceGL_Native.glVertexAttribI4sv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI4sv not loaded.");
  }
  if (traceGL_Native.glVertexAttribI4ubv)
  {
    if (traceGL_Native.glVertexAttribI4ubv == glVertexAttribI4ubv)
    {
      traceWarning("Ignoring glVertexAttribI4ubv loaded from traceGL library.");
      traceGL_Native.glVertexAttribI4ubv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI4ubv not loaded.");
  }
  if (traceGL_Native.glVertexAttribI4usv)
  {
    if (traceGL_Native.glVertexAttribI4usv == glVertexAttribI4usv)
    {
      traceWarning("Ignoring glVertexAttribI4usv loaded from traceGL library.");
      traceGL_Native.glVertexAttribI4usv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI4usv not loaded.");
  }
  if (traceGL_Native.glGetUniformuiv)
  {
    if (traceGL_Native.glGetUniformuiv == glGetUniformuiv)
    {
      traceWarning("Ignoring glGetUniformuiv loaded from traceGL library.");
      traceGL_Native.glGetUniformuiv = NULL;
    }
  }
  else
  {
    traceWarning("glGetUniformuiv not loaded.");
  }
  if (traceGL_Native.glBindFragDataLocation)
  {
    if (traceGL_Native.glBindFragDataLocation == glBindFragDataLocation)
    {
      traceWarning("Ignoring glBindFragDataLocation loaded from traceGL library.");
      traceGL_Native.glBindFragDataLocation = NULL;
    }
  }
  else
  {
    traceWarning("glBindFragDataLocation not loaded.");
  }
  if (traceGL_Native.glGetFragDataLocation)
  {
    if (traceGL_Native.glGetFragDataLocation == glGetFragDataLocation)
    {
      traceWarning("Ignoring glGetFragDataLocation loaded from traceGL library.");
      traceGL_Native.glGetFragDataLocation = NULL;
    }
  }
  else
  {
    traceWarning("glGetFragDataLocation not loaded.");
  }
  if (traceGL_Native.glUniform1ui)
  {
    if (traceGL_Native.glUniform1ui == glUniform1ui)
    {
      traceWarning("Ignoring glUniform1ui loaded from traceGL library.");
      traceGL_Native.glUniform1ui = NULL;
    }
  }
  else
  {
    traceWarning("glUniform1ui not loaded.");
  }
  if (traceGL_Native.glUniform2ui)
  {
    if (traceGL_Native.glUniform2ui == glUniform2ui)
    {
      traceWarning("Ignoring glUniform2ui loaded from traceGL library.");
      traceGL_Native.glUniform2ui = NULL;
    }
  }
  else
  {
    traceWarning("glUniform2ui not loaded.");
  }
  if (traceGL_Native.glUniform3ui)
  {
    if (traceGL_Native.glUniform3ui == glUniform3ui)
    {
      traceWarning("Ignoring glUniform3ui loaded from traceGL library.");
      traceGL_Native.glUniform3ui = NULL;
    }
  }
  else
  {
    traceWarning("glUniform3ui not loaded.");
  }
  if (traceGL_Native.glUniform4ui)
  {
    if (traceGL_Native.glUniform4ui == glUniform4ui)
    {
      traceWarning("Ignoring glUniform4ui loaded from traceGL library.");
      traceGL_Native.glUniform4ui = NULL;
    }
  }
  else
  {
    traceWarning("glUniform4ui not loaded.");
  }
  if (traceGL_Native.glUniform1uiv)
  {
    if (traceGL_Native.glUniform1uiv == glUniform1uiv)
    {
      traceWarning("Ignoring glUniform1uiv loaded from traceGL library.");
      traceGL_Native.glUniform1uiv = NULL;
    }
  }
  else
  {
    traceWarning("glUniform1uiv not loaded.");
  }
  if (traceGL_Native.glUniform2uiv)
  {
    if (traceGL_Native.glUniform2uiv == glUniform2uiv)
    {
      traceWarning("Ignoring glUniform2uiv loaded from traceGL library.");
      traceGL_Native.glUniform2uiv = NULL;
    }
  }
  else
  {
    traceWarning("glUniform2uiv not loaded.");
  }
  if (traceGL_Native.glUniform3uiv)
  {
    if (traceGL_Native.glUniform3uiv == glUniform3uiv)
    {
      traceWarning("Ignoring glUniform3uiv loaded from traceGL library.");
      traceGL_Native.glUniform3uiv = NULL;
    }
  }
  else
  {
    traceWarning("glUniform3uiv not loaded.");
  }
  if (traceGL_Native.glUniform4uiv)
  {
    if (traceGL_Native.glUniform4uiv == glUniform4uiv)
    {
      traceWarning("Ignoring glUniform4uiv loaded from traceGL library.");
      traceGL_Native.glUniform4uiv = NULL;
    }
  }
  else
  {
    traceWarning("glUniform4uiv not loaded.");
  }
  if (traceGL_Native.glTexParameterIiv)
  {
    if (traceGL_Native.glTexParameterIiv == glTexParameterIiv)
    {
      traceWarning("Ignoring glTexParameterIiv loaded from traceGL library.");
      traceGL_Native.glTexParameterIiv = NULL;
    }
  }
  else
  {
    traceWarning("glTexParameterIiv not loaded.");
  }
  if (traceGL_Native.glTexParameterIuiv)
  {
    if (traceGL_Native.glTexParameterIuiv == glTexParameterIuiv)
    {
      traceWarning("Ignoring glTexParameterIuiv loaded from traceGL library.");
      traceGL_Native.glTexParameterIuiv = NULL;
    }
  }
  else
  {
    traceWarning("glTexParameterIuiv not loaded.");
  }
  if (traceGL_Native.glGetTexParameterIiv)
  {
    if (traceGL_Native.glGetTexParameterIiv == glGetTexParameterIiv)
    {
      traceWarning("Ignoring glGetTexParameterIiv loaded from traceGL library.");
      traceGL_Native.glGetTexParameterIiv = NULL;
    }
  }
  else
  {
    traceWarning("glGetTexParameterIiv not loaded.");
  }
  if (traceGL_Native.glGetTexParameterIuiv)
  {
    if (traceGL_Native.glGetTexParameterIuiv == glGetTexParameterIuiv)
    {
      traceWarning("Ignoring glGetTexParameterIuiv loaded from traceGL library.");
      traceGL_Native.glGetTexParameterIuiv = NULL;
    }
  }
  else
  {
    traceWarning("glGetTexParameterIuiv not loaded.");
  }
  if (traceGL_Native.glClearBufferiv)
  {
    if (traceGL_Native.glClearBufferiv == glClearBufferiv)
    {
      traceWarning("Ignoring glClearBufferiv loaded from traceGL library.");
      traceGL_Native.glClearBufferiv = NULL;
    }
  }
  else
  {
    traceWarning("glClearBufferiv not loaded.");
  }
  if (traceGL_Native.glClearBufferuiv)
  {
    if (traceGL_Native.glClearBufferuiv == glClearBufferuiv)
    {
      traceWarning("Ignoring glClearBufferuiv loaded from traceGL library.");
      traceGL_Native.glClearBufferuiv = NULL;
    }
  }
  else
  {
    traceWarning("glClearBufferuiv not loaded.");
  }
  if (traceGL_Native.glClearBufferfv)
  {
    if (traceGL_Native.glClearBufferfv == glClearBufferfv)
    {
      traceWarning("Ignoring glClearBufferfv loaded from traceGL library.");
      traceGL_Native.glClearBufferfv = NULL;
    }
  }
  else
  {
    traceWarning("glClearBufferfv not loaded.");
  }
  if (traceGL_Native.glClearBufferfi)
  {
    if (traceGL_Native.glClearBufferfi == glClearBufferfi)
    {
      traceWarning("Ignoring glClearBufferfi loaded from traceGL library.");
      traceGL_Native.glClearBufferfi = NULL;
    }
  }
  else
  {
    traceWarning("glClearBufferfi not loaded.");
  }
  if (traceGL_Native.glGetStringi)
  {
    if (traceGL_Native.glGetStringi == glGetStringi)
    {
      traceWarning("Ignoring glGetStringi loaded from traceGL library.");
      traceGL_Native.glGetStringi = NULL;
    }
  }
  else
  {
    traceWarning("glGetStringi not loaded.");
  }
  if (traceGL_Native.glDrawArraysInstanced)
  {
    if (traceGL_Native.glDrawArraysInstanced == glDrawArraysInstanced)
    {
      traceWarning("Ignoring glDrawArraysInstanced loaded from traceGL library.");
      traceGL_Native.glDrawArraysInstanced = NULL;
    }
  }
  else
  {
    traceWarning("glDrawArraysInstanced not loaded.");
  }
  if (traceGL_Native.glDrawElementsInstanced)
  {
    if (traceGL_Native.glDrawElementsInstanced == glDrawElementsInstanced)
    {
      traceWarning("Ignoring glDrawElementsInstanced loaded from traceGL library.");
      traceGL_Native.glDrawElementsInstanced = NULL;
    }
  }
  else
  {
    traceWarning("glDrawElementsInstanced not loaded.");
  }
  if (traceGL_Native.glTexBuffer)
  {
    if (traceGL_Native.glTexBuffer == glTexBuffer)
    {
      traceWarning("Ignoring glTexBuffer loaded from traceGL library.");
      traceGL_Native.glTexBuffer = NULL;
    }
  }
  else
  {
    traceWarning("glTexBuffer not loaded.");
  }
  if (traceGL_Native.glPrimitiveRestartIndex)
  {
    if (traceGL_Native.glPrimitiveRestartIndex == glPrimitiveRestartIndex)
    {
      traceWarning("Ignoring glPrimitiveRestartIndex loaded from traceGL library.");
      traceGL_Native.glPrimitiveRestartIndex = NULL;
    }
  }
  else
  {
    traceWarning("glPrimitiveRestartIndex not loaded.");
  }
  if (traceGL_Native.glGetInteger64i_v)
  {
    if (traceGL_Native.glGetInteger64i_v == glGetInteger64i_v)
    {
      traceWarning("Ignoring glGetInteger64i_v loaded from traceGL library.");
      traceGL_Native.glGetInteger64i_v = NULL;
    }
  }
  else
  {
    traceWarning("glGetInteger64i_v not loaded.");
  }
  if (traceGL_Native.glGetBufferParameteri64v)
  {
    if (traceGL_Native.glGetBufferParameteri64v == glGetBufferParameteri64v)
    {
      traceWarning("Ignoring glGetBufferParameteri64v loaded from traceGL library.");
      traceGL_Native.glGetBufferParameteri64v = NULL;
    }
  }
  else
  {
    traceWarning("glGetBufferParameteri64v not loaded.");
  }
  if (traceGL_Native.glFramebufferTexture)
  {
    if (traceGL_Native.glFramebufferTexture == glFramebufferTexture)
    {
      traceWarning("Ignoring glFramebufferTexture loaded from traceGL library.");
      traceGL_Native.glFramebufferTexture = NULL;
    }
  }
  else
  {
    traceWarning("glFramebufferTexture not loaded.");
  }
  if (traceGL_Native.glFramebufferTextureFace)
  {
    if (traceGL_Native.glFramebufferTextureFace == glFramebufferTextureFace)
    {
      traceWarning("Ignoring glFramebufferTextureFace loaded from traceGL library.");
      traceGL_Native.glFramebufferTextureFace = NULL;
    }
  }
  else
  {
    traceWarning("glFramebufferTextureFace not loaded.");
  }
  if (traceGL_Native.glGenSamplers)
  {
    if (traceGL_Native.glGenSamplers == glGenSamplers)
    {
      traceWarning("Ignoring glGenSamplers loaded from traceGL library.");
      traceGL_Native.glGenSamplers = NULL;
    }
  }
  else
  {
    traceWarning("glGenSamplers not loaded.");
  }
  if (traceGL_Native.glDeleteSamplers)
  {
    if (traceGL_Native.glDeleteSamplers == glDeleteSamplers)
    {
      traceWarning("Ignoring glDeleteSamplers loaded from traceGL library.");
      traceGL_Native.glDeleteSamplers = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteSamplers not loaded.");
  }
  if (traceGL_Native.glIsSampler)
  {
    if (traceGL_Native.glIsSampler == glIsSampler)
    {
      traceWarning("Ignoring glIsSampler loaded from traceGL library.");
      traceGL_Native.glIsSampler = NULL;
    }
  }
  else
  {
    traceWarning("glIsSampler not loaded.");
  }
  if (traceGL_Native.glBindSampler)
  {
    if (traceGL_Native.glBindSampler == glBindSampler)
    {
      traceWarning("Ignoring glBindSampler loaded from traceGL library.");
      traceGL_Native.glBindSampler = NULL;
    }
  }
  else
  {
    traceWarning("glBindSampler not loaded.");
  }
  if (traceGL_Native.glSamplerParameteri)
  {
    if (traceGL_Native.glSamplerParameteri == glSamplerParameteri)
    {
      traceWarning("Ignoring glSamplerParameteri loaded from traceGL library.");
      traceGL_Native.glSamplerParameteri = NULL;
    }
  }
  else
  {
    traceWarning("glSamplerParameteri not loaded.");
  }
  if (traceGL_Native.glSamplerParameterf)
  {
    if (traceGL_Native.glSamplerParameterf == glSamplerParameterf)
    {
      traceWarning("Ignoring glSamplerParameterf loaded from traceGL library.");
      traceGL_Native.glSamplerParameterf = NULL;
    }
  }
  else
  {
    traceWarning("glSamplerParameterf not loaded.");
  }
  if (traceGL_Native.glSamplerParameteriv)
  {
    if (traceGL_Native.glSamplerParameteriv == glSamplerParameteriv)
    {
      traceWarning("Ignoring glSamplerParameteriv loaded from traceGL library.");
      traceGL_Native.glSamplerParameteriv = NULL;
    }
  }
  else
  {
    traceWarning("glSamplerParameteriv not loaded.");
  }
  if (traceGL_Native.glSamplerParameterfv)
  {
    if (traceGL_Native.glSamplerParameterfv == glSamplerParameterfv)
    {
      traceWarning("Ignoring glSamplerParameterfv loaded from traceGL library.");
      traceGL_Native.glSamplerParameterfv = NULL;
    }
  }
  else
  {
    traceWarning("glSamplerParameterfv not loaded.");
  }
  if (traceGL_Native.glSamplerParameterIiv)
  {
    if (traceGL_Native.glSamplerParameterIiv == glSamplerParameterIiv)
    {
      traceWarning("Ignoring glSamplerParameterIiv loaded from traceGL library.");
      traceGL_Native.glSamplerParameterIiv = NULL;
    }
  }
  else
  {
    traceWarning("glSamplerParameterIiv not loaded.");
  }
  if (traceGL_Native.glSamplerParameterIuiv)
  {
    if (traceGL_Native.glSamplerParameterIuiv == glSamplerParameterIuiv)
    {
      traceWarning("Ignoring glSamplerParameterIuiv loaded from traceGL library.");
      traceGL_Native.glSamplerParameterIuiv = NULL;
    }
  }
  else
  {
    traceWarning("glSamplerParameterIuiv not loaded.");
  }
  if (traceGL_Native.glGetSamplerParameteriv)
  {
    if (traceGL_Native.glGetSamplerParameteriv == glGetSamplerParameteriv)
    {
      traceWarning("Ignoring glGetSamplerParameteriv loaded from traceGL library.");
      traceGL_Native.glGetSamplerParameteriv = NULL;
    }
  }
  else
  {
    traceWarning("glGetSamplerParameteriv not loaded.");
  }
  if (traceGL_Native.glGetSamplerParameterfv)
  {
    if (traceGL_Native.glGetSamplerParameterfv == glGetSamplerParameterfv)
    {
      traceWarning("Ignoring glGetSamplerParameterfv loaded from traceGL library.");
      traceGL_Native.glGetSamplerParameterfv = NULL;
    }
  }
  else
  {
    traceWarning("glGetSamplerParameterfv not loaded.");
  }
  if (traceGL_Native.glGetSamplerParameterIiv)
  {
    if (traceGL_Native.glGetSamplerParameterIiv == glGetSamplerParameterIiv)
    {
      traceWarning("Ignoring glGetSamplerParameterIiv loaded from traceGL library.");
      traceGL_Native.glGetSamplerParameterIiv = NULL;
    }
  }
  else
  {
    traceWarning("glGetSamplerParameterIiv not loaded.");
  }
  if (traceGL_Native.glGetSamplerParameterIuiv)
  {
    if (traceGL_Native.glGetSamplerParameterIuiv == glGetSamplerParameterIuiv)
    {
      traceWarning("Ignoring glGetSamplerParameterIuiv loaded from traceGL library.");
      traceGL_Native.glGetSamplerParameterIuiv = NULL;
    }
  }
  else
  {
    traceWarning("glGetSamplerParameterIuiv not loaded.");
  }
  if (traceGL_Native.glBindFragDataLocationIndexed)
  {
    if (traceGL_Native.glBindFragDataLocationIndexed == glBindFragDataLocationIndexed)
    {
      traceWarning("Ignoring glBindFragDataLocationIndexed loaded from traceGL library.");
      traceGL_Native.glBindFragDataLocationIndexed = NULL;
    }
  }
  else
  {
    traceWarning("glBindFragDataLocationIndexed not loaded.");
  }
  if (traceGL_Native.glGetFragDataIndex)
  {
    if (traceGL_Native.glGetFragDataIndex == glGetFragDataIndex)
    {
      traceWarning("Ignoring glGetFragDataIndex loaded from traceGL library.");
      traceGL_Native.glGetFragDataIndex = NULL;
    }
  }
  else
  {
    traceWarning("glGetFragDataIndex not loaded.");
  }
  if (traceGL_Native.glGetQueryObjecti64v)
  {
    if (traceGL_Native.glGetQueryObjecti64v == glGetQueryObjecti64v)
    {
      traceWarning("Ignoring glGetQueryObjecti64v loaded from traceGL library.");
      traceGL_Native.glGetQueryObjecti64v = NULL;
    }
  }
  else
  {
    traceWarning("glGetQueryObjecti64v not loaded.");
  }
  if (traceGL_Native.glGetQueryObjectui64v)
  {
    if (traceGL_Native.glGetQueryObjectui64v == glGetQueryObjectui64v)
    {
      traceWarning("Ignoring glGetQueryObjectui64v loaded from traceGL library.");
      traceGL_Native.glGetQueryObjectui64v = NULL;
    }
  }
  else
  {
    traceWarning("glGetQueryObjectui64v not loaded.");
  }
  if (traceGL_Native.glQueryCounter)
  {
    if (traceGL_Native.glQueryCounter == glQueryCounter)
    {
      traceWarning("Ignoring glQueryCounter loaded from traceGL library.");
      traceGL_Native.glQueryCounter = NULL;
    }
  }
  else
  {
    traceWarning("glQueryCounter not loaded.");
  }
  if (traceGL_Native.glVertexAttribDivisor)
  {
    if (traceGL_Native.glVertexAttribDivisor == glVertexAttribDivisor)
    {
      traceWarning("Ignoring glVertexAttribDivisor loaded from traceGL library.");
      traceGL_Native.glVertexAttribDivisor = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribDivisor not loaded.");
  }
  if (traceGL_Native.glVertexP2ui)
  {
    if (traceGL_Native.glVertexP2ui == glVertexP2ui)
    {
      traceWarning("Ignoring glVertexP2ui loaded from traceGL library.");
      traceGL_Native.glVertexP2ui = NULL;
    }
  }
  else
  {
    traceWarning("glVertexP2ui not loaded.");
  }
  if (traceGL_Native.glVertexP2uiv)
  {
    if (traceGL_Native.glVertexP2uiv == glVertexP2uiv)
    {
      traceWarning("Ignoring glVertexP2uiv loaded from traceGL library.");
      traceGL_Native.glVertexP2uiv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexP2uiv not loaded.");
  }
  if (traceGL_Native.glVertexP3ui)
  {
    if (traceGL_Native.glVertexP3ui == glVertexP3ui)
    {
      traceWarning("Ignoring glVertexP3ui loaded from traceGL library.");
      traceGL_Native.glVertexP3ui = NULL;
    }
  }
  else
  {
    traceWarning("glVertexP3ui not loaded.");
  }
  if (traceGL_Native.glVertexP3uiv)
  {
    if (traceGL_Native.glVertexP3uiv == glVertexP3uiv)
    {
      traceWarning("Ignoring glVertexP3uiv loaded from traceGL library.");
      traceGL_Native.glVertexP3uiv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexP3uiv not loaded.");
  }
  if (traceGL_Native.glVertexP4ui)
  {
    if (traceGL_Native.glVertexP4ui == glVertexP4ui)
    {
      traceWarning("Ignoring glVertexP4ui loaded from traceGL library.");
      traceGL_Native.glVertexP4ui = NULL;
    }
  }
  else
  {
    traceWarning("glVertexP4ui not loaded.");
  }
  if (traceGL_Native.glVertexP4uiv)
  {
    if (traceGL_Native.glVertexP4uiv == glVertexP4uiv)
    {
      traceWarning("Ignoring glVertexP4uiv loaded from traceGL library.");
      traceGL_Native.glVertexP4uiv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexP4uiv not loaded.");
  }
  if (traceGL_Native.glTexCoordP1ui)
  {
    if (traceGL_Native.glTexCoordP1ui == glTexCoordP1ui)
    {
      traceWarning("Ignoring glTexCoordP1ui loaded from traceGL library.");
      traceGL_Native.glTexCoordP1ui = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoordP1ui not loaded.");
  }
  if (traceGL_Native.glTexCoordP1uiv)
  {
    if (traceGL_Native.glTexCoordP1uiv == glTexCoordP1uiv)
    {
      traceWarning("Ignoring glTexCoordP1uiv loaded from traceGL library.");
      traceGL_Native.glTexCoordP1uiv = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoordP1uiv not loaded.");
  }
  if (traceGL_Native.glTexCoordP2ui)
  {
    if (traceGL_Native.glTexCoordP2ui == glTexCoordP2ui)
    {
      traceWarning("Ignoring glTexCoordP2ui loaded from traceGL library.");
      traceGL_Native.glTexCoordP2ui = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoordP2ui not loaded.");
  }
  if (traceGL_Native.glTexCoordP2uiv)
  {
    if (traceGL_Native.glTexCoordP2uiv == glTexCoordP2uiv)
    {
      traceWarning("Ignoring glTexCoordP2uiv loaded from traceGL library.");
      traceGL_Native.glTexCoordP2uiv = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoordP2uiv not loaded.");
  }
  if (traceGL_Native.glTexCoordP3ui)
  {
    if (traceGL_Native.glTexCoordP3ui == glTexCoordP3ui)
    {
      traceWarning("Ignoring glTexCoordP3ui loaded from traceGL library.");
      traceGL_Native.glTexCoordP3ui = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoordP3ui not loaded.");
  }
  if (traceGL_Native.glTexCoordP3uiv)
  {
    if (traceGL_Native.glTexCoordP3uiv == glTexCoordP3uiv)
    {
      traceWarning("Ignoring glTexCoordP3uiv loaded from traceGL library.");
      traceGL_Native.glTexCoordP3uiv = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoordP3uiv not loaded.");
  }
  if (traceGL_Native.glTexCoordP4ui)
  {
    if (traceGL_Native.glTexCoordP4ui == glTexCoordP4ui)
    {
      traceWarning("Ignoring glTexCoordP4ui loaded from traceGL library.");
      traceGL_Native.glTexCoordP4ui = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoordP4ui not loaded.");
  }
  if (traceGL_Native.glTexCoordP4uiv)
  {
    if (traceGL_Native.glTexCoordP4uiv == glTexCoordP4uiv)
    {
      traceWarning("Ignoring glTexCoordP4uiv loaded from traceGL library.");
      traceGL_Native.glTexCoordP4uiv = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoordP4uiv not loaded.");
  }
  if (traceGL_Native.glMultiTexCoordP1ui)
  {
    if (traceGL_Native.glMultiTexCoordP1ui == glMultiTexCoordP1ui)
    {
      traceWarning("Ignoring glMultiTexCoordP1ui loaded from traceGL library.");
      traceGL_Native.glMultiTexCoordP1ui = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoordP1ui not loaded.");
  }
  if (traceGL_Native.glMultiTexCoordP1uiv)
  {
    if (traceGL_Native.glMultiTexCoordP1uiv == glMultiTexCoordP1uiv)
    {
      traceWarning("Ignoring glMultiTexCoordP1uiv loaded from traceGL library.");
      traceGL_Native.glMultiTexCoordP1uiv = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoordP1uiv not loaded.");
  }
  if (traceGL_Native.glMultiTexCoordP2ui)
  {
    if (traceGL_Native.glMultiTexCoordP2ui == glMultiTexCoordP2ui)
    {
      traceWarning("Ignoring glMultiTexCoordP2ui loaded from traceGL library.");
      traceGL_Native.glMultiTexCoordP2ui = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoordP2ui not loaded.");
  }
  if (traceGL_Native.glMultiTexCoordP2uiv)
  {
    if (traceGL_Native.glMultiTexCoordP2uiv == glMultiTexCoordP2uiv)
    {
      traceWarning("Ignoring glMultiTexCoordP2uiv loaded from traceGL library.");
      traceGL_Native.glMultiTexCoordP2uiv = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoordP2uiv not loaded.");
  }
  if (traceGL_Native.glMultiTexCoordP3ui)
  {
    if (traceGL_Native.glMultiTexCoordP3ui == glMultiTexCoordP3ui)
    {
      traceWarning("Ignoring glMultiTexCoordP3ui loaded from traceGL library.");
      traceGL_Native.glMultiTexCoordP3ui = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoordP3ui not loaded.");
  }
  if (traceGL_Native.glMultiTexCoordP3uiv)
  {
    if (traceGL_Native.glMultiTexCoordP3uiv == glMultiTexCoordP3uiv)
    {
      traceWarning("Ignoring glMultiTexCoordP3uiv loaded from traceGL library.");
      traceGL_Native.glMultiTexCoordP3uiv = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoordP3uiv not loaded.");
  }
  if (traceGL_Native.glMultiTexCoordP4ui)
  {
    if (traceGL_Native.glMultiTexCoordP4ui == glMultiTexCoordP4ui)
    {
      traceWarning("Ignoring glMultiTexCoordP4ui loaded from traceGL library.");
      traceGL_Native.glMultiTexCoordP4ui = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoordP4ui not loaded.");
  }
  if (traceGL_Native.glMultiTexCoordP4uiv)
  {
    if (traceGL_Native.glMultiTexCoordP4uiv == glMultiTexCoordP4uiv)
    {
      traceWarning("Ignoring glMultiTexCoordP4uiv loaded from traceGL library.");
      traceGL_Native.glMultiTexCoordP4uiv = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoordP4uiv not loaded.");
  }
  if (traceGL_Native.glNormalP3ui)
  {
    if (traceGL_Native.glNormalP3ui == glNormalP3ui)
    {
      traceWarning("Ignoring glNormalP3ui loaded from traceGL library.");
      traceGL_Native.glNormalP3ui = NULL;
    }
  }
  else
  {
    traceWarning("glNormalP3ui not loaded.");
  }
  if (traceGL_Native.glNormalP3uiv)
  {
    if (traceGL_Native.glNormalP3uiv == glNormalP3uiv)
    {
      traceWarning("Ignoring glNormalP3uiv loaded from traceGL library.");
      traceGL_Native.glNormalP3uiv = NULL;
    }
  }
  else
  {
    traceWarning("glNormalP3uiv not loaded.");
  }
  if (traceGL_Native.glColorP3ui)
  {
    if (traceGL_Native.glColorP3ui == glColorP3ui)
    {
      traceWarning("Ignoring glColorP3ui loaded from traceGL library.");
      traceGL_Native.glColorP3ui = NULL;
    }
  }
  else
  {
    traceWarning("glColorP3ui not loaded.");
  }
  if (traceGL_Native.glColorP3uiv)
  {
    if (traceGL_Native.glColorP3uiv == glColorP3uiv)
    {
      traceWarning("Ignoring glColorP3uiv loaded from traceGL library.");
      traceGL_Native.glColorP3uiv = NULL;
    }
  }
  else
  {
    traceWarning("glColorP3uiv not loaded.");
  }
  if (traceGL_Native.glColorP4ui)
  {
    if (traceGL_Native.glColorP4ui == glColorP4ui)
    {
      traceWarning("Ignoring glColorP4ui loaded from traceGL library.");
      traceGL_Native.glColorP4ui = NULL;
    }
  }
  else
  {
    traceWarning("glColorP4ui not loaded.");
  }
  if (traceGL_Native.glColorP4uiv)
  {
    if (traceGL_Native.glColorP4uiv == glColorP4uiv)
    {
      traceWarning("Ignoring glColorP4uiv loaded from traceGL library.");
      traceGL_Native.glColorP4uiv = NULL;
    }
  }
  else
  {
    traceWarning("glColorP4uiv not loaded.");
  }
  if (traceGL_Native.glSecondaryColorP3ui)
  {
    if (traceGL_Native.glSecondaryColorP3ui == glSecondaryColorP3ui)
    {
      traceWarning("Ignoring glSecondaryColorP3ui loaded from traceGL library.");
      traceGL_Native.glSecondaryColorP3ui = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColorP3ui not loaded.");
  }
  if (traceGL_Native.glSecondaryColorP3uiv)
  {
    if (traceGL_Native.glSecondaryColorP3uiv == glSecondaryColorP3uiv)
    {
      traceWarning("Ignoring glSecondaryColorP3uiv loaded from traceGL library.");
      traceGL_Native.glSecondaryColorP3uiv = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColorP3uiv not loaded.");
  }
  if (traceGL_Native.glVertexAttribP1ui)
  {
    if (traceGL_Native.glVertexAttribP1ui == glVertexAttribP1ui)
    {
      traceWarning("Ignoring glVertexAttribP1ui loaded from traceGL library.");
      traceGL_Native.glVertexAttribP1ui = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribP1ui not loaded.");
  }
  if (traceGL_Native.glVertexAttribP1uiv)
  {
    if (traceGL_Native.glVertexAttribP1uiv == glVertexAttribP1uiv)
    {
      traceWarning("Ignoring glVertexAttribP1uiv loaded from traceGL library.");
      traceGL_Native.glVertexAttribP1uiv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribP1uiv not loaded.");
  }
  if (traceGL_Native.glVertexAttribP2ui)
  {
    if (traceGL_Native.glVertexAttribP2ui == glVertexAttribP2ui)
    {
      traceWarning("Ignoring glVertexAttribP2ui loaded from traceGL library.");
      traceGL_Native.glVertexAttribP2ui = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribP2ui not loaded.");
  }
  if (traceGL_Native.glVertexAttribP2uiv)
  {
    if (traceGL_Native.glVertexAttribP2uiv == glVertexAttribP2uiv)
    {
      traceWarning("Ignoring glVertexAttribP2uiv loaded from traceGL library.");
      traceGL_Native.glVertexAttribP2uiv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribP2uiv not loaded.");
  }
  if (traceGL_Native.glVertexAttribP3ui)
  {
    if (traceGL_Native.glVertexAttribP3ui == glVertexAttribP3ui)
    {
      traceWarning("Ignoring glVertexAttribP3ui loaded from traceGL library.");
      traceGL_Native.glVertexAttribP3ui = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribP3ui not loaded.");
  }
  if (traceGL_Native.glVertexAttribP3uiv)
  {
    if (traceGL_Native.glVertexAttribP3uiv == glVertexAttribP3uiv)
    {
      traceWarning("Ignoring glVertexAttribP3uiv loaded from traceGL library.");
      traceGL_Native.glVertexAttribP3uiv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribP3uiv not loaded.");
  }
  if (traceGL_Native.glVertexAttribP4ui)
  {
    if (traceGL_Native.glVertexAttribP4ui == glVertexAttribP4ui)
    {
      traceWarning("Ignoring glVertexAttribP4ui loaded from traceGL library.");
      traceGL_Native.glVertexAttribP4ui = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribP4ui not loaded.");
  }
  if (traceGL_Native.glVertexAttribP4uiv)
  {
    if (traceGL_Native.glVertexAttribP4uiv == glVertexAttribP4uiv)
    {
      traceWarning("Ignoring glVertexAttribP4uiv loaded from traceGL library.");
      traceGL_Native.glVertexAttribP4uiv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribP4uiv not loaded.");
  }
  if (traceGL_Native.glBlendEquationi)
  {
    if (traceGL_Native.glBlendEquationi == glBlendEquationi)
    {
      traceWarning("Ignoring glBlendEquationi loaded from traceGL library.");
      traceGL_Native.glBlendEquationi = NULL;
    }
  }
  else
  {
    traceWarning("glBlendEquationi not loaded.");
  }
  if (traceGL_Native.glBlendEquationSeparatei)
  {
    if (traceGL_Native.glBlendEquationSeparatei == glBlendEquationSeparatei)
    {
      traceWarning("Ignoring glBlendEquationSeparatei loaded from traceGL library.");
      traceGL_Native.glBlendEquationSeparatei = NULL;
    }
  }
  else
  {
    traceWarning("glBlendEquationSeparatei not loaded.");
  }
  if (traceGL_Native.glBlendFunci)
  {
    if (traceGL_Native.glBlendFunci == glBlendFunci)
    {
      traceWarning("Ignoring glBlendFunci loaded from traceGL library.");
      traceGL_Native.glBlendFunci = NULL;
    }
  }
  else
  {
    traceWarning("glBlendFunci not loaded.");
  }
  if (traceGL_Native.glBlendFuncSeparatei)
  {
    if (traceGL_Native.glBlendFuncSeparatei == glBlendFuncSeparatei)
    {
      traceWarning("Ignoring glBlendFuncSeparatei loaded from traceGL library.");
      traceGL_Native.glBlendFuncSeparatei = NULL;
    }
  }
  else
  {
    traceWarning("glBlendFuncSeparatei not loaded.");
  }
  if (traceGL_Native.glDrawArraysIndirect)
  {
    if (traceGL_Native.glDrawArraysIndirect == glDrawArraysIndirect)
    {
      traceWarning("Ignoring glDrawArraysIndirect loaded from traceGL library.");
      traceGL_Native.glDrawArraysIndirect = NULL;
    }
  }
  else
  {
    traceWarning("glDrawArraysIndirect not loaded.");
  }
  if (traceGL_Native.glDrawElementsIndirect)
  {
    if (traceGL_Native.glDrawElementsIndirect == glDrawElementsIndirect)
    {
      traceWarning("Ignoring glDrawElementsIndirect loaded from traceGL library.");
      traceGL_Native.glDrawElementsIndirect = NULL;
    }
  }
  else
  {
    traceWarning("glDrawElementsIndirect not loaded.");
  }
  if (traceGL_Native.glUniform1d)
  {
    if (traceGL_Native.glUniform1d == glUniform1d)
    {
      traceWarning("Ignoring glUniform1d loaded from traceGL library.");
      traceGL_Native.glUniform1d = NULL;
    }
  }
  else
  {
    traceWarning("glUniform1d not loaded.");
  }
  if (traceGL_Native.glUniform2d)
  {
    if (traceGL_Native.glUniform2d == glUniform2d)
    {
      traceWarning("Ignoring glUniform2d loaded from traceGL library.");
      traceGL_Native.glUniform2d = NULL;
    }
  }
  else
  {
    traceWarning("glUniform2d not loaded.");
  }
  if (traceGL_Native.glUniform3d)
  {
    if (traceGL_Native.glUniform3d == glUniform3d)
    {
      traceWarning("Ignoring glUniform3d loaded from traceGL library.");
      traceGL_Native.glUniform3d = NULL;
    }
  }
  else
  {
    traceWarning("glUniform3d not loaded.");
  }
  if (traceGL_Native.glUniform4d)
  {
    if (traceGL_Native.glUniform4d == glUniform4d)
    {
      traceWarning("Ignoring glUniform4d loaded from traceGL library.");
      traceGL_Native.glUniform4d = NULL;
    }
  }
  else
  {
    traceWarning("glUniform4d not loaded.");
  }
  if (traceGL_Native.glUniform1dv)
  {
    if (traceGL_Native.glUniform1dv == glUniform1dv)
    {
      traceWarning("Ignoring glUniform1dv loaded from traceGL library.");
      traceGL_Native.glUniform1dv = NULL;
    }
  }
  else
  {
    traceWarning("glUniform1dv not loaded.");
  }
  if (traceGL_Native.glUniform2dv)
  {
    if (traceGL_Native.glUniform2dv == glUniform2dv)
    {
      traceWarning("Ignoring glUniform2dv loaded from traceGL library.");
      traceGL_Native.glUniform2dv = NULL;
    }
  }
  else
  {
    traceWarning("glUniform2dv not loaded.");
  }
  if (traceGL_Native.glUniform3dv)
  {
    if (traceGL_Native.glUniform3dv == glUniform3dv)
    {
      traceWarning("Ignoring glUniform3dv loaded from traceGL library.");
      traceGL_Native.glUniform3dv = NULL;
    }
  }
  else
  {
    traceWarning("glUniform3dv not loaded.");
  }
  if (traceGL_Native.glUniform4dv)
  {
    if (traceGL_Native.glUniform4dv == glUniform4dv)
    {
      traceWarning("Ignoring glUniform4dv loaded from traceGL library.");
      traceGL_Native.glUniform4dv = NULL;
    }
  }
  else
  {
    traceWarning("glUniform4dv not loaded.");
  }
  if (traceGL_Native.glUniformMatrix2dv)
  {
    if (traceGL_Native.glUniformMatrix2dv == glUniformMatrix2dv)
    {
      traceWarning("Ignoring glUniformMatrix2dv loaded from traceGL library.");
      traceGL_Native.glUniformMatrix2dv = NULL;
    }
  }
  else
  {
    traceWarning("glUniformMatrix2dv not loaded.");
  }
  if (traceGL_Native.glUniformMatrix3dv)
  {
    if (traceGL_Native.glUniformMatrix3dv == glUniformMatrix3dv)
    {
      traceWarning("Ignoring glUniformMatrix3dv loaded from traceGL library.");
      traceGL_Native.glUniformMatrix3dv = NULL;
    }
  }
  else
  {
    traceWarning("glUniformMatrix3dv not loaded.");
  }
  if (traceGL_Native.glUniformMatrix4dv)
  {
    if (traceGL_Native.glUniformMatrix4dv == glUniformMatrix4dv)
    {
      traceWarning("Ignoring glUniformMatrix4dv loaded from traceGL library.");
      traceGL_Native.glUniformMatrix4dv = NULL;
    }
  }
  else
  {
    traceWarning("glUniformMatrix4dv not loaded.");
  }
  if (traceGL_Native.glUniformMatrix2x3dv)
  {
    if (traceGL_Native.glUniformMatrix2x3dv == glUniformMatrix2x3dv)
    {
      traceWarning("Ignoring glUniformMatrix2x3dv loaded from traceGL library.");
      traceGL_Native.glUniformMatrix2x3dv = NULL;
    }
  }
  else
  {
    traceWarning("glUniformMatrix2x3dv not loaded.");
  }
  if (traceGL_Native.glUniformMatrix2x4dv)
  {
    if (traceGL_Native.glUniformMatrix2x4dv == glUniformMatrix2x4dv)
    {
      traceWarning("Ignoring glUniformMatrix2x4dv loaded from traceGL library.");
      traceGL_Native.glUniformMatrix2x4dv = NULL;
    }
  }
  else
  {
    traceWarning("glUniformMatrix2x4dv not loaded.");
  }
  if (traceGL_Native.glUniformMatrix3x2dv)
  {
    if (traceGL_Native.glUniformMatrix3x2dv == glUniformMatrix3x2dv)
    {
      traceWarning("Ignoring glUniformMatrix3x2dv loaded from traceGL library.");
      traceGL_Native.glUniformMatrix3x2dv = NULL;
    }
  }
  else
  {
    traceWarning("glUniformMatrix3x2dv not loaded.");
  }
  if (traceGL_Native.glUniformMatrix3x4dv)
  {
    if (traceGL_Native.glUniformMatrix3x4dv == glUniformMatrix3x4dv)
    {
      traceWarning("Ignoring glUniformMatrix3x4dv loaded from traceGL library.");
      traceGL_Native.glUniformMatrix3x4dv = NULL;
    }
  }
  else
  {
    traceWarning("glUniformMatrix3x4dv not loaded.");
  }
  if (traceGL_Native.glUniformMatrix4x2dv)
  {
    if (traceGL_Native.glUniformMatrix4x2dv == glUniformMatrix4x2dv)
    {
      traceWarning("Ignoring glUniformMatrix4x2dv loaded from traceGL library.");
      traceGL_Native.glUniformMatrix4x2dv = NULL;
    }
  }
  else
  {
    traceWarning("glUniformMatrix4x2dv not loaded.");
  }
  if (traceGL_Native.glUniformMatrix4x3dv)
  {
    if (traceGL_Native.glUniformMatrix4x3dv == glUniformMatrix4x3dv)
    {
      traceWarning("Ignoring glUniformMatrix4x3dv loaded from traceGL library.");
      traceGL_Native.glUniformMatrix4x3dv = NULL;
    }
  }
  else
  {
    traceWarning("glUniformMatrix4x3dv not loaded.");
  }
  if (traceGL_Native.glGetUniformdv)
  {
    if (traceGL_Native.glGetUniformdv == glGetUniformdv)
    {
      traceWarning("Ignoring glGetUniformdv loaded from traceGL library.");
      traceGL_Native.glGetUniformdv = NULL;
    }
  }
  else
  {
    traceWarning("glGetUniformdv not loaded.");
  }
  if (traceGL_Native.glMinSampleShading)
  {
    if (traceGL_Native.glMinSampleShading == glMinSampleShading)
    {
      traceWarning("Ignoring glMinSampleShading loaded from traceGL library.");
      traceGL_Native.glMinSampleShading = NULL;
    }
  }
  else
  {
    traceWarning("glMinSampleShading not loaded.");
  }
  if (traceGL_Native.glPatchParameteri)
  {
    if (traceGL_Native.glPatchParameteri == glPatchParameteri)
    {
      traceWarning("Ignoring glPatchParameteri loaded from traceGL library.");
      traceGL_Native.glPatchParameteri = NULL;
    }
  }
  else
  {
    traceWarning("glPatchParameteri not loaded.");
  }
  if (traceGL_Native.glPatchParameterfv)
  {
    if (traceGL_Native.glPatchParameterfv == glPatchParameterfv)
    {
      traceWarning("Ignoring glPatchParameterfv loaded from traceGL library.");
      traceGL_Native.glPatchParameterfv = NULL;
    }
  }
  else
  {
    traceWarning("glPatchParameterfv not loaded.");
  }
  if (traceGL_Native.glGenTransformFeedbacks)
  {
    if (traceGL_Native.glGenTransformFeedbacks == glGenTransformFeedbacks)
    {
      traceWarning("Ignoring glGenTransformFeedbacks loaded from traceGL library.");
      traceGL_Native.glGenTransformFeedbacks = NULL;
    }
  }
  else
  {
    traceWarning("glGenTransformFeedbacks not loaded.");
  }
  if (traceGL_Native.glDeleteTransformFeedbacks)
  {
    if (traceGL_Native.glDeleteTransformFeedbacks == glDeleteTransformFeedbacks)
    {
      traceWarning("Ignoring glDeleteTransformFeedbacks loaded from traceGL library.");
      traceGL_Native.glDeleteTransformFeedbacks = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteTransformFeedbacks not loaded.");
  }
  if (traceGL_Native.glBindTransformFeedback)
  {
    if (traceGL_Native.glBindTransformFeedback == glBindTransformFeedback)
    {
      traceWarning("Ignoring glBindTransformFeedback loaded from traceGL library.");
      traceGL_Native.glBindTransformFeedback = NULL;
    }
  }
  else
  {
    traceWarning("glBindTransformFeedback not loaded.");
  }
  if (traceGL_Native.glIsTransformFeedback)
  {
    if (traceGL_Native.glIsTransformFeedback == glIsTransformFeedback)
    {
      traceWarning("Ignoring glIsTransformFeedback loaded from traceGL library.");
      traceGL_Native.glIsTransformFeedback = NULL;
    }
  }
  else
  {
    traceWarning("glIsTransformFeedback not loaded.");
  }
  if (traceGL_Native.glPauseTransformFeedback)
  {
    if (traceGL_Native.glPauseTransformFeedback == glPauseTransformFeedback)
    {
      traceWarning("Ignoring glPauseTransformFeedback loaded from traceGL library.");
      traceGL_Native.glPauseTransformFeedback = NULL;
    }
  }
  else
  {
    traceWarning("glPauseTransformFeedback not loaded.");
  }
  if (traceGL_Native.glResumeTransformFeedback)
  {
    if (traceGL_Native.glResumeTransformFeedback == glResumeTransformFeedback)
    {
      traceWarning("Ignoring glResumeTransformFeedback loaded from traceGL library.");
      traceGL_Native.glResumeTransformFeedback = NULL;
    }
  }
  else
  {
    traceWarning("glResumeTransformFeedback not loaded.");
  }
  if (traceGL_Native.glDrawTransformFeedback)
  {
    if (traceGL_Native.glDrawTransformFeedback == glDrawTransformFeedback)
    {
      traceWarning("Ignoring glDrawTransformFeedback loaded from traceGL library.");
      traceGL_Native.glDrawTransformFeedback = NULL;
    }
  }
  else
  {
    traceWarning("glDrawTransformFeedback not loaded.");
  }
  if (traceGL_Native.glDrawTransformFeedbackStream)
  {
    if (traceGL_Native.glDrawTransformFeedbackStream == glDrawTransformFeedbackStream)
    {
      traceWarning("Ignoring glDrawTransformFeedbackStream loaded from traceGL library.");
      traceGL_Native.glDrawTransformFeedbackStream = NULL;
    }
  }
  else
  {
    traceWarning("glDrawTransformFeedbackStream not loaded.");
  }
  if (traceGL_Native.glBeginQueryIndexed)
  {
    if (traceGL_Native.glBeginQueryIndexed == glBeginQueryIndexed)
    {
      traceWarning("Ignoring glBeginQueryIndexed loaded from traceGL library.");
      traceGL_Native.glBeginQueryIndexed = NULL;
    }
  }
  else
  {
    traceWarning("glBeginQueryIndexed not loaded.");
  }
  if (traceGL_Native.glEndQueryIndexed)
  {
    if (traceGL_Native.glEndQueryIndexed == glEndQueryIndexed)
    {
      traceWarning("Ignoring glEndQueryIndexed loaded from traceGL library.");
      traceGL_Native.glEndQueryIndexed = NULL;
    }
  }
  else
  {
    traceWarning("glEndQueryIndexed not loaded.");
  }
  if (traceGL_Native.glGetQueryIndexediv)
  {
    if (traceGL_Native.glGetQueryIndexediv == glGetQueryIndexediv)
    {
      traceWarning("Ignoring glGetQueryIndexediv loaded from traceGL library.");
      traceGL_Native.glGetQueryIndexediv = NULL;
    }
  }
  else
  {
    traceWarning("glGetQueryIndexediv not loaded.");
  }
  if (traceGL_Native.glGetSubroutineUniformLocation)
  {
    if (traceGL_Native.glGetSubroutineUniformLocation == glGetSubroutineUniformLocation)
    {
      traceWarning("Ignoring glGetSubroutineUniformLocation loaded from traceGL library.");
      traceGL_Native.glGetSubroutineUniformLocation = NULL;
    }
  }
  else
  {
    traceWarning("glGetSubroutineUniformLocation not loaded.");
  }
  if (traceGL_Native.glGetSubroutineIndex)
  {
    if (traceGL_Native.glGetSubroutineIndex == glGetSubroutineIndex)
    {
      traceWarning("Ignoring glGetSubroutineIndex loaded from traceGL library.");
      traceGL_Native.glGetSubroutineIndex = NULL;
    }
  }
  else
  {
    traceWarning("glGetSubroutineIndex not loaded.");
  }
  if (traceGL_Native.glGetActiveSubroutineUniformiv)
  {
    if (traceGL_Native.glGetActiveSubroutineUniformiv == glGetActiveSubroutineUniformiv)
    {
      traceWarning("Ignoring glGetActiveSubroutineUniformiv loaded from traceGL library.");
      traceGL_Native.glGetActiveSubroutineUniformiv = NULL;
    }
  }
  else
  {
    traceWarning("glGetActiveSubroutineUniformiv not loaded.");
  }
  if (traceGL_Native.glGetActiveSubroutineUniformName)
  {
    if (traceGL_Native.glGetActiveSubroutineUniformName == glGetActiveSubroutineUniformName)
    {
      traceWarning("Ignoring glGetActiveSubroutineUniformName loaded from traceGL library.");
      traceGL_Native.glGetActiveSubroutineUniformName = NULL;
    }
  }
  else
  {
    traceWarning("glGetActiveSubroutineUniformName not loaded.");
  }
  if (traceGL_Native.glGetActiveSubroutineName)
  {
    if (traceGL_Native.glGetActiveSubroutineName == glGetActiveSubroutineName)
    {
      traceWarning("Ignoring glGetActiveSubroutineName loaded from traceGL library.");
      traceGL_Native.glGetActiveSubroutineName = NULL;
    }
  }
  else
  {
    traceWarning("glGetActiveSubroutineName not loaded.");
  }
  if (traceGL_Native.glUniformSubroutinesuiv)
  {
    if (traceGL_Native.glUniformSubroutinesuiv == glUniformSubroutinesuiv)
    {
      traceWarning("Ignoring glUniformSubroutinesuiv loaded from traceGL library.");
      traceGL_Native.glUniformSubroutinesuiv = NULL;
    }
  }
  else
  {
    traceWarning("glUniformSubroutinesuiv not loaded.");
  }
  if (traceGL_Native.glGetUniformSubroutineuiv)
  {
    if (traceGL_Native.glGetUniformSubroutineuiv == glGetUniformSubroutineuiv)
    {
      traceWarning("Ignoring glGetUniformSubroutineuiv loaded from traceGL library.");
      traceGL_Native.glGetUniformSubroutineuiv = NULL;
    }
  }
  else
  {
    traceWarning("glGetUniformSubroutineuiv not loaded.");
  }
  if (traceGL_Native.glGetProgramStageiv)
  {
    if (traceGL_Native.glGetProgramStageiv == glGetProgramStageiv)
    {
      traceWarning("Ignoring glGetProgramStageiv loaded from traceGL library.");
      traceGL_Native.glGetProgramStageiv = NULL;
    }
  }
  else
  {
    traceWarning("glGetProgramStageiv not loaded.");
  }
  if (traceGL_Native.glVertexAttribL1d)
  {
    if (traceGL_Native.glVertexAttribL1d == glVertexAttribL1d)
    {
      traceWarning("Ignoring glVertexAttribL1d loaded from traceGL library.");
      traceGL_Native.glVertexAttribL1d = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL1d not loaded.");
  }
  if (traceGL_Native.glVertexAttribL2d)
  {
    if (traceGL_Native.glVertexAttribL2d == glVertexAttribL2d)
    {
      traceWarning("Ignoring glVertexAttribL2d loaded from traceGL library.");
      traceGL_Native.glVertexAttribL2d = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL2d not loaded.");
  }
  if (traceGL_Native.glVertexAttribL3d)
  {
    if (traceGL_Native.glVertexAttribL3d == glVertexAttribL3d)
    {
      traceWarning("Ignoring glVertexAttribL3d loaded from traceGL library.");
      traceGL_Native.glVertexAttribL3d = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL3d not loaded.");
  }
  if (traceGL_Native.glVertexAttribL4d)
  {
    if (traceGL_Native.glVertexAttribL4d == glVertexAttribL4d)
    {
      traceWarning("Ignoring glVertexAttribL4d loaded from traceGL library.");
      traceGL_Native.glVertexAttribL4d = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL4d not loaded.");
  }
  if (traceGL_Native.glVertexAttribL1dv)
  {
    if (traceGL_Native.glVertexAttribL1dv == glVertexAttribL1dv)
    {
      traceWarning("Ignoring glVertexAttribL1dv loaded from traceGL library.");
      traceGL_Native.glVertexAttribL1dv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL1dv not loaded.");
  }
  if (traceGL_Native.glVertexAttribL2dv)
  {
    if (traceGL_Native.glVertexAttribL2dv == glVertexAttribL2dv)
    {
      traceWarning("Ignoring glVertexAttribL2dv loaded from traceGL library.");
      traceGL_Native.glVertexAttribL2dv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL2dv not loaded.");
  }
  if (traceGL_Native.glVertexAttribL3dv)
  {
    if (traceGL_Native.glVertexAttribL3dv == glVertexAttribL3dv)
    {
      traceWarning("Ignoring glVertexAttribL3dv loaded from traceGL library.");
      traceGL_Native.glVertexAttribL3dv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL3dv not loaded.");
  }
  if (traceGL_Native.glVertexAttribL4dv)
  {
    if (traceGL_Native.glVertexAttribL4dv == glVertexAttribL4dv)
    {
      traceWarning("Ignoring glVertexAttribL4dv loaded from traceGL library.");
      traceGL_Native.glVertexAttribL4dv = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL4dv not loaded.");
  }
  if (traceGL_Native.glVertexAttribLPointer)
  {
    if (traceGL_Native.glVertexAttribLPointer == glVertexAttribLPointer)
    {
      traceWarning("Ignoring glVertexAttribLPointer loaded from traceGL library.");
      traceGL_Native.glVertexAttribLPointer = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribLPointer not loaded.");
  }
  if (traceGL_Native.glGetVertexAttribLdv)
  {
    if (traceGL_Native.glGetVertexAttribLdv == glGetVertexAttribLdv)
    {
      traceWarning("Ignoring glGetVertexAttribLdv loaded from traceGL library.");
      traceGL_Native.glGetVertexAttribLdv = NULL;
    }
  }
  else
  {
    traceWarning("glGetVertexAttribLdv not loaded.");
  }
  if (traceGL_Native.glReleaseShaderCompiler)
  {
    if (traceGL_Native.glReleaseShaderCompiler == glReleaseShaderCompiler)
    {
      traceWarning("Ignoring glReleaseShaderCompiler loaded from traceGL library.");
      traceGL_Native.glReleaseShaderCompiler = NULL;
    }
  }
  else
  {
    traceWarning("glReleaseShaderCompiler not loaded.");
  }
  if (traceGL_Native.glShaderBinary)
  {
    if (traceGL_Native.glShaderBinary == glShaderBinary)
    {
      traceWarning("Ignoring glShaderBinary loaded from traceGL library.");
      traceGL_Native.glShaderBinary = NULL;
    }
  }
  else
  {
    traceWarning("glShaderBinary not loaded.");
  }
  if (traceGL_Native.glGetShaderPrecisionFormat)
  {
    if (traceGL_Native.glGetShaderPrecisionFormat == glGetShaderPrecisionFormat)
    {
      traceWarning("Ignoring glGetShaderPrecisionFormat loaded from traceGL library.");
      traceGL_Native.glGetShaderPrecisionFormat = NULL;
    }
  }
  else
  {
    traceWarning("glGetShaderPrecisionFormat not loaded.");
  }
  if (traceGL_Native.glDepthRangef)
  {
    if (traceGL_Native.glDepthRangef == glDepthRangef)
    {
      traceWarning("Ignoring glDepthRangef loaded from traceGL library.");
      traceGL_Native.glDepthRangef = NULL;
    }
  }
  else
  {
    traceWarning("glDepthRangef not loaded.");
  }
  if (traceGL_Native.glClearDepthf)
  {
    if (traceGL_Native.glClearDepthf == glClearDepthf)
    {
      traceWarning("Ignoring glClearDepthf loaded from traceGL library.");
      traceGL_Native.glClearDepthf = NULL;
    }
  }
  else
  {
    traceWarning("glClearDepthf not loaded.");
  }
  if (traceGL_Native.glGetProgramBinary)
  {
    if (traceGL_Native.glGetProgramBinary == glGetProgramBinary)
    {
      traceWarning("Ignoring glGetProgramBinary loaded from traceGL library.");
      traceGL_Native.glGetProgramBinary = NULL;
    }
  }
  else
  {
    traceWarning("glGetProgramBinary not loaded.");
  }
  if (traceGL_Native.glProgramBinary)
  {
    if (traceGL_Native.glProgramBinary == glProgramBinary)
    {
      traceWarning("Ignoring glProgramBinary loaded from traceGL library.");
      traceGL_Native.glProgramBinary = NULL;
    }
  }
  else
  {
    traceWarning("glProgramBinary not loaded.");
  }
  if (traceGL_Native.glProgramParameteri)
  {
    if (traceGL_Native.glProgramParameteri == glProgramParameteri)
    {
      traceWarning("Ignoring glProgramParameteri loaded from traceGL library.");
      traceGL_Native.glProgramParameteri = NULL;
    }
  }
  else
  {
    traceWarning("glProgramParameteri not loaded.");
  }
  if (traceGL_Native.glViewportArrayv)
  {
    if (traceGL_Native.glViewportArrayv == glViewportArrayv)
    {
      traceWarning("Ignoring glViewportArrayv loaded from traceGL library.");
      traceGL_Native.glViewportArrayv = NULL;
    }
  }
  else
  {
    traceWarning("glViewportArrayv not loaded.");
  }
  if (traceGL_Native.glViewportIndexedf)
  {
    if (traceGL_Native.glViewportIndexedf == glViewportIndexedf)
    {
      traceWarning("Ignoring glViewportIndexedf loaded from traceGL library.");
      traceGL_Native.glViewportIndexedf = NULL;
    }
  }
  else
  {
    traceWarning("glViewportIndexedf not loaded.");
  }
  if (traceGL_Native.glViewportIndexedfv)
  {
    if (traceGL_Native.glViewportIndexedfv == glViewportIndexedfv)
    {
      traceWarning("Ignoring glViewportIndexedfv loaded from traceGL library.");
      traceGL_Native.glViewportIndexedfv = NULL;
    }
  }
  else
  {
    traceWarning("glViewportIndexedfv not loaded.");
  }
  if (traceGL_Native.glScissorArrayv)
  {
    if (traceGL_Native.glScissorArrayv == glScissorArrayv)
    {
      traceWarning("Ignoring glScissorArrayv loaded from traceGL library.");
      traceGL_Native.glScissorArrayv = NULL;
    }
  }
  else
  {
    traceWarning("glScissorArrayv not loaded.");
  }
  if (traceGL_Native.glScissorIndexed)
  {
    if (traceGL_Native.glScissorIndexed == glScissorIndexed)
    {
      traceWarning("Ignoring glScissorIndexed loaded from traceGL library.");
      traceGL_Native.glScissorIndexed = NULL;
    }
  }
  else
  {
    traceWarning("glScissorIndexed not loaded.");
  }
  if (traceGL_Native.glScissorIndexedv)
  {
    if (traceGL_Native.glScissorIndexedv == glScissorIndexedv)
    {
      traceWarning("Ignoring glScissorIndexedv loaded from traceGL library.");
      traceGL_Native.glScissorIndexedv = NULL;
    }
  }
  else
  {
    traceWarning("glScissorIndexedv not loaded.");
  }
  if (traceGL_Native.glDepthRangeArrayv)
  {
    if (traceGL_Native.glDepthRangeArrayv == glDepthRangeArrayv)
    {
      traceWarning("Ignoring glDepthRangeArrayv loaded from traceGL library.");
      traceGL_Native.glDepthRangeArrayv = NULL;
    }
  }
  else
  {
    traceWarning("glDepthRangeArrayv not loaded.");
  }
  if (traceGL_Native.glDepthRangeIndexed)
  {
    if (traceGL_Native.glDepthRangeIndexed == glDepthRangeIndexed)
    {
      traceWarning("Ignoring glDepthRangeIndexed loaded from traceGL library.");
      traceGL_Native.glDepthRangeIndexed = NULL;
    }
  }
  else
  {
    traceWarning("glDepthRangeIndexed not loaded.");
  }
  if (traceGL_Native.glGetFloati_v)
  {
    if (traceGL_Native.glGetFloati_v == glGetFloati_v)
    {
      traceWarning("Ignoring glGetFloati_v loaded from traceGL library.");
      traceGL_Native.glGetFloati_v = NULL;
    }
  }
  else
  {
    traceWarning("glGetFloati_v not loaded.");
  }
  if (traceGL_Native.glGetDoublei_v)
  {
    if (traceGL_Native.glGetDoublei_v == glGetDoublei_v)
    {
      traceWarning("Ignoring glGetDoublei_v loaded from traceGL library.");
      traceGL_Native.glGetDoublei_v = NULL;
    }
  }
  else
  {
    traceWarning("glGetDoublei_v not loaded.");
  }
  if (traceGL_Native.glActiveShaderProgram)
  {
    if (traceGL_Native.glActiveShaderProgram == glActiveShaderProgram)
    {
      traceWarning("Ignoring glActiveShaderProgram loaded from traceGL library.");
      traceGL_Native.glActiveShaderProgram = NULL;
    }
  }
  else
  {
    traceWarning("glActiveShaderProgram not loaded.");
  }
  if (traceGL_Native.glUseProgramStages)
  {
    if (traceGL_Native.glUseProgramStages == glUseProgramStages)
    {
      traceWarning("Ignoring glUseProgramStages loaded from traceGL library.");
      traceGL_Native.glUseProgramStages = NULL;
    }
  }
  else
  {
    traceWarning("glUseProgramStages not loaded.");
  }
  if (traceGL_Native.glCreateShaderProgramv)
  {
    if (traceGL_Native.glCreateShaderProgramv == glCreateShaderProgramv)
    {
      traceWarning("Ignoring glCreateShaderProgramv loaded from traceGL library.");
      traceGL_Native.glCreateShaderProgramv = NULL;
    }
  }
  else
  {
    traceWarning("glCreateShaderProgramv not loaded.");
  }
  if (traceGL_Native.glBindProgramPipeline)
  {
    if (traceGL_Native.glBindProgramPipeline == glBindProgramPipeline)
    {
      traceWarning("Ignoring glBindProgramPipeline loaded from traceGL library.");
      traceGL_Native.glBindProgramPipeline = NULL;
    }
  }
  else
  {
    traceWarning("glBindProgramPipeline not loaded.");
  }
  if (traceGL_Native.glDeleteProgramPipelines)
  {
    if (traceGL_Native.glDeleteProgramPipelines == glDeleteProgramPipelines)
    {
      traceWarning("Ignoring glDeleteProgramPipelines loaded from traceGL library.");
      traceGL_Native.glDeleteProgramPipelines = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteProgramPipelines not loaded.");
  }
  if (traceGL_Native.glGenProgramPipelines)
  {
    if (traceGL_Native.glGenProgramPipelines == glGenProgramPipelines)
    {
      traceWarning("Ignoring glGenProgramPipelines loaded from traceGL library.");
      traceGL_Native.glGenProgramPipelines = NULL;
    }
  }
  else
  {
    traceWarning("glGenProgramPipelines not loaded.");
  }
  if (traceGL_Native.glIsProgramPipeline)
  {
    if (traceGL_Native.glIsProgramPipeline == glIsProgramPipeline)
    {
      traceWarning("Ignoring glIsProgramPipeline loaded from traceGL library.");
      traceGL_Native.glIsProgramPipeline = NULL;
    }
  }
  else
  {
    traceWarning("glIsProgramPipeline not loaded.");
  }
  if (traceGL_Native.glGetProgramPipelineiv)
  {
    if (traceGL_Native.glGetProgramPipelineiv == glGetProgramPipelineiv)
    {
      traceWarning("Ignoring glGetProgramPipelineiv loaded from traceGL library.");
      traceGL_Native.glGetProgramPipelineiv = NULL;
    }
  }
  else
  {
    traceWarning("glGetProgramPipelineiv not loaded.");
  }
  if (traceGL_Native.glValidateProgramPipeline)
  {
    if (traceGL_Native.glValidateProgramPipeline == glValidateProgramPipeline)
    {
      traceWarning("Ignoring glValidateProgramPipeline loaded from traceGL library.");
      traceGL_Native.glValidateProgramPipeline = NULL;
    }
  }
  else
  {
    traceWarning("glValidateProgramPipeline not loaded.");
  }
  if (traceGL_Native.glGetProgramPipelineInfoLog)
  {
    if (traceGL_Native.glGetProgramPipelineInfoLog == glGetProgramPipelineInfoLog)
    {
      traceWarning("Ignoring glGetProgramPipelineInfoLog loaded from traceGL library.");
      traceGL_Native.glGetProgramPipelineInfoLog = NULL;
    }
  }
  else
  {
    traceWarning("glGetProgramPipelineInfoLog not loaded.");
  }
  if (traceGL_Native.glProgramUniform1f)
  {
    if (traceGL_Native.glProgramUniform1f == glProgramUniform1f)
    {
      traceWarning("Ignoring glProgramUniform1f loaded from traceGL library.");
      traceGL_Native.glProgramUniform1f = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform1f not loaded.");
  }
  if (traceGL_Native.glProgramUniform2f)
  {
    if (traceGL_Native.glProgramUniform2f == glProgramUniform2f)
    {
      traceWarning("Ignoring glProgramUniform2f loaded from traceGL library.");
      traceGL_Native.glProgramUniform2f = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform2f not loaded.");
  }
  if (traceGL_Native.glProgramUniform3f)
  {
    if (traceGL_Native.glProgramUniform3f == glProgramUniform3f)
    {
      traceWarning("Ignoring glProgramUniform3f loaded from traceGL library.");
      traceGL_Native.glProgramUniform3f = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform3f not loaded.");
  }
  if (traceGL_Native.glProgramUniform4f)
  {
    if (traceGL_Native.glProgramUniform4f == glProgramUniform4f)
    {
      traceWarning("Ignoring glProgramUniform4f loaded from traceGL library.");
      traceGL_Native.glProgramUniform4f = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform4f not loaded.");
  }
  if (traceGL_Native.glProgramUniform1i)
  {
    if (traceGL_Native.glProgramUniform1i == glProgramUniform1i)
    {
      traceWarning("Ignoring glProgramUniform1i loaded from traceGL library.");
      traceGL_Native.glProgramUniform1i = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform1i not loaded.");
  }
  if (traceGL_Native.glProgramUniform2i)
  {
    if (traceGL_Native.glProgramUniform2i == glProgramUniform2i)
    {
      traceWarning("Ignoring glProgramUniform2i loaded from traceGL library.");
      traceGL_Native.glProgramUniform2i = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform2i not loaded.");
  }
  if (traceGL_Native.glProgramUniform3i)
  {
    if (traceGL_Native.glProgramUniform3i == glProgramUniform3i)
    {
      traceWarning("Ignoring glProgramUniform3i loaded from traceGL library.");
      traceGL_Native.glProgramUniform3i = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform3i not loaded.");
  }
  if (traceGL_Native.glProgramUniform4i)
  {
    if (traceGL_Native.glProgramUniform4i == glProgramUniform4i)
    {
      traceWarning("Ignoring glProgramUniform4i loaded from traceGL library.");
      traceGL_Native.glProgramUniform4i = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform4i not loaded.");
  }
  if (traceGL_Native.glProgramUniform1fv)
  {
    if (traceGL_Native.glProgramUniform1fv == glProgramUniform1fv)
    {
      traceWarning("Ignoring glProgramUniform1fv loaded from traceGL library.");
      traceGL_Native.glProgramUniform1fv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform1fv not loaded.");
  }
  if (traceGL_Native.glProgramUniform2fv)
  {
    if (traceGL_Native.glProgramUniform2fv == glProgramUniform2fv)
    {
      traceWarning("Ignoring glProgramUniform2fv loaded from traceGL library.");
      traceGL_Native.glProgramUniform2fv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform2fv not loaded.");
  }
  if (traceGL_Native.glProgramUniform3fv)
  {
    if (traceGL_Native.glProgramUniform3fv == glProgramUniform3fv)
    {
      traceWarning("Ignoring glProgramUniform3fv loaded from traceGL library.");
      traceGL_Native.glProgramUniform3fv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform3fv not loaded.");
  }
  if (traceGL_Native.glProgramUniform4fv)
  {
    if (traceGL_Native.glProgramUniform4fv == glProgramUniform4fv)
    {
      traceWarning("Ignoring glProgramUniform4fv loaded from traceGL library.");
      traceGL_Native.glProgramUniform4fv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform4fv not loaded.");
  }
  if (traceGL_Native.glProgramUniform1iv)
  {
    if (traceGL_Native.glProgramUniform1iv == glProgramUniform1iv)
    {
      traceWarning("Ignoring glProgramUniform1iv loaded from traceGL library.");
      traceGL_Native.glProgramUniform1iv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform1iv not loaded.");
  }
  if (traceGL_Native.glProgramUniform2iv)
  {
    if (traceGL_Native.glProgramUniform2iv == glProgramUniform2iv)
    {
      traceWarning("Ignoring glProgramUniform2iv loaded from traceGL library.");
      traceGL_Native.glProgramUniform2iv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform2iv not loaded.");
  }
  if (traceGL_Native.glProgramUniform3iv)
  {
    if (traceGL_Native.glProgramUniform3iv == glProgramUniform3iv)
    {
      traceWarning("Ignoring glProgramUniform3iv loaded from traceGL library.");
      traceGL_Native.glProgramUniform3iv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform3iv not loaded.");
  }
  if (traceGL_Native.glProgramUniform4iv)
  {
    if (traceGL_Native.glProgramUniform4iv == glProgramUniform4iv)
    {
      traceWarning("Ignoring glProgramUniform4iv loaded from traceGL library.");
      traceGL_Native.glProgramUniform4iv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform4iv not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix2fv)
  {
    if (traceGL_Native.glProgramUniformMatrix2fv == glProgramUniformMatrix2fv)
    {
      traceWarning("Ignoring glProgramUniformMatrix2fv loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix2fv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix2fv not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix3fv)
  {
    if (traceGL_Native.glProgramUniformMatrix3fv == glProgramUniformMatrix3fv)
    {
      traceWarning("Ignoring glProgramUniformMatrix3fv loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix3fv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix3fv not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix4fv)
  {
    if (traceGL_Native.glProgramUniformMatrix4fv == glProgramUniformMatrix4fv)
    {
      traceWarning("Ignoring glProgramUniformMatrix4fv loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix4fv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix4fv not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix2x3fv)
  {
    if (traceGL_Native.glProgramUniformMatrix2x3fv == glProgramUniformMatrix2x3fv)
    {
      traceWarning("Ignoring glProgramUniformMatrix2x3fv loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix2x3fv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix2x3fv not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix3x2fv)
  {
    if (traceGL_Native.glProgramUniformMatrix3x2fv == glProgramUniformMatrix3x2fv)
    {
      traceWarning("Ignoring glProgramUniformMatrix3x2fv loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix3x2fv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix3x2fv not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix2x4fv)
  {
    if (traceGL_Native.glProgramUniformMatrix2x4fv == glProgramUniformMatrix2x4fv)
    {
      traceWarning("Ignoring glProgramUniformMatrix2x4fv loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix2x4fv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix2x4fv not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix4x2fv)
  {
    if (traceGL_Native.glProgramUniformMatrix4x2fv == glProgramUniformMatrix4x2fv)
    {
      traceWarning("Ignoring glProgramUniformMatrix4x2fv loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix4x2fv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix4x2fv not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix3x4fv)
  {
    if (traceGL_Native.glProgramUniformMatrix3x4fv == glProgramUniformMatrix3x4fv)
    {
      traceWarning("Ignoring glProgramUniformMatrix3x4fv loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix3x4fv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix3x4fv not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix4x3fv)
  {
    if (traceGL_Native.glProgramUniformMatrix4x3fv == glProgramUniformMatrix4x3fv)
    {
      traceWarning("Ignoring glProgramUniformMatrix4x3fv loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix4x3fv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix4x3fv not loaded.");
  }
  if (traceGL_Native.glProgramUniform1ui)
  {
    if (traceGL_Native.glProgramUniform1ui == glProgramUniform1ui)
    {
      traceWarning("Ignoring glProgramUniform1ui loaded from traceGL library.");
      traceGL_Native.glProgramUniform1ui = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform1ui not loaded.");
  }
  if (traceGL_Native.glProgramUniform2ui)
  {
    if (traceGL_Native.glProgramUniform2ui == glProgramUniform2ui)
    {
      traceWarning("Ignoring glProgramUniform2ui loaded from traceGL library.");
      traceGL_Native.glProgramUniform2ui = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform2ui not loaded.");
  }
  if (traceGL_Native.glProgramUniform3ui)
  {
    if (traceGL_Native.glProgramUniform3ui == glProgramUniform3ui)
    {
      traceWarning("Ignoring glProgramUniform3ui loaded from traceGL library.");
      traceGL_Native.glProgramUniform3ui = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform3ui not loaded.");
  }
  if (traceGL_Native.glProgramUniform4ui)
  {
    if (traceGL_Native.glProgramUniform4ui == glProgramUniform4ui)
    {
      traceWarning("Ignoring glProgramUniform4ui loaded from traceGL library.");
      traceGL_Native.glProgramUniform4ui = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform4ui not loaded.");
  }
  if (traceGL_Native.glProgramUniform1uiv)
  {
    if (traceGL_Native.glProgramUniform1uiv == glProgramUniform1uiv)
    {
      traceWarning("Ignoring glProgramUniform1uiv loaded from traceGL library.");
      traceGL_Native.glProgramUniform1uiv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform1uiv not loaded.");
  }
  if (traceGL_Native.glProgramUniform2uiv)
  {
    if (traceGL_Native.glProgramUniform2uiv == glProgramUniform2uiv)
    {
      traceWarning("Ignoring glProgramUniform2uiv loaded from traceGL library.");
      traceGL_Native.glProgramUniform2uiv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform2uiv not loaded.");
  }
  if (traceGL_Native.glProgramUniform3uiv)
  {
    if (traceGL_Native.glProgramUniform3uiv == glProgramUniform3uiv)
    {
      traceWarning("Ignoring glProgramUniform3uiv loaded from traceGL library.");
      traceGL_Native.glProgramUniform3uiv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform3uiv not loaded.");
  }
  if (traceGL_Native.glProgramUniform4uiv)
  {
    if (traceGL_Native.glProgramUniform4uiv == glProgramUniform4uiv)
    {
      traceWarning("Ignoring glProgramUniform4uiv loaded from traceGL library.");
      traceGL_Native.glProgramUniform4uiv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform4uiv not loaded.");
  }
  if (traceGL_Native.glProgramUniform1d)
  {
    if (traceGL_Native.glProgramUniform1d == glProgramUniform1d)
    {
      traceWarning("Ignoring glProgramUniform1d loaded from traceGL library.");
      traceGL_Native.glProgramUniform1d = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform1d not loaded.");
  }
  if (traceGL_Native.glProgramUniform2d)
  {
    if (traceGL_Native.glProgramUniform2d == glProgramUniform2d)
    {
      traceWarning("Ignoring glProgramUniform2d loaded from traceGL library.");
      traceGL_Native.glProgramUniform2d = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform2d not loaded.");
  }
  if (traceGL_Native.glProgramUniform3d)
  {
    if (traceGL_Native.glProgramUniform3d == glProgramUniform3d)
    {
      traceWarning("Ignoring glProgramUniform3d loaded from traceGL library.");
      traceGL_Native.glProgramUniform3d = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform3d not loaded.");
  }
  if (traceGL_Native.glProgramUniform4d)
  {
    if (traceGL_Native.glProgramUniform4d == glProgramUniform4d)
    {
      traceWarning("Ignoring glProgramUniform4d loaded from traceGL library.");
      traceGL_Native.glProgramUniform4d = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform4d not loaded.");
  }
  if (traceGL_Native.glProgramUniform1dv)
  {
    if (traceGL_Native.glProgramUniform1dv == glProgramUniform1dv)
    {
      traceWarning("Ignoring glProgramUniform1dv loaded from traceGL library.");
      traceGL_Native.glProgramUniform1dv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform1dv not loaded.");
  }
  if (traceGL_Native.glProgramUniform2dv)
  {
    if (traceGL_Native.glProgramUniform2dv == glProgramUniform2dv)
    {
      traceWarning("Ignoring glProgramUniform2dv loaded from traceGL library.");
      traceGL_Native.glProgramUniform2dv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform2dv not loaded.");
  }
  if (traceGL_Native.glProgramUniform3dv)
  {
    if (traceGL_Native.glProgramUniform3dv == glProgramUniform3dv)
    {
      traceWarning("Ignoring glProgramUniform3dv loaded from traceGL library.");
      traceGL_Native.glProgramUniform3dv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform3dv not loaded.");
  }
  if (traceGL_Native.glProgramUniform4dv)
  {
    if (traceGL_Native.glProgramUniform4dv == glProgramUniform4dv)
    {
      traceWarning("Ignoring glProgramUniform4dv loaded from traceGL library.");
      traceGL_Native.glProgramUniform4dv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform4dv not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix2dv)
  {
    if (traceGL_Native.glProgramUniformMatrix2dv == glProgramUniformMatrix2dv)
    {
      traceWarning("Ignoring glProgramUniformMatrix2dv loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix2dv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix2dv not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix3dv)
  {
    if (traceGL_Native.glProgramUniformMatrix3dv == glProgramUniformMatrix3dv)
    {
      traceWarning("Ignoring glProgramUniformMatrix3dv loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix3dv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix3dv not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix4dv)
  {
    if (traceGL_Native.glProgramUniformMatrix4dv == glProgramUniformMatrix4dv)
    {
      traceWarning("Ignoring glProgramUniformMatrix4dv loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix4dv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix4dv not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix2x3dv)
  {
    if (traceGL_Native.glProgramUniformMatrix2x3dv == glProgramUniformMatrix2x3dv)
    {
      traceWarning("Ignoring glProgramUniformMatrix2x3dv loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix2x3dv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix2x3dv not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix2x4dv)
  {
    if (traceGL_Native.glProgramUniformMatrix2x4dv == glProgramUniformMatrix2x4dv)
    {
      traceWarning("Ignoring glProgramUniformMatrix2x4dv loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix2x4dv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix2x4dv not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix3x2dv)
  {
    if (traceGL_Native.glProgramUniformMatrix3x2dv == glProgramUniformMatrix3x2dv)
    {
      traceWarning("Ignoring glProgramUniformMatrix3x2dv loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix3x2dv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix3x2dv not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix3x4dv)
  {
    if (traceGL_Native.glProgramUniformMatrix3x4dv == glProgramUniformMatrix3x4dv)
    {
      traceWarning("Ignoring glProgramUniformMatrix3x4dv loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix3x4dv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix3x4dv not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix4x2dv)
  {
    if (traceGL_Native.glProgramUniformMatrix4x2dv == glProgramUniformMatrix4x2dv)
    {
      traceWarning("Ignoring glProgramUniformMatrix4x2dv loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix4x2dv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix4x2dv not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix4x3dv)
  {
    if (traceGL_Native.glProgramUniformMatrix4x3dv == glProgramUniformMatrix4x3dv)
    {
      traceWarning("Ignoring glProgramUniformMatrix4x3dv loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix4x3dv = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix4x3dv not loaded.");
  }
  if (traceGL_Native.glActiveTextureARB)
  {
    if (traceGL_Native.glActiveTextureARB == glActiveTextureARB)
    {
      traceWarning("Ignoring glActiveTextureARB loaded from traceGL library.");
      traceGL_Native.glActiveTextureARB = NULL;
    }
  }
  else
  {
    traceWarning("glActiveTextureARB not loaded.");
  }
  if (traceGL_Native.glClientActiveTextureARB)
  {
    if (traceGL_Native.glClientActiveTextureARB == glClientActiveTextureARB)
    {
      traceWarning("Ignoring glClientActiveTextureARB loaded from traceGL library.");
      traceGL_Native.glClientActiveTextureARB = NULL;
    }
  }
  else
  {
    traceWarning("glClientActiveTextureARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord1dARB)
  {
    if (traceGL_Native.glMultiTexCoord1dARB == glMultiTexCoord1dARB)
    {
      traceWarning("Ignoring glMultiTexCoord1dARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord1dARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord1dARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord1dvARB)
  {
    if (traceGL_Native.glMultiTexCoord1dvARB == glMultiTexCoord1dvARB)
    {
      traceWarning("Ignoring glMultiTexCoord1dvARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord1dvARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord1dvARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord1fARB)
  {
    if (traceGL_Native.glMultiTexCoord1fARB == glMultiTexCoord1fARB)
    {
      traceWarning("Ignoring glMultiTexCoord1fARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord1fARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord1fARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord1fvARB)
  {
    if (traceGL_Native.glMultiTexCoord1fvARB == glMultiTexCoord1fvARB)
    {
      traceWarning("Ignoring glMultiTexCoord1fvARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord1fvARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord1fvARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord1iARB)
  {
    if (traceGL_Native.glMultiTexCoord1iARB == glMultiTexCoord1iARB)
    {
      traceWarning("Ignoring glMultiTexCoord1iARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord1iARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord1iARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord1ivARB)
  {
    if (traceGL_Native.glMultiTexCoord1ivARB == glMultiTexCoord1ivARB)
    {
      traceWarning("Ignoring glMultiTexCoord1ivARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord1ivARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord1ivARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord1sARB)
  {
    if (traceGL_Native.glMultiTexCoord1sARB == glMultiTexCoord1sARB)
    {
      traceWarning("Ignoring glMultiTexCoord1sARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord1sARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord1sARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord1svARB)
  {
    if (traceGL_Native.glMultiTexCoord1svARB == glMultiTexCoord1svARB)
    {
      traceWarning("Ignoring glMultiTexCoord1svARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord1svARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord1svARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord2dARB)
  {
    if (traceGL_Native.glMultiTexCoord2dARB == glMultiTexCoord2dARB)
    {
      traceWarning("Ignoring glMultiTexCoord2dARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord2dARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord2dARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord2dvARB)
  {
    if (traceGL_Native.glMultiTexCoord2dvARB == glMultiTexCoord2dvARB)
    {
      traceWarning("Ignoring glMultiTexCoord2dvARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord2dvARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord2dvARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord2fARB)
  {
    if (traceGL_Native.glMultiTexCoord2fARB == glMultiTexCoord2fARB)
    {
      traceWarning("Ignoring glMultiTexCoord2fARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord2fARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord2fARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord2fvARB)
  {
    if (traceGL_Native.glMultiTexCoord2fvARB == glMultiTexCoord2fvARB)
    {
      traceWarning("Ignoring glMultiTexCoord2fvARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord2fvARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord2fvARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord2iARB)
  {
    if (traceGL_Native.glMultiTexCoord2iARB == glMultiTexCoord2iARB)
    {
      traceWarning("Ignoring glMultiTexCoord2iARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord2iARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord2iARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord2ivARB)
  {
    if (traceGL_Native.glMultiTexCoord2ivARB == glMultiTexCoord2ivARB)
    {
      traceWarning("Ignoring glMultiTexCoord2ivARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord2ivARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord2ivARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord2sARB)
  {
    if (traceGL_Native.glMultiTexCoord2sARB == glMultiTexCoord2sARB)
    {
      traceWarning("Ignoring glMultiTexCoord2sARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord2sARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord2sARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord2svARB)
  {
    if (traceGL_Native.glMultiTexCoord2svARB == glMultiTexCoord2svARB)
    {
      traceWarning("Ignoring glMultiTexCoord2svARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord2svARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord2svARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord3dARB)
  {
    if (traceGL_Native.glMultiTexCoord3dARB == glMultiTexCoord3dARB)
    {
      traceWarning("Ignoring glMultiTexCoord3dARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord3dARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord3dARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord3dvARB)
  {
    if (traceGL_Native.glMultiTexCoord3dvARB == glMultiTexCoord3dvARB)
    {
      traceWarning("Ignoring glMultiTexCoord3dvARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord3dvARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord3dvARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord3fARB)
  {
    if (traceGL_Native.glMultiTexCoord3fARB == glMultiTexCoord3fARB)
    {
      traceWarning("Ignoring glMultiTexCoord3fARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord3fARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord3fARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord3fvARB)
  {
    if (traceGL_Native.glMultiTexCoord3fvARB == glMultiTexCoord3fvARB)
    {
      traceWarning("Ignoring glMultiTexCoord3fvARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord3fvARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord3fvARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord3iARB)
  {
    if (traceGL_Native.glMultiTexCoord3iARB == glMultiTexCoord3iARB)
    {
      traceWarning("Ignoring glMultiTexCoord3iARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord3iARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord3iARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord3ivARB)
  {
    if (traceGL_Native.glMultiTexCoord3ivARB == glMultiTexCoord3ivARB)
    {
      traceWarning("Ignoring glMultiTexCoord3ivARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord3ivARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord3ivARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord3sARB)
  {
    if (traceGL_Native.glMultiTexCoord3sARB == glMultiTexCoord3sARB)
    {
      traceWarning("Ignoring glMultiTexCoord3sARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord3sARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord3sARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord3svARB)
  {
    if (traceGL_Native.glMultiTexCoord3svARB == glMultiTexCoord3svARB)
    {
      traceWarning("Ignoring glMultiTexCoord3svARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord3svARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord3svARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord4dARB)
  {
    if (traceGL_Native.glMultiTexCoord4dARB == glMultiTexCoord4dARB)
    {
      traceWarning("Ignoring glMultiTexCoord4dARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord4dARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord4dARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord4dvARB)
  {
    if (traceGL_Native.glMultiTexCoord4dvARB == glMultiTexCoord4dvARB)
    {
      traceWarning("Ignoring glMultiTexCoord4dvARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord4dvARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord4dvARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord4fARB)
  {
    if (traceGL_Native.glMultiTexCoord4fARB == glMultiTexCoord4fARB)
    {
      traceWarning("Ignoring glMultiTexCoord4fARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord4fARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord4fARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord4fvARB)
  {
    if (traceGL_Native.glMultiTexCoord4fvARB == glMultiTexCoord4fvARB)
    {
      traceWarning("Ignoring glMultiTexCoord4fvARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord4fvARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord4fvARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord4iARB)
  {
    if (traceGL_Native.glMultiTexCoord4iARB == glMultiTexCoord4iARB)
    {
      traceWarning("Ignoring glMultiTexCoord4iARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord4iARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord4iARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord4ivARB)
  {
    if (traceGL_Native.glMultiTexCoord4ivARB == glMultiTexCoord4ivARB)
    {
      traceWarning("Ignoring glMultiTexCoord4ivARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord4ivARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord4ivARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord4sARB)
  {
    if (traceGL_Native.glMultiTexCoord4sARB == glMultiTexCoord4sARB)
    {
      traceWarning("Ignoring glMultiTexCoord4sARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord4sARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord4sARB not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord4svARB)
  {
    if (traceGL_Native.glMultiTexCoord4svARB == glMultiTexCoord4svARB)
    {
      traceWarning("Ignoring glMultiTexCoord4svARB loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord4svARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord4svARB not loaded.");
  }
  if (traceGL_Native.glLoadTransposeMatrixfARB)
  {
    if (traceGL_Native.glLoadTransposeMatrixfARB == glLoadTransposeMatrixfARB)
    {
      traceWarning("Ignoring glLoadTransposeMatrixfARB loaded from traceGL library.");
      traceGL_Native.glLoadTransposeMatrixfARB = NULL;
    }
  }
  else
  {
    traceWarning("glLoadTransposeMatrixfARB not loaded.");
  }
  if (traceGL_Native.glLoadTransposeMatrixdARB)
  {
    if (traceGL_Native.glLoadTransposeMatrixdARB == glLoadTransposeMatrixdARB)
    {
      traceWarning("Ignoring glLoadTransposeMatrixdARB loaded from traceGL library.");
      traceGL_Native.glLoadTransposeMatrixdARB = NULL;
    }
  }
  else
  {
    traceWarning("glLoadTransposeMatrixdARB not loaded.");
  }
  if (traceGL_Native.glMultTransposeMatrixfARB)
  {
    if (traceGL_Native.glMultTransposeMatrixfARB == glMultTransposeMatrixfARB)
    {
      traceWarning("Ignoring glMultTransposeMatrixfARB loaded from traceGL library.");
      traceGL_Native.glMultTransposeMatrixfARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultTransposeMatrixfARB not loaded.");
  }
  if (traceGL_Native.glMultTransposeMatrixdARB)
  {
    if (traceGL_Native.glMultTransposeMatrixdARB == glMultTransposeMatrixdARB)
    {
      traceWarning("Ignoring glMultTransposeMatrixdARB loaded from traceGL library.");
      traceGL_Native.glMultTransposeMatrixdARB = NULL;
    }
  }
  else
  {
    traceWarning("glMultTransposeMatrixdARB not loaded.");
  }
  if (traceGL_Native.glSampleCoverageARB)
  {
    if (traceGL_Native.glSampleCoverageARB == glSampleCoverageARB)
    {
      traceWarning("Ignoring glSampleCoverageARB loaded from traceGL library.");
      traceGL_Native.glSampleCoverageARB = NULL;
    }
  }
  else
  {
    traceWarning("glSampleCoverageARB not loaded.");
  }
  if (traceGL_Native.glCompressedTexImage3DARB)
  {
    if (traceGL_Native.glCompressedTexImage3DARB == glCompressedTexImage3DARB)
    {
      traceWarning("Ignoring glCompressedTexImage3DARB loaded from traceGL library.");
      traceGL_Native.glCompressedTexImage3DARB = NULL;
    }
  }
  else
  {
    traceWarning("glCompressedTexImage3DARB not loaded.");
  }
  if (traceGL_Native.glCompressedTexImage2DARB)
  {
    if (traceGL_Native.glCompressedTexImage2DARB == glCompressedTexImage2DARB)
    {
      traceWarning("Ignoring glCompressedTexImage2DARB loaded from traceGL library.");
      traceGL_Native.glCompressedTexImage2DARB = NULL;
    }
  }
  else
  {
    traceWarning("glCompressedTexImage2DARB not loaded.");
  }
  if (traceGL_Native.glCompressedTexImage1DARB)
  {
    if (traceGL_Native.glCompressedTexImage1DARB == glCompressedTexImage1DARB)
    {
      traceWarning("Ignoring glCompressedTexImage1DARB loaded from traceGL library.");
      traceGL_Native.glCompressedTexImage1DARB = NULL;
    }
  }
  else
  {
    traceWarning("glCompressedTexImage1DARB not loaded.");
  }
  if (traceGL_Native.glCompressedTexSubImage3DARB)
  {
    if (traceGL_Native.glCompressedTexSubImage3DARB == glCompressedTexSubImage3DARB)
    {
      traceWarning("Ignoring glCompressedTexSubImage3DARB loaded from traceGL library.");
      traceGL_Native.glCompressedTexSubImage3DARB = NULL;
    }
  }
  else
  {
    traceWarning("glCompressedTexSubImage3DARB not loaded.");
  }
  if (traceGL_Native.glCompressedTexSubImage2DARB)
  {
    if (traceGL_Native.glCompressedTexSubImage2DARB == glCompressedTexSubImage2DARB)
    {
      traceWarning("Ignoring glCompressedTexSubImage2DARB loaded from traceGL library.");
      traceGL_Native.glCompressedTexSubImage2DARB = NULL;
    }
  }
  else
  {
    traceWarning("glCompressedTexSubImage2DARB not loaded.");
  }
  if (traceGL_Native.glCompressedTexSubImage1DARB)
  {
    if (traceGL_Native.glCompressedTexSubImage1DARB == glCompressedTexSubImage1DARB)
    {
      traceWarning("Ignoring glCompressedTexSubImage1DARB loaded from traceGL library.");
      traceGL_Native.glCompressedTexSubImage1DARB = NULL;
    }
  }
  else
  {
    traceWarning("glCompressedTexSubImage1DARB not loaded.");
  }
  if (traceGL_Native.glGetCompressedTexImageARB)
  {
    if (traceGL_Native.glGetCompressedTexImageARB == glGetCompressedTexImageARB)
    {
      traceWarning("Ignoring glGetCompressedTexImageARB loaded from traceGL library.");
      traceGL_Native.glGetCompressedTexImageARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetCompressedTexImageARB not loaded.");
  }
  if (traceGL_Native.glPointParameterfARB)
  {
    if (traceGL_Native.glPointParameterfARB == glPointParameterfARB)
    {
      traceWarning("Ignoring glPointParameterfARB loaded from traceGL library.");
      traceGL_Native.glPointParameterfARB = NULL;
    }
  }
  else
  {
    traceWarning("glPointParameterfARB not loaded.");
  }
  if (traceGL_Native.glPointParameterfvARB)
  {
    if (traceGL_Native.glPointParameterfvARB == glPointParameterfvARB)
    {
      traceWarning("Ignoring glPointParameterfvARB loaded from traceGL library.");
      traceGL_Native.glPointParameterfvARB = NULL;
    }
  }
  else
  {
    traceWarning("glPointParameterfvARB not loaded.");
  }
  if (traceGL_Native.glWeightbvARB)
  {
    if (traceGL_Native.glWeightbvARB == glWeightbvARB)
    {
      traceWarning("Ignoring glWeightbvARB loaded from traceGL library.");
      traceGL_Native.glWeightbvARB = NULL;
    }
  }
  else
  {
    traceWarning("glWeightbvARB not loaded.");
  }
  if (traceGL_Native.glWeightsvARB)
  {
    if (traceGL_Native.glWeightsvARB == glWeightsvARB)
    {
      traceWarning("Ignoring glWeightsvARB loaded from traceGL library.");
      traceGL_Native.glWeightsvARB = NULL;
    }
  }
  else
  {
    traceWarning("glWeightsvARB not loaded.");
  }
  if (traceGL_Native.glWeightivARB)
  {
    if (traceGL_Native.glWeightivARB == glWeightivARB)
    {
      traceWarning("Ignoring glWeightivARB loaded from traceGL library.");
      traceGL_Native.glWeightivARB = NULL;
    }
  }
  else
  {
    traceWarning("glWeightivARB not loaded.");
  }
  if (traceGL_Native.glWeightfvARB)
  {
    if (traceGL_Native.glWeightfvARB == glWeightfvARB)
    {
      traceWarning("Ignoring glWeightfvARB loaded from traceGL library.");
      traceGL_Native.glWeightfvARB = NULL;
    }
  }
  else
  {
    traceWarning("glWeightfvARB not loaded.");
  }
  if (traceGL_Native.glWeightdvARB)
  {
    if (traceGL_Native.glWeightdvARB == glWeightdvARB)
    {
      traceWarning("Ignoring glWeightdvARB loaded from traceGL library.");
      traceGL_Native.glWeightdvARB = NULL;
    }
  }
  else
  {
    traceWarning("glWeightdvARB not loaded.");
  }
  if (traceGL_Native.glWeightubvARB)
  {
    if (traceGL_Native.glWeightubvARB == glWeightubvARB)
    {
      traceWarning("Ignoring glWeightubvARB loaded from traceGL library.");
      traceGL_Native.glWeightubvARB = NULL;
    }
  }
  else
  {
    traceWarning("glWeightubvARB not loaded.");
  }
  if (traceGL_Native.glWeightusvARB)
  {
    if (traceGL_Native.glWeightusvARB == glWeightusvARB)
    {
      traceWarning("Ignoring glWeightusvARB loaded from traceGL library.");
      traceGL_Native.glWeightusvARB = NULL;
    }
  }
  else
  {
    traceWarning("glWeightusvARB not loaded.");
  }
  if (traceGL_Native.glWeightuivARB)
  {
    if (traceGL_Native.glWeightuivARB == glWeightuivARB)
    {
      traceWarning("Ignoring glWeightuivARB loaded from traceGL library.");
      traceGL_Native.glWeightuivARB = NULL;
    }
  }
  else
  {
    traceWarning("glWeightuivARB not loaded.");
  }
  if (traceGL_Native.glWeightPointerARB)
  {
    if (traceGL_Native.glWeightPointerARB == glWeightPointerARB)
    {
      traceWarning("Ignoring glWeightPointerARB loaded from traceGL library.");
      traceGL_Native.glWeightPointerARB = NULL;
    }
  }
  else
  {
    traceWarning("glWeightPointerARB not loaded.");
  }
  if (traceGL_Native.glVertexBlendARB)
  {
    if (traceGL_Native.glVertexBlendARB == glVertexBlendARB)
    {
      traceWarning("Ignoring glVertexBlendARB loaded from traceGL library.");
      traceGL_Native.glVertexBlendARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexBlendARB not loaded.");
  }
  if (traceGL_Native.glCurrentPaletteMatrixARB)
  {
    if (traceGL_Native.glCurrentPaletteMatrixARB == glCurrentPaletteMatrixARB)
    {
      traceWarning("Ignoring glCurrentPaletteMatrixARB loaded from traceGL library.");
      traceGL_Native.glCurrentPaletteMatrixARB = NULL;
    }
  }
  else
  {
    traceWarning("glCurrentPaletteMatrixARB not loaded.");
  }
  if (traceGL_Native.glMatrixIndexubvARB)
  {
    if (traceGL_Native.glMatrixIndexubvARB == glMatrixIndexubvARB)
    {
      traceWarning("Ignoring glMatrixIndexubvARB loaded from traceGL library.");
      traceGL_Native.glMatrixIndexubvARB = NULL;
    }
  }
  else
  {
    traceWarning("glMatrixIndexubvARB not loaded.");
  }
  if (traceGL_Native.glMatrixIndexusvARB)
  {
    if (traceGL_Native.glMatrixIndexusvARB == glMatrixIndexusvARB)
    {
      traceWarning("Ignoring glMatrixIndexusvARB loaded from traceGL library.");
      traceGL_Native.glMatrixIndexusvARB = NULL;
    }
  }
  else
  {
    traceWarning("glMatrixIndexusvARB not loaded.");
  }
  if (traceGL_Native.glMatrixIndexuivARB)
  {
    if (traceGL_Native.glMatrixIndexuivARB == glMatrixIndexuivARB)
    {
      traceWarning("Ignoring glMatrixIndexuivARB loaded from traceGL library.");
      traceGL_Native.glMatrixIndexuivARB = NULL;
    }
  }
  else
  {
    traceWarning("glMatrixIndexuivARB not loaded.");
  }
  if (traceGL_Native.glMatrixIndexPointerARB)
  {
    if (traceGL_Native.glMatrixIndexPointerARB == glMatrixIndexPointerARB)
    {
      traceWarning("Ignoring glMatrixIndexPointerARB loaded from traceGL library.");
      traceGL_Native.glMatrixIndexPointerARB = NULL;
    }
  }
  else
  {
    traceWarning("glMatrixIndexPointerARB not loaded.");
  }
  if (traceGL_Native.glWindowPos2dARB)
  {
    if (traceGL_Native.glWindowPos2dARB == glWindowPos2dARB)
    {
      traceWarning("Ignoring glWindowPos2dARB loaded from traceGL library.");
      traceGL_Native.glWindowPos2dARB = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos2dARB not loaded.");
  }
  if (traceGL_Native.glWindowPos2dvARB)
  {
    if (traceGL_Native.glWindowPos2dvARB == glWindowPos2dvARB)
    {
      traceWarning("Ignoring glWindowPos2dvARB loaded from traceGL library.");
      traceGL_Native.glWindowPos2dvARB = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos2dvARB not loaded.");
  }
  if (traceGL_Native.glWindowPos2fARB)
  {
    if (traceGL_Native.glWindowPos2fARB == glWindowPos2fARB)
    {
      traceWarning("Ignoring glWindowPos2fARB loaded from traceGL library.");
      traceGL_Native.glWindowPos2fARB = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos2fARB not loaded.");
  }
  if (traceGL_Native.glWindowPos2fvARB)
  {
    if (traceGL_Native.glWindowPos2fvARB == glWindowPos2fvARB)
    {
      traceWarning("Ignoring glWindowPos2fvARB loaded from traceGL library.");
      traceGL_Native.glWindowPos2fvARB = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos2fvARB not loaded.");
  }
  if (traceGL_Native.glWindowPos2iARB)
  {
    if (traceGL_Native.glWindowPos2iARB == glWindowPos2iARB)
    {
      traceWarning("Ignoring glWindowPos2iARB loaded from traceGL library.");
      traceGL_Native.glWindowPos2iARB = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos2iARB not loaded.");
  }
  if (traceGL_Native.glWindowPos2ivARB)
  {
    if (traceGL_Native.glWindowPos2ivARB == glWindowPos2ivARB)
    {
      traceWarning("Ignoring glWindowPos2ivARB loaded from traceGL library.");
      traceGL_Native.glWindowPos2ivARB = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos2ivARB not loaded.");
  }
  if (traceGL_Native.glWindowPos2sARB)
  {
    if (traceGL_Native.glWindowPos2sARB == glWindowPos2sARB)
    {
      traceWarning("Ignoring glWindowPos2sARB loaded from traceGL library.");
      traceGL_Native.glWindowPos2sARB = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos2sARB not loaded.");
  }
  if (traceGL_Native.glWindowPos2svARB)
  {
    if (traceGL_Native.glWindowPos2svARB == glWindowPos2svARB)
    {
      traceWarning("Ignoring glWindowPos2svARB loaded from traceGL library.");
      traceGL_Native.glWindowPos2svARB = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos2svARB not loaded.");
  }
  if (traceGL_Native.glWindowPos3dARB)
  {
    if (traceGL_Native.glWindowPos3dARB == glWindowPos3dARB)
    {
      traceWarning("Ignoring glWindowPos3dARB loaded from traceGL library.");
      traceGL_Native.glWindowPos3dARB = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos3dARB not loaded.");
  }
  if (traceGL_Native.glWindowPos3dvARB)
  {
    if (traceGL_Native.glWindowPos3dvARB == glWindowPos3dvARB)
    {
      traceWarning("Ignoring glWindowPos3dvARB loaded from traceGL library.");
      traceGL_Native.glWindowPos3dvARB = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos3dvARB not loaded.");
  }
  if (traceGL_Native.glWindowPos3fARB)
  {
    if (traceGL_Native.glWindowPos3fARB == glWindowPos3fARB)
    {
      traceWarning("Ignoring glWindowPos3fARB loaded from traceGL library.");
      traceGL_Native.glWindowPos3fARB = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos3fARB not loaded.");
  }
  if (traceGL_Native.glWindowPos3fvARB)
  {
    if (traceGL_Native.glWindowPos3fvARB == glWindowPos3fvARB)
    {
      traceWarning("Ignoring glWindowPos3fvARB loaded from traceGL library.");
      traceGL_Native.glWindowPos3fvARB = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos3fvARB not loaded.");
  }
  if (traceGL_Native.glWindowPos3iARB)
  {
    if (traceGL_Native.glWindowPos3iARB == glWindowPos3iARB)
    {
      traceWarning("Ignoring glWindowPos3iARB loaded from traceGL library.");
      traceGL_Native.glWindowPos3iARB = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos3iARB not loaded.");
  }
  if (traceGL_Native.glWindowPos3ivARB)
  {
    if (traceGL_Native.glWindowPos3ivARB == glWindowPos3ivARB)
    {
      traceWarning("Ignoring glWindowPos3ivARB loaded from traceGL library.");
      traceGL_Native.glWindowPos3ivARB = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos3ivARB not loaded.");
  }
  if (traceGL_Native.glWindowPos3sARB)
  {
    if (traceGL_Native.glWindowPos3sARB == glWindowPos3sARB)
    {
      traceWarning("Ignoring glWindowPos3sARB loaded from traceGL library.");
      traceGL_Native.glWindowPos3sARB = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos3sARB not loaded.");
  }
  if (traceGL_Native.glWindowPos3svARB)
  {
    if (traceGL_Native.glWindowPos3svARB == glWindowPos3svARB)
    {
      traceWarning("Ignoring glWindowPos3svARB loaded from traceGL library.");
      traceGL_Native.glWindowPos3svARB = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos3svARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib1dARB)
  {
    if (traceGL_Native.glVertexAttrib1dARB == glVertexAttrib1dARB)
    {
      traceWarning("Ignoring glVertexAttrib1dARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib1dARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib1dARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib1dvARB)
  {
    if (traceGL_Native.glVertexAttrib1dvARB == glVertexAttrib1dvARB)
    {
      traceWarning("Ignoring glVertexAttrib1dvARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib1dvARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib1dvARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib1fARB)
  {
    if (traceGL_Native.glVertexAttrib1fARB == glVertexAttrib1fARB)
    {
      traceWarning("Ignoring glVertexAttrib1fARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib1fARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib1fARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib1fvARB)
  {
    if (traceGL_Native.glVertexAttrib1fvARB == glVertexAttrib1fvARB)
    {
      traceWarning("Ignoring glVertexAttrib1fvARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib1fvARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib1fvARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib1sARB)
  {
    if (traceGL_Native.glVertexAttrib1sARB == glVertexAttrib1sARB)
    {
      traceWarning("Ignoring glVertexAttrib1sARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib1sARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib1sARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib1svARB)
  {
    if (traceGL_Native.glVertexAttrib1svARB == glVertexAttrib1svARB)
    {
      traceWarning("Ignoring glVertexAttrib1svARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib1svARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib1svARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib2dARB)
  {
    if (traceGL_Native.glVertexAttrib2dARB == glVertexAttrib2dARB)
    {
      traceWarning("Ignoring glVertexAttrib2dARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib2dARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib2dARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib2dvARB)
  {
    if (traceGL_Native.glVertexAttrib2dvARB == glVertexAttrib2dvARB)
    {
      traceWarning("Ignoring glVertexAttrib2dvARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib2dvARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib2dvARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib2fARB)
  {
    if (traceGL_Native.glVertexAttrib2fARB == glVertexAttrib2fARB)
    {
      traceWarning("Ignoring glVertexAttrib2fARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib2fARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib2fARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib2fvARB)
  {
    if (traceGL_Native.glVertexAttrib2fvARB == glVertexAttrib2fvARB)
    {
      traceWarning("Ignoring glVertexAttrib2fvARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib2fvARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib2fvARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib2sARB)
  {
    if (traceGL_Native.glVertexAttrib2sARB == glVertexAttrib2sARB)
    {
      traceWarning("Ignoring glVertexAttrib2sARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib2sARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib2sARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib2svARB)
  {
    if (traceGL_Native.glVertexAttrib2svARB == glVertexAttrib2svARB)
    {
      traceWarning("Ignoring glVertexAttrib2svARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib2svARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib2svARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib3dARB)
  {
    if (traceGL_Native.glVertexAttrib3dARB == glVertexAttrib3dARB)
    {
      traceWarning("Ignoring glVertexAttrib3dARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib3dARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib3dARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib3dvARB)
  {
    if (traceGL_Native.glVertexAttrib3dvARB == glVertexAttrib3dvARB)
    {
      traceWarning("Ignoring glVertexAttrib3dvARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib3dvARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib3dvARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib3fARB)
  {
    if (traceGL_Native.glVertexAttrib3fARB == glVertexAttrib3fARB)
    {
      traceWarning("Ignoring glVertexAttrib3fARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib3fARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib3fARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib3fvARB)
  {
    if (traceGL_Native.glVertexAttrib3fvARB == glVertexAttrib3fvARB)
    {
      traceWarning("Ignoring glVertexAttrib3fvARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib3fvARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib3fvARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib3sARB)
  {
    if (traceGL_Native.glVertexAttrib3sARB == glVertexAttrib3sARB)
    {
      traceWarning("Ignoring glVertexAttrib3sARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib3sARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib3sARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib3svARB)
  {
    if (traceGL_Native.glVertexAttrib3svARB == glVertexAttrib3svARB)
    {
      traceWarning("Ignoring glVertexAttrib3svARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib3svARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib3svARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4NbvARB)
  {
    if (traceGL_Native.glVertexAttrib4NbvARB == glVertexAttrib4NbvARB)
    {
      traceWarning("Ignoring glVertexAttrib4NbvARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4NbvARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4NbvARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4NivARB)
  {
    if (traceGL_Native.glVertexAttrib4NivARB == glVertexAttrib4NivARB)
    {
      traceWarning("Ignoring glVertexAttrib4NivARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4NivARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4NivARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4NsvARB)
  {
    if (traceGL_Native.glVertexAttrib4NsvARB == glVertexAttrib4NsvARB)
    {
      traceWarning("Ignoring glVertexAttrib4NsvARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4NsvARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4NsvARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4NubARB)
  {
    if (traceGL_Native.glVertexAttrib4NubARB == glVertexAttrib4NubARB)
    {
      traceWarning("Ignoring glVertexAttrib4NubARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4NubARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4NubARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4NubvARB)
  {
    if (traceGL_Native.glVertexAttrib4NubvARB == glVertexAttrib4NubvARB)
    {
      traceWarning("Ignoring glVertexAttrib4NubvARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4NubvARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4NubvARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4NuivARB)
  {
    if (traceGL_Native.glVertexAttrib4NuivARB == glVertexAttrib4NuivARB)
    {
      traceWarning("Ignoring glVertexAttrib4NuivARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4NuivARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4NuivARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4NusvARB)
  {
    if (traceGL_Native.glVertexAttrib4NusvARB == glVertexAttrib4NusvARB)
    {
      traceWarning("Ignoring glVertexAttrib4NusvARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4NusvARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4NusvARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4bvARB)
  {
    if (traceGL_Native.glVertexAttrib4bvARB == glVertexAttrib4bvARB)
    {
      traceWarning("Ignoring glVertexAttrib4bvARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4bvARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4bvARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4dARB)
  {
    if (traceGL_Native.glVertexAttrib4dARB == glVertexAttrib4dARB)
    {
      traceWarning("Ignoring glVertexAttrib4dARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4dARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4dARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4dvARB)
  {
    if (traceGL_Native.glVertexAttrib4dvARB == glVertexAttrib4dvARB)
    {
      traceWarning("Ignoring glVertexAttrib4dvARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4dvARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4dvARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4fARB)
  {
    if (traceGL_Native.glVertexAttrib4fARB == glVertexAttrib4fARB)
    {
      traceWarning("Ignoring glVertexAttrib4fARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4fARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4fARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4fvARB)
  {
    if (traceGL_Native.glVertexAttrib4fvARB == glVertexAttrib4fvARB)
    {
      traceWarning("Ignoring glVertexAttrib4fvARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4fvARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4fvARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4ivARB)
  {
    if (traceGL_Native.glVertexAttrib4ivARB == glVertexAttrib4ivARB)
    {
      traceWarning("Ignoring glVertexAttrib4ivARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4ivARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4ivARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4sARB)
  {
    if (traceGL_Native.glVertexAttrib4sARB == glVertexAttrib4sARB)
    {
      traceWarning("Ignoring glVertexAttrib4sARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4sARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4sARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4svARB)
  {
    if (traceGL_Native.glVertexAttrib4svARB == glVertexAttrib4svARB)
    {
      traceWarning("Ignoring glVertexAttrib4svARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4svARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4svARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4ubvARB)
  {
    if (traceGL_Native.glVertexAttrib4ubvARB == glVertexAttrib4ubvARB)
    {
      traceWarning("Ignoring glVertexAttrib4ubvARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4ubvARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4ubvARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4uivARB)
  {
    if (traceGL_Native.glVertexAttrib4uivARB == glVertexAttrib4uivARB)
    {
      traceWarning("Ignoring glVertexAttrib4uivARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4uivARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4uivARB not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4usvARB)
  {
    if (traceGL_Native.glVertexAttrib4usvARB == glVertexAttrib4usvARB)
    {
      traceWarning("Ignoring glVertexAttrib4usvARB loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4usvARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4usvARB not loaded.");
  }
  if (traceGL_Native.glVertexAttribPointerARB)
  {
    if (traceGL_Native.glVertexAttribPointerARB == glVertexAttribPointerARB)
    {
      traceWarning("Ignoring glVertexAttribPointerARB loaded from traceGL library.");
      traceGL_Native.glVertexAttribPointerARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribPointerARB not loaded.");
  }
  if (traceGL_Native.glEnableVertexAttribArrayARB)
  {
    if (traceGL_Native.glEnableVertexAttribArrayARB == glEnableVertexAttribArrayARB)
    {
      traceWarning("Ignoring glEnableVertexAttribArrayARB loaded from traceGL library.");
      traceGL_Native.glEnableVertexAttribArrayARB = NULL;
    }
  }
  else
  {
    traceWarning("glEnableVertexAttribArrayARB not loaded.");
  }
  if (traceGL_Native.glDisableVertexAttribArrayARB)
  {
    if (traceGL_Native.glDisableVertexAttribArrayARB == glDisableVertexAttribArrayARB)
    {
      traceWarning("Ignoring glDisableVertexAttribArrayARB loaded from traceGL library.");
      traceGL_Native.glDisableVertexAttribArrayARB = NULL;
    }
  }
  else
  {
    traceWarning("glDisableVertexAttribArrayARB not loaded.");
  }
  if (traceGL_Native.glProgramStringARB)
  {
    if (traceGL_Native.glProgramStringARB == glProgramStringARB)
    {
      traceWarning("Ignoring glProgramStringARB loaded from traceGL library.");
      traceGL_Native.glProgramStringARB = NULL;
    }
  }
  else
  {
    traceWarning("glProgramStringARB not loaded.");
  }
  if (traceGL_Native.glBindProgramARB)
  {
    if (traceGL_Native.glBindProgramARB == glBindProgramARB)
    {
      traceWarning("Ignoring glBindProgramARB loaded from traceGL library.");
      traceGL_Native.glBindProgramARB = NULL;
    }
  }
  else
  {
    traceWarning("glBindProgramARB not loaded.");
  }
  if (traceGL_Native.glDeleteProgramsARB)
  {
    if (traceGL_Native.glDeleteProgramsARB == glDeleteProgramsARB)
    {
      traceWarning("Ignoring glDeleteProgramsARB loaded from traceGL library.");
      traceGL_Native.glDeleteProgramsARB = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteProgramsARB not loaded.");
  }
  if (traceGL_Native.glGenProgramsARB)
  {
    if (traceGL_Native.glGenProgramsARB == glGenProgramsARB)
    {
      traceWarning("Ignoring glGenProgramsARB loaded from traceGL library.");
      traceGL_Native.glGenProgramsARB = NULL;
    }
  }
  else
  {
    traceWarning("glGenProgramsARB not loaded.");
  }
  if (traceGL_Native.glProgramEnvParameter4dARB)
  {
    if (traceGL_Native.glProgramEnvParameter4dARB == glProgramEnvParameter4dARB)
    {
      traceWarning("Ignoring glProgramEnvParameter4dARB loaded from traceGL library.");
      traceGL_Native.glProgramEnvParameter4dARB = NULL;
    }
  }
  else
  {
    traceWarning("glProgramEnvParameter4dARB not loaded.");
  }
  if (traceGL_Native.glProgramEnvParameter4dvARB)
  {
    if (traceGL_Native.glProgramEnvParameter4dvARB == glProgramEnvParameter4dvARB)
    {
      traceWarning("Ignoring glProgramEnvParameter4dvARB loaded from traceGL library.");
      traceGL_Native.glProgramEnvParameter4dvARB = NULL;
    }
  }
  else
  {
    traceWarning("glProgramEnvParameter4dvARB not loaded.");
  }
  if (traceGL_Native.glProgramEnvParameter4fARB)
  {
    if (traceGL_Native.glProgramEnvParameter4fARB == glProgramEnvParameter4fARB)
    {
      traceWarning("Ignoring glProgramEnvParameter4fARB loaded from traceGL library.");
      traceGL_Native.glProgramEnvParameter4fARB = NULL;
    }
  }
  else
  {
    traceWarning("glProgramEnvParameter4fARB not loaded.");
  }
  if (traceGL_Native.glProgramEnvParameter4fvARB)
  {
    if (traceGL_Native.glProgramEnvParameter4fvARB == glProgramEnvParameter4fvARB)
    {
      traceWarning("Ignoring glProgramEnvParameter4fvARB loaded from traceGL library.");
      traceGL_Native.glProgramEnvParameter4fvARB = NULL;
    }
  }
  else
  {
    traceWarning("glProgramEnvParameter4fvARB not loaded.");
  }
  if (traceGL_Native.glProgramLocalParameter4dARB)
  {
    if (traceGL_Native.glProgramLocalParameter4dARB == glProgramLocalParameter4dARB)
    {
      traceWarning("Ignoring glProgramLocalParameter4dARB loaded from traceGL library.");
      traceGL_Native.glProgramLocalParameter4dARB = NULL;
    }
  }
  else
  {
    traceWarning("glProgramLocalParameter4dARB not loaded.");
  }
  if (traceGL_Native.glProgramLocalParameter4dvARB)
  {
    if (traceGL_Native.glProgramLocalParameter4dvARB == glProgramLocalParameter4dvARB)
    {
      traceWarning("Ignoring glProgramLocalParameter4dvARB loaded from traceGL library.");
      traceGL_Native.glProgramLocalParameter4dvARB = NULL;
    }
  }
  else
  {
    traceWarning("glProgramLocalParameter4dvARB not loaded.");
  }
  if (traceGL_Native.glProgramLocalParameter4fARB)
  {
    if (traceGL_Native.glProgramLocalParameter4fARB == glProgramLocalParameter4fARB)
    {
      traceWarning("Ignoring glProgramLocalParameter4fARB loaded from traceGL library.");
      traceGL_Native.glProgramLocalParameter4fARB = NULL;
    }
  }
  else
  {
    traceWarning("glProgramLocalParameter4fARB not loaded.");
  }
  if (traceGL_Native.glProgramLocalParameter4fvARB)
  {
    if (traceGL_Native.glProgramLocalParameter4fvARB == glProgramLocalParameter4fvARB)
    {
      traceWarning("Ignoring glProgramLocalParameter4fvARB loaded from traceGL library.");
      traceGL_Native.glProgramLocalParameter4fvARB = NULL;
    }
  }
  else
  {
    traceWarning("glProgramLocalParameter4fvARB not loaded.");
  }
  if (traceGL_Native.glGetProgramEnvParameterdvARB)
  {
    if (traceGL_Native.glGetProgramEnvParameterdvARB == glGetProgramEnvParameterdvARB)
    {
      traceWarning("Ignoring glGetProgramEnvParameterdvARB loaded from traceGL library.");
      traceGL_Native.glGetProgramEnvParameterdvARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetProgramEnvParameterdvARB not loaded.");
  }
  if (traceGL_Native.glGetProgramEnvParameterfvARB)
  {
    if (traceGL_Native.glGetProgramEnvParameterfvARB == glGetProgramEnvParameterfvARB)
    {
      traceWarning("Ignoring glGetProgramEnvParameterfvARB loaded from traceGL library.");
      traceGL_Native.glGetProgramEnvParameterfvARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetProgramEnvParameterfvARB not loaded.");
  }
  if (traceGL_Native.glGetProgramLocalParameterdvARB)
  {
    if (traceGL_Native.glGetProgramLocalParameterdvARB == glGetProgramLocalParameterdvARB)
    {
      traceWarning("Ignoring glGetProgramLocalParameterdvARB loaded from traceGL library.");
      traceGL_Native.glGetProgramLocalParameterdvARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetProgramLocalParameterdvARB not loaded.");
  }
  if (traceGL_Native.glGetProgramLocalParameterfvARB)
  {
    if (traceGL_Native.glGetProgramLocalParameterfvARB == glGetProgramLocalParameterfvARB)
    {
      traceWarning("Ignoring glGetProgramLocalParameterfvARB loaded from traceGL library.");
      traceGL_Native.glGetProgramLocalParameterfvARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetProgramLocalParameterfvARB not loaded.");
  }
  if (traceGL_Native.glGetProgramivARB)
  {
    if (traceGL_Native.glGetProgramivARB == glGetProgramivARB)
    {
      traceWarning("Ignoring glGetProgramivARB loaded from traceGL library.");
      traceGL_Native.glGetProgramivARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetProgramivARB not loaded.");
  }
  if (traceGL_Native.glGetProgramStringARB)
  {
    if (traceGL_Native.glGetProgramStringARB == glGetProgramStringARB)
    {
      traceWarning("Ignoring glGetProgramStringARB loaded from traceGL library.");
      traceGL_Native.glGetProgramStringARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetProgramStringARB not loaded.");
  }
  if (traceGL_Native.glGetVertexAttribdvARB)
  {
    if (traceGL_Native.glGetVertexAttribdvARB == glGetVertexAttribdvARB)
    {
      traceWarning("Ignoring glGetVertexAttribdvARB loaded from traceGL library.");
      traceGL_Native.glGetVertexAttribdvARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetVertexAttribdvARB not loaded.");
  }
  if (traceGL_Native.glGetVertexAttribfvARB)
  {
    if (traceGL_Native.glGetVertexAttribfvARB == glGetVertexAttribfvARB)
    {
      traceWarning("Ignoring glGetVertexAttribfvARB loaded from traceGL library.");
      traceGL_Native.glGetVertexAttribfvARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetVertexAttribfvARB not loaded.");
  }
  if (traceGL_Native.glGetVertexAttribivARB)
  {
    if (traceGL_Native.glGetVertexAttribivARB == glGetVertexAttribivARB)
    {
      traceWarning("Ignoring glGetVertexAttribivARB loaded from traceGL library.");
      traceGL_Native.glGetVertexAttribivARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetVertexAttribivARB not loaded.");
  }
  if (traceGL_Native.glGetVertexAttribPointervARB)
  {
    if (traceGL_Native.glGetVertexAttribPointervARB == glGetVertexAttribPointervARB)
    {
      traceWarning("Ignoring glGetVertexAttribPointervARB loaded from traceGL library.");
      traceGL_Native.glGetVertexAttribPointervARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetVertexAttribPointervARB not loaded.");
  }
  if (traceGL_Native.glIsProgramARB)
  {
    if (traceGL_Native.glIsProgramARB == glIsProgramARB)
    {
      traceWarning("Ignoring glIsProgramARB loaded from traceGL library.");
      traceGL_Native.glIsProgramARB = NULL;
    }
  }
  else
  {
    traceWarning("glIsProgramARB not loaded.");
  }
  if (traceGL_Native.glBindBufferARB)
  {
    if (traceGL_Native.glBindBufferARB == glBindBufferARB)
    {
      traceWarning("Ignoring glBindBufferARB loaded from traceGL library.");
      traceGL_Native.glBindBufferARB = NULL;
    }
  }
  else
  {
    traceWarning("glBindBufferARB not loaded.");
  }
  if (traceGL_Native.glDeleteBuffersARB)
  {
    if (traceGL_Native.glDeleteBuffersARB == glDeleteBuffersARB)
    {
      traceWarning("Ignoring glDeleteBuffersARB loaded from traceGL library.");
      traceGL_Native.glDeleteBuffersARB = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteBuffersARB not loaded.");
  }
  if (traceGL_Native.glGenBuffersARB)
  {
    if (traceGL_Native.glGenBuffersARB == glGenBuffersARB)
    {
      traceWarning("Ignoring glGenBuffersARB loaded from traceGL library.");
      traceGL_Native.glGenBuffersARB = NULL;
    }
  }
  else
  {
    traceWarning("glGenBuffersARB not loaded.");
  }
  if (traceGL_Native.glIsBufferARB)
  {
    if (traceGL_Native.glIsBufferARB == glIsBufferARB)
    {
      traceWarning("Ignoring glIsBufferARB loaded from traceGL library.");
      traceGL_Native.glIsBufferARB = NULL;
    }
  }
  else
  {
    traceWarning("glIsBufferARB not loaded.");
  }
  if (traceGL_Native.glBufferDataARB)
  {
    if (traceGL_Native.glBufferDataARB == glBufferDataARB)
    {
      traceWarning("Ignoring glBufferDataARB loaded from traceGL library.");
      traceGL_Native.glBufferDataARB = NULL;
    }
  }
  else
  {
    traceWarning("glBufferDataARB not loaded.");
  }
  if (traceGL_Native.glBufferSubDataARB)
  {
    if (traceGL_Native.glBufferSubDataARB == glBufferSubDataARB)
    {
      traceWarning("Ignoring glBufferSubDataARB loaded from traceGL library.");
      traceGL_Native.glBufferSubDataARB = NULL;
    }
  }
  else
  {
    traceWarning("glBufferSubDataARB not loaded.");
  }
  if (traceGL_Native.glGetBufferSubDataARB)
  {
    if (traceGL_Native.glGetBufferSubDataARB == glGetBufferSubDataARB)
    {
      traceWarning("Ignoring glGetBufferSubDataARB loaded from traceGL library.");
      traceGL_Native.glGetBufferSubDataARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetBufferSubDataARB not loaded.");
  }
  if (traceGL_Native.glMapBufferARB)
  {
    if (traceGL_Native.glMapBufferARB == glMapBufferARB)
    {
      traceWarning("Ignoring glMapBufferARB loaded from traceGL library.");
      traceGL_Native.glMapBufferARB = NULL;
    }
  }
  else
  {
    traceWarning("glMapBufferARB not loaded.");
  }
  if (traceGL_Native.glUnmapBufferARB)
  {
    if (traceGL_Native.glUnmapBufferARB == glUnmapBufferARB)
    {
      traceWarning("Ignoring glUnmapBufferARB loaded from traceGL library.");
      traceGL_Native.glUnmapBufferARB = NULL;
    }
  }
  else
  {
    traceWarning("glUnmapBufferARB not loaded.");
  }
  if (traceGL_Native.glGetBufferParameterivARB)
  {
    if (traceGL_Native.glGetBufferParameterivARB == glGetBufferParameterivARB)
    {
      traceWarning("Ignoring glGetBufferParameterivARB loaded from traceGL library.");
      traceGL_Native.glGetBufferParameterivARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetBufferParameterivARB not loaded.");
  }
  if (traceGL_Native.glGetBufferPointervARB)
  {
    if (traceGL_Native.glGetBufferPointervARB == glGetBufferPointervARB)
    {
      traceWarning("Ignoring glGetBufferPointervARB loaded from traceGL library.");
      traceGL_Native.glGetBufferPointervARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetBufferPointervARB not loaded.");
  }
  if (traceGL_Native.glGenQueriesARB)
  {
    if (traceGL_Native.glGenQueriesARB == glGenQueriesARB)
    {
      traceWarning("Ignoring glGenQueriesARB loaded from traceGL library.");
      traceGL_Native.glGenQueriesARB = NULL;
    }
  }
  else
  {
    traceWarning("glGenQueriesARB not loaded.");
  }
  if (traceGL_Native.glDeleteQueriesARB)
  {
    if (traceGL_Native.glDeleteQueriesARB == glDeleteQueriesARB)
    {
      traceWarning("Ignoring glDeleteQueriesARB loaded from traceGL library.");
      traceGL_Native.glDeleteQueriesARB = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteQueriesARB not loaded.");
  }
  if (traceGL_Native.glIsQueryARB)
  {
    if (traceGL_Native.glIsQueryARB == glIsQueryARB)
    {
      traceWarning("Ignoring glIsQueryARB loaded from traceGL library.");
      traceGL_Native.glIsQueryARB = NULL;
    }
  }
  else
  {
    traceWarning("glIsQueryARB not loaded.");
  }
  if (traceGL_Native.glBeginQueryARB)
  {
    if (traceGL_Native.glBeginQueryARB == glBeginQueryARB)
    {
      traceWarning("Ignoring glBeginQueryARB loaded from traceGL library.");
      traceGL_Native.glBeginQueryARB = NULL;
    }
  }
  else
  {
    traceWarning("glBeginQueryARB not loaded.");
  }
  if (traceGL_Native.glEndQueryARB)
  {
    if (traceGL_Native.glEndQueryARB == glEndQueryARB)
    {
      traceWarning("Ignoring glEndQueryARB loaded from traceGL library.");
      traceGL_Native.glEndQueryARB = NULL;
    }
  }
  else
  {
    traceWarning("glEndQueryARB not loaded.");
  }
  if (traceGL_Native.glGetQueryivARB)
  {
    if (traceGL_Native.glGetQueryivARB == glGetQueryivARB)
    {
      traceWarning("Ignoring glGetQueryivARB loaded from traceGL library.");
      traceGL_Native.glGetQueryivARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetQueryivARB not loaded.");
  }
  if (traceGL_Native.glGetQueryObjectivARB)
  {
    if (traceGL_Native.glGetQueryObjectivARB == glGetQueryObjectivARB)
    {
      traceWarning("Ignoring glGetQueryObjectivARB loaded from traceGL library.");
      traceGL_Native.glGetQueryObjectivARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetQueryObjectivARB not loaded.");
  }
  if (traceGL_Native.glGetQueryObjectuivARB)
  {
    if (traceGL_Native.glGetQueryObjectuivARB == glGetQueryObjectuivARB)
    {
      traceWarning("Ignoring glGetQueryObjectuivARB loaded from traceGL library.");
      traceGL_Native.glGetQueryObjectuivARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetQueryObjectuivARB not loaded.");
  }
  if (traceGL_Native.glDeleteObjectARB)
  {
    if (traceGL_Native.glDeleteObjectARB == glDeleteObjectARB)
    {
      traceWarning("Ignoring glDeleteObjectARB loaded from traceGL library.");
      traceGL_Native.glDeleteObjectARB = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteObjectARB not loaded.");
  }
  if (traceGL_Native.glGetHandleARB)
  {
    if (traceGL_Native.glGetHandleARB == glGetHandleARB)
    {
      traceWarning("Ignoring glGetHandleARB loaded from traceGL library.");
      traceGL_Native.glGetHandleARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetHandleARB not loaded.");
  }
  if (traceGL_Native.glDetachObjectARB)
  {
    if (traceGL_Native.glDetachObjectARB == glDetachObjectARB)
    {
      traceWarning("Ignoring glDetachObjectARB loaded from traceGL library.");
      traceGL_Native.glDetachObjectARB = NULL;
    }
  }
  else
  {
    traceWarning("glDetachObjectARB not loaded.");
  }
  if (traceGL_Native.glCreateShaderObjectARB)
  {
    if (traceGL_Native.glCreateShaderObjectARB == glCreateShaderObjectARB)
    {
      traceWarning("Ignoring glCreateShaderObjectARB loaded from traceGL library.");
      traceGL_Native.glCreateShaderObjectARB = NULL;
    }
  }
  else
  {
    traceWarning("glCreateShaderObjectARB not loaded.");
  }
  if (traceGL_Native.glShaderSourceARB)
  {
    if (traceGL_Native.glShaderSourceARB == glShaderSourceARB)
    {
      traceWarning("Ignoring glShaderSourceARB loaded from traceGL library.");
      traceGL_Native.glShaderSourceARB = NULL;
    }
  }
  else
  {
    traceWarning("glShaderSourceARB not loaded.");
  }
  if (traceGL_Native.glCompileShaderARB)
  {
    if (traceGL_Native.glCompileShaderARB == glCompileShaderARB)
    {
      traceWarning("Ignoring glCompileShaderARB loaded from traceGL library.");
      traceGL_Native.glCompileShaderARB = NULL;
    }
  }
  else
  {
    traceWarning("glCompileShaderARB not loaded.");
  }
  if (traceGL_Native.glCreateProgramObjectARB)
  {
    if (traceGL_Native.glCreateProgramObjectARB == glCreateProgramObjectARB)
    {
      traceWarning("Ignoring glCreateProgramObjectARB loaded from traceGL library.");
      traceGL_Native.glCreateProgramObjectARB = NULL;
    }
  }
  else
  {
    traceWarning("glCreateProgramObjectARB not loaded.");
  }
  if (traceGL_Native.glAttachObjectARB)
  {
    if (traceGL_Native.glAttachObjectARB == glAttachObjectARB)
    {
      traceWarning("Ignoring glAttachObjectARB loaded from traceGL library.");
      traceGL_Native.glAttachObjectARB = NULL;
    }
  }
  else
  {
    traceWarning("glAttachObjectARB not loaded.");
  }
  if (traceGL_Native.glLinkProgramARB)
  {
    if (traceGL_Native.glLinkProgramARB == glLinkProgramARB)
    {
      traceWarning("Ignoring glLinkProgramARB loaded from traceGL library.");
      traceGL_Native.glLinkProgramARB = NULL;
    }
  }
  else
  {
    traceWarning("glLinkProgramARB not loaded.");
  }
  if (traceGL_Native.glUseProgramObjectARB)
  {
    if (traceGL_Native.glUseProgramObjectARB == glUseProgramObjectARB)
    {
      traceWarning("Ignoring glUseProgramObjectARB loaded from traceGL library.");
      traceGL_Native.glUseProgramObjectARB = NULL;
    }
  }
  else
  {
    traceWarning("glUseProgramObjectARB not loaded.");
  }
  if (traceGL_Native.glValidateProgramARB)
  {
    if (traceGL_Native.glValidateProgramARB == glValidateProgramARB)
    {
      traceWarning("Ignoring glValidateProgramARB loaded from traceGL library.");
      traceGL_Native.glValidateProgramARB = NULL;
    }
  }
  else
  {
    traceWarning("glValidateProgramARB not loaded.");
  }
  if (traceGL_Native.glUniform1fARB)
  {
    if (traceGL_Native.glUniform1fARB == glUniform1fARB)
    {
      traceWarning("Ignoring glUniform1fARB loaded from traceGL library.");
      traceGL_Native.glUniform1fARB = NULL;
    }
  }
  else
  {
    traceWarning("glUniform1fARB not loaded.");
  }
  if (traceGL_Native.glUniform2fARB)
  {
    if (traceGL_Native.glUniform2fARB == glUniform2fARB)
    {
      traceWarning("Ignoring glUniform2fARB loaded from traceGL library.");
      traceGL_Native.glUniform2fARB = NULL;
    }
  }
  else
  {
    traceWarning("glUniform2fARB not loaded.");
  }
  if (traceGL_Native.glUniform3fARB)
  {
    if (traceGL_Native.glUniform3fARB == glUniform3fARB)
    {
      traceWarning("Ignoring glUniform3fARB loaded from traceGL library.");
      traceGL_Native.glUniform3fARB = NULL;
    }
  }
  else
  {
    traceWarning("glUniform3fARB not loaded.");
  }
  if (traceGL_Native.glUniform4fARB)
  {
    if (traceGL_Native.glUniform4fARB == glUniform4fARB)
    {
      traceWarning("Ignoring glUniform4fARB loaded from traceGL library.");
      traceGL_Native.glUniform4fARB = NULL;
    }
  }
  else
  {
    traceWarning("glUniform4fARB not loaded.");
  }
  if (traceGL_Native.glUniform1iARB)
  {
    if (traceGL_Native.glUniform1iARB == glUniform1iARB)
    {
      traceWarning("Ignoring glUniform1iARB loaded from traceGL library.");
      traceGL_Native.glUniform1iARB = NULL;
    }
  }
  else
  {
    traceWarning("glUniform1iARB not loaded.");
  }
  if (traceGL_Native.glUniform2iARB)
  {
    if (traceGL_Native.glUniform2iARB == glUniform2iARB)
    {
      traceWarning("Ignoring glUniform2iARB loaded from traceGL library.");
      traceGL_Native.glUniform2iARB = NULL;
    }
  }
  else
  {
    traceWarning("glUniform2iARB not loaded.");
  }
  if (traceGL_Native.glUniform3iARB)
  {
    if (traceGL_Native.glUniform3iARB == glUniform3iARB)
    {
      traceWarning("Ignoring glUniform3iARB loaded from traceGL library.");
      traceGL_Native.glUniform3iARB = NULL;
    }
  }
  else
  {
    traceWarning("glUniform3iARB not loaded.");
  }
  if (traceGL_Native.glUniform4iARB)
  {
    if (traceGL_Native.glUniform4iARB == glUniform4iARB)
    {
      traceWarning("Ignoring glUniform4iARB loaded from traceGL library.");
      traceGL_Native.glUniform4iARB = NULL;
    }
  }
  else
  {
    traceWarning("glUniform4iARB not loaded.");
  }
  if (traceGL_Native.glUniform1fvARB)
  {
    if (traceGL_Native.glUniform1fvARB == glUniform1fvARB)
    {
      traceWarning("Ignoring glUniform1fvARB loaded from traceGL library.");
      traceGL_Native.glUniform1fvARB = NULL;
    }
  }
  else
  {
    traceWarning("glUniform1fvARB not loaded.");
  }
  if (traceGL_Native.glUniform2fvARB)
  {
    if (traceGL_Native.glUniform2fvARB == glUniform2fvARB)
    {
      traceWarning("Ignoring glUniform2fvARB loaded from traceGL library.");
      traceGL_Native.glUniform2fvARB = NULL;
    }
  }
  else
  {
    traceWarning("glUniform2fvARB not loaded.");
  }
  if (traceGL_Native.glUniform3fvARB)
  {
    if (traceGL_Native.glUniform3fvARB == glUniform3fvARB)
    {
      traceWarning("Ignoring glUniform3fvARB loaded from traceGL library.");
      traceGL_Native.glUniform3fvARB = NULL;
    }
  }
  else
  {
    traceWarning("glUniform3fvARB not loaded.");
  }
  if (traceGL_Native.glUniform4fvARB)
  {
    if (traceGL_Native.glUniform4fvARB == glUniform4fvARB)
    {
      traceWarning("Ignoring glUniform4fvARB loaded from traceGL library.");
      traceGL_Native.glUniform4fvARB = NULL;
    }
  }
  else
  {
    traceWarning("glUniform4fvARB not loaded.");
  }
  if (traceGL_Native.glUniform1ivARB)
  {
    if (traceGL_Native.glUniform1ivARB == glUniform1ivARB)
    {
      traceWarning("Ignoring glUniform1ivARB loaded from traceGL library.");
      traceGL_Native.glUniform1ivARB = NULL;
    }
  }
  else
  {
    traceWarning("glUniform1ivARB not loaded.");
  }
  if (traceGL_Native.glUniform2ivARB)
  {
    if (traceGL_Native.glUniform2ivARB == glUniform2ivARB)
    {
      traceWarning("Ignoring glUniform2ivARB loaded from traceGL library.");
      traceGL_Native.glUniform2ivARB = NULL;
    }
  }
  else
  {
    traceWarning("glUniform2ivARB not loaded.");
  }
  if (traceGL_Native.glUniform3ivARB)
  {
    if (traceGL_Native.glUniform3ivARB == glUniform3ivARB)
    {
      traceWarning("Ignoring glUniform3ivARB loaded from traceGL library.");
      traceGL_Native.glUniform3ivARB = NULL;
    }
  }
  else
  {
    traceWarning("glUniform3ivARB not loaded.");
  }
  if (traceGL_Native.glUniform4ivARB)
  {
    if (traceGL_Native.glUniform4ivARB == glUniform4ivARB)
    {
      traceWarning("Ignoring glUniform4ivARB loaded from traceGL library.");
      traceGL_Native.glUniform4ivARB = NULL;
    }
  }
  else
  {
    traceWarning("glUniform4ivARB not loaded.");
  }
  if (traceGL_Native.glUniformMatrix2fvARB)
  {
    if (traceGL_Native.glUniformMatrix2fvARB == glUniformMatrix2fvARB)
    {
      traceWarning("Ignoring glUniformMatrix2fvARB loaded from traceGL library.");
      traceGL_Native.glUniformMatrix2fvARB = NULL;
    }
  }
  else
  {
    traceWarning("glUniformMatrix2fvARB not loaded.");
  }
  if (traceGL_Native.glUniformMatrix3fvARB)
  {
    if (traceGL_Native.glUniformMatrix3fvARB == glUniformMatrix3fvARB)
    {
      traceWarning("Ignoring glUniformMatrix3fvARB loaded from traceGL library.");
      traceGL_Native.glUniformMatrix3fvARB = NULL;
    }
  }
  else
  {
    traceWarning("glUniformMatrix3fvARB not loaded.");
  }
  if (traceGL_Native.glUniformMatrix4fvARB)
  {
    if (traceGL_Native.glUniformMatrix4fvARB == glUniformMatrix4fvARB)
    {
      traceWarning("Ignoring glUniformMatrix4fvARB loaded from traceGL library.");
      traceGL_Native.glUniformMatrix4fvARB = NULL;
    }
  }
  else
  {
    traceWarning("glUniformMatrix4fvARB not loaded.");
  }
  if (traceGL_Native.glGetObjectParameterfvARB)
  {
    if (traceGL_Native.glGetObjectParameterfvARB == glGetObjectParameterfvARB)
    {
      traceWarning("Ignoring glGetObjectParameterfvARB loaded from traceGL library.");
      traceGL_Native.glGetObjectParameterfvARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetObjectParameterfvARB not loaded.");
  }
  if (traceGL_Native.glGetObjectParameterivARB)
  {
    if (traceGL_Native.glGetObjectParameterivARB == glGetObjectParameterivARB)
    {
      traceWarning("Ignoring glGetObjectParameterivARB loaded from traceGL library.");
      traceGL_Native.glGetObjectParameterivARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetObjectParameterivARB not loaded.");
  }
  if (traceGL_Native.glGetInfoLogARB)
  {
    if (traceGL_Native.glGetInfoLogARB == glGetInfoLogARB)
    {
      traceWarning("Ignoring glGetInfoLogARB loaded from traceGL library.");
      traceGL_Native.glGetInfoLogARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetInfoLogARB not loaded.");
  }
  if (traceGL_Native.glGetAttachedObjectsARB)
  {
    if (traceGL_Native.glGetAttachedObjectsARB == glGetAttachedObjectsARB)
    {
      traceWarning("Ignoring glGetAttachedObjectsARB loaded from traceGL library.");
      traceGL_Native.glGetAttachedObjectsARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetAttachedObjectsARB not loaded.");
  }
  if (traceGL_Native.glGetUniformLocationARB)
  {
    if (traceGL_Native.glGetUniformLocationARB == glGetUniformLocationARB)
    {
      traceWarning("Ignoring glGetUniformLocationARB loaded from traceGL library.");
      traceGL_Native.glGetUniformLocationARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetUniformLocationARB not loaded.");
  }
  if (traceGL_Native.glGetActiveUniformARB)
  {
    if (traceGL_Native.glGetActiveUniformARB == glGetActiveUniformARB)
    {
      traceWarning("Ignoring glGetActiveUniformARB loaded from traceGL library.");
      traceGL_Native.glGetActiveUniformARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetActiveUniformARB not loaded.");
  }
  if (traceGL_Native.glGetUniformfvARB)
  {
    if (traceGL_Native.glGetUniformfvARB == glGetUniformfvARB)
    {
      traceWarning("Ignoring glGetUniformfvARB loaded from traceGL library.");
      traceGL_Native.glGetUniformfvARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetUniformfvARB not loaded.");
  }
  if (traceGL_Native.glGetUniformivARB)
  {
    if (traceGL_Native.glGetUniformivARB == glGetUniformivARB)
    {
      traceWarning("Ignoring glGetUniformivARB loaded from traceGL library.");
      traceGL_Native.glGetUniformivARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetUniformivARB not loaded.");
  }
  if (traceGL_Native.glGetShaderSourceARB)
  {
    if (traceGL_Native.glGetShaderSourceARB == glGetShaderSourceARB)
    {
      traceWarning("Ignoring glGetShaderSourceARB loaded from traceGL library.");
      traceGL_Native.glGetShaderSourceARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetShaderSourceARB not loaded.");
  }
  if (traceGL_Native.glBindAttribLocationARB)
  {
    if (traceGL_Native.glBindAttribLocationARB == glBindAttribLocationARB)
    {
      traceWarning("Ignoring glBindAttribLocationARB loaded from traceGL library.");
      traceGL_Native.glBindAttribLocationARB = NULL;
    }
  }
  else
  {
    traceWarning("glBindAttribLocationARB not loaded.");
  }
  if (traceGL_Native.glGetActiveAttribARB)
  {
    if (traceGL_Native.glGetActiveAttribARB == glGetActiveAttribARB)
    {
      traceWarning("Ignoring glGetActiveAttribARB loaded from traceGL library.");
      traceGL_Native.glGetActiveAttribARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetActiveAttribARB not loaded.");
  }
  if (traceGL_Native.glGetAttribLocationARB)
  {
    if (traceGL_Native.glGetAttribLocationARB == glGetAttribLocationARB)
    {
      traceWarning("Ignoring glGetAttribLocationARB loaded from traceGL library.");
      traceGL_Native.glGetAttribLocationARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetAttribLocationARB not loaded.");
  }
  if (traceGL_Native.glDrawBuffersARB)
  {
    if (traceGL_Native.glDrawBuffersARB == glDrawBuffersARB)
    {
      traceWarning("Ignoring glDrawBuffersARB loaded from traceGL library.");
      traceGL_Native.glDrawBuffersARB = NULL;
    }
  }
  else
  {
    traceWarning("glDrawBuffersARB not loaded.");
  }
  if (traceGL_Native.glClampColorARB)
  {
    if (traceGL_Native.glClampColorARB == glClampColorARB)
    {
      traceWarning("Ignoring glClampColorARB loaded from traceGL library.");
      traceGL_Native.glClampColorARB = NULL;
    }
  }
  else
  {
    traceWarning("glClampColorARB not loaded.");
  }
  if (traceGL_Native.glDrawArraysInstancedARB)
  {
    if (traceGL_Native.glDrawArraysInstancedARB == glDrawArraysInstancedARB)
    {
      traceWarning("Ignoring glDrawArraysInstancedARB loaded from traceGL library.");
      traceGL_Native.glDrawArraysInstancedARB = NULL;
    }
  }
  else
  {
    traceWarning("glDrawArraysInstancedARB not loaded.");
  }
  if (traceGL_Native.glDrawElementsInstancedARB)
  {
    if (traceGL_Native.glDrawElementsInstancedARB == glDrawElementsInstancedARB)
    {
      traceWarning("Ignoring glDrawElementsInstancedARB loaded from traceGL library.");
      traceGL_Native.glDrawElementsInstancedARB = NULL;
    }
  }
  else
  {
    traceWarning("glDrawElementsInstancedARB not loaded.");
  }
  if (traceGL_Native.glIsRenderbuffer)
  {
    if (traceGL_Native.glIsRenderbuffer == glIsRenderbuffer)
    {
      traceWarning("Ignoring glIsRenderbuffer loaded from traceGL library.");
      traceGL_Native.glIsRenderbuffer = NULL;
    }
  }
  else
  {
    traceWarning("glIsRenderbuffer not loaded.");
  }
  if (traceGL_Native.glBindRenderbuffer)
  {
    if (traceGL_Native.glBindRenderbuffer == glBindRenderbuffer)
    {
      traceWarning("Ignoring glBindRenderbuffer loaded from traceGL library.");
      traceGL_Native.glBindRenderbuffer = NULL;
    }
  }
  else
  {
    traceWarning("glBindRenderbuffer not loaded.");
  }
  if (traceGL_Native.glDeleteRenderbuffers)
  {
    if (traceGL_Native.glDeleteRenderbuffers == glDeleteRenderbuffers)
    {
      traceWarning("Ignoring glDeleteRenderbuffers loaded from traceGL library.");
      traceGL_Native.glDeleteRenderbuffers = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteRenderbuffers not loaded.");
  }
  if (traceGL_Native.glGenRenderbuffers)
  {
    if (traceGL_Native.glGenRenderbuffers == glGenRenderbuffers)
    {
      traceWarning("Ignoring glGenRenderbuffers loaded from traceGL library.");
      traceGL_Native.glGenRenderbuffers = NULL;
    }
  }
  else
  {
    traceWarning("glGenRenderbuffers not loaded.");
  }
  if (traceGL_Native.glRenderbufferStorage)
  {
    if (traceGL_Native.glRenderbufferStorage == glRenderbufferStorage)
    {
      traceWarning("Ignoring glRenderbufferStorage loaded from traceGL library.");
      traceGL_Native.glRenderbufferStorage = NULL;
    }
  }
  else
  {
    traceWarning("glRenderbufferStorage not loaded.");
  }
  if (traceGL_Native.glGetRenderbufferParameteriv)
  {
    if (traceGL_Native.glGetRenderbufferParameteriv == glGetRenderbufferParameteriv)
    {
      traceWarning("Ignoring glGetRenderbufferParameteriv loaded from traceGL library.");
      traceGL_Native.glGetRenderbufferParameteriv = NULL;
    }
  }
  else
  {
    traceWarning("glGetRenderbufferParameteriv not loaded.");
  }
  if (traceGL_Native.glIsFramebuffer)
  {
    if (traceGL_Native.glIsFramebuffer == glIsFramebuffer)
    {
      traceWarning("Ignoring glIsFramebuffer loaded from traceGL library.");
      traceGL_Native.glIsFramebuffer = NULL;
    }
  }
  else
  {
    traceWarning("glIsFramebuffer not loaded.");
  }
  if (traceGL_Native.glBindFramebuffer)
  {
    if (traceGL_Native.glBindFramebuffer == glBindFramebuffer)
    {
      traceWarning("Ignoring glBindFramebuffer loaded from traceGL library.");
      traceGL_Native.glBindFramebuffer = NULL;
    }
  }
  else
  {
    traceWarning("glBindFramebuffer not loaded.");
  }
  if (traceGL_Native.glDeleteFramebuffers)
  {
    if (traceGL_Native.glDeleteFramebuffers == glDeleteFramebuffers)
    {
      traceWarning("Ignoring glDeleteFramebuffers loaded from traceGL library.");
      traceGL_Native.glDeleteFramebuffers = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteFramebuffers not loaded.");
  }
  if (traceGL_Native.glGenFramebuffers)
  {
    if (traceGL_Native.glGenFramebuffers == glGenFramebuffers)
    {
      traceWarning("Ignoring glGenFramebuffers loaded from traceGL library.");
      traceGL_Native.glGenFramebuffers = NULL;
    }
  }
  else
  {
    traceWarning("glGenFramebuffers not loaded.");
  }
  if (traceGL_Native.glCheckFramebufferStatus)
  {
    if (traceGL_Native.glCheckFramebufferStatus == glCheckFramebufferStatus)
    {
      traceWarning("Ignoring glCheckFramebufferStatus loaded from traceGL library.");
      traceGL_Native.glCheckFramebufferStatus = NULL;
    }
  }
  else
  {
    traceWarning("glCheckFramebufferStatus not loaded.");
  }
  if (traceGL_Native.glFramebufferTexture1D)
  {
    if (traceGL_Native.glFramebufferTexture1D == glFramebufferTexture1D)
    {
      traceWarning("Ignoring glFramebufferTexture1D loaded from traceGL library.");
      traceGL_Native.glFramebufferTexture1D = NULL;
    }
  }
  else
  {
    traceWarning("glFramebufferTexture1D not loaded.");
  }
  if (traceGL_Native.glFramebufferTexture2D)
  {
    if (traceGL_Native.glFramebufferTexture2D == glFramebufferTexture2D)
    {
      traceWarning("Ignoring glFramebufferTexture2D loaded from traceGL library.");
      traceGL_Native.glFramebufferTexture2D = NULL;
    }
  }
  else
  {
    traceWarning("glFramebufferTexture2D not loaded.");
  }
  if (traceGL_Native.glFramebufferTexture3D)
  {
    if (traceGL_Native.glFramebufferTexture3D == glFramebufferTexture3D)
    {
      traceWarning("Ignoring glFramebufferTexture3D loaded from traceGL library.");
      traceGL_Native.glFramebufferTexture3D = NULL;
    }
  }
  else
  {
    traceWarning("glFramebufferTexture3D not loaded.");
  }
  if (traceGL_Native.glFramebufferRenderbuffer)
  {
    if (traceGL_Native.glFramebufferRenderbuffer == glFramebufferRenderbuffer)
    {
      traceWarning("Ignoring glFramebufferRenderbuffer loaded from traceGL library.");
      traceGL_Native.glFramebufferRenderbuffer = NULL;
    }
  }
  else
  {
    traceWarning("glFramebufferRenderbuffer not loaded.");
  }
  if (traceGL_Native.glGetFramebufferAttachmentParameteriv)
  {
    if (traceGL_Native.glGetFramebufferAttachmentParameteriv == glGetFramebufferAttachmentParameteriv)
    {
      traceWarning("Ignoring glGetFramebufferAttachmentParameteriv loaded from traceGL library.");
      traceGL_Native.glGetFramebufferAttachmentParameteriv = NULL;
    }
  }
  else
  {
    traceWarning("glGetFramebufferAttachmentParameteriv not loaded.");
  }
  if (traceGL_Native.glGenerateMipmap)
  {
    if (traceGL_Native.glGenerateMipmap == glGenerateMipmap)
    {
      traceWarning("Ignoring glGenerateMipmap loaded from traceGL library.");
      traceGL_Native.glGenerateMipmap = NULL;
    }
  }
  else
  {
    traceWarning("glGenerateMipmap not loaded.");
  }
  if (traceGL_Native.glBlitFramebuffer)
  {
    if (traceGL_Native.glBlitFramebuffer == glBlitFramebuffer)
    {
      traceWarning("Ignoring glBlitFramebuffer loaded from traceGL library.");
      traceGL_Native.glBlitFramebuffer = NULL;
    }
  }
  else
  {
    traceWarning("glBlitFramebuffer not loaded.");
  }
  if (traceGL_Native.glRenderbufferStorageMultisample)
  {
    if (traceGL_Native.glRenderbufferStorageMultisample == glRenderbufferStorageMultisample)
    {
      traceWarning("Ignoring glRenderbufferStorageMultisample loaded from traceGL library.");
      traceGL_Native.glRenderbufferStorageMultisample = NULL;
    }
  }
  else
  {
    traceWarning("glRenderbufferStorageMultisample not loaded.");
  }
  if (traceGL_Native.glFramebufferTextureLayer)
  {
    if (traceGL_Native.glFramebufferTextureLayer == glFramebufferTextureLayer)
    {
      traceWarning("Ignoring glFramebufferTextureLayer loaded from traceGL library.");
      traceGL_Native.glFramebufferTextureLayer = NULL;
    }
  }
  else
  {
    traceWarning("glFramebufferTextureLayer not loaded.");
  }
  if (traceGL_Native.glProgramParameteriARB)
  {
    if (traceGL_Native.glProgramParameteriARB == glProgramParameteriARB)
    {
      traceWarning("Ignoring glProgramParameteriARB loaded from traceGL library.");
      traceGL_Native.glProgramParameteriARB = NULL;
    }
  }
  else
  {
    traceWarning("glProgramParameteriARB not loaded.");
  }
  if (traceGL_Native.glFramebufferTextureARB)
  {
    if (traceGL_Native.glFramebufferTextureARB == glFramebufferTextureARB)
    {
      traceWarning("Ignoring glFramebufferTextureARB loaded from traceGL library.");
      traceGL_Native.glFramebufferTextureARB = NULL;
    }
  }
  else
  {
    traceWarning("glFramebufferTextureARB not loaded.");
  }
  if (traceGL_Native.glFramebufferTextureLayerARB)
  {
    if (traceGL_Native.glFramebufferTextureLayerARB == glFramebufferTextureLayerARB)
    {
      traceWarning("Ignoring glFramebufferTextureLayerARB loaded from traceGL library.");
      traceGL_Native.glFramebufferTextureLayerARB = NULL;
    }
  }
  else
  {
    traceWarning("glFramebufferTextureLayerARB not loaded.");
  }
  if (traceGL_Native.glFramebufferTextureFaceARB)
  {
    if (traceGL_Native.glFramebufferTextureFaceARB == glFramebufferTextureFaceARB)
    {
      traceWarning("Ignoring glFramebufferTextureFaceARB loaded from traceGL library.");
      traceGL_Native.glFramebufferTextureFaceARB = NULL;
    }
  }
  else
  {
    traceWarning("glFramebufferTextureFaceARB not loaded.");
  }
  if (traceGL_Native.glVertexAttribDivisorARB)
  {
    if (traceGL_Native.glVertexAttribDivisorARB == glVertexAttribDivisorARB)
    {
      traceWarning("Ignoring glVertexAttribDivisorARB loaded from traceGL library.");
      traceGL_Native.glVertexAttribDivisorARB = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribDivisorARB not loaded.");
  }
  if (traceGL_Native.glMapBufferRange)
  {
    if (traceGL_Native.glMapBufferRange == glMapBufferRange)
    {
      traceWarning("Ignoring glMapBufferRange loaded from traceGL library.");
      traceGL_Native.glMapBufferRange = NULL;
    }
  }
  else
  {
    traceWarning("glMapBufferRange not loaded.");
  }
  if (traceGL_Native.glFlushMappedBufferRange)
  {
    if (traceGL_Native.glFlushMappedBufferRange == glFlushMappedBufferRange)
    {
      traceWarning("Ignoring glFlushMappedBufferRange loaded from traceGL library.");
      traceGL_Native.glFlushMappedBufferRange = NULL;
    }
  }
  else
  {
    traceWarning("glFlushMappedBufferRange not loaded.");
  }
  if (traceGL_Native.glTexBufferARB)
  {
    if (traceGL_Native.glTexBufferARB == glTexBufferARB)
    {
      traceWarning("Ignoring glTexBufferARB loaded from traceGL library.");
      traceGL_Native.glTexBufferARB = NULL;
    }
  }
  else
  {
    traceWarning("glTexBufferARB not loaded.");
  }
  if (traceGL_Native.glBindVertexArray)
  {
    if (traceGL_Native.glBindVertexArray == glBindVertexArray)
    {
      traceWarning("Ignoring glBindVertexArray loaded from traceGL library.");
      traceGL_Native.glBindVertexArray = NULL;
    }
  }
  else
  {
    traceWarning("glBindVertexArray not loaded.");
  }
  if (traceGL_Native.glDeleteVertexArrays)
  {
    if (traceGL_Native.glDeleteVertexArrays == glDeleteVertexArrays)
    {
      traceWarning("Ignoring glDeleteVertexArrays loaded from traceGL library.");
      traceGL_Native.glDeleteVertexArrays = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteVertexArrays not loaded.");
  }
  if (traceGL_Native.glGenVertexArrays)
  {
    if (traceGL_Native.glGenVertexArrays == glGenVertexArrays)
    {
      traceWarning("Ignoring glGenVertexArrays loaded from traceGL library.");
      traceGL_Native.glGenVertexArrays = NULL;
    }
  }
  else
  {
    traceWarning("glGenVertexArrays not loaded.");
  }
  if (traceGL_Native.glIsVertexArray)
  {
    if (traceGL_Native.glIsVertexArray == glIsVertexArray)
    {
      traceWarning("Ignoring glIsVertexArray loaded from traceGL library.");
      traceGL_Native.glIsVertexArray = NULL;
    }
  }
  else
  {
    traceWarning("glIsVertexArray not loaded.");
  }
  if (traceGL_Native.glGetUniformIndices)
  {
    if (traceGL_Native.glGetUniformIndices == glGetUniformIndices)
    {
      traceWarning("Ignoring glGetUniformIndices loaded from traceGL library.");
      traceGL_Native.glGetUniformIndices = NULL;
    }
  }
  else
  {
    traceWarning("glGetUniformIndices not loaded.");
  }
  if (traceGL_Native.glGetActiveUniformsiv)
  {
    if (traceGL_Native.glGetActiveUniformsiv == glGetActiveUniformsiv)
    {
      traceWarning("Ignoring glGetActiveUniformsiv loaded from traceGL library.");
      traceGL_Native.glGetActiveUniformsiv = NULL;
    }
  }
  else
  {
    traceWarning("glGetActiveUniformsiv not loaded.");
  }
  if (traceGL_Native.glGetActiveUniformName)
  {
    if (traceGL_Native.glGetActiveUniformName == glGetActiveUniformName)
    {
      traceWarning("Ignoring glGetActiveUniformName loaded from traceGL library.");
      traceGL_Native.glGetActiveUniformName = NULL;
    }
  }
  else
  {
    traceWarning("glGetActiveUniformName not loaded.");
  }
  if (traceGL_Native.glGetUniformBlockIndex)
  {
    if (traceGL_Native.glGetUniformBlockIndex == glGetUniformBlockIndex)
    {
      traceWarning("Ignoring glGetUniformBlockIndex loaded from traceGL library.");
      traceGL_Native.glGetUniformBlockIndex = NULL;
    }
  }
  else
  {
    traceWarning("glGetUniformBlockIndex not loaded.");
  }
  if (traceGL_Native.glGetActiveUniformBlockiv)
  {
    if (traceGL_Native.glGetActiveUniformBlockiv == glGetActiveUniformBlockiv)
    {
      traceWarning("Ignoring glGetActiveUniformBlockiv loaded from traceGL library.");
      traceGL_Native.glGetActiveUniformBlockiv = NULL;
    }
  }
  else
  {
    traceWarning("glGetActiveUniformBlockiv not loaded.");
  }
  if (traceGL_Native.glGetActiveUniformBlockName)
  {
    if (traceGL_Native.glGetActiveUniformBlockName == glGetActiveUniformBlockName)
    {
      traceWarning("Ignoring glGetActiveUniformBlockName loaded from traceGL library.");
      traceGL_Native.glGetActiveUniformBlockName = NULL;
    }
  }
  else
  {
    traceWarning("glGetActiveUniformBlockName not loaded.");
  }
  if (traceGL_Native.glUniformBlockBinding)
  {
    if (traceGL_Native.glUniformBlockBinding == glUniformBlockBinding)
    {
      traceWarning("Ignoring glUniformBlockBinding loaded from traceGL library.");
      traceGL_Native.glUniformBlockBinding = NULL;
    }
  }
  else
  {
    traceWarning("glUniformBlockBinding not loaded.");
  }
  if (traceGL_Native.glCopyBufferSubData)
  {
    if (traceGL_Native.glCopyBufferSubData == glCopyBufferSubData)
    {
      traceWarning("Ignoring glCopyBufferSubData loaded from traceGL library.");
      traceGL_Native.glCopyBufferSubData = NULL;
    }
  }
  else
  {
    traceWarning("glCopyBufferSubData not loaded.");
  }
  if (traceGL_Native.glDrawElementsBaseVertex)
  {
    if (traceGL_Native.glDrawElementsBaseVertex == glDrawElementsBaseVertex)
    {
      traceWarning("Ignoring glDrawElementsBaseVertex loaded from traceGL library.");
      traceGL_Native.glDrawElementsBaseVertex = NULL;
    }
  }
  else
  {
    traceWarning("glDrawElementsBaseVertex not loaded.");
  }
  if (traceGL_Native.glDrawRangeElementsBaseVertex)
  {
    if (traceGL_Native.glDrawRangeElementsBaseVertex == glDrawRangeElementsBaseVertex)
    {
      traceWarning("Ignoring glDrawRangeElementsBaseVertex loaded from traceGL library.");
      traceGL_Native.glDrawRangeElementsBaseVertex = NULL;
    }
  }
  else
  {
    traceWarning("glDrawRangeElementsBaseVertex not loaded.");
  }
  if (traceGL_Native.glDrawElementsInstancedBaseVertex)
  {
    if (traceGL_Native.glDrawElementsInstancedBaseVertex == glDrawElementsInstancedBaseVertex)
    {
      traceWarning("Ignoring glDrawElementsInstancedBaseVertex loaded from traceGL library.");
      traceGL_Native.glDrawElementsInstancedBaseVertex = NULL;
    }
  }
  else
  {
    traceWarning("glDrawElementsInstancedBaseVertex not loaded.");
  }
  if (traceGL_Native.glMultiDrawElementsBaseVertex)
  {
    if (traceGL_Native.glMultiDrawElementsBaseVertex == glMultiDrawElementsBaseVertex)
    {
      traceWarning("Ignoring glMultiDrawElementsBaseVertex loaded from traceGL library.");
      traceGL_Native.glMultiDrawElementsBaseVertex = NULL;
    }
  }
  else
  {
    traceWarning("glMultiDrawElementsBaseVertex not loaded.");
  }
  if (traceGL_Native.glProvokingVertex)
  {
    if (traceGL_Native.glProvokingVertex == glProvokingVertex)
    {
      traceWarning("Ignoring glProvokingVertex loaded from traceGL library.");
      traceGL_Native.glProvokingVertex = NULL;
    }
  }
  else
  {
    traceWarning("glProvokingVertex not loaded.");
  }
  if (traceGL_Native.glFenceSync)
  {
    if (traceGL_Native.glFenceSync == glFenceSync)
    {
      traceWarning("Ignoring glFenceSync loaded from traceGL library.");
      traceGL_Native.glFenceSync = NULL;
    }
  }
  else
  {
    traceWarning("glFenceSync not loaded.");
  }
  if (traceGL_Native.glIsSync)
  {
    if (traceGL_Native.glIsSync == glIsSync)
    {
      traceWarning("Ignoring glIsSync loaded from traceGL library.");
      traceGL_Native.glIsSync = NULL;
    }
  }
  else
  {
    traceWarning("glIsSync not loaded.");
  }
  if (traceGL_Native.glDeleteSync)
  {
    if (traceGL_Native.glDeleteSync == glDeleteSync)
    {
      traceWarning("Ignoring glDeleteSync loaded from traceGL library.");
      traceGL_Native.glDeleteSync = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteSync not loaded.");
  }
  if (traceGL_Native.glClientWaitSync)
  {
    if (traceGL_Native.glClientWaitSync == glClientWaitSync)
    {
      traceWarning("Ignoring glClientWaitSync loaded from traceGL library.");
      traceGL_Native.glClientWaitSync = NULL;
    }
  }
  else
  {
    traceWarning("glClientWaitSync not loaded.");
  }
  if (traceGL_Native.glWaitSync)
  {
    if (traceGL_Native.glWaitSync == glWaitSync)
    {
      traceWarning("Ignoring glWaitSync loaded from traceGL library.");
      traceGL_Native.glWaitSync = NULL;
    }
  }
  else
  {
    traceWarning("glWaitSync not loaded.");
  }
  if (traceGL_Native.glGetInteger64v)
  {
    if (traceGL_Native.glGetInteger64v == glGetInteger64v)
    {
      traceWarning("Ignoring glGetInteger64v loaded from traceGL library.");
      traceGL_Native.glGetInteger64v = NULL;
    }
  }
  else
  {
    traceWarning("glGetInteger64v not loaded.");
  }
  if (traceGL_Native.glGetSynciv)
  {
    if (traceGL_Native.glGetSynciv == glGetSynciv)
    {
      traceWarning("Ignoring glGetSynciv loaded from traceGL library.");
      traceGL_Native.glGetSynciv = NULL;
    }
  }
  else
  {
    traceWarning("glGetSynciv not loaded.");
  }
  if (traceGL_Native.glTexImage2DMultisample)
  {
    if (traceGL_Native.glTexImage2DMultisample == glTexImage2DMultisample)
    {
      traceWarning("Ignoring glTexImage2DMultisample loaded from traceGL library.");
      traceGL_Native.glTexImage2DMultisample = NULL;
    }
  }
  else
  {
    traceWarning("glTexImage2DMultisample not loaded.");
  }
  if (traceGL_Native.glTexImage3DMultisample)
  {
    if (traceGL_Native.glTexImage3DMultisample == glTexImage3DMultisample)
    {
      traceWarning("Ignoring glTexImage3DMultisample loaded from traceGL library.");
      traceGL_Native.glTexImage3DMultisample = NULL;
    }
  }
  else
  {
    traceWarning("glTexImage3DMultisample not loaded.");
  }
  if (traceGL_Native.glGetMultisamplefv)
  {
    if (traceGL_Native.glGetMultisamplefv == glGetMultisamplefv)
    {
      traceWarning("Ignoring glGetMultisamplefv loaded from traceGL library.");
      traceGL_Native.glGetMultisamplefv = NULL;
    }
  }
  else
  {
    traceWarning("glGetMultisamplefv not loaded.");
  }
  if (traceGL_Native.glSampleMaski)
  {
    if (traceGL_Native.glSampleMaski == glSampleMaski)
    {
      traceWarning("Ignoring glSampleMaski loaded from traceGL library.");
      traceGL_Native.glSampleMaski = NULL;
    }
  }
  else
  {
    traceWarning("glSampleMaski not loaded.");
  }
  if (traceGL_Native.glBlendEquationiARB)
  {
    if (traceGL_Native.glBlendEquationiARB == glBlendEquationiARB)
    {
      traceWarning("Ignoring glBlendEquationiARB loaded from traceGL library.");
      traceGL_Native.glBlendEquationiARB = NULL;
    }
  }
  else
  {
    traceWarning("glBlendEquationiARB not loaded.");
  }
  if (traceGL_Native.glBlendEquationSeparateiARB)
  {
    if (traceGL_Native.glBlendEquationSeparateiARB == glBlendEquationSeparateiARB)
    {
      traceWarning("Ignoring glBlendEquationSeparateiARB loaded from traceGL library.");
      traceGL_Native.glBlendEquationSeparateiARB = NULL;
    }
  }
  else
  {
    traceWarning("glBlendEquationSeparateiARB not loaded.");
  }
  if (traceGL_Native.glBlendFunciARB)
  {
    if (traceGL_Native.glBlendFunciARB == glBlendFunciARB)
    {
      traceWarning("Ignoring glBlendFunciARB loaded from traceGL library.");
      traceGL_Native.glBlendFunciARB = NULL;
    }
  }
  else
  {
    traceWarning("glBlendFunciARB not loaded.");
  }
  if (traceGL_Native.glBlendFuncSeparateiARB)
  {
    if (traceGL_Native.glBlendFuncSeparateiARB == glBlendFuncSeparateiARB)
    {
      traceWarning("Ignoring glBlendFuncSeparateiARB loaded from traceGL library.");
      traceGL_Native.glBlendFuncSeparateiARB = NULL;
    }
  }
  else
  {
    traceWarning("glBlendFuncSeparateiARB not loaded.");
  }
  if (traceGL_Native.glMinSampleShadingARB)
  {
    if (traceGL_Native.glMinSampleShadingARB == glMinSampleShadingARB)
    {
      traceWarning("Ignoring glMinSampleShadingARB loaded from traceGL library.");
      traceGL_Native.glMinSampleShadingARB = NULL;
    }
  }
  else
  {
    traceWarning("glMinSampleShadingARB not loaded.");
  }
  if (traceGL_Native.glNamedStringARB)
  {
    if (traceGL_Native.glNamedStringARB == glNamedStringARB)
    {
      traceWarning("Ignoring glNamedStringARB loaded from traceGL library.");
      traceGL_Native.glNamedStringARB = NULL;
    }
  }
  else
  {
    traceWarning("glNamedStringARB not loaded.");
  }
  if (traceGL_Native.glDeleteNamedStringARB)
  {
    if (traceGL_Native.glDeleteNamedStringARB == glDeleteNamedStringARB)
    {
      traceWarning("Ignoring glDeleteNamedStringARB loaded from traceGL library.");
      traceGL_Native.glDeleteNamedStringARB = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteNamedStringARB not loaded.");
  }
  if (traceGL_Native.glCompileShaderIncludeARB)
  {
    if (traceGL_Native.glCompileShaderIncludeARB == glCompileShaderIncludeARB)
    {
      traceWarning("Ignoring glCompileShaderIncludeARB loaded from traceGL library.");
      traceGL_Native.glCompileShaderIncludeARB = NULL;
    }
  }
  else
  {
    traceWarning("glCompileShaderIncludeARB not loaded.");
  }
  if (traceGL_Native.glIsNamedStringARB)
  {
    if (traceGL_Native.glIsNamedStringARB == glIsNamedStringARB)
    {
      traceWarning("Ignoring glIsNamedStringARB loaded from traceGL library.");
      traceGL_Native.glIsNamedStringARB = NULL;
    }
  }
  else
  {
    traceWarning("glIsNamedStringARB not loaded.");
  }
  if (traceGL_Native.glGetNamedStringARB)
  {
    if (traceGL_Native.glGetNamedStringARB == glGetNamedStringARB)
    {
      traceWarning("Ignoring glGetNamedStringARB loaded from traceGL library.");
      traceGL_Native.glGetNamedStringARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetNamedStringARB not loaded.");
  }
  if (traceGL_Native.glGetNamedStringivARB)
  {
    if (traceGL_Native.glGetNamedStringivARB == glGetNamedStringivARB)
    {
      traceWarning("Ignoring glGetNamedStringivARB loaded from traceGL library.");
      traceGL_Native.glGetNamedStringivARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetNamedStringivARB not loaded.");
  }
  if (traceGL_Native.glDebugMessageControlARB)
  {
    if (traceGL_Native.glDebugMessageControlARB == glDebugMessageControlARB)
    {
      traceWarning("Ignoring glDebugMessageControlARB loaded from traceGL library.");
      traceGL_Native.glDebugMessageControlARB = NULL;
    }
  }
  else
  {
    traceWarning("glDebugMessageControlARB not loaded.");
  }
  if (traceGL_Native.glDebugMessageInsertARB)
  {
    if (traceGL_Native.glDebugMessageInsertARB == glDebugMessageInsertARB)
    {
      traceWarning("Ignoring glDebugMessageInsertARB loaded from traceGL library.");
      traceGL_Native.glDebugMessageInsertARB = NULL;
    }
  }
  else
  {
    traceWarning("glDebugMessageInsertARB not loaded.");
  }
  if (traceGL_Native.glDebugMessageCallbackARB)
  {
    if (traceGL_Native.glDebugMessageCallbackARB == glDebugMessageCallbackARB)
    {
      traceWarning("Ignoring glDebugMessageCallbackARB loaded from traceGL library.");
      traceGL_Native.glDebugMessageCallbackARB = NULL;
    }
  }
  else
  {
    traceWarning("glDebugMessageCallbackARB not loaded.");
  }
  if (traceGL_Native.glGetDebugMessageLogARB)
  {
    if (traceGL_Native.glGetDebugMessageLogARB == glGetDebugMessageLogARB)
    {
      traceWarning("Ignoring glGetDebugMessageLogARB loaded from traceGL library.");
      traceGL_Native.glGetDebugMessageLogARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetDebugMessageLogARB not loaded.");
  }
  if (traceGL_Native.glGetGraphicsResetStatusARB)
  {
    if (traceGL_Native.glGetGraphicsResetStatusARB == glGetGraphicsResetStatusARB)
    {
      traceWarning("Ignoring glGetGraphicsResetStatusARB loaded from traceGL library.");
      traceGL_Native.glGetGraphicsResetStatusARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetGraphicsResetStatusARB not loaded.");
  }
  if (traceGL_Native.glGetnMapdvARB)
  {
    if (traceGL_Native.glGetnMapdvARB == glGetnMapdvARB)
    {
      traceWarning("Ignoring glGetnMapdvARB loaded from traceGL library.");
      traceGL_Native.glGetnMapdvARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetnMapdvARB not loaded.");
  }
  if (traceGL_Native.glGetnMapfvARB)
  {
    if (traceGL_Native.glGetnMapfvARB == glGetnMapfvARB)
    {
      traceWarning("Ignoring glGetnMapfvARB loaded from traceGL library.");
      traceGL_Native.glGetnMapfvARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetnMapfvARB not loaded.");
  }
  if (traceGL_Native.glGetnMapivARB)
  {
    if (traceGL_Native.glGetnMapivARB == glGetnMapivARB)
    {
      traceWarning("Ignoring glGetnMapivARB loaded from traceGL library.");
      traceGL_Native.glGetnMapivARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetnMapivARB not loaded.");
  }
  if (traceGL_Native.glGetnPixelMapfvARB)
  {
    if (traceGL_Native.glGetnPixelMapfvARB == glGetnPixelMapfvARB)
    {
      traceWarning("Ignoring glGetnPixelMapfvARB loaded from traceGL library.");
      traceGL_Native.glGetnPixelMapfvARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetnPixelMapfvARB not loaded.");
  }
  if (traceGL_Native.glGetnPixelMapuivARB)
  {
    if (traceGL_Native.glGetnPixelMapuivARB == glGetnPixelMapuivARB)
    {
      traceWarning("Ignoring glGetnPixelMapuivARB loaded from traceGL library.");
      traceGL_Native.glGetnPixelMapuivARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetnPixelMapuivARB not loaded.");
  }
  if (traceGL_Native.glGetnPixelMapusvARB)
  {
    if (traceGL_Native.glGetnPixelMapusvARB == glGetnPixelMapusvARB)
    {
      traceWarning("Ignoring glGetnPixelMapusvARB loaded from traceGL library.");
      traceGL_Native.glGetnPixelMapusvARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetnPixelMapusvARB not loaded.");
  }
  if (traceGL_Native.glGetnPolygonStippleARB)
  {
    if (traceGL_Native.glGetnPolygonStippleARB == glGetnPolygonStippleARB)
    {
      traceWarning("Ignoring glGetnPolygonStippleARB loaded from traceGL library.");
      traceGL_Native.glGetnPolygonStippleARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetnPolygonStippleARB not loaded.");
  }
  if (traceGL_Native.glGetnTexImageARB)
  {
    if (traceGL_Native.glGetnTexImageARB == glGetnTexImageARB)
    {
      traceWarning("Ignoring glGetnTexImageARB loaded from traceGL library.");
      traceGL_Native.glGetnTexImageARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetnTexImageARB not loaded.");
  }
  if (traceGL_Native.glReadnPixelsARB)
  {
    if (traceGL_Native.glReadnPixelsARB == glReadnPixelsARB)
    {
      traceWarning("Ignoring glReadnPixelsARB loaded from traceGL library.");
      traceGL_Native.glReadnPixelsARB = NULL;
    }
  }
  else
  {
    traceWarning("glReadnPixelsARB not loaded.");
  }
  if (traceGL_Native.glGetnColorTableARB)
  {
    if (traceGL_Native.glGetnColorTableARB == glGetnColorTableARB)
    {
      traceWarning("Ignoring glGetnColorTableARB loaded from traceGL library.");
      traceGL_Native.glGetnColorTableARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetnColorTableARB not loaded.");
  }
  if (traceGL_Native.glGetnConvolutionFilterARB)
  {
    if (traceGL_Native.glGetnConvolutionFilterARB == glGetnConvolutionFilterARB)
    {
      traceWarning("Ignoring glGetnConvolutionFilterARB loaded from traceGL library.");
      traceGL_Native.glGetnConvolutionFilterARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetnConvolutionFilterARB not loaded.");
  }
  if (traceGL_Native.glGetnSeparableFilterARB)
  {
    if (traceGL_Native.glGetnSeparableFilterARB == glGetnSeparableFilterARB)
    {
      traceWarning("Ignoring glGetnSeparableFilterARB loaded from traceGL library.");
      traceGL_Native.glGetnSeparableFilterARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetnSeparableFilterARB not loaded.");
  }
  if (traceGL_Native.glGetnHistogramARB)
  {
    if (traceGL_Native.glGetnHistogramARB == glGetnHistogramARB)
    {
      traceWarning("Ignoring glGetnHistogramARB loaded from traceGL library.");
      traceGL_Native.glGetnHistogramARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetnHistogramARB not loaded.");
  }
  if (traceGL_Native.glGetnMinmaxARB)
  {
    if (traceGL_Native.glGetnMinmaxARB == glGetnMinmaxARB)
    {
      traceWarning("Ignoring glGetnMinmaxARB loaded from traceGL library.");
      traceGL_Native.glGetnMinmaxARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetnMinmaxARB not loaded.");
  }
  if (traceGL_Native.glGetnCompressedTexImageARB)
  {
    if (traceGL_Native.glGetnCompressedTexImageARB == glGetnCompressedTexImageARB)
    {
      traceWarning("Ignoring glGetnCompressedTexImageARB loaded from traceGL library.");
      traceGL_Native.glGetnCompressedTexImageARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetnCompressedTexImageARB not loaded.");
  }
  if (traceGL_Native.glGetnUniformfvARB)
  {
    if (traceGL_Native.glGetnUniformfvARB == glGetnUniformfvARB)
    {
      traceWarning("Ignoring glGetnUniformfvARB loaded from traceGL library.");
      traceGL_Native.glGetnUniformfvARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetnUniformfvARB not loaded.");
  }
  if (traceGL_Native.glGetnUniformivARB)
  {
    if (traceGL_Native.glGetnUniformivARB == glGetnUniformivARB)
    {
      traceWarning("Ignoring glGetnUniformivARB loaded from traceGL library.");
      traceGL_Native.glGetnUniformivARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetnUniformivARB not loaded.");
  }
  if (traceGL_Native.glGetnUniformuivARB)
  {
    if (traceGL_Native.glGetnUniformuivARB == glGetnUniformuivARB)
    {
      traceWarning("Ignoring glGetnUniformuivARB loaded from traceGL library.");
      traceGL_Native.glGetnUniformuivARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetnUniformuivARB not loaded.");
  }
  if (traceGL_Native.glGetnUniformdvARB)
  {
    if (traceGL_Native.glGetnUniformdvARB == glGetnUniformdvARB)
    {
      traceWarning("Ignoring glGetnUniformdvARB loaded from traceGL library.");
      traceGL_Native.glGetnUniformdvARB = NULL;
    }
  }
  else
  {
    traceWarning("glGetnUniformdvARB not loaded.");
  }
  if (traceGL_Native.glBlendColorEXT)
  {
    if (traceGL_Native.glBlendColorEXT == glBlendColorEXT)
    {
      traceWarning("Ignoring glBlendColorEXT loaded from traceGL library.");
      traceGL_Native.glBlendColorEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBlendColorEXT not loaded.");
  }
  if (traceGL_Native.glPolygonOffsetEXT)
  {
    if (traceGL_Native.glPolygonOffsetEXT == glPolygonOffsetEXT)
    {
      traceWarning("Ignoring glPolygonOffsetEXT loaded from traceGL library.");
      traceGL_Native.glPolygonOffsetEXT = NULL;
    }
  }
  else
  {
    traceWarning("glPolygonOffsetEXT not loaded.");
  }
  if (traceGL_Native.glTexImage3DEXT)
  {
    if (traceGL_Native.glTexImage3DEXT == glTexImage3DEXT)
    {
      traceWarning("Ignoring glTexImage3DEXT loaded from traceGL library.");
      traceGL_Native.glTexImage3DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTexImage3DEXT not loaded.");
  }
  if (traceGL_Native.glTexSubImage3DEXT)
  {
    if (traceGL_Native.glTexSubImage3DEXT == glTexSubImage3DEXT)
    {
      traceWarning("Ignoring glTexSubImage3DEXT loaded from traceGL library.");
      traceGL_Native.glTexSubImage3DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTexSubImage3DEXT not loaded.");
  }
  if (traceGL_Native.glGetTexFilterFuncSGIS)
  {
    if (traceGL_Native.glGetTexFilterFuncSGIS == glGetTexFilterFuncSGIS)
    {
      traceWarning("Ignoring glGetTexFilterFuncSGIS loaded from traceGL library.");
      traceGL_Native.glGetTexFilterFuncSGIS = NULL;
    }
  }
  else
  {
    traceWarning("glGetTexFilterFuncSGIS not loaded.");
  }
  if (traceGL_Native.glTexFilterFuncSGIS)
  {
    if (traceGL_Native.glTexFilterFuncSGIS == glTexFilterFuncSGIS)
    {
      traceWarning("Ignoring glTexFilterFuncSGIS loaded from traceGL library.");
      traceGL_Native.glTexFilterFuncSGIS = NULL;
    }
  }
  else
  {
    traceWarning("glTexFilterFuncSGIS not loaded.");
  }
  if (traceGL_Native.glTexSubImage1DEXT)
  {
    if (traceGL_Native.glTexSubImage1DEXT == glTexSubImage1DEXT)
    {
      traceWarning("Ignoring glTexSubImage1DEXT loaded from traceGL library.");
      traceGL_Native.glTexSubImage1DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTexSubImage1DEXT not loaded.");
  }
  if (traceGL_Native.glTexSubImage2DEXT)
  {
    if (traceGL_Native.glTexSubImage2DEXT == glTexSubImage2DEXT)
    {
      traceWarning("Ignoring glTexSubImage2DEXT loaded from traceGL library.");
      traceGL_Native.glTexSubImage2DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTexSubImage2DEXT not loaded.");
  }
  if (traceGL_Native.glCopyTexImage1DEXT)
  {
    if (traceGL_Native.glCopyTexImage1DEXT == glCopyTexImage1DEXT)
    {
      traceWarning("Ignoring glCopyTexImage1DEXT loaded from traceGL library.");
      traceGL_Native.glCopyTexImage1DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCopyTexImage1DEXT not loaded.");
  }
  if (traceGL_Native.glCopyTexImage2DEXT)
  {
    if (traceGL_Native.glCopyTexImage2DEXT == glCopyTexImage2DEXT)
    {
      traceWarning("Ignoring glCopyTexImage2DEXT loaded from traceGL library.");
      traceGL_Native.glCopyTexImage2DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCopyTexImage2DEXT not loaded.");
  }
  if (traceGL_Native.glCopyTexSubImage1DEXT)
  {
    if (traceGL_Native.glCopyTexSubImage1DEXT == glCopyTexSubImage1DEXT)
    {
      traceWarning("Ignoring glCopyTexSubImage1DEXT loaded from traceGL library.");
      traceGL_Native.glCopyTexSubImage1DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCopyTexSubImage1DEXT not loaded.");
  }
  if (traceGL_Native.glCopyTexSubImage2DEXT)
  {
    if (traceGL_Native.glCopyTexSubImage2DEXT == glCopyTexSubImage2DEXT)
    {
      traceWarning("Ignoring glCopyTexSubImage2DEXT loaded from traceGL library.");
      traceGL_Native.glCopyTexSubImage2DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCopyTexSubImage2DEXT not loaded.");
  }
  if (traceGL_Native.glCopyTexSubImage3DEXT)
  {
    if (traceGL_Native.glCopyTexSubImage3DEXT == glCopyTexSubImage3DEXT)
    {
      traceWarning("Ignoring glCopyTexSubImage3DEXT loaded from traceGL library.");
      traceGL_Native.glCopyTexSubImage3DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCopyTexSubImage3DEXT not loaded.");
  }
  if (traceGL_Native.glGetHistogramEXT)
  {
    if (traceGL_Native.glGetHistogramEXT == glGetHistogramEXT)
    {
      traceWarning("Ignoring glGetHistogramEXT loaded from traceGL library.");
      traceGL_Native.glGetHistogramEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetHistogramEXT not loaded.");
  }
  if (traceGL_Native.glGetHistogramParameterfvEXT)
  {
    if (traceGL_Native.glGetHistogramParameterfvEXT == glGetHistogramParameterfvEXT)
    {
      traceWarning("Ignoring glGetHistogramParameterfvEXT loaded from traceGL library.");
      traceGL_Native.glGetHistogramParameterfvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetHistogramParameterfvEXT not loaded.");
  }
  if (traceGL_Native.glGetHistogramParameterivEXT)
  {
    if (traceGL_Native.glGetHistogramParameterivEXT == glGetHistogramParameterivEXT)
    {
      traceWarning("Ignoring glGetHistogramParameterivEXT loaded from traceGL library.");
      traceGL_Native.glGetHistogramParameterivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetHistogramParameterivEXT not loaded.");
  }
  if (traceGL_Native.glGetMinmaxEXT)
  {
    if (traceGL_Native.glGetMinmaxEXT == glGetMinmaxEXT)
    {
      traceWarning("Ignoring glGetMinmaxEXT loaded from traceGL library.");
      traceGL_Native.glGetMinmaxEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetMinmaxEXT not loaded.");
  }
  if (traceGL_Native.glGetMinmaxParameterfvEXT)
  {
    if (traceGL_Native.glGetMinmaxParameterfvEXT == glGetMinmaxParameterfvEXT)
    {
      traceWarning("Ignoring glGetMinmaxParameterfvEXT loaded from traceGL library.");
      traceGL_Native.glGetMinmaxParameterfvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetMinmaxParameterfvEXT not loaded.");
  }
  if (traceGL_Native.glGetMinmaxParameterivEXT)
  {
    if (traceGL_Native.glGetMinmaxParameterivEXT == glGetMinmaxParameterivEXT)
    {
      traceWarning("Ignoring glGetMinmaxParameterivEXT loaded from traceGL library.");
      traceGL_Native.glGetMinmaxParameterivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetMinmaxParameterivEXT not loaded.");
  }
  if (traceGL_Native.glHistogramEXT)
  {
    if (traceGL_Native.glHistogramEXT == glHistogramEXT)
    {
      traceWarning("Ignoring glHistogramEXT loaded from traceGL library.");
      traceGL_Native.glHistogramEXT = NULL;
    }
  }
  else
  {
    traceWarning("glHistogramEXT not loaded.");
  }
  if (traceGL_Native.glMinmaxEXT)
  {
    if (traceGL_Native.glMinmaxEXT == glMinmaxEXT)
    {
      traceWarning("Ignoring glMinmaxEXT loaded from traceGL library.");
      traceGL_Native.glMinmaxEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMinmaxEXT not loaded.");
  }
  if (traceGL_Native.glResetHistogramEXT)
  {
    if (traceGL_Native.glResetHistogramEXT == glResetHistogramEXT)
    {
      traceWarning("Ignoring glResetHistogramEXT loaded from traceGL library.");
      traceGL_Native.glResetHistogramEXT = NULL;
    }
  }
  else
  {
    traceWarning("glResetHistogramEXT not loaded.");
  }
  if (traceGL_Native.glResetMinmaxEXT)
  {
    if (traceGL_Native.glResetMinmaxEXT == glResetMinmaxEXT)
    {
      traceWarning("Ignoring glResetMinmaxEXT loaded from traceGL library.");
      traceGL_Native.glResetMinmaxEXT = NULL;
    }
  }
  else
  {
    traceWarning("glResetMinmaxEXT not loaded.");
  }
  if (traceGL_Native.glConvolutionFilter1DEXT)
  {
    if (traceGL_Native.glConvolutionFilter1DEXT == glConvolutionFilter1DEXT)
    {
      traceWarning("Ignoring glConvolutionFilter1DEXT loaded from traceGL library.");
      traceGL_Native.glConvolutionFilter1DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glConvolutionFilter1DEXT not loaded.");
  }
  if (traceGL_Native.glConvolutionFilter2DEXT)
  {
    if (traceGL_Native.glConvolutionFilter2DEXT == glConvolutionFilter2DEXT)
    {
      traceWarning("Ignoring glConvolutionFilter2DEXT loaded from traceGL library.");
      traceGL_Native.glConvolutionFilter2DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glConvolutionFilter2DEXT not loaded.");
  }
  if (traceGL_Native.glConvolutionParameterfEXT)
  {
    if (traceGL_Native.glConvolutionParameterfEXT == glConvolutionParameterfEXT)
    {
      traceWarning("Ignoring glConvolutionParameterfEXT loaded from traceGL library.");
      traceGL_Native.glConvolutionParameterfEXT = NULL;
    }
  }
  else
  {
    traceWarning("glConvolutionParameterfEXT not loaded.");
  }
  if (traceGL_Native.glConvolutionParameterfvEXT)
  {
    if (traceGL_Native.glConvolutionParameterfvEXT == glConvolutionParameterfvEXT)
    {
      traceWarning("Ignoring glConvolutionParameterfvEXT loaded from traceGL library.");
      traceGL_Native.glConvolutionParameterfvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glConvolutionParameterfvEXT not loaded.");
  }
  if (traceGL_Native.glConvolutionParameteriEXT)
  {
    if (traceGL_Native.glConvolutionParameteriEXT == glConvolutionParameteriEXT)
    {
      traceWarning("Ignoring glConvolutionParameteriEXT loaded from traceGL library.");
      traceGL_Native.glConvolutionParameteriEXT = NULL;
    }
  }
  else
  {
    traceWarning("glConvolutionParameteriEXT not loaded.");
  }
  if (traceGL_Native.glConvolutionParameterivEXT)
  {
    if (traceGL_Native.glConvolutionParameterivEXT == glConvolutionParameterivEXT)
    {
      traceWarning("Ignoring glConvolutionParameterivEXT loaded from traceGL library.");
      traceGL_Native.glConvolutionParameterivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glConvolutionParameterivEXT not loaded.");
  }
  if (traceGL_Native.glCopyConvolutionFilter1DEXT)
  {
    if (traceGL_Native.glCopyConvolutionFilter1DEXT == glCopyConvolutionFilter1DEXT)
    {
      traceWarning("Ignoring glCopyConvolutionFilter1DEXT loaded from traceGL library.");
      traceGL_Native.glCopyConvolutionFilter1DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCopyConvolutionFilter1DEXT not loaded.");
  }
  if (traceGL_Native.glCopyConvolutionFilter2DEXT)
  {
    if (traceGL_Native.glCopyConvolutionFilter2DEXT == glCopyConvolutionFilter2DEXT)
    {
      traceWarning("Ignoring glCopyConvolutionFilter2DEXT loaded from traceGL library.");
      traceGL_Native.glCopyConvolutionFilter2DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCopyConvolutionFilter2DEXT not loaded.");
  }
  if (traceGL_Native.glGetConvolutionFilterEXT)
  {
    if (traceGL_Native.glGetConvolutionFilterEXT == glGetConvolutionFilterEXT)
    {
      traceWarning("Ignoring glGetConvolutionFilterEXT loaded from traceGL library.");
      traceGL_Native.glGetConvolutionFilterEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetConvolutionFilterEXT not loaded.");
  }
  if (traceGL_Native.glGetConvolutionParameterfvEXT)
  {
    if (traceGL_Native.glGetConvolutionParameterfvEXT == glGetConvolutionParameterfvEXT)
    {
      traceWarning("Ignoring glGetConvolutionParameterfvEXT loaded from traceGL library.");
      traceGL_Native.glGetConvolutionParameterfvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetConvolutionParameterfvEXT not loaded.");
  }
  if (traceGL_Native.glGetConvolutionParameterivEXT)
  {
    if (traceGL_Native.glGetConvolutionParameterivEXT == glGetConvolutionParameterivEXT)
    {
      traceWarning("Ignoring glGetConvolutionParameterivEXT loaded from traceGL library.");
      traceGL_Native.glGetConvolutionParameterivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetConvolutionParameterivEXT not loaded.");
  }
  if (traceGL_Native.glGetSeparableFilterEXT)
  {
    if (traceGL_Native.glGetSeparableFilterEXT == glGetSeparableFilterEXT)
    {
      traceWarning("Ignoring glGetSeparableFilterEXT loaded from traceGL library.");
      traceGL_Native.glGetSeparableFilterEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetSeparableFilterEXT not loaded.");
  }
  if (traceGL_Native.glSeparableFilter2DEXT)
  {
    if (traceGL_Native.glSeparableFilter2DEXT == glSeparableFilter2DEXT)
    {
      traceWarning("Ignoring glSeparableFilter2DEXT loaded from traceGL library.");
      traceGL_Native.glSeparableFilter2DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glSeparableFilter2DEXT not loaded.");
  }
  if (traceGL_Native.glColorTableSGI)
  {
    if (traceGL_Native.glColorTableSGI == glColorTableSGI)
    {
      traceWarning("Ignoring glColorTableSGI loaded from traceGL library.");
      traceGL_Native.glColorTableSGI = NULL;
    }
  }
  else
  {
    traceWarning("glColorTableSGI not loaded.");
  }
  if (traceGL_Native.glColorTableParameterfvSGI)
  {
    if (traceGL_Native.glColorTableParameterfvSGI == glColorTableParameterfvSGI)
    {
      traceWarning("Ignoring glColorTableParameterfvSGI loaded from traceGL library.");
      traceGL_Native.glColorTableParameterfvSGI = NULL;
    }
  }
  else
  {
    traceWarning("glColorTableParameterfvSGI not loaded.");
  }
  if (traceGL_Native.glColorTableParameterivSGI)
  {
    if (traceGL_Native.glColorTableParameterivSGI == glColorTableParameterivSGI)
    {
      traceWarning("Ignoring glColorTableParameterivSGI loaded from traceGL library.");
      traceGL_Native.glColorTableParameterivSGI = NULL;
    }
  }
  else
  {
    traceWarning("glColorTableParameterivSGI not loaded.");
  }
  if (traceGL_Native.glCopyColorTableSGI)
  {
    if (traceGL_Native.glCopyColorTableSGI == glCopyColorTableSGI)
    {
      traceWarning("Ignoring glCopyColorTableSGI loaded from traceGL library.");
      traceGL_Native.glCopyColorTableSGI = NULL;
    }
  }
  else
  {
    traceWarning("glCopyColorTableSGI not loaded.");
  }
  if (traceGL_Native.glGetColorTableSGI)
  {
    if (traceGL_Native.glGetColorTableSGI == glGetColorTableSGI)
    {
      traceWarning("Ignoring glGetColorTableSGI loaded from traceGL library.");
      traceGL_Native.glGetColorTableSGI = NULL;
    }
  }
  else
  {
    traceWarning("glGetColorTableSGI not loaded.");
  }
  if (traceGL_Native.glGetColorTableParameterfvSGI)
  {
    if (traceGL_Native.glGetColorTableParameterfvSGI == glGetColorTableParameterfvSGI)
    {
      traceWarning("Ignoring glGetColorTableParameterfvSGI loaded from traceGL library.");
      traceGL_Native.glGetColorTableParameterfvSGI = NULL;
    }
  }
  else
  {
    traceWarning("glGetColorTableParameterfvSGI not loaded.");
  }
  if (traceGL_Native.glGetColorTableParameterivSGI)
  {
    if (traceGL_Native.glGetColorTableParameterivSGI == glGetColorTableParameterivSGI)
    {
      traceWarning("Ignoring glGetColorTableParameterivSGI loaded from traceGL library.");
      traceGL_Native.glGetColorTableParameterivSGI = NULL;
    }
  }
  else
  {
    traceWarning("glGetColorTableParameterivSGI not loaded.");
  }
  if (traceGL_Native.glPixelTexGenSGIX)
  {
    if (traceGL_Native.glPixelTexGenSGIX == glPixelTexGenSGIX)
    {
      traceWarning("Ignoring glPixelTexGenSGIX loaded from traceGL library.");
      traceGL_Native.glPixelTexGenSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glPixelTexGenSGIX not loaded.");
  }
  if (traceGL_Native.glPixelTexGenParameteriSGIS)
  {
    if (traceGL_Native.glPixelTexGenParameteriSGIS == glPixelTexGenParameteriSGIS)
    {
      traceWarning("Ignoring glPixelTexGenParameteriSGIS loaded from traceGL library.");
      traceGL_Native.glPixelTexGenParameteriSGIS = NULL;
    }
  }
  else
  {
    traceWarning("glPixelTexGenParameteriSGIS not loaded.");
  }
  if (traceGL_Native.glPixelTexGenParameterivSGIS)
  {
    if (traceGL_Native.glPixelTexGenParameterivSGIS == glPixelTexGenParameterivSGIS)
    {
      traceWarning("Ignoring glPixelTexGenParameterivSGIS loaded from traceGL library.");
      traceGL_Native.glPixelTexGenParameterivSGIS = NULL;
    }
  }
  else
  {
    traceWarning("glPixelTexGenParameterivSGIS not loaded.");
  }
  if (traceGL_Native.glPixelTexGenParameterfSGIS)
  {
    if (traceGL_Native.glPixelTexGenParameterfSGIS == glPixelTexGenParameterfSGIS)
    {
      traceWarning("Ignoring glPixelTexGenParameterfSGIS loaded from traceGL library.");
      traceGL_Native.glPixelTexGenParameterfSGIS = NULL;
    }
  }
  else
  {
    traceWarning("glPixelTexGenParameterfSGIS not loaded.");
  }
  if (traceGL_Native.glPixelTexGenParameterfvSGIS)
  {
    if (traceGL_Native.glPixelTexGenParameterfvSGIS == glPixelTexGenParameterfvSGIS)
    {
      traceWarning("Ignoring glPixelTexGenParameterfvSGIS loaded from traceGL library.");
      traceGL_Native.glPixelTexGenParameterfvSGIS = NULL;
    }
  }
  else
  {
    traceWarning("glPixelTexGenParameterfvSGIS not loaded.");
  }
  if (traceGL_Native.glGetPixelTexGenParameterivSGIS)
  {
    if (traceGL_Native.glGetPixelTexGenParameterivSGIS == glGetPixelTexGenParameterivSGIS)
    {
      traceWarning("Ignoring glGetPixelTexGenParameterivSGIS loaded from traceGL library.");
      traceGL_Native.glGetPixelTexGenParameterivSGIS = NULL;
    }
  }
  else
  {
    traceWarning("glGetPixelTexGenParameterivSGIS not loaded.");
  }
  if (traceGL_Native.glGetPixelTexGenParameterfvSGIS)
  {
    if (traceGL_Native.glGetPixelTexGenParameterfvSGIS == glGetPixelTexGenParameterfvSGIS)
    {
      traceWarning("Ignoring glGetPixelTexGenParameterfvSGIS loaded from traceGL library.");
      traceGL_Native.glGetPixelTexGenParameterfvSGIS = NULL;
    }
  }
  else
  {
    traceWarning("glGetPixelTexGenParameterfvSGIS not loaded.");
  }
  if (traceGL_Native.glTexImage4DSGIS)
  {
    if (traceGL_Native.glTexImage4DSGIS == glTexImage4DSGIS)
    {
      traceWarning("Ignoring glTexImage4DSGIS loaded from traceGL library.");
      traceGL_Native.glTexImage4DSGIS = NULL;
    }
  }
  else
  {
    traceWarning("glTexImage4DSGIS not loaded.");
  }
  if (traceGL_Native.glTexSubImage4DSGIS)
  {
    if (traceGL_Native.glTexSubImage4DSGIS == glTexSubImage4DSGIS)
    {
      traceWarning("Ignoring glTexSubImage4DSGIS loaded from traceGL library.");
      traceGL_Native.glTexSubImage4DSGIS = NULL;
    }
  }
  else
  {
    traceWarning("glTexSubImage4DSGIS not loaded.");
  }
  if (traceGL_Native.glAreTexturesResidentEXT)
  {
    if (traceGL_Native.glAreTexturesResidentEXT == glAreTexturesResidentEXT)
    {
      traceWarning("Ignoring glAreTexturesResidentEXT loaded from traceGL library.");
      traceGL_Native.glAreTexturesResidentEXT = NULL;
    }
  }
  else
  {
    traceWarning("glAreTexturesResidentEXT not loaded.");
  }
  if (traceGL_Native.glBindTextureEXT)
  {
    if (traceGL_Native.glBindTextureEXT == glBindTextureEXT)
    {
      traceWarning("Ignoring glBindTextureEXT loaded from traceGL library.");
      traceGL_Native.glBindTextureEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBindTextureEXT not loaded.");
  }
  if (traceGL_Native.glDeleteTexturesEXT)
  {
    if (traceGL_Native.glDeleteTexturesEXT == glDeleteTexturesEXT)
    {
      traceWarning("Ignoring glDeleteTexturesEXT loaded from traceGL library.");
      traceGL_Native.glDeleteTexturesEXT = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteTexturesEXT not loaded.");
  }
  if (traceGL_Native.glGenTexturesEXT)
  {
    if (traceGL_Native.glGenTexturesEXT == glGenTexturesEXT)
    {
      traceWarning("Ignoring glGenTexturesEXT loaded from traceGL library.");
      traceGL_Native.glGenTexturesEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGenTexturesEXT not loaded.");
  }
  if (traceGL_Native.glIsTextureEXT)
  {
    if (traceGL_Native.glIsTextureEXT == glIsTextureEXT)
    {
      traceWarning("Ignoring glIsTextureEXT loaded from traceGL library.");
      traceGL_Native.glIsTextureEXT = NULL;
    }
  }
  else
  {
    traceWarning("glIsTextureEXT not loaded.");
  }
  if (traceGL_Native.glPrioritizeTexturesEXT)
  {
    if (traceGL_Native.glPrioritizeTexturesEXT == glPrioritizeTexturesEXT)
    {
      traceWarning("Ignoring glPrioritizeTexturesEXT loaded from traceGL library.");
      traceGL_Native.glPrioritizeTexturesEXT = NULL;
    }
  }
  else
  {
    traceWarning("glPrioritizeTexturesEXT not loaded.");
  }
  if (traceGL_Native.glDetailTexFuncSGIS)
  {
    if (traceGL_Native.glDetailTexFuncSGIS == glDetailTexFuncSGIS)
    {
      traceWarning("Ignoring glDetailTexFuncSGIS loaded from traceGL library.");
      traceGL_Native.glDetailTexFuncSGIS = NULL;
    }
  }
  else
  {
    traceWarning("glDetailTexFuncSGIS not loaded.");
  }
  if (traceGL_Native.glGetDetailTexFuncSGIS)
  {
    if (traceGL_Native.glGetDetailTexFuncSGIS == glGetDetailTexFuncSGIS)
    {
      traceWarning("Ignoring glGetDetailTexFuncSGIS loaded from traceGL library.");
      traceGL_Native.glGetDetailTexFuncSGIS = NULL;
    }
  }
  else
  {
    traceWarning("glGetDetailTexFuncSGIS not loaded.");
  }
  if (traceGL_Native.glSharpenTexFuncSGIS)
  {
    if (traceGL_Native.glSharpenTexFuncSGIS == glSharpenTexFuncSGIS)
    {
      traceWarning("Ignoring glSharpenTexFuncSGIS loaded from traceGL library.");
      traceGL_Native.glSharpenTexFuncSGIS = NULL;
    }
  }
  else
  {
    traceWarning("glSharpenTexFuncSGIS not loaded.");
  }
  if (traceGL_Native.glGetSharpenTexFuncSGIS)
  {
    if (traceGL_Native.glGetSharpenTexFuncSGIS == glGetSharpenTexFuncSGIS)
    {
      traceWarning("Ignoring glGetSharpenTexFuncSGIS loaded from traceGL library.");
      traceGL_Native.glGetSharpenTexFuncSGIS = NULL;
    }
  }
  else
  {
    traceWarning("glGetSharpenTexFuncSGIS not loaded.");
  }
  if (traceGL_Native.glSampleMaskSGIS)
  {
    if (traceGL_Native.glSampleMaskSGIS == glSampleMaskSGIS)
    {
      traceWarning("Ignoring glSampleMaskSGIS loaded from traceGL library.");
      traceGL_Native.glSampleMaskSGIS = NULL;
    }
  }
  else
  {
    traceWarning("glSampleMaskSGIS not loaded.");
  }
  if (traceGL_Native.glSamplePatternSGIS)
  {
    if (traceGL_Native.glSamplePatternSGIS == glSamplePatternSGIS)
    {
      traceWarning("Ignoring glSamplePatternSGIS loaded from traceGL library.");
      traceGL_Native.glSamplePatternSGIS = NULL;
    }
  }
  else
  {
    traceWarning("glSamplePatternSGIS not loaded.");
  }
  if (traceGL_Native.glArrayElementEXT)
  {
    if (traceGL_Native.glArrayElementEXT == glArrayElementEXT)
    {
      traceWarning("Ignoring glArrayElementEXT loaded from traceGL library.");
      traceGL_Native.glArrayElementEXT = NULL;
    }
  }
  else
  {
    traceWarning("glArrayElementEXT not loaded.");
  }
  if (traceGL_Native.glColorPointerEXT)
  {
    if (traceGL_Native.glColorPointerEXT == glColorPointerEXT)
    {
      traceWarning("Ignoring glColorPointerEXT loaded from traceGL library.");
      traceGL_Native.glColorPointerEXT = NULL;
    }
  }
  else
  {
    traceWarning("glColorPointerEXT not loaded.");
  }
  if (traceGL_Native.glDrawArraysEXT)
  {
    if (traceGL_Native.glDrawArraysEXT == glDrawArraysEXT)
    {
      traceWarning("Ignoring glDrawArraysEXT loaded from traceGL library.");
      traceGL_Native.glDrawArraysEXT = NULL;
    }
  }
  else
  {
    traceWarning("glDrawArraysEXT not loaded.");
  }
  if (traceGL_Native.glEdgeFlagPointerEXT)
  {
    if (traceGL_Native.glEdgeFlagPointerEXT == glEdgeFlagPointerEXT)
    {
      traceWarning("Ignoring glEdgeFlagPointerEXT loaded from traceGL library.");
      traceGL_Native.glEdgeFlagPointerEXT = NULL;
    }
  }
  else
  {
    traceWarning("glEdgeFlagPointerEXT not loaded.");
  }
  if (traceGL_Native.glGetPointervEXT)
  {
    if (traceGL_Native.glGetPointervEXT == glGetPointervEXT)
    {
      traceWarning("Ignoring glGetPointervEXT loaded from traceGL library.");
      traceGL_Native.glGetPointervEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetPointervEXT not loaded.");
  }
  if (traceGL_Native.glIndexPointerEXT)
  {
    if (traceGL_Native.glIndexPointerEXT == glIndexPointerEXT)
    {
      traceWarning("Ignoring glIndexPointerEXT loaded from traceGL library.");
      traceGL_Native.glIndexPointerEXT = NULL;
    }
  }
  else
  {
    traceWarning("glIndexPointerEXT not loaded.");
  }
  if (traceGL_Native.glNormalPointerEXT)
  {
    if (traceGL_Native.glNormalPointerEXT == glNormalPointerEXT)
    {
      traceWarning("Ignoring glNormalPointerEXT loaded from traceGL library.");
      traceGL_Native.glNormalPointerEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNormalPointerEXT not loaded.");
  }
  if (traceGL_Native.glTexCoordPointerEXT)
  {
    if (traceGL_Native.glTexCoordPointerEXT == glTexCoordPointerEXT)
    {
      traceWarning("Ignoring glTexCoordPointerEXT loaded from traceGL library.");
      traceGL_Native.glTexCoordPointerEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoordPointerEXT not loaded.");
  }
  if (traceGL_Native.glVertexPointerEXT)
  {
    if (traceGL_Native.glVertexPointerEXT == glVertexPointerEXT)
    {
      traceWarning("Ignoring glVertexPointerEXT loaded from traceGL library.");
      traceGL_Native.glVertexPointerEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexPointerEXT not loaded.");
  }
  if (traceGL_Native.glBlendEquationEXT)
  {
    if (traceGL_Native.glBlendEquationEXT == glBlendEquationEXT)
    {
      traceWarning("Ignoring glBlendEquationEXT loaded from traceGL library.");
      traceGL_Native.glBlendEquationEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBlendEquationEXT not loaded.");
  }
  if (traceGL_Native.glSpriteParameterfSGIX)
  {
    if (traceGL_Native.glSpriteParameterfSGIX == glSpriteParameterfSGIX)
    {
      traceWarning("Ignoring glSpriteParameterfSGIX loaded from traceGL library.");
      traceGL_Native.glSpriteParameterfSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glSpriteParameterfSGIX not loaded.");
  }
  if (traceGL_Native.glSpriteParameterfvSGIX)
  {
    if (traceGL_Native.glSpriteParameterfvSGIX == glSpriteParameterfvSGIX)
    {
      traceWarning("Ignoring glSpriteParameterfvSGIX loaded from traceGL library.");
      traceGL_Native.glSpriteParameterfvSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glSpriteParameterfvSGIX not loaded.");
  }
  if (traceGL_Native.glSpriteParameteriSGIX)
  {
    if (traceGL_Native.glSpriteParameteriSGIX == glSpriteParameteriSGIX)
    {
      traceWarning("Ignoring glSpriteParameteriSGIX loaded from traceGL library.");
      traceGL_Native.glSpriteParameteriSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glSpriteParameteriSGIX not loaded.");
  }
  if (traceGL_Native.glSpriteParameterivSGIX)
  {
    if (traceGL_Native.glSpriteParameterivSGIX == glSpriteParameterivSGIX)
    {
      traceWarning("Ignoring glSpriteParameterivSGIX loaded from traceGL library.");
      traceGL_Native.glSpriteParameterivSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glSpriteParameterivSGIX not loaded.");
  }
  if (traceGL_Native.glPointParameterfEXT)
  {
    if (traceGL_Native.glPointParameterfEXT == glPointParameterfEXT)
    {
      traceWarning("Ignoring glPointParameterfEXT loaded from traceGL library.");
      traceGL_Native.glPointParameterfEXT = NULL;
    }
  }
  else
  {
    traceWarning("glPointParameterfEXT not loaded.");
  }
  if (traceGL_Native.glPointParameterfvEXT)
  {
    if (traceGL_Native.glPointParameterfvEXT == glPointParameterfvEXT)
    {
      traceWarning("Ignoring glPointParameterfvEXT loaded from traceGL library.");
      traceGL_Native.glPointParameterfvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glPointParameterfvEXT not loaded.");
  }
  if (traceGL_Native.glPointParameterfSGIS)
  {
    if (traceGL_Native.glPointParameterfSGIS == glPointParameterfSGIS)
    {
      traceWarning("Ignoring glPointParameterfSGIS loaded from traceGL library.");
      traceGL_Native.glPointParameterfSGIS = NULL;
    }
  }
  else
  {
    traceWarning("glPointParameterfSGIS not loaded.");
  }
  if (traceGL_Native.glPointParameterfvSGIS)
  {
    if (traceGL_Native.glPointParameterfvSGIS == glPointParameterfvSGIS)
    {
      traceWarning("Ignoring glPointParameterfvSGIS loaded from traceGL library.");
      traceGL_Native.glPointParameterfvSGIS = NULL;
    }
  }
  else
  {
    traceWarning("glPointParameterfvSGIS not loaded.");
  }
  if (traceGL_Native.glGetInstrumentsSGIX)
  {
    if (traceGL_Native.glGetInstrumentsSGIX == glGetInstrumentsSGIX)
    {
      traceWarning("Ignoring glGetInstrumentsSGIX loaded from traceGL library.");
      traceGL_Native.glGetInstrumentsSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glGetInstrumentsSGIX not loaded.");
  }
  if (traceGL_Native.glInstrumentsBufferSGIX)
  {
    if (traceGL_Native.glInstrumentsBufferSGIX == glInstrumentsBufferSGIX)
    {
      traceWarning("Ignoring glInstrumentsBufferSGIX loaded from traceGL library.");
      traceGL_Native.glInstrumentsBufferSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glInstrumentsBufferSGIX not loaded.");
  }
  if (traceGL_Native.glPollInstrumentsSGIX)
  {
    if (traceGL_Native.glPollInstrumentsSGIX == glPollInstrumentsSGIX)
    {
      traceWarning("Ignoring glPollInstrumentsSGIX loaded from traceGL library.");
      traceGL_Native.glPollInstrumentsSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glPollInstrumentsSGIX not loaded.");
  }
  if (traceGL_Native.glReadInstrumentsSGIX)
  {
    if (traceGL_Native.glReadInstrumentsSGIX == glReadInstrumentsSGIX)
    {
      traceWarning("Ignoring glReadInstrumentsSGIX loaded from traceGL library.");
      traceGL_Native.glReadInstrumentsSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glReadInstrumentsSGIX not loaded.");
  }
  if (traceGL_Native.glStartInstrumentsSGIX)
  {
    if (traceGL_Native.glStartInstrumentsSGIX == glStartInstrumentsSGIX)
    {
      traceWarning("Ignoring glStartInstrumentsSGIX loaded from traceGL library.");
      traceGL_Native.glStartInstrumentsSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glStartInstrumentsSGIX not loaded.");
  }
  if (traceGL_Native.glStopInstrumentsSGIX)
  {
    if (traceGL_Native.glStopInstrumentsSGIX == glStopInstrumentsSGIX)
    {
      traceWarning("Ignoring glStopInstrumentsSGIX loaded from traceGL library.");
      traceGL_Native.glStopInstrumentsSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glStopInstrumentsSGIX not loaded.");
  }
  if (traceGL_Native.glFrameZoomSGIX)
  {
    if (traceGL_Native.glFrameZoomSGIX == glFrameZoomSGIX)
    {
      traceWarning("Ignoring glFrameZoomSGIX loaded from traceGL library.");
      traceGL_Native.glFrameZoomSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glFrameZoomSGIX not loaded.");
  }
  if (traceGL_Native.glTagSampleBufferSGIX)
  {
    if (traceGL_Native.glTagSampleBufferSGIX == glTagSampleBufferSGIX)
    {
      traceWarning("Ignoring glTagSampleBufferSGIX loaded from traceGL library.");
      traceGL_Native.glTagSampleBufferSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glTagSampleBufferSGIX not loaded.");
  }
  if (traceGL_Native.glDeformationMap3dSGIX)
  {
    if (traceGL_Native.glDeformationMap3dSGIX == glDeformationMap3dSGIX)
    {
      traceWarning("Ignoring glDeformationMap3dSGIX loaded from traceGL library.");
      traceGL_Native.glDeformationMap3dSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glDeformationMap3dSGIX not loaded.");
  }
  if (traceGL_Native.glDeformationMap3fSGIX)
  {
    if (traceGL_Native.glDeformationMap3fSGIX == glDeformationMap3fSGIX)
    {
      traceWarning("Ignoring glDeformationMap3fSGIX loaded from traceGL library.");
      traceGL_Native.glDeformationMap3fSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glDeformationMap3fSGIX not loaded.");
  }
  if (traceGL_Native.glDeformSGIX)
  {
    if (traceGL_Native.glDeformSGIX == glDeformSGIX)
    {
      traceWarning("Ignoring glDeformSGIX loaded from traceGL library.");
      traceGL_Native.glDeformSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glDeformSGIX not loaded.");
  }
  if (traceGL_Native.glLoadIdentityDeformationMapSGIX)
  {
    if (traceGL_Native.glLoadIdentityDeformationMapSGIX == glLoadIdentityDeformationMapSGIX)
    {
      traceWarning("Ignoring glLoadIdentityDeformationMapSGIX loaded from traceGL library.");
      traceGL_Native.glLoadIdentityDeformationMapSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glLoadIdentityDeformationMapSGIX not loaded.");
  }
  if (traceGL_Native.glReferencePlaneSGIX)
  {
    if (traceGL_Native.glReferencePlaneSGIX == glReferencePlaneSGIX)
    {
      traceWarning("Ignoring glReferencePlaneSGIX loaded from traceGL library.");
      traceGL_Native.glReferencePlaneSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glReferencePlaneSGIX not loaded.");
  }
  if (traceGL_Native.glFlushRasterSGIX)
  {
    if (traceGL_Native.glFlushRasterSGIX == glFlushRasterSGIX)
    {
      traceWarning("Ignoring glFlushRasterSGIX loaded from traceGL library.");
      traceGL_Native.glFlushRasterSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glFlushRasterSGIX not loaded.");
  }
  if (traceGL_Native.glFogFuncSGIS)
  {
    if (traceGL_Native.glFogFuncSGIS == glFogFuncSGIS)
    {
      traceWarning("Ignoring glFogFuncSGIS loaded from traceGL library.");
      traceGL_Native.glFogFuncSGIS = NULL;
    }
  }
  else
  {
    traceWarning("glFogFuncSGIS not loaded.");
  }
  if (traceGL_Native.glGetFogFuncSGIS)
  {
    if (traceGL_Native.glGetFogFuncSGIS == glGetFogFuncSGIS)
    {
      traceWarning("Ignoring glGetFogFuncSGIS loaded from traceGL library.");
      traceGL_Native.glGetFogFuncSGIS = NULL;
    }
  }
  else
  {
    traceWarning("glGetFogFuncSGIS not loaded.");
  }
  if (traceGL_Native.glImageTransformParameteriHP)
  {
    if (traceGL_Native.glImageTransformParameteriHP == glImageTransformParameteriHP)
    {
      traceWarning("Ignoring glImageTransformParameteriHP loaded from traceGL library.");
      traceGL_Native.glImageTransformParameteriHP = NULL;
    }
  }
  else
  {
    traceWarning("glImageTransformParameteriHP not loaded.");
  }
  if (traceGL_Native.glImageTransformParameterfHP)
  {
    if (traceGL_Native.glImageTransformParameterfHP == glImageTransformParameterfHP)
    {
      traceWarning("Ignoring glImageTransformParameterfHP loaded from traceGL library.");
      traceGL_Native.glImageTransformParameterfHP = NULL;
    }
  }
  else
  {
    traceWarning("glImageTransformParameterfHP not loaded.");
  }
  if (traceGL_Native.glImageTransformParameterivHP)
  {
    if (traceGL_Native.glImageTransformParameterivHP == glImageTransformParameterivHP)
    {
      traceWarning("Ignoring glImageTransformParameterivHP loaded from traceGL library.");
      traceGL_Native.glImageTransformParameterivHP = NULL;
    }
  }
  else
  {
    traceWarning("glImageTransformParameterivHP not loaded.");
  }
  if (traceGL_Native.glImageTransformParameterfvHP)
  {
    if (traceGL_Native.glImageTransformParameterfvHP == glImageTransformParameterfvHP)
    {
      traceWarning("Ignoring glImageTransformParameterfvHP loaded from traceGL library.");
      traceGL_Native.glImageTransformParameterfvHP = NULL;
    }
  }
  else
  {
    traceWarning("glImageTransformParameterfvHP not loaded.");
  }
  if (traceGL_Native.glGetImageTransformParameterivHP)
  {
    if (traceGL_Native.glGetImageTransformParameterivHP == glGetImageTransformParameterivHP)
    {
      traceWarning("Ignoring glGetImageTransformParameterivHP loaded from traceGL library.");
      traceGL_Native.glGetImageTransformParameterivHP = NULL;
    }
  }
  else
  {
    traceWarning("glGetImageTransformParameterivHP not loaded.");
  }
  if (traceGL_Native.glGetImageTransformParameterfvHP)
  {
    if (traceGL_Native.glGetImageTransformParameterfvHP == glGetImageTransformParameterfvHP)
    {
      traceWarning("Ignoring glGetImageTransformParameterfvHP loaded from traceGL library.");
      traceGL_Native.glGetImageTransformParameterfvHP = NULL;
    }
  }
  else
  {
    traceWarning("glGetImageTransformParameterfvHP not loaded.");
  }
  if (traceGL_Native.glColorSubTableEXT)
  {
    if (traceGL_Native.glColorSubTableEXT == glColorSubTableEXT)
    {
      traceWarning("Ignoring glColorSubTableEXT loaded from traceGL library.");
      traceGL_Native.glColorSubTableEXT = NULL;
    }
  }
  else
  {
    traceWarning("glColorSubTableEXT not loaded.");
  }
  if (traceGL_Native.glCopyColorSubTableEXT)
  {
    if (traceGL_Native.glCopyColorSubTableEXT == glCopyColorSubTableEXT)
    {
      traceWarning("Ignoring glCopyColorSubTableEXT loaded from traceGL library.");
      traceGL_Native.glCopyColorSubTableEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCopyColorSubTableEXT not loaded.");
  }
  if (traceGL_Native.glHintPGI)
  {
    if (traceGL_Native.glHintPGI == glHintPGI)
    {
      traceWarning("Ignoring glHintPGI loaded from traceGL library.");
      traceGL_Native.glHintPGI = NULL;
    }
  }
  else
  {
    traceWarning("glHintPGI not loaded.");
  }
  if (traceGL_Native.glColorTableEXT)
  {
    if (traceGL_Native.glColorTableEXT == glColorTableEXT)
    {
      traceWarning("Ignoring glColorTableEXT loaded from traceGL library.");
      traceGL_Native.glColorTableEXT = NULL;
    }
  }
  else
  {
    traceWarning("glColorTableEXT not loaded.");
  }
  if (traceGL_Native.glGetColorTableEXT)
  {
    if (traceGL_Native.glGetColorTableEXT == glGetColorTableEXT)
    {
      traceWarning("Ignoring glGetColorTableEXT loaded from traceGL library.");
      traceGL_Native.glGetColorTableEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetColorTableEXT not loaded.");
  }
  if (traceGL_Native.glGetColorTableParameterivEXT)
  {
    if (traceGL_Native.glGetColorTableParameterivEXT == glGetColorTableParameterivEXT)
    {
      traceWarning("Ignoring glGetColorTableParameterivEXT loaded from traceGL library.");
      traceGL_Native.glGetColorTableParameterivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetColorTableParameterivEXT not loaded.");
  }
  if (traceGL_Native.glGetColorTableParameterfvEXT)
  {
    if (traceGL_Native.glGetColorTableParameterfvEXT == glGetColorTableParameterfvEXT)
    {
      traceWarning("Ignoring glGetColorTableParameterfvEXT loaded from traceGL library.");
      traceGL_Native.glGetColorTableParameterfvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetColorTableParameterfvEXT not loaded.");
  }
  if (traceGL_Native.glGetListParameterfvSGIX)
  {
    if (traceGL_Native.glGetListParameterfvSGIX == glGetListParameterfvSGIX)
    {
      traceWarning("Ignoring glGetListParameterfvSGIX loaded from traceGL library.");
      traceGL_Native.glGetListParameterfvSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glGetListParameterfvSGIX not loaded.");
  }
  if (traceGL_Native.glGetListParameterivSGIX)
  {
    if (traceGL_Native.glGetListParameterivSGIX == glGetListParameterivSGIX)
    {
      traceWarning("Ignoring glGetListParameterivSGIX loaded from traceGL library.");
      traceGL_Native.glGetListParameterivSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glGetListParameterivSGIX not loaded.");
  }
  if (traceGL_Native.glListParameterfSGIX)
  {
    if (traceGL_Native.glListParameterfSGIX == glListParameterfSGIX)
    {
      traceWarning("Ignoring glListParameterfSGIX loaded from traceGL library.");
      traceGL_Native.glListParameterfSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glListParameterfSGIX not loaded.");
  }
  if (traceGL_Native.glListParameterfvSGIX)
  {
    if (traceGL_Native.glListParameterfvSGIX == glListParameterfvSGIX)
    {
      traceWarning("Ignoring glListParameterfvSGIX loaded from traceGL library.");
      traceGL_Native.glListParameterfvSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glListParameterfvSGIX not loaded.");
  }
  if (traceGL_Native.glListParameteriSGIX)
  {
    if (traceGL_Native.glListParameteriSGIX == glListParameteriSGIX)
    {
      traceWarning("Ignoring glListParameteriSGIX loaded from traceGL library.");
      traceGL_Native.glListParameteriSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glListParameteriSGIX not loaded.");
  }
  if (traceGL_Native.glListParameterivSGIX)
  {
    if (traceGL_Native.glListParameterivSGIX == glListParameterivSGIX)
    {
      traceWarning("Ignoring glListParameterivSGIX loaded from traceGL library.");
      traceGL_Native.glListParameterivSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glListParameterivSGIX not loaded.");
  }
  if (traceGL_Native.glIndexMaterialEXT)
  {
    if (traceGL_Native.glIndexMaterialEXT == glIndexMaterialEXT)
    {
      traceWarning("Ignoring glIndexMaterialEXT loaded from traceGL library.");
      traceGL_Native.glIndexMaterialEXT = NULL;
    }
  }
  else
  {
    traceWarning("glIndexMaterialEXT not loaded.");
  }
  if (traceGL_Native.glIndexFuncEXT)
  {
    if (traceGL_Native.glIndexFuncEXT == glIndexFuncEXT)
    {
      traceWarning("Ignoring glIndexFuncEXT loaded from traceGL library.");
      traceGL_Native.glIndexFuncEXT = NULL;
    }
  }
  else
  {
    traceWarning("glIndexFuncEXT not loaded.");
  }
  if (traceGL_Native.glLockArraysEXT)
  {
    if (traceGL_Native.glLockArraysEXT == glLockArraysEXT)
    {
      traceWarning("Ignoring glLockArraysEXT loaded from traceGL library.");
      traceGL_Native.glLockArraysEXT = NULL;
    }
  }
  else
  {
    traceWarning("glLockArraysEXT not loaded.");
  }
  if (traceGL_Native.glUnlockArraysEXT)
  {
    if (traceGL_Native.glUnlockArraysEXT == glUnlockArraysEXT)
    {
      traceWarning("Ignoring glUnlockArraysEXT loaded from traceGL library.");
      traceGL_Native.glUnlockArraysEXT = NULL;
    }
  }
  else
  {
    traceWarning("glUnlockArraysEXT not loaded.");
  }
  if (traceGL_Native.glCullParameterdvEXT)
  {
    if (traceGL_Native.glCullParameterdvEXT == glCullParameterdvEXT)
    {
      traceWarning("Ignoring glCullParameterdvEXT loaded from traceGL library.");
      traceGL_Native.glCullParameterdvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCullParameterdvEXT not loaded.");
  }
  if (traceGL_Native.glCullParameterfvEXT)
  {
    if (traceGL_Native.glCullParameterfvEXT == glCullParameterfvEXT)
    {
      traceWarning("Ignoring glCullParameterfvEXT loaded from traceGL library.");
      traceGL_Native.glCullParameterfvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCullParameterfvEXT not loaded.");
  }
  if (traceGL_Native.glFragmentColorMaterialSGIX)
  {
    if (traceGL_Native.glFragmentColorMaterialSGIX == glFragmentColorMaterialSGIX)
    {
      traceWarning("Ignoring glFragmentColorMaterialSGIX loaded from traceGL library.");
      traceGL_Native.glFragmentColorMaterialSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glFragmentColorMaterialSGIX not loaded.");
  }
  if (traceGL_Native.glFragmentLightfSGIX)
  {
    if (traceGL_Native.glFragmentLightfSGIX == glFragmentLightfSGIX)
    {
      traceWarning("Ignoring glFragmentLightfSGIX loaded from traceGL library.");
      traceGL_Native.glFragmentLightfSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glFragmentLightfSGIX not loaded.");
  }
  if (traceGL_Native.glFragmentLightfvSGIX)
  {
    if (traceGL_Native.glFragmentLightfvSGIX == glFragmentLightfvSGIX)
    {
      traceWarning("Ignoring glFragmentLightfvSGIX loaded from traceGL library.");
      traceGL_Native.glFragmentLightfvSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glFragmentLightfvSGIX not loaded.");
  }
  if (traceGL_Native.glFragmentLightiSGIX)
  {
    if (traceGL_Native.glFragmentLightiSGIX == glFragmentLightiSGIX)
    {
      traceWarning("Ignoring glFragmentLightiSGIX loaded from traceGL library.");
      traceGL_Native.glFragmentLightiSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glFragmentLightiSGIX not loaded.");
  }
  if (traceGL_Native.glFragmentLightivSGIX)
  {
    if (traceGL_Native.glFragmentLightivSGIX == glFragmentLightivSGIX)
    {
      traceWarning("Ignoring glFragmentLightivSGIX loaded from traceGL library.");
      traceGL_Native.glFragmentLightivSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glFragmentLightivSGIX not loaded.");
  }
  if (traceGL_Native.glFragmentLightModelfSGIX)
  {
    if (traceGL_Native.glFragmentLightModelfSGIX == glFragmentLightModelfSGIX)
    {
      traceWarning("Ignoring glFragmentLightModelfSGIX loaded from traceGL library.");
      traceGL_Native.glFragmentLightModelfSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glFragmentLightModelfSGIX not loaded.");
  }
  if (traceGL_Native.glFragmentLightModelfvSGIX)
  {
    if (traceGL_Native.glFragmentLightModelfvSGIX == glFragmentLightModelfvSGIX)
    {
      traceWarning("Ignoring glFragmentLightModelfvSGIX loaded from traceGL library.");
      traceGL_Native.glFragmentLightModelfvSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glFragmentLightModelfvSGIX not loaded.");
  }
  if (traceGL_Native.glFragmentLightModeliSGIX)
  {
    if (traceGL_Native.glFragmentLightModeliSGIX == glFragmentLightModeliSGIX)
    {
      traceWarning("Ignoring glFragmentLightModeliSGIX loaded from traceGL library.");
      traceGL_Native.glFragmentLightModeliSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glFragmentLightModeliSGIX not loaded.");
  }
  if (traceGL_Native.glFragmentLightModelivSGIX)
  {
    if (traceGL_Native.glFragmentLightModelivSGIX == glFragmentLightModelivSGIX)
    {
      traceWarning("Ignoring glFragmentLightModelivSGIX loaded from traceGL library.");
      traceGL_Native.glFragmentLightModelivSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glFragmentLightModelivSGIX not loaded.");
  }
  if (traceGL_Native.glFragmentMaterialfSGIX)
  {
    if (traceGL_Native.glFragmentMaterialfSGIX == glFragmentMaterialfSGIX)
    {
      traceWarning("Ignoring glFragmentMaterialfSGIX loaded from traceGL library.");
      traceGL_Native.glFragmentMaterialfSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glFragmentMaterialfSGIX not loaded.");
  }
  if (traceGL_Native.glFragmentMaterialfvSGIX)
  {
    if (traceGL_Native.glFragmentMaterialfvSGIX == glFragmentMaterialfvSGIX)
    {
      traceWarning("Ignoring glFragmentMaterialfvSGIX loaded from traceGL library.");
      traceGL_Native.glFragmentMaterialfvSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glFragmentMaterialfvSGIX not loaded.");
  }
  if (traceGL_Native.glFragmentMaterialiSGIX)
  {
    if (traceGL_Native.glFragmentMaterialiSGIX == glFragmentMaterialiSGIX)
    {
      traceWarning("Ignoring glFragmentMaterialiSGIX loaded from traceGL library.");
      traceGL_Native.glFragmentMaterialiSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glFragmentMaterialiSGIX not loaded.");
  }
  if (traceGL_Native.glFragmentMaterialivSGIX)
  {
    if (traceGL_Native.glFragmentMaterialivSGIX == glFragmentMaterialivSGIX)
    {
      traceWarning("Ignoring glFragmentMaterialivSGIX loaded from traceGL library.");
      traceGL_Native.glFragmentMaterialivSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glFragmentMaterialivSGIX not loaded.");
  }
  if (traceGL_Native.glGetFragmentLightfvSGIX)
  {
    if (traceGL_Native.glGetFragmentLightfvSGIX == glGetFragmentLightfvSGIX)
    {
      traceWarning("Ignoring glGetFragmentLightfvSGIX loaded from traceGL library.");
      traceGL_Native.glGetFragmentLightfvSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glGetFragmentLightfvSGIX not loaded.");
  }
  if (traceGL_Native.glGetFragmentLightivSGIX)
  {
    if (traceGL_Native.glGetFragmentLightivSGIX == glGetFragmentLightivSGIX)
    {
      traceWarning("Ignoring glGetFragmentLightivSGIX loaded from traceGL library.");
      traceGL_Native.glGetFragmentLightivSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glGetFragmentLightivSGIX not loaded.");
  }
  if (traceGL_Native.glGetFragmentMaterialfvSGIX)
  {
    if (traceGL_Native.glGetFragmentMaterialfvSGIX == glGetFragmentMaterialfvSGIX)
    {
      traceWarning("Ignoring glGetFragmentMaterialfvSGIX loaded from traceGL library.");
      traceGL_Native.glGetFragmentMaterialfvSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glGetFragmentMaterialfvSGIX not loaded.");
  }
  if (traceGL_Native.glGetFragmentMaterialivSGIX)
  {
    if (traceGL_Native.glGetFragmentMaterialivSGIX == glGetFragmentMaterialivSGIX)
    {
      traceWarning("Ignoring glGetFragmentMaterialivSGIX loaded from traceGL library.");
      traceGL_Native.glGetFragmentMaterialivSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glGetFragmentMaterialivSGIX not loaded.");
  }
  if (traceGL_Native.glLightEnviSGIX)
  {
    if (traceGL_Native.glLightEnviSGIX == glLightEnviSGIX)
    {
      traceWarning("Ignoring glLightEnviSGIX loaded from traceGL library.");
      traceGL_Native.glLightEnviSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glLightEnviSGIX not loaded.");
  }
  if (traceGL_Native.glDrawRangeElementsEXT)
  {
    if (traceGL_Native.glDrawRangeElementsEXT == glDrawRangeElementsEXT)
    {
      traceWarning("Ignoring glDrawRangeElementsEXT loaded from traceGL library.");
      traceGL_Native.glDrawRangeElementsEXT = NULL;
    }
  }
  else
  {
    traceWarning("glDrawRangeElementsEXT not loaded.");
  }
  if (traceGL_Native.glApplyTextureEXT)
  {
    if (traceGL_Native.glApplyTextureEXT == glApplyTextureEXT)
    {
      traceWarning("Ignoring glApplyTextureEXT loaded from traceGL library.");
      traceGL_Native.glApplyTextureEXT = NULL;
    }
  }
  else
  {
    traceWarning("glApplyTextureEXT not loaded.");
  }
  if (traceGL_Native.glTextureLightEXT)
  {
    if (traceGL_Native.glTextureLightEXT == glTextureLightEXT)
    {
      traceWarning("Ignoring glTextureLightEXT loaded from traceGL library.");
      traceGL_Native.glTextureLightEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTextureLightEXT not loaded.");
  }
  if (traceGL_Native.glTextureMaterialEXT)
  {
    if (traceGL_Native.glTextureMaterialEXT == glTextureMaterialEXT)
    {
      traceWarning("Ignoring glTextureMaterialEXT loaded from traceGL library.");
      traceGL_Native.glTextureMaterialEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTextureMaterialEXT not loaded.");
  }
  if (traceGL_Native.glAsyncMarkerSGIX)
  {
    if (traceGL_Native.glAsyncMarkerSGIX == glAsyncMarkerSGIX)
    {
      traceWarning("Ignoring glAsyncMarkerSGIX loaded from traceGL library.");
      traceGL_Native.glAsyncMarkerSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glAsyncMarkerSGIX not loaded.");
  }
  if (traceGL_Native.glFinishAsyncSGIX)
  {
    if (traceGL_Native.glFinishAsyncSGIX == glFinishAsyncSGIX)
    {
      traceWarning("Ignoring glFinishAsyncSGIX loaded from traceGL library.");
      traceGL_Native.glFinishAsyncSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glFinishAsyncSGIX not loaded.");
  }
  if (traceGL_Native.glPollAsyncSGIX)
  {
    if (traceGL_Native.glPollAsyncSGIX == glPollAsyncSGIX)
    {
      traceWarning("Ignoring glPollAsyncSGIX loaded from traceGL library.");
      traceGL_Native.glPollAsyncSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glPollAsyncSGIX not loaded.");
  }
  if (traceGL_Native.glGenAsyncMarkersSGIX)
  {
    if (traceGL_Native.glGenAsyncMarkersSGIX == glGenAsyncMarkersSGIX)
    {
      traceWarning("Ignoring glGenAsyncMarkersSGIX loaded from traceGL library.");
      traceGL_Native.glGenAsyncMarkersSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glGenAsyncMarkersSGIX not loaded.");
  }
  if (traceGL_Native.glDeleteAsyncMarkersSGIX)
  {
    if (traceGL_Native.glDeleteAsyncMarkersSGIX == glDeleteAsyncMarkersSGIX)
    {
      traceWarning("Ignoring glDeleteAsyncMarkersSGIX loaded from traceGL library.");
      traceGL_Native.glDeleteAsyncMarkersSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteAsyncMarkersSGIX not loaded.");
  }
  if (traceGL_Native.glIsAsyncMarkerSGIX)
  {
    if (traceGL_Native.glIsAsyncMarkerSGIX == glIsAsyncMarkerSGIX)
    {
      traceWarning("Ignoring glIsAsyncMarkerSGIX loaded from traceGL library.");
      traceGL_Native.glIsAsyncMarkerSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glIsAsyncMarkerSGIX not loaded.");
  }
  if (traceGL_Native.glVertexPointervINTEL)
  {
    if (traceGL_Native.glVertexPointervINTEL == glVertexPointervINTEL)
    {
      traceWarning("Ignoring glVertexPointervINTEL loaded from traceGL library.");
      traceGL_Native.glVertexPointervINTEL = NULL;
    }
  }
  else
  {
    traceWarning("glVertexPointervINTEL not loaded.");
  }
  if (traceGL_Native.glNormalPointervINTEL)
  {
    if (traceGL_Native.glNormalPointervINTEL == glNormalPointervINTEL)
    {
      traceWarning("Ignoring glNormalPointervINTEL loaded from traceGL library.");
      traceGL_Native.glNormalPointervINTEL = NULL;
    }
  }
  else
  {
    traceWarning("glNormalPointervINTEL not loaded.");
  }
  if (traceGL_Native.glColorPointervINTEL)
  {
    if (traceGL_Native.glColorPointervINTEL == glColorPointervINTEL)
    {
      traceWarning("Ignoring glColorPointervINTEL loaded from traceGL library.");
      traceGL_Native.glColorPointervINTEL = NULL;
    }
  }
  else
  {
    traceWarning("glColorPointervINTEL not loaded.");
  }
  if (traceGL_Native.glTexCoordPointervINTEL)
  {
    if (traceGL_Native.glTexCoordPointervINTEL == glTexCoordPointervINTEL)
    {
      traceWarning("Ignoring glTexCoordPointervINTEL loaded from traceGL library.");
      traceGL_Native.glTexCoordPointervINTEL = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoordPointervINTEL not loaded.");
  }
  if (traceGL_Native.glPixelTransformParameteriEXT)
  {
    if (traceGL_Native.glPixelTransformParameteriEXT == glPixelTransformParameteriEXT)
    {
      traceWarning("Ignoring glPixelTransformParameteriEXT loaded from traceGL library.");
      traceGL_Native.glPixelTransformParameteriEXT = NULL;
    }
  }
  else
  {
    traceWarning("glPixelTransformParameteriEXT not loaded.");
  }
  if (traceGL_Native.glPixelTransformParameterfEXT)
  {
    if (traceGL_Native.glPixelTransformParameterfEXT == glPixelTransformParameterfEXT)
    {
      traceWarning("Ignoring glPixelTransformParameterfEXT loaded from traceGL library.");
      traceGL_Native.glPixelTransformParameterfEXT = NULL;
    }
  }
  else
  {
    traceWarning("glPixelTransformParameterfEXT not loaded.");
  }
  if (traceGL_Native.glPixelTransformParameterivEXT)
  {
    if (traceGL_Native.glPixelTransformParameterivEXT == glPixelTransformParameterivEXT)
    {
      traceWarning("Ignoring glPixelTransformParameterivEXT loaded from traceGL library.");
      traceGL_Native.glPixelTransformParameterivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glPixelTransformParameterivEXT not loaded.");
  }
  if (traceGL_Native.glPixelTransformParameterfvEXT)
  {
    if (traceGL_Native.glPixelTransformParameterfvEXT == glPixelTransformParameterfvEXT)
    {
      traceWarning("Ignoring glPixelTransformParameterfvEXT loaded from traceGL library.");
      traceGL_Native.glPixelTransformParameterfvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glPixelTransformParameterfvEXT not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3bEXT)
  {
    if (traceGL_Native.glSecondaryColor3bEXT == glSecondaryColor3bEXT)
    {
      traceWarning("Ignoring glSecondaryColor3bEXT loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3bEXT = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3bEXT not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3bvEXT)
  {
    if (traceGL_Native.glSecondaryColor3bvEXT == glSecondaryColor3bvEXT)
    {
      traceWarning("Ignoring glSecondaryColor3bvEXT loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3bvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3bvEXT not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3dEXT)
  {
    if (traceGL_Native.glSecondaryColor3dEXT == glSecondaryColor3dEXT)
    {
      traceWarning("Ignoring glSecondaryColor3dEXT loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3dEXT = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3dEXT not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3dvEXT)
  {
    if (traceGL_Native.glSecondaryColor3dvEXT == glSecondaryColor3dvEXT)
    {
      traceWarning("Ignoring glSecondaryColor3dvEXT loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3dvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3dvEXT not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3fEXT)
  {
    if (traceGL_Native.glSecondaryColor3fEXT == glSecondaryColor3fEXT)
    {
      traceWarning("Ignoring glSecondaryColor3fEXT loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3fEXT = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3fEXT not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3fvEXT)
  {
    if (traceGL_Native.glSecondaryColor3fvEXT == glSecondaryColor3fvEXT)
    {
      traceWarning("Ignoring glSecondaryColor3fvEXT loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3fvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3fvEXT not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3iEXT)
  {
    if (traceGL_Native.glSecondaryColor3iEXT == glSecondaryColor3iEXT)
    {
      traceWarning("Ignoring glSecondaryColor3iEXT loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3iEXT = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3iEXT not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3ivEXT)
  {
    if (traceGL_Native.glSecondaryColor3ivEXT == glSecondaryColor3ivEXT)
    {
      traceWarning("Ignoring glSecondaryColor3ivEXT loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3ivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3ivEXT not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3sEXT)
  {
    if (traceGL_Native.glSecondaryColor3sEXT == glSecondaryColor3sEXT)
    {
      traceWarning("Ignoring glSecondaryColor3sEXT loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3sEXT = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3sEXT not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3svEXT)
  {
    if (traceGL_Native.glSecondaryColor3svEXT == glSecondaryColor3svEXT)
    {
      traceWarning("Ignoring glSecondaryColor3svEXT loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3svEXT = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3svEXT not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3ubEXT)
  {
    if (traceGL_Native.glSecondaryColor3ubEXT == glSecondaryColor3ubEXT)
    {
      traceWarning("Ignoring glSecondaryColor3ubEXT loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3ubEXT = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3ubEXT not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3ubvEXT)
  {
    if (traceGL_Native.glSecondaryColor3ubvEXT == glSecondaryColor3ubvEXT)
    {
      traceWarning("Ignoring glSecondaryColor3ubvEXT loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3ubvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3ubvEXT not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3uiEXT)
  {
    if (traceGL_Native.glSecondaryColor3uiEXT == glSecondaryColor3uiEXT)
    {
      traceWarning("Ignoring glSecondaryColor3uiEXT loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3uiEXT = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3uiEXT not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3uivEXT)
  {
    if (traceGL_Native.glSecondaryColor3uivEXT == glSecondaryColor3uivEXT)
    {
      traceWarning("Ignoring glSecondaryColor3uivEXT loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3uivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3uivEXT not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3usEXT)
  {
    if (traceGL_Native.glSecondaryColor3usEXT == glSecondaryColor3usEXT)
    {
      traceWarning("Ignoring glSecondaryColor3usEXT loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3usEXT = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3usEXT not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3usvEXT)
  {
    if (traceGL_Native.glSecondaryColor3usvEXT == glSecondaryColor3usvEXT)
    {
      traceWarning("Ignoring glSecondaryColor3usvEXT loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3usvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3usvEXT not loaded.");
  }
  if (traceGL_Native.glSecondaryColorPointerEXT)
  {
    if (traceGL_Native.glSecondaryColorPointerEXT == glSecondaryColorPointerEXT)
    {
      traceWarning("Ignoring glSecondaryColorPointerEXT loaded from traceGL library.");
      traceGL_Native.glSecondaryColorPointerEXT = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColorPointerEXT not loaded.");
  }
  if (traceGL_Native.glTextureNormalEXT)
  {
    if (traceGL_Native.glTextureNormalEXT == glTextureNormalEXT)
    {
      traceWarning("Ignoring glTextureNormalEXT loaded from traceGL library.");
      traceGL_Native.glTextureNormalEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTextureNormalEXT not loaded.");
  }
  if (traceGL_Native.glMultiDrawArraysEXT)
  {
    if (traceGL_Native.glMultiDrawArraysEXT == glMultiDrawArraysEXT)
    {
      traceWarning("Ignoring glMultiDrawArraysEXT loaded from traceGL library.");
      traceGL_Native.glMultiDrawArraysEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiDrawArraysEXT not loaded.");
  }
  if (traceGL_Native.glMultiDrawElementsEXT)
  {
    if (traceGL_Native.glMultiDrawElementsEXT == glMultiDrawElementsEXT)
    {
      traceWarning("Ignoring glMultiDrawElementsEXT loaded from traceGL library.");
      traceGL_Native.glMultiDrawElementsEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiDrawElementsEXT not loaded.");
  }
  if (traceGL_Native.glFogCoordfEXT)
  {
    if (traceGL_Native.glFogCoordfEXT == glFogCoordfEXT)
    {
      traceWarning("Ignoring glFogCoordfEXT loaded from traceGL library.");
      traceGL_Native.glFogCoordfEXT = NULL;
    }
  }
  else
  {
    traceWarning("glFogCoordfEXT not loaded.");
  }
  if (traceGL_Native.glFogCoordfvEXT)
  {
    if (traceGL_Native.glFogCoordfvEXT == glFogCoordfvEXT)
    {
      traceWarning("Ignoring glFogCoordfvEXT loaded from traceGL library.");
      traceGL_Native.glFogCoordfvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glFogCoordfvEXT not loaded.");
  }
  if (traceGL_Native.glFogCoorddEXT)
  {
    if (traceGL_Native.glFogCoorddEXT == glFogCoorddEXT)
    {
      traceWarning("Ignoring glFogCoorddEXT loaded from traceGL library.");
      traceGL_Native.glFogCoorddEXT = NULL;
    }
  }
  else
  {
    traceWarning("glFogCoorddEXT not loaded.");
  }
  if (traceGL_Native.glFogCoorddvEXT)
  {
    if (traceGL_Native.glFogCoorddvEXT == glFogCoorddvEXT)
    {
      traceWarning("Ignoring glFogCoorddvEXT loaded from traceGL library.");
      traceGL_Native.glFogCoorddvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glFogCoorddvEXT not loaded.");
  }
  if (traceGL_Native.glFogCoordPointerEXT)
  {
    if (traceGL_Native.glFogCoordPointerEXT == glFogCoordPointerEXT)
    {
      traceWarning("Ignoring glFogCoordPointerEXT loaded from traceGL library.");
      traceGL_Native.glFogCoordPointerEXT = NULL;
    }
  }
  else
  {
    traceWarning("glFogCoordPointerEXT not loaded.");
  }
  if (traceGL_Native.glTangent3bEXT)
  {
    if (traceGL_Native.glTangent3bEXT == glTangent3bEXT)
    {
      traceWarning("Ignoring glTangent3bEXT loaded from traceGL library.");
      traceGL_Native.glTangent3bEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTangent3bEXT not loaded.");
  }
  if (traceGL_Native.glTangent3bvEXT)
  {
    if (traceGL_Native.glTangent3bvEXT == glTangent3bvEXT)
    {
      traceWarning("Ignoring glTangent3bvEXT loaded from traceGL library.");
      traceGL_Native.glTangent3bvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTangent3bvEXT not loaded.");
  }
  if (traceGL_Native.glTangent3dEXT)
  {
    if (traceGL_Native.glTangent3dEXT == glTangent3dEXT)
    {
      traceWarning("Ignoring glTangent3dEXT loaded from traceGL library.");
      traceGL_Native.glTangent3dEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTangent3dEXT not loaded.");
  }
  if (traceGL_Native.glTangent3dvEXT)
  {
    if (traceGL_Native.glTangent3dvEXT == glTangent3dvEXT)
    {
      traceWarning("Ignoring glTangent3dvEXT loaded from traceGL library.");
      traceGL_Native.glTangent3dvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTangent3dvEXT not loaded.");
  }
  if (traceGL_Native.glTangent3fEXT)
  {
    if (traceGL_Native.glTangent3fEXT == glTangent3fEXT)
    {
      traceWarning("Ignoring glTangent3fEXT loaded from traceGL library.");
      traceGL_Native.glTangent3fEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTangent3fEXT not loaded.");
  }
  if (traceGL_Native.glTangent3fvEXT)
  {
    if (traceGL_Native.glTangent3fvEXT == glTangent3fvEXT)
    {
      traceWarning("Ignoring glTangent3fvEXT loaded from traceGL library.");
      traceGL_Native.glTangent3fvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTangent3fvEXT not loaded.");
  }
  if (traceGL_Native.glTangent3iEXT)
  {
    if (traceGL_Native.glTangent3iEXT == glTangent3iEXT)
    {
      traceWarning("Ignoring glTangent3iEXT loaded from traceGL library.");
      traceGL_Native.glTangent3iEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTangent3iEXT not loaded.");
  }
  if (traceGL_Native.glTangent3ivEXT)
  {
    if (traceGL_Native.glTangent3ivEXT == glTangent3ivEXT)
    {
      traceWarning("Ignoring glTangent3ivEXT loaded from traceGL library.");
      traceGL_Native.glTangent3ivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTangent3ivEXT not loaded.");
  }
  if (traceGL_Native.glTangent3sEXT)
  {
    if (traceGL_Native.glTangent3sEXT == glTangent3sEXT)
    {
      traceWarning("Ignoring glTangent3sEXT loaded from traceGL library.");
      traceGL_Native.glTangent3sEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTangent3sEXT not loaded.");
  }
  if (traceGL_Native.glTangent3svEXT)
  {
    if (traceGL_Native.glTangent3svEXT == glTangent3svEXT)
    {
      traceWarning("Ignoring glTangent3svEXT loaded from traceGL library.");
      traceGL_Native.glTangent3svEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTangent3svEXT not loaded.");
  }
  if (traceGL_Native.glBinormal3bEXT)
  {
    if (traceGL_Native.glBinormal3bEXT == glBinormal3bEXT)
    {
      traceWarning("Ignoring glBinormal3bEXT loaded from traceGL library.");
      traceGL_Native.glBinormal3bEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBinormal3bEXT not loaded.");
  }
  if (traceGL_Native.glBinormal3bvEXT)
  {
    if (traceGL_Native.glBinormal3bvEXT == glBinormal3bvEXT)
    {
      traceWarning("Ignoring glBinormal3bvEXT loaded from traceGL library.");
      traceGL_Native.glBinormal3bvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBinormal3bvEXT not loaded.");
  }
  if (traceGL_Native.glBinormal3dEXT)
  {
    if (traceGL_Native.glBinormal3dEXT == glBinormal3dEXT)
    {
      traceWarning("Ignoring glBinormal3dEXT loaded from traceGL library.");
      traceGL_Native.glBinormal3dEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBinormal3dEXT not loaded.");
  }
  if (traceGL_Native.glBinormal3dvEXT)
  {
    if (traceGL_Native.glBinormal3dvEXT == glBinormal3dvEXT)
    {
      traceWarning("Ignoring glBinormal3dvEXT loaded from traceGL library.");
      traceGL_Native.glBinormal3dvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBinormal3dvEXT not loaded.");
  }
  if (traceGL_Native.glBinormal3fEXT)
  {
    if (traceGL_Native.glBinormal3fEXT == glBinormal3fEXT)
    {
      traceWarning("Ignoring glBinormal3fEXT loaded from traceGL library.");
      traceGL_Native.glBinormal3fEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBinormal3fEXT not loaded.");
  }
  if (traceGL_Native.glBinormal3fvEXT)
  {
    if (traceGL_Native.glBinormal3fvEXT == glBinormal3fvEXT)
    {
      traceWarning("Ignoring glBinormal3fvEXT loaded from traceGL library.");
      traceGL_Native.glBinormal3fvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBinormal3fvEXT not loaded.");
  }
  if (traceGL_Native.glBinormal3iEXT)
  {
    if (traceGL_Native.glBinormal3iEXT == glBinormal3iEXT)
    {
      traceWarning("Ignoring glBinormal3iEXT loaded from traceGL library.");
      traceGL_Native.glBinormal3iEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBinormal3iEXT not loaded.");
  }
  if (traceGL_Native.glBinormal3ivEXT)
  {
    if (traceGL_Native.glBinormal3ivEXT == glBinormal3ivEXT)
    {
      traceWarning("Ignoring glBinormal3ivEXT loaded from traceGL library.");
      traceGL_Native.glBinormal3ivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBinormal3ivEXT not loaded.");
  }
  if (traceGL_Native.glBinormal3sEXT)
  {
    if (traceGL_Native.glBinormal3sEXT == glBinormal3sEXT)
    {
      traceWarning("Ignoring glBinormal3sEXT loaded from traceGL library.");
      traceGL_Native.glBinormal3sEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBinormal3sEXT not loaded.");
  }
  if (traceGL_Native.glBinormal3svEXT)
  {
    if (traceGL_Native.glBinormal3svEXT == glBinormal3svEXT)
    {
      traceWarning("Ignoring glBinormal3svEXT loaded from traceGL library.");
      traceGL_Native.glBinormal3svEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBinormal3svEXT not loaded.");
  }
  if (traceGL_Native.glTangentPointerEXT)
  {
    if (traceGL_Native.glTangentPointerEXT == glTangentPointerEXT)
    {
      traceWarning("Ignoring glTangentPointerEXT loaded from traceGL library.");
      traceGL_Native.glTangentPointerEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTangentPointerEXT not loaded.");
  }
  if (traceGL_Native.glBinormalPointerEXT)
  {
    if (traceGL_Native.glBinormalPointerEXT == glBinormalPointerEXT)
    {
      traceWarning("Ignoring glBinormalPointerEXT loaded from traceGL library.");
      traceGL_Native.glBinormalPointerEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBinormalPointerEXT not loaded.");
  }
  if (traceGL_Native.glFinishTextureSUNX)
  {
    if (traceGL_Native.glFinishTextureSUNX == glFinishTextureSUNX)
    {
      traceWarning("Ignoring glFinishTextureSUNX loaded from traceGL library.");
      traceGL_Native.glFinishTextureSUNX = NULL;
    }
  }
  else
  {
    traceWarning("glFinishTextureSUNX not loaded.");
  }
  if (traceGL_Native.glGlobalAlphaFactorbSUN)
  {
    if (traceGL_Native.glGlobalAlphaFactorbSUN == glGlobalAlphaFactorbSUN)
    {
      traceWarning("Ignoring glGlobalAlphaFactorbSUN loaded from traceGL library.");
      traceGL_Native.glGlobalAlphaFactorbSUN = NULL;
    }
  }
  else
  {
    traceWarning("glGlobalAlphaFactorbSUN not loaded.");
  }
  if (traceGL_Native.glGlobalAlphaFactorsSUN)
  {
    if (traceGL_Native.glGlobalAlphaFactorsSUN == glGlobalAlphaFactorsSUN)
    {
      traceWarning("Ignoring glGlobalAlphaFactorsSUN loaded from traceGL library.");
      traceGL_Native.glGlobalAlphaFactorsSUN = NULL;
    }
  }
  else
  {
    traceWarning("glGlobalAlphaFactorsSUN not loaded.");
  }
  if (traceGL_Native.glGlobalAlphaFactoriSUN)
  {
    if (traceGL_Native.glGlobalAlphaFactoriSUN == glGlobalAlphaFactoriSUN)
    {
      traceWarning("Ignoring glGlobalAlphaFactoriSUN loaded from traceGL library.");
      traceGL_Native.glGlobalAlphaFactoriSUN = NULL;
    }
  }
  else
  {
    traceWarning("glGlobalAlphaFactoriSUN not loaded.");
  }
  if (traceGL_Native.glGlobalAlphaFactorfSUN)
  {
    if (traceGL_Native.glGlobalAlphaFactorfSUN == glGlobalAlphaFactorfSUN)
    {
      traceWarning("Ignoring glGlobalAlphaFactorfSUN loaded from traceGL library.");
      traceGL_Native.glGlobalAlphaFactorfSUN = NULL;
    }
  }
  else
  {
    traceWarning("glGlobalAlphaFactorfSUN not loaded.");
  }
  if (traceGL_Native.glGlobalAlphaFactordSUN)
  {
    if (traceGL_Native.glGlobalAlphaFactordSUN == glGlobalAlphaFactordSUN)
    {
      traceWarning("Ignoring glGlobalAlphaFactordSUN loaded from traceGL library.");
      traceGL_Native.glGlobalAlphaFactordSUN = NULL;
    }
  }
  else
  {
    traceWarning("glGlobalAlphaFactordSUN not loaded.");
  }
  if (traceGL_Native.glGlobalAlphaFactorubSUN)
  {
    if (traceGL_Native.glGlobalAlphaFactorubSUN == glGlobalAlphaFactorubSUN)
    {
      traceWarning("Ignoring glGlobalAlphaFactorubSUN loaded from traceGL library.");
      traceGL_Native.glGlobalAlphaFactorubSUN = NULL;
    }
  }
  else
  {
    traceWarning("glGlobalAlphaFactorubSUN not loaded.");
  }
  if (traceGL_Native.glGlobalAlphaFactorusSUN)
  {
    if (traceGL_Native.glGlobalAlphaFactorusSUN == glGlobalAlphaFactorusSUN)
    {
      traceWarning("Ignoring glGlobalAlphaFactorusSUN loaded from traceGL library.");
      traceGL_Native.glGlobalAlphaFactorusSUN = NULL;
    }
  }
  else
  {
    traceWarning("glGlobalAlphaFactorusSUN not loaded.");
  }
  if (traceGL_Native.glGlobalAlphaFactoruiSUN)
  {
    if (traceGL_Native.glGlobalAlphaFactoruiSUN == glGlobalAlphaFactoruiSUN)
    {
      traceWarning("Ignoring glGlobalAlphaFactoruiSUN loaded from traceGL library.");
      traceGL_Native.glGlobalAlphaFactoruiSUN = NULL;
    }
  }
  else
  {
    traceWarning("glGlobalAlphaFactoruiSUN not loaded.");
  }
  if (traceGL_Native.glReplacementCodeuiSUN)
  {
    if (traceGL_Native.glReplacementCodeuiSUN == glReplacementCodeuiSUN)
    {
      traceWarning("Ignoring glReplacementCodeuiSUN loaded from traceGL library.");
      traceGL_Native.glReplacementCodeuiSUN = NULL;
    }
  }
  else
  {
    traceWarning("glReplacementCodeuiSUN not loaded.");
  }
  if (traceGL_Native.glReplacementCodeusSUN)
  {
    if (traceGL_Native.glReplacementCodeusSUN == glReplacementCodeusSUN)
    {
      traceWarning("Ignoring glReplacementCodeusSUN loaded from traceGL library.");
      traceGL_Native.glReplacementCodeusSUN = NULL;
    }
  }
  else
  {
    traceWarning("glReplacementCodeusSUN not loaded.");
  }
  if (traceGL_Native.glReplacementCodeubSUN)
  {
    if (traceGL_Native.glReplacementCodeubSUN == glReplacementCodeubSUN)
    {
      traceWarning("Ignoring glReplacementCodeubSUN loaded from traceGL library.");
      traceGL_Native.glReplacementCodeubSUN = NULL;
    }
  }
  else
  {
    traceWarning("glReplacementCodeubSUN not loaded.");
  }
  if (traceGL_Native.glReplacementCodeuivSUN)
  {
    if (traceGL_Native.glReplacementCodeuivSUN == glReplacementCodeuivSUN)
    {
      traceWarning("Ignoring glReplacementCodeuivSUN loaded from traceGL library.");
      traceGL_Native.glReplacementCodeuivSUN = NULL;
    }
  }
  else
  {
    traceWarning("glReplacementCodeuivSUN not loaded.");
  }
  if (traceGL_Native.glReplacementCodeusvSUN)
  {
    if (traceGL_Native.glReplacementCodeusvSUN == glReplacementCodeusvSUN)
    {
      traceWarning("Ignoring glReplacementCodeusvSUN loaded from traceGL library.");
      traceGL_Native.glReplacementCodeusvSUN = NULL;
    }
  }
  else
  {
    traceWarning("glReplacementCodeusvSUN not loaded.");
  }
  if (traceGL_Native.glReplacementCodeubvSUN)
  {
    if (traceGL_Native.glReplacementCodeubvSUN == glReplacementCodeubvSUN)
    {
      traceWarning("Ignoring glReplacementCodeubvSUN loaded from traceGL library.");
      traceGL_Native.glReplacementCodeubvSUN = NULL;
    }
  }
  else
  {
    traceWarning("glReplacementCodeubvSUN not loaded.");
  }
  if (traceGL_Native.glReplacementCodePointerSUN)
  {
    if (traceGL_Native.glReplacementCodePointerSUN == glReplacementCodePointerSUN)
    {
      traceWarning("Ignoring glReplacementCodePointerSUN loaded from traceGL library.");
      traceGL_Native.glReplacementCodePointerSUN = NULL;
    }
  }
  else
  {
    traceWarning("glReplacementCodePointerSUN not loaded.");
  }
  if (traceGL_Native.glColor4ubVertex2fSUN)
  {
    if (traceGL_Native.glColor4ubVertex2fSUN == glColor4ubVertex2fSUN)
    {
      traceWarning("Ignoring glColor4ubVertex2fSUN loaded from traceGL library.");
      traceGL_Native.glColor4ubVertex2fSUN = NULL;
    }
  }
  else
  {
    traceWarning("glColor4ubVertex2fSUN not loaded.");
  }
  if (traceGL_Native.glColor4ubVertex2fvSUN)
  {
    if (traceGL_Native.glColor4ubVertex2fvSUN == glColor4ubVertex2fvSUN)
    {
      traceWarning("Ignoring glColor4ubVertex2fvSUN loaded from traceGL library.");
      traceGL_Native.glColor4ubVertex2fvSUN = NULL;
    }
  }
  else
  {
    traceWarning("glColor4ubVertex2fvSUN not loaded.");
  }
  if (traceGL_Native.glColor4ubVertex3fSUN)
  {
    if (traceGL_Native.glColor4ubVertex3fSUN == glColor4ubVertex3fSUN)
    {
      traceWarning("Ignoring glColor4ubVertex3fSUN loaded from traceGL library.");
      traceGL_Native.glColor4ubVertex3fSUN = NULL;
    }
  }
  else
  {
    traceWarning("glColor4ubVertex3fSUN not loaded.");
  }
  if (traceGL_Native.glColor4ubVertex3fvSUN)
  {
    if (traceGL_Native.glColor4ubVertex3fvSUN == glColor4ubVertex3fvSUN)
    {
      traceWarning("Ignoring glColor4ubVertex3fvSUN loaded from traceGL library.");
      traceGL_Native.glColor4ubVertex3fvSUN = NULL;
    }
  }
  else
  {
    traceWarning("glColor4ubVertex3fvSUN not loaded.");
  }
  if (traceGL_Native.glColor3fVertex3fSUN)
  {
    if (traceGL_Native.glColor3fVertex3fSUN == glColor3fVertex3fSUN)
    {
      traceWarning("Ignoring glColor3fVertex3fSUN loaded from traceGL library.");
      traceGL_Native.glColor3fVertex3fSUN = NULL;
    }
  }
  else
  {
    traceWarning("glColor3fVertex3fSUN not loaded.");
  }
  if (traceGL_Native.glColor3fVertex3fvSUN)
  {
    if (traceGL_Native.glColor3fVertex3fvSUN == glColor3fVertex3fvSUN)
    {
      traceWarning("Ignoring glColor3fVertex3fvSUN loaded from traceGL library.");
      traceGL_Native.glColor3fVertex3fvSUN = NULL;
    }
  }
  else
  {
    traceWarning("glColor3fVertex3fvSUN not loaded.");
  }
  if (traceGL_Native.glNormal3fVertex3fSUN)
  {
    if (traceGL_Native.glNormal3fVertex3fSUN == glNormal3fVertex3fSUN)
    {
      traceWarning("Ignoring glNormal3fVertex3fSUN loaded from traceGL library.");
      traceGL_Native.glNormal3fVertex3fSUN = NULL;
    }
  }
  else
  {
    traceWarning("glNormal3fVertex3fSUN not loaded.");
  }
  if (traceGL_Native.glNormal3fVertex3fvSUN)
  {
    if (traceGL_Native.glNormal3fVertex3fvSUN == glNormal3fVertex3fvSUN)
    {
      traceWarning("Ignoring glNormal3fVertex3fvSUN loaded from traceGL library.");
      traceGL_Native.glNormal3fVertex3fvSUN = NULL;
    }
  }
  else
  {
    traceWarning("glNormal3fVertex3fvSUN not loaded.");
  }
  if (traceGL_Native.glColor4fNormal3fVertex3fSUN)
  {
    if (traceGL_Native.glColor4fNormal3fVertex3fSUN == glColor4fNormal3fVertex3fSUN)
    {
      traceWarning("Ignoring glColor4fNormal3fVertex3fSUN loaded from traceGL library.");
      traceGL_Native.glColor4fNormal3fVertex3fSUN = NULL;
    }
  }
  else
  {
    traceWarning("glColor4fNormal3fVertex3fSUN not loaded.");
  }
  if (traceGL_Native.glColor4fNormal3fVertex3fvSUN)
  {
    if (traceGL_Native.glColor4fNormal3fVertex3fvSUN == glColor4fNormal3fVertex3fvSUN)
    {
      traceWarning("Ignoring glColor4fNormal3fVertex3fvSUN loaded from traceGL library.");
      traceGL_Native.glColor4fNormal3fVertex3fvSUN = NULL;
    }
  }
  else
  {
    traceWarning("glColor4fNormal3fVertex3fvSUN not loaded.");
  }
  if (traceGL_Native.glTexCoord2fVertex3fSUN)
  {
    if (traceGL_Native.glTexCoord2fVertex3fSUN == glTexCoord2fVertex3fSUN)
    {
      traceWarning("Ignoring glTexCoord2fVertex3fSUN loaded from traceGL library.");
      traceGL_Native.glTexCoord2fVertex3fSUN = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord2fVertex3fSUN not loaded.");
  }
  if (traceGL_Native.glTexCoord2fVertex3fvSUN)
  {
    if (traceGL_Native.glTexCoord2fVertex3fvSUN == glTexCoord2fVertex3fvSUN)
    {
      traceWarning("Ignoring glTexCoord2fVertex3fvSUN loaded from traceGL library.");
      traceGL_Native.glTexCoord2fVertex3fvSUN = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord2fVertex3fvSUN not loaded.");
  }
  if (traceGL_Native.glTexCoord4fVertex4fSUN)
  {
    if (traceGL_Native.glTexCoord4fVertex4fSUN == glTexCoord4fVertex4fSUN)
    {
      traceWarning("Ignoring glTexCoord4fVertex4fSUN loaded from traceGL library.");
      traceGL_Native.glTexCoord4fVertex4fSUN = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord4fVertex4fSUN not loaded.");
  }
  if (traceGL_Native.glTexCoord4fVertex4fvSUN)
  {
    if (traceGL_Native.glTexCoord4fVertex4fvSUN == glTexCoord4fVertex4fvSUN)
    {
      traceWarning("Ignoring glTexCoord4fVertex4fvSUN loaded from traceGL library.");
      traceGL_Native.glTexCoord4fVertex4fvSUN = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord4fVertex4fvSUN not loaded.");
  }
  if (traceGL_Native.glTexCoord2fColor4ubVertex3fSUN)
  {
    if (traceGL_Native.glTexCoord2fColor4ubVertex3fSUN == glTexCoord2fColor4ubVertex3fSUN)
    {
      traceWarning("Ignoring glTexCoord2fColor4ubVertex3fSUN loaded from traceGL library.");
      traceGL_Native.glTexCoord2fColor4ubVertex3fSUN = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord2fColor4ubVertex3fSUN not loaded.");
  }
  if (traceGL_Native.glTexCoord2fColor4ubVertex3fvSUN)
  {
    if (traceGL_Native.glTexCoord2fColor4ubVertex3fvSUN == glTexCoord2fColor4ubVertex3fvSUN)
    {
      traceWarning("Ignoring glTexCoord2fColor4ubVertex3fvSUN loaded from traceGL library.");
      traceGL_Native.glTexCoord2fColor4ubVertex3fvSUN = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord2fColor4ubVertex3fvSUN not loaded.");
  }
  if (traceGL_Native.glTexCoord2fColor3fVertex3fSUN)
  {
    if (traceGL_Native.glTexCoord2fColor3fVertex3fSUN == glTexCoord2fColor3fVertex3fSUN)
    {
      traceWarning("Ignoring glTexCoord2fColor3fVertex3fSUN loaded from traceGL library.");
      traceGL_Native.glTexCoord2fColor3fVertex3fSUN = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord2fColor3fVertex3fSUN not loaded.");
  }
  if (traceGL_Native.glTexCoord2fColor3fVertex3fvSUN)
  {
    if (traceGL_Native.glTexCoord2fColor3fVertex3fvSUN == glTexCoord2fColor3fVertex3fvSUN)
    {
      traceWarning("Ignoring glTexCoord2fColor3fVertex3fvSUN loaded from traceGL library.");
      traceGL_Native.glTexCoord2fColor3fVertex3fvSUN = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord2fColor3fVertex3fvSUN not loaded.");
  }
  if (traceGL_Native.glTexCoord2fNormal3fVertex3fSUN)
  {
    if (traceGL_Native.glTexCoord2fNormal3fVertex3fSUN == glTexCoord2fNormal3fVertex3fSUN)
    {
      traceWarning("Ignoring glTexCoord2fNormal3fVertex3fSUN loaded from traceGL library.");
      traceGL_Native.glTexCoord2fNormal3fVertex3fSUN = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord2fNormal3fVertex3fSUN not loaded.");
  }
  if (traceGL_Native.glTexCoord2fNormal3fVertex3fvSUN)
  {
    if (traceGL_Native.glTexCoord2fNormal3fVertex3fvSUN == glTexCoord2fNormal3fVertex3fvSUN)
    {
      traceWarning("Ignoring glTexCoord2fNormal3fVertex3fvSUN loaded from traceGL library.");
      traceGL_Native.glTexCoord2fNormal3fVertex3fvSUN = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord2fNormal3fVertex3fvSUN not loaded.");
  }
  if (traceGL_Native.glTexCoord2fColor4fNormal3fVertex3fSUN)
  {
    if (traceGL_Native.glTexCoord2fColor4fNormal3fVertex3fSUN == glTexCoord2fColor4fNormal3fVertex3fSUN)
    {
      traceWarning("Ignoring glTexCoord2fColor4fNormal3fVertex3fSUN loaded from traceGL library.");
      traceGL_Native.glTexCoord2fColor4fNormal3fVertex3fSUN = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord2fColor4fNormal3fVertex3fSUN not loaded.");
  }
  if (traceGL_Native.glTexCoord2fColor4fNormal3fVertex3fvSUN)
  {
    if (traceGL_Native.glTexCoord2fColor4fNormal3fVertex3fvSUN == glTexCoord2fColor4fNormal3fVertex3fvSUN)
    {
      traceWarning("Ignoring glTexCoord2fColor4fNormal3fVertex3fvSUN loaded from traceGL library.");
      traceGL_Native.glTexCoord2fColor4fNormal3fVertex3fvSUN = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord2fColor4fNormal3fVertex3fvSUN not loaded.");
  }
  if (traceGL_Native.glTexCoord4fColor4fNormal3fVertex4fSUN)
  {
    if (traceGL_Native.glTexCoord4fColor4fNormal3fVertex4fSUN == glTexCoord4fColor4fNormal3fVertex4fSUN)
    {
      traceWarning("Ignoring glTexCoord4fColor4fNormal3fVertex4fSUN loaded from traceGL library.");
      traceGL_Native.glTexCoord4fColor4fNormal3fVertex4fSUN = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord4fColor4fNormal3fVertex4fSUN not loaded.");
  }
  if (traceGL_Native.glTexCoord4fColor4fNormal3fVertex4fvSUN)
  {
    if (traceGL_Native.glTexCoord4fColor4fNormal3fVertex4fvSUN == glTexCoord4fColor4fNormal3fVertex4fvSUN)
    {
      traceWarning("Ignoring glTexCoord4fColor4fNormal3fVertex4fvSUN loaded from traceGL library.");
      traceGL_Native.glTexCoord4fColor4fNormal3fVertex4fvSUN = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord4fColor4fNormal3fVertex4fvSUN not loaded.");
  }
  if (traceGL_Native.glReplacementCodeuiVertex3fSUN)
  {
    if (traceGL_Native.glReplacementCodeuiVertex3fSUN == glReplacementCodeuiVertex3fSUN)
    {
      traceWarning("Ignoring glReplacementCodeuiVertex3fSUN loaded from traceGL library.");
      traceGL_Native.glReplacementCodeuiVertex3fSUN = NULL;
    }
  }
  else
  {
    traceWarning("glReplacementCodeuiVertex3fSUN not loaded.");
  }
  if (traceGL_Native.glReplacementCodeuiVertex3fvSUN)
  {
    if (traceGL_Native.glReplacementCodeuiVertex3fvSUN == glReplacementCodeuiVertex3fvSUN)
    {
      traceWarning("Ignoring glReplacementCodeuiVertex3fvSUN loaded from traceGL library.");
      traceGL_Native.glReplacementCodeuiVertex3fvSUN = NULL;
    }
  }
  else
  {
    traceWarning("glReplacementCodeuiVertex3fvSUN not loaded.");
  }
  if (traceGL_Native.glReplacementCodeuiColor4ubVertex3fSUN)
  {
    if (traceGL_Native.glReplacementCodeuiColor4ubVertex3fSUN == glReplacementCodeuiColor4ubVertex3fSUN)
    {
      traceWarning("Ignoring glReplacementCodeuiColor4ubVertex3fSUN loaded from traceGL library.");
      traceGL_Native.glReplacementCodeuiColor4ubVertex3fSUN = NULL;
    }
  }
  else
  {
    traceWarning("glReplacementCodeuiColor4ubVertex3fSUN not loaded.");
  }
  if (traceGL_Native.glReplacementCodeuiColor4ubVertex3fvSUN)
  {
    if (traceGL_Native.glReplacementCodeuiColor4ubVertex3fvSUN == glReplacementCodeuiColor4ubVertex3fvSUN)
    {
      traceWarning("Ignoring glReplacementCodeuiColor4ubVertex3fvSUN loaded from traceGL library.");
      traceGL_Native.glReplacementCodeuiColor4ubVertex3fvSUN = NULL;
    }
  }
  else
  {
    traceWarning("glReplacementCodeuiColor4ubVertex3fvSUN not loaded.");
  }
  if (traceGL_Native.glReplacementCodeuiColor3fVertex3fSUN)
  {
    if (traceGL_Native.glReplacementCodeuiColor3fVertex3fSUN == glReplacementCodeuiColor3fVertex3fSUN)
    {
      traceWarning("Ignoring glReplacementCodeuiColor3fVertex3fSUN loaded from traceGL library.");
      traceGL_Native.glReplacementCodeuiColor3fVertex3fSUN = NULL;
    }
  }
  else
  {
    traceWarning("glReplacementCodeuiColor3fVertex3fSUN not loaded.");
  }
  if (traceGL_Native.glReplacementCodeuiColor3fVertex3fvSUN)
  {
    if (traceGL_Native.glReplacementCodeuiColor3fVertex3fvSUN == glReplacementCodeuiColor3fVertex3fvSUN)
    {
      traceWarning("Ignoring glReplacementCodeuiColor3fVertex3fvSUN loaded from traceGL library.");
      traceGL_Native.glReplacementCodeuiColor3fVertex3fvSUN = NULL;
    }
  }
  else
  {
    traceWarning("glReplacementCodeuiColor3fVertex3fvSUN not loaded.");
  }
  if (traceGL_Native.glReplacementCodeuiNormal3fVertex3fSUN)
  {
    if (traceGL_Native.glReplacementCodeuiNormal3fVertex3fSUN == glReplacementCodeuiNormal3fVertex3fSUN)
    {
      traceWarning("Ignoring glReplacementCodeuiNormal3fVertex3fSUN loaded from traceGL library.");
      traceGL_Native.glReplacementCodeuiNormal3fVertex3fSUN = NULL;
    }
  }
  else
  {
    traceWarning("glReplacementCodeuiNormal3fVertex3fSUN not loaded.");
  }
  if (traceGL_Native.glReplacementCodeuiNormal3fVertex3fvSUN)
  {
    if (traceGL_Native.glReplacementCodeuiNormal3fVertex3fvSUN == glReplacementCodeuiNormal3fVertex3fvSUN)
    {
      traceWarning("Ignoring glReplacementCodeuiNormal3fVertex3fvSUN loaded from traceGL library.");
      traceGL_Native.glReplacementCodeuiNormal3fVertex3fvSUN = NULL;
    }
  }
  else
  {
    traceWarning("glReplacementCodeuiNormal3fVertex3fvSUN not loaded.");
  }
  if (traceGL_Native.glReplacementCodeuiColor4fNormal3fVertex3fSUN)
  {
    if (traceGL_Native.glReplacementCodeuiColor4fNormal3fVertex3fSUN == glReplacementCodeuiColor4fNormal3fVertex3fSUN)
    {
      traceWarning("Ignoring glReplacementCodeuiColor4fNormal3fVertex3fSUN loaded from traceGL library.");
      traceGL_Native.glReplacementCodeuiColor4fNormal3fVertex3fSUN = NULL;
    }
  }
  else
  {
    traceWarning("glReplacementCodeuiColor4fNormal3fVertex3fSUN not loaded.");
  }
  if (traceGL_Native.glReplacementCodeuiColor4fNormal3fVertex3fvSUN)
  {
    if (traceGL_Native.glReplacementCodeuiColor4fNormal3fVertex3fvSUN == glReplacementCodeuiColor4fNormal3fVertex3fvSUN)
    {
      traceWarning("Ignoring glReplacementCodeuiColor4fNormal3fVertex3fvSUN loaded from traceGL library.");
      traceGL_Native.glReplacementCodeuiColor4fNormal3fVertex3fvSUN = NULL;
    }
  }
  else
  {
    traceWarning("glReplacementCodeuiColor4fNormal3fVertex3fvSUN not loaded.");
  }
  if (traceGL_Native.glReplacementCodeuiTexCoord2fVertex3fSUN)
  {
    if (traceGL_Native.glReplacementCodeuiTexCoord2fVertex3fSUN == glReplacementCodeuiTexCoord2fVertex3fSUN)
    {
      traceWarning("Ignoring glReplacementCodeuiTexCoord2fVertex3fSUN loaded from traceGL library.");
      traceGL_Native.glReplacementCodeuiTexCoord2fVertex3fSUN = NULL;
    }
  }
  else
  {
    traceWarning("glReplacementCodeuiTexCoord2fVertex3fSUN not loaded.");
  }
  if (traceGL_Native.glReplacementCodeuiTexCoord2fVertex3fvSUN)
  {
    if (traceGL_Native.glReplacementCodeuiTexCoord2fVertex3fvSUN == glReplacementCodeuiTexCoord2fVertex3fvSUN)
    {
      traceWarning("Ignoring glReplacementCodeuiTexCoord2fVertex3fvSUN loaded from traceGL library.");
      traceGL_Native.glReplacementCodeuiTexCoord2fVertex3fvSUN = NULL;
    }
  }
  else
  {
    traceWarning("glReplacementCodeuiTexCoord2fVertex3fvSUN not loaded.");
  }
  if (traceGL_Native.glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN)
  {
    if (traceGL_Native.glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN == glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN)
    {
      traceWarning("Ignoring glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN loaded from traceGL library.");
      traceGL_Native.glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN = NULL;
    }
  }
  else
  {
    traceWarning("glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN not loaded.");
  }
  if (traceGL_Native.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN)
  {
    if (traceGL_Native.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN == glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN)
    {
      traceWarning("Ignoring glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN loaded from traceGL library.");
      traceGL_Native.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN = NULL;
    }
  }
  else
  {
    traceWarning("glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN not loaded.");
  }
  if (traceGL_Native.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN)
  {
    if (traceGL_Native.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN == glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN)
    {
      traceWarning("Ignoring glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN loaded from traceGL library.");
      traceGL_Native.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN = NULL;
    }
  }
  else
  {
    traceWarning("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN not loaded.");
  }
  if (traceGL_Native.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN)
  {
    if (traceGL_Native.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN == glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN)
    {
      traceWarning("Ignoring glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN loaded from traceGL library.");
      traceGL_Native.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN = NULL;
    }
  }
  else
  {
    traceWarning("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN not loaded.");
  }
  if (traceGL_Native.glBlendFuncSeparateEXT)
  {
    if (traceGL_Native.glBlendFuncSeparateEXT == glBlendFuncSeparateEXT)
    {
      traceWarning("Ignoring glBlendFuncSeparateEXT loaded from traceGL library.");
      traceGL_Native.glBlendFuncSeparateEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBlendFuncSeparateEXT not loaded.");
  }
  if (traceGL_Native.glBlendFuncSeparateINGR)
  {
    if (traceGL_Native.glBlendFuncSeparateINGR == glBlendFuncSeparateINGR)
    {
      traceWarning("Ignoring glBlendFuncSeparateINGR loaded from traceGL library.");
      traceGL_Native.glBlendFuncSeparateINGR = NULL;
    }
  }
  else
  {
    traceWarning("glBlendFuncSeparateINGR not loaded.");
  }
  if (traceGL_Native.glVertexWeightfEXT)
  {
    if (traceGL_Native.glVertexWeightfEXT == glVertexWeightfEXT)
    {
      traceWarning("Ignoring glVertexWeightfEXT loaded from traceGL library.");
      traceGL_Native.glVertexWeightfEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexWeightfEXT not loaded.");
  }
  if (traceGL_Native.glVertexWeightfvEXT)
  {
    if (traceGL_Native.glVertexWeightfvEXT == glVertexWeightfvEXT)
    {
      traceWarning("Ignoring glVertexWeightfvEXT loaded from traceGL library.");
      traceGL_Native.glVertexWeightfvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexWeightfvEXT not loaded.");
  }
  if (traceGL_Native.glVertexWeightPointerEXT)
  {
    if (traceGL_Native.glVertexWeightPointerEXT == glVertexWeightPointerEXT)
    {
      traceWarning("Ignoring glVertexWeightPointerEXT loaded from traceGL library.");
      traceGL_Native.glVertexWeightPointerEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexWeightPointerEXT not loaded.");
  }
  if (traceGL_Native.glFlushVertexArrayRangeNV)
  {
    if (traceGL_Native.glFlushVertexArrayRangeNV == glFlushVertexArrayRangeNV)
    {
      traceWarning("Ignoring glFlushVertexArrayRangeNV loaded from traceGL library.");
      traceGL_Native.glFlushVertexArrayRangeNV = NULL;
    }
  }
  else
  {
    traceWarning("glFlushVertexArrayRangeNV not loaded.");
  }
  if (traceGL_Native.glVertexArrayRangeNV)
  {
    if (traceGL_Native.glVertexArrayRangeNV == glVertexArrayRangeNV)
    {
      traceWarning("Ignoring glVertexArrayRangeNV loaded from traceGL library.");
      traceGL_Native.glVertexArrayRangeNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexArrayRangeNV not loaded.");
  }
  if (traceGL_Native.glCombinerParameterfvNV)
  {
    if (traceGL_Native.glCombinerParameterfvNV == glCombinerParameterfvNV)
    {
      traceWarning("Ignoring glCombinerParameterfvNV loaded from traceGL library.");
      traceGL_Native.glCombinerParameterfvNV = NULL;
    }
  }
  else
  {
    traceWarning("glCombinerParameterfvNV not loaded.");
  }
  if (traceGL_Native.glCombinerParameterfNV)
  {
    if (traceGL_Native.glCombinerParameterfNV == glCombinerParameterfNV)
    {
      traceWarning("Ignoring glCombinerParameterfNV loaded from traceGL library.");
      traceGL_Native.glCombinerParameterfNV = NULL;
    }
  }
  else
  {
    traceWarning("glCombinerParameterfNV not loaded.");
  }
  if (traceGL_Native.glCombinerParameterivNV)
  {
    if (traceGL_Native.glCombinerParameterivNV == glCombinerParameterivNV)
    {
      traceWarning("Ignoring glCombinerParameterivNV loaded from traceGL library.");
      traceGL_Native.glCombinerParameterivNV = NULL;
    }
  }
  else
  {
    traceWarning("glCombinerParameterivNV not loaded.");
  }
  if (traceGL_Native.glCombinerParameteriNV)
  {
    if (traceGL_Native.glCombinerParameteriNV == glCombinerParameteriNV)
    {
      traceWarning("Ignoring glCombinerParameteriNV loaded from traceGL library.");
      traceGL_Native.glCombinerParameteriNV = NULL;
    }
  }
  else
  {
    traceWarning("glCombinerParameteriNV not loaded.");
  }
  if (traceGL_Native.glCombinerInputNV)
  {
    if (traceGL_Native.glCombinerInputNV == glCombinerInputNV)
    {
      traceWarning("Ignoring glCombinerInputNV loaded from traceGL library.");
      traceGL_Native.glCombinerInputNV = NULL;
    }
  }
  else
  {
    traceWarning("glCombinerInputNV not loaded.");
  }
  if (traceGL_Native.glCombinerOutputNV)
  {
    if (traceGL_Native.glCombinerOutputNV == glCombinerOutputNV)
    {
      traceWarning("Ignoring glCombinerOutputNV loaded from traceGL library.");
      traceGL_Native.glCombinerOutputNV = NULL;
    }
  }
  else
  {
    traceWarning("glCombinerOutputNV not loaded.");
  }
  if (traceGL_Native.glFinalCombinerInputNV)
  {
    if (traceGL_Native.glFinalCombinerInputNV == glFinalCombinerInputNV)
    {
      traceWarning("Ignoring glFinalCombinerInputNV loaded from traceGL library.");
      traceGL_Native.glFinalCombinerInputNV = NULL;
    }
  }
  else
  {
    traceWarning("glFinalCombinerInputNV not loaded.");
  }
  if (traceGL_Native.glGetCombinerInputParameterfvNV)
  {
    if (traceGL_Native.glGetCombinerInputParameterfvNV == glGetCombinerInputParameterfvNV)
    {
      traceWarning("Ignoring glGetCombinerInputParameterfvNV loaded from traceGL library.");
      traceGL_Native.glGetCombinerInputParameterfvNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetCombinerInputParameterfvNV not loaded.");
  }
  if (traceGL_Native.glGetCombinerInputParameterivNV)
  {
    if (traceGL_Native.glGetCombinerInputParameterivNV == glGetCombinerInputParameterivNV)
    {
      traceWarning("Ignoring glGetCombinerInputParameterivNV loaded from traceGL library.");
      traceGL_Native.glGetCombinerInputParameterivNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetCombinerInputParameterivNV not loaded.");
  }
  if (traceGL_Native.glGetCombinerOutputParameterfvNV)
  {
    if (traceGL_Native.glGetCombinerOutputParameterfvNV == glGetCombinerOutputParameterfvNV)
    {
      traceWarning("Ignoring glGetCombinerOutputParameterfvNV loaded from traceGL library.");
      traceGL_Native.glGetCombinerOutputParameterfvNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetCombinerOutputParameterfvNV not loaded.");
  }
  if (traceGL_Native.glGetCombinerOutputParameterivNV)
  {
    if (traceGL_Native.glGetCombinerOutputParameterivNV == glGetCombinerOutputParameterivNV)
    {
      traceWarning("Ignoring glGetCombinerOutputParameterivNV loaded from traceGL library.");
      traceGL_Native.glGetCombinerOutputParameterivNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetCombinerOutputParameterivNV not loaded.");
  }
  if (traceGL_Native.glGetFinalCombinerInputParameterfvNV)
  {
    if (traceGL_Native.glGetFinalCombinerInputParameterfvNV == glGetFinalCombinerInputParameterfvNV)
    {
      traceWarning("Ignoring glGetFinalCombinerInputParameterfvNV loaded from traceGL library.");
      traceGL_Native.glGetFinalCombinerInputParameterfvNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetFinalCombinerInputParameterfvNV not loaded.");
  }
  if (traceGL_Native.glGetFinalCombinerInputParameterivNV)
  {
    if (traceGL_Native.glGetFinalCombinerInputParameterivNV == glGetFinalCombinerInputParameterivNV)
    {
      traceWarning("Ignoring glGetFinalCombinerInputParameterivNV loaded from traceGL library.");
      traceGL_Native.glGetFinalCombinerInputParameterivNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetFinalCombinerInputParameterivNV not loaded.");
  }
  if (traceGL_Native.glResizeBuffersMESA)
  {
    if (traceGL_Native.glResizeBuffersMESA == glResizeBuffersMESA)
    {
      traceWarning("Ignoring glResizeBuffersMESA loaded from traceGL library.");
      traceGL_Native.glResizeBuffersMESA = NULL;
    }
  }
  else
  {
    traceWarning("glResizeBuffersMESA not loaded.");
  }
  if (traceGL_Native.glWindowPos2dMESA)
  {
    if (traceGL_Native.glWindowPos2dMESA == glWindowPos2dMESA)
    {
      traceWarning("Ignoring glWindowPos2dMESA loaded from traceGL library.");
      traceGL_Native.glWindowPos2dMESA = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos2dMESA not loaded.");
  }
  if (traceGL_Native.glWindowPos2dvMESA)
  {
    if (traceGL_Native.glWindowPos2dvMESA == glWindowPos2dvMESA)
    {
      traceWarning("Ignoring glWindowPos2dvMESA loaded from traceGL library.");
      traceGL_Native.glWindowPos2dvMESA = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos2dvMESA not loaded.");
  }
  if (traceGL_Native.glWindowPos2fMESA)
  {
    if (traceGL_Native.glWindowPos2fMESA == glWindowPos2fMESA)
    {
      traceWarning("Ignoring glWindowPos2fMESA loaded from traceGL library.");
      traceGL_Native.glWindowPos2fMESA = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos2fMESA not loaded.");
  }
  if (traceGL_Native.glWindowPos2fvMESA)
  {
    if (traceGL_Native.glWindowPos2fvMESA == glWindowPos2fvMESA)
    {
      traceWarning("Ignoring glWindowPos2fvMESA loaded from traceGL library.");
      traceGL_Native.glWindowPos2fvMESA = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos2fvMESA not loaded.");
  }
  if (traceGL_Native.glWindowPos2iMESA)
  {
    if (traceGL_Native.glWindowPos2iMESA == glWindowPos2iMESA)
    {
      traceWarning("Ignoring glWindowPos2iMESA loaded from traceGL library.");
      traceGL_Native.glWindowPos2iMESA = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos2iMESA not loaded.");
  }
  if (traceGL_Native.glWindowPos2ivMESA)
  {
    if (traceGL_Native.glWindowPos2ivMESA == glWindowPos2ivMESA)
    {
      traceWarning("Ignoring glWindowPos2ivMESA loaded from traceGL library.");
      traceGL_Native.glWindowPos2ivMESA = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos2ivMESA not loaded.");
  }
  if (traceGL_Native.glWindowPos2sMESA)
  {
    if (traceGL_Native.glWindowPos2sMESA == glWindowPos2sMESA)
    {
      traceWarning("Ignoring glWindowPos2sMESA loaded from traceGL library.");
      traceGL_Native.glWindowPos2sMESA = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos2sMESA not loaded.");
  }
  if (traceGL_Native.glWindowPos2svMESA)
  {
    if (traceGL_Native.glWindowPos2svMESA == glWindowPos2svMESA)
    {
      traceWarning("Ignoring glWindowPos2svMESA loaded from traceGL library.");
      traceGL_Native.glWindowPos2svMESA = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos2svMESA not loaded.");
  }
  if (traceGL_Native.glWindowPos3dMESA)
  {
    if (traceGL_Native.glWindowPos3dMESA == glWindowPos3dMESA)
    {
      traceWarning("Ignoring glWindowPos3dMESA loaded from traceGL library.");
      traceGL_Native.glWindowPos3dMESA = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos3dMESA not loaded.");
  }
  if (traceGL_Native.glWindowPos3dvMESA)
  {
    if (traceGL_Native.glWindowPos3dvMESA == glWindowPos3dvMESA)
    {
      traceWarning("Ignoring glWindowPos3dvMESA loaded from traceGL library.");
      traceGL_Native.glWindowPos3dvMESA = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos3dvMESA not loaded.");
  }
  if (traceGL_Native.glWindowPos3fMESA)
  {
    if (traceGL_Native.glWindowPos3fMESA == glWindowPos3fMESA)
    {
      traceWarning("Ignoring glWindowPos3fMESA loaded from traceGL library.");
      traceGL_Native.glWindowPos3fMESA = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos3fMESA not loaded.");
  }
  if (traceGL_Native.glWindowPos3fvMESA)
  {
    if (traceGL_Native.glWindowPos3fvMESA == glWindowPos3fvMESA)
    {
      traceWarning("Ignoring glWindowPos3fvMESA loaded from traceGL library.");
      traceGL_Native.glWindowPos3fvMESA = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos3fvMESA not loaded.");
  }
  if (traceGL_Native.glWindowPos3iMESA)
  {
    if (traceGL_Native.glWindowPos3iMESA == glWindowPos3iMESA)
    {
      traceWarning("Ignoring glWindowPos3iMESA loaded from traceGL library.");
      traceGL_Native.glWindowPos3iMESA = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos3iMESA not loaded.");
  }
  if (traceGL_Native.glWindowPos3ivMESA)
  {
    if (traceGL_Native.glWindowPos3ivMESA == glWindowPos3ivMESA)
    {
      traceWarning("Ignoring glWindowPos3ivMESA loaded from traceGL library.");
      traceGL_Native.glWindowPos3ivMESA = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos3ivMESA not loaded.");
  }
  if (traceGL_Native.glWindowPos3sMESA)
  {
    if (traceGL_Native.glWindowPos3sMESA == glWindowPos3sMESA)
    {
      traceWarning("Ignoring glWindowPos3sMESA loaded from traceGL library.");
      traceGL_Native.glWindowPos3sMESA = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos3sMESA not loaded.");
  }
  if (traceGL_Native.glWindowPos3svMESA)
  {
    if (traceGL_Native.glWindowPos3svMESA == glWindowPos3svMESA)
    {
      traceWarning("Ignoring glWindowPos3svMESA loaded from traceGL library.");
      traceGL_Native.glWindowPos3svMESA = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos3svMESA not loaded.");
  }
  if (traceGL_Native.glWindowPos4dMESA)
  {
    if (traceGL_Native.glWindowPos4dMESA == glWindowPos4dMESA)
    {
      traceWarning("Ignoring glWindowPos4dMESA loaded from traceGL library.");
      traceGL_Native.glWindowPos4dMESA = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos4dMESA not loaded.");
  }
  if (traceGL_Native.glWindowPos4dvMESA)
  {
    if (traceGL_Native.glWindowPos4dvMESA == glWindowPos4dvMESA)
    {
      traceWarning("Ignoring glWindowPos4dvMESA loaded from traceGL library.");
      traceGL_Native.glWindowPos4dvMESA = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos4dvMESA not loaded.");
  }
  if (traceGL_Native.glWindowPos4fMESA)
  {
    if (traceGL_Native.glWindowPos4fMESA == glWindowPos4fMESA)
    {
      traceWarning("Ignoring glWindowPos4fMESA loaded from traceGL library.");
      traceGL_Native.glWindowPos4fMESA = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos4fMESA not loaded.");
  }
  if (traceGL_Native.glWindowPos4fvMESA)
  {
    if (traceGL_Native.glWindowPos4fvMESA == glWindowPos4fvMESA)
    {
      traceWarning("Ignoring glWindowPos4fvMESA loaded from traceGL library.");
      traceGL_Native.glWindowPos4fvMESA = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos4fvMESA not loaded.");
  }
  if (traceGL_Native.glWindowPos4iMESA)
  {
    if (traceGL_Native.glWindowPos4iMESA == glWindowPos4iMESA)
    {
      traceWarning("Ignoring glWindowPos4iMESA loaded from traceGL library.");
      traceGL_Native.glWindowPos4iMESA = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos4iMESA not loaded.");
  }
  if (traceGL_Native.glWindowPos4ivMESA)
  {
    if (traceGL_Native.glWindowPos4ivMESA == glWindowPos4ivMESA)
    {
      traceWarning("Ignoring glWindowPos4ivMESA loaded from traceGL library.");
      traceGL_Native.glWindowPos4ivMESA = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos4ivMESA not loaded.");
  }
  if (traceGL_Native.glWindowPos4sMESA)
  {
    if (traceGL_Native.glWindowPos4sMESA == glWindowPos4sMESA)
    {
      traceWarning("Ignoring glWindowPos4sMESA loaded from traceGL library.");
      traceGL_Native.glWindowPos4sMESA = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos4sMESA not loaded.");
  }
  if (traceGL_Native.glWindowPos4svMESA)
  {
    if (traceGL_Native.glWindowPos4svMESA == glWindowPos4svMESA)
    {
      traceWarning("Ignoring glWindowPos4svMESA loaded from traceGL library.");
      traceGL_Native.glWindowPos4svMESA = NULL;
    }
  }
  else
  {
    traceWarning("glWindowPos4svMESA not loaded.");
  }
  if (traceGL_Native.glMultiModeDrawArraysIBM)
  {
    if (traceGL_Native.glMultiModeDrawArraysIBM == glMultiModeDrawArraysIBM)
    {
      traceWarning("Ignoring glMultiModeDrawArraysIBM loaded from traceGL library.");
      traceGL_Native.glMultiModeDrawArraysIBM = NULL;
    }
  }
  else
  {
    traceWarning("glMultiModeDrawArraysIBM not loaded.");
  }
  if (traceGL_Native.glMultiModeDrawElementsIBM)
  {
    if (traceGL_Native.glMultiModeDrawElementsIBM == glMultiModeDrawElementsIBM)
    {
      traceWarning("Ignoring glMultiModeDrawElementsIBM loaded from traceGL library.");
      traceGL_Native.glMultiModeDrawElementsIBM = NULL;
    }
  }
  else
  {
    traceWarning("glMultiModeDrawElementsIBM not loaded.");
  }
  if (traceGL_Native.glColorPointerListIBM)
  {
    if (traceGL_Native.glColorPointerListIBM == glColorPointerListIBM)
    {
      traceWarning("Ignoring glColorPointerListIBM loaded from traceGL library.");
      traceGL_Native.glColorPointerListIBM = NULL;
    }
  }
  else
  {
    traceWarning("glColorPointerListIBM not loaded.");
  }
  if (traceGL_Native.glSecondaryColorPointerListIBM)
  {
    if (traceGL_Native.glSecondaryColorPointerListIBM == glSecondaryColorPointerListIBM)
    {
      traceWarning("Ignoring glSecondaryColorPointerListIBM loaded from traceGL library.");
      traceGL_Native.glSecondaryColorPointerListIBM = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColorPointerListIBM not loaded.");
  }
  if (traceGL_Native.glEdgeFlagPointerListIBM)
  {
    if (traceGL_Native.glEdgeFlagPointerListIBM == glEdgeFlagPointerListIBM)
    {
      traceWarning("Ignoring glEdgeFlagPointerListIBM loaded from traceGL library.");
      traceGL_Native.glEdgeFlagPointerListIBM = NULL;
    }
  }
  else
  {
    traceWarning("glEdgeFlagPointerListIBM not loaded.");
  }
  if (traceGL_Native.glFogCoordPointerListIBM)
  {
    if (traceGL_Native.glFogCoordPointerListIBM == glFogCoordPointerListIBM)
    {
      traceWarning("Ignoring glFogCoordPointerListIBM loaded from traceGL library.");
      traceGL_Native.glFogCoordPointerListIBM = NULL;
    }
  }
  else
  {
    traceWarning("glFogCoordPointerListIBM not loaded.");
  }
  if (traceGL_Native.glIndexPointerListIBM)
  {
    if (traceGL_Native.glIndexPointerListIBM == glIndexPointerListIBM)
    {
      traceWarning("Ignoring glIndexPointerListIBM loaded from traceGL library.");
      traceGL_Native.glIndexPointerListIBM = NULL;
    }
  }
  else
  {
    traceWarning("glIndexPointerListIBM not loaded.");
  }
  if (traceGL_Native.glNormalPointerListIBM)
  {
    if (traceGL_Native.glNormalPointerListIBM == glNormalPointerListIBM)
    {
      traceWarning("Ignoring glNormalPointerListIBM loaded from traceGL library.");
      traceGL_Native.glNormalPointerListIBM = NULL;
    }
  }
  else
  {
    traceWarning("glNormalPointerListIBM not loaded.");
  }
  if (traceGL_Native.glTexCoordPointerListIBM)
  {
    if (traceGL_Native.glTexCoordPointerListIBM == glTexCoordPointerListIBM)
    {
      traceWarning("Ignoring glTexCoordPointerListIBM loaded from traceGL library.");
      traceGL_Native.glTexCoordPointerListIBM = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoordPointerListIBM not loaded.");
  }
  if (traceGL_Native.glVertexPointerListIBM)
  {
    if (traceGL_Native.glVertexPointerListIBM == glVertexPointerListIBM)
    {
      traceWarning("Ignoring glVertexPointerListIBM loaded from traceGL library.");
      traceGL_Native.glVertexPointerListIBM = NULL;
    }
  }
  else
  {
    traceWarning("glVertexPointerListIBM not loaded.");
  }
  if (traceGL_Native.glTbufferMask3DFX)
  {
    if (traceGL_Native.glTbufferMask3DFX == glTbufferMask3DFX)
    {
      traceWarning("Ignoring glTbufferMask3DFX loaded from traceGL library.");
      traceGL_Native.glTbufferMask3DFX = NULL;
    }
  }
  else
  {
    traceWarning("glTbufferMask3DFX not loaded.");
  }
  if (traceGL_Native.glSampleMaskEXT)
  {
    if (traceGL_Native.glSampleMaskEXT == glSampleMaskEXT)
    {
      traceWarning("Ignoring glSampleMaskEXT loaded from traceGL library.");
      traceGL_Native.glSampleMaskEXT = NULL;
    }
  }
  else
  {
    traceWarning("glSampleMaskEXT not loaded.");
  }
  if (traceGL_Native.glSamplePatternEXT)
  {
    if (traceGL_Native.glSamplePatternEXT == glSamplePatternEXT)
    {
      traceWarning("Ignoring glSamplePatternEXT loaded from traceGL library.");
      traceGL_Native.glSamplePatternEXT = NULL;
    }
  }
  else
  {
    traceWarning("glSamplePatternEXT not loaded.");
  }
  if (traceGL_Native.glTextureColorMaskSGIS)
  {
    if (traceGL_Native.glTextureColorMaskSGIS == glTextureColorMaskSGIS)
    {
      traceWarning("Ignoring glTextureColorMaskSGIS loaded from traceGL library.");
      traceGL_Native.glTextureColorMaskSGIS = NULL;
    }
  }
  else
  {
    traceWarning("glTextureColorMaskSGIS not loaded.");
  }
  if (traceGL_Native.glIglooInterfaceSGIX)
  {
    if (traceGL_Native.glIglooInterfaceSGIX == glIglooInterfaceSGIX)
    {
      traceWarning("Ignoring glIglooInterfaceSGIX loaded from traceGL library.");
      traceGL_Native.glIglooInterfaceSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glIglooInterfaceSGIX not loaded.");
  }
  if (traceGL_Native.glDeleteFencesNV)
  {
    if (traceGL_Native.glDeleteFencesNV == glDeleteFencesNV)
    {
      traceWarning("Ignoring glDeleteFencesNV loaded from traceGL library.");
      traceGL_Native.glDeleteFencesNV = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteFencesNV not loaded.");
  }
  if (traceGL_Native.glGenFencesNV)
  {
    if (traceGL_Native.glGenFencesNV == glGenFencesNV)
    {
      traceWarning("Ignoring glGenFencesNV loaded from traceGL library.");
      traceGL_Native.glGenFencesNV = NULL;
    }
  }
  else
  {
    traceWarning("glGenFencesNV not loaded.");
  }
  if (traceGL_Native.glIsFenceNV)
  {
    if (traceGL_Native.glIsFenceNV == glIsFenceNV)
    {
      traceWarning("Ignoring glIsFenceNV loaded from traceGL library.");
      traceGL_Native.glIsFenceNV = NULL;
    }
  }
  else
  {
    traceWarning("glIsFenceNV not loaded.");
  }
  if (traceGL_Native.glTestFenceNV)
  {
    if (traceGL_Native.glTestFenceNV == glTestFenceNV)
    {
      traceWarning("Ignoring glTestFenceNV loaded from traceGL library.");
      traceGL_Native.glTestFenceNV = NULL;
    }
  }
  else
  {
    traceWarning("glTestFenceNV not loaded.");
  }
  if (traceGL_Native.glGetFenceivNV)
  {
    if (traceGL_Native.glGetFenceivNV == glGetFenceivNV)
    {
      traceWarning("Ignoring glGetFenceivNV loaded from traceGL library.");
      traceGL_Native.glGetFenceivNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetFenceivNV not loaded.");
  }
  if (traceGL_Native.glFinishFenceNV)
  {
    if (traceGL_Native.glFinishFenceNV == glFinishFenceNV)
    {
      traceWarning("Ignoring glFinishFenceNV loaded from traceGL library.");
      traceGL_Native.glFinishFenceNV = NULL;
    }
  }
  else
  {
    traceWarning("glFinishFenceNV not loaded.");
  }
  if (traceGL_Native.glSetFenceNV)
  {
    if (traceGL_Native.glSetFenceNV == glSetFenceNV)
    {
      traceWarning("Ignoring glSetFenceNV loaded from traceGL library.");
      traceGL_Native.glSetFenceNV = NULL;
    }
  }
  else
  {
    traceWarning("glSetFenceNV not loaded.");
  }
  if (traceGL_Native.glMapControlPointsNV)
  {
    if (traceGL_Native.glMapControlPointsNV == glMapControlPointsNV)
    {
      traceWarning("Ignoring glMapControlPointsNV loaded from traceGL library.");
      traceGL_Native.glMapControlPointsNV = NULL;
    }
  }
  else
  {
    traceWarning("glMapControlPointsNV not loaded.");
  }
  if (traceGL_Native.glMapParameterivNV)
  {
    if (traceGL_Native.glMapParameterivNV == glMapParameterivNV)
    {
      traceWarning("Ignoring glMapParameterivNV loaded from traceGL library.");
      traceGL_Native.glMapParameterivNV = NULL;
    }
  }
  else
  {
    traceWarning("glMapParameterivNV not loaded.");
  }
  if (traceGL_Native.glMapParameterfvNV)
  {
    if (traceGL_Native.glMapParameterfvNV == glMapParameterfvNV)
    {
      traceWarning("Ignoring glMapParameterfvNV loaded from traceGL library.");
      traceGL_Native.glMapParameterfvNV = NULL;
    }
  }
  else
  {
    traceWarning("glMapParameterfvNV not loaded.");
  }
  if (traceGL_Native.glGetMapControlPointsNV)
  {
    if (traceGL_Native.glGetMapControlPointsNV == glGetMapControlPointsNV)
    {
      traceWarning("Ignoring glGetMapControlPointsNV loaded from traceGL library.");
      traceGL_Native.glGetMapControlPointsNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetMapControlPointsNV not loaded.");
  }
  if (traceGL_Native.glGetMapParameterivNV)
  {
    if (traceGL_Native.glGetMapParameterivNV == glGetMapParameterivNV)
    {
      traceWarning("Ignoring glGetMapParameterivNV loaded from traceGL library.");
      traceGL_Native.glGetMapParameterivNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetMapParameterivNV not loaded.");
  }
  if (traceGL_Native.glGetMapParameterfvNV)
  {
    if (traceGL_Native.glGetMapParameterfvNV == glGetMapParameterfvNV)
    {
      traceWarning("Ignoring glGetMapParameterfvNV loaded from traceGL library.");
      traceGL_Native.glGetMapParameterfvNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetMapParameterfvNV not loaded.");
  }
  if (traceGL_Native.glGetMapAttribParameterivNV)
  {
    if (traceGL_Native.glGetMapAttribParameterivNV == glGetMapAttribParameterivNV)
    {
      traceWarning("Ignoring glGetMapAttribParameterivNV loaded from traceGL library.");
      traceGL_Native.glGetMapAttribParameterivNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetMapAttribParameterivNV not loaded.");
  }
  if (traceGL_Native.glGetMapAttribParameterfvNV)
  {
    if (traceGL_Native.glGetMapAttribParameterfvNV == glGetMapAttribParameterfvNV)
    {
      traceWarning("Ignoring glGetMapAttribParameterfvNV loaded from traceGL library.");
      traceGL_Native.glGetMapAttribParameterfvNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetMapAttribParameterfvNV not loaded.");
  }
  if (traceGL_Native.glEvalMapsNV)
  {
    if (traceGL_Native.glEvalMapsNV == glEvalMapsNV)
    {
      traceWarning("Ignoring glEvalMapsNV loaded from traceGL library.");
      traceGL_Native.glEvalMapsNV = NULL;
    }
  }
  else
  {
    traceWarning("glEvalMapsNV not loaded.");
  }
  if (traceGL_Native.glCombinerStageParameterfvNV)
  {
    if (traceGL_Native.glCombinerStageParameterfvNV == glCombinerStageParameterfvNV)
    {
      traceWarning("Ignoring glCombinerStageParameterfvNV loaded from traceGL library.");
      traceGL_Native.glCombinerStageParameterfvNV = NULL;
    }
  }
  else
  {
    traceWarning("glCombinerStageParameterfvNV not loaded.");
  }
  if (traceGL_Native.glGetCombinerStageParameterfvNV)
  {
    if (traceGL_Native.glGetCombinerStageParameterfvNV == glGetCombinerStageParameterfvNV)
    {
      traceWarning("Ignoring glGetCombinerStageParameterfvNV loaded from traceGL library.");
      traceGL_Native.glGetCombinerStageParameterfvNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetCombinerStageParameterfvNV not loaded.");
  }
  if (traceGL_Native.glAreProgramsResidentNV)
  {
    if (traceGL_Native.glAreProgramsResidentNV == glAreProgramsResidentNV)
    {
      traceWarning("Ignoring glAreProgramsResidentNV loaded from traceGL library.");
      traceGL_Native.glAreProgramsResidentNV = NULL;
    }
  }
  else
  {
    traceWarning("glAreProgramsResidentNV not loaded.");
  }
  if (traceGL_Native.glBindProgramNV)
  {
    if (traceGL_Native.glBindProgramNV == glBindProgramNV)
    {
      traceWarning("Ignoring glBindProgramNV loaded from traceGL library.");
      traceGL_Native.glBindProgramNV = NULL;
    }
  }
  else
  {
    traceWarning("glBindProgramNV not loaded.");
  }
  if (traceGL_Native.glDeleteProgramsNV)
  {
    if (traceGL_Native.glDeleteProgramsNV == glDeleteProgramsNV)
    {
      traceWarning("Ignoring glDeleteProgramsNV loaded from traceGL library.");
      traceGL_Native.glDeleteProgramsNV = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteProgramsNV not loaded.");
  }
  if (traceGL_Native.glExecuteProgramNV)
  {
    if (traceGL_Native.glExecuteProgramNV == glExecuteProgramNV)
    {
      traceWarning("Ignoring glExecuteProgramNV loaded from traceGL library.");
      traceGL_Native.glExecuteProgramNV = NULL;
    }
  }
  else
  {
    traceWarning("glExecuteProgramNV not loaded.");
  }
  if (traceGL_Native.glGenProgramsNV)
  {
    if (traceGL_Native.glGenProgramsNV == glGenProgramsNV)
    {
      traceWarning("Ignoring glGenProgramsNV loaded from traceGL library.");
      traceGL_Native.glGenProgramsNV = NULL;
    }
  }
  else
  {
    traceWarning("glGenProgramsNV not loaded.");
  }
  if (traceGL_Native.glGetProgramParameterdvNV)
  {
    if (traceGL_Native.glGetProgramParameterdvNV == glGetProgramParameterdvNV)
    {
      traceWarning("Ignoring glGetProgramParameterdvNV loaded from traceGL library.");
      traceGL_Native.glGetProgramParameterdvNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetProgramParameterdvNV not loaded.");
  }
  if (traceGL_Native.glGetProgramParameterfvNV)
  {
    if (traceGL_Native.glGetProgramParameterfvNV == glGetProgramParameterfvNV)
    {
      traceWarning("Ignoring glGetProgramParameterfvNV loaded from traceGL library.");
      traceGL_Native.glGetProgramParameterfvNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetProgramParameterfvNV not loaded.");
  }
  if (traceGL_Native.glGetProgramivNV)
  {
    if (traceGL_Native.glGetProgramivNV == glGetProgramivNV)
    {
      traceWarning("Ignoring glGetProgramivNV loaded from traceGL library.");
      traceGL_Native.glGetProgramivNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetProgramivNV not loaded.");
  }
  if (traceGL_Native.glGetProgramStringNV)
  {
    if (traceGL_Native.glGetProgramStringNV == glGetProgramStringNV)
    {
      traceWarning("Ignoring glGetProgramStringNV loaded from traceGL library.");
      traceGL_Native.glGetProgramStringNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetProgramStringNV not loaded.");
  }
  if (traceGL_Native.glGetTrackMatrixivNV)
  {
    if (traceGL_Native.glGetTrackMatrixivNV == glGetTrackMatrixivNV)
    {
      traceWarning("Ignoring glGetTrackMatrixivNV loaded from traceGL library.");
      traceGL_Native.glGetTrackMatrixivNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetTrackMatrixivNV not loaded.");
  }
  if (traceGL_Native.glGetVertexAttribdvNV)
  {
    if (traceGL_Native.glGetVertexAttribdvNV == glGetVertexAttribdvNV)
    {
      traceWarning("Ignoring glGetVertexAttribdvNV loaded from traceGL library.");
      traceGL_Native.glGetVertexAttribdvNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetVertexAttribdvNV not loaded.");
  }
  if (traceGL_Native.glGetVertexAttribfvNV)
  {
    if (traceGL_Native.glGetVertexAttribfvNV == glGetVertexAttribfvNV)
    {
      traceWarning("Ignoring glGetVertexAttribfvNV loaded from traceGL library.");
      traceGL_Native.glGetVertexAttribfvNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetVertexAttribfvNV not loaded.");
  }
  if (traceGL_Native.glGetVertexAttribivNV)
  {
    if (traceGL_Native.glGetVertexAttribivNV == glGetVertexAttribivNV)
    {
      traceWarning("Ignoring glGetVertexAttribivNV loaded from traceGL library.");
      traceGL_Native.glGetVertexAttribivNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetVertexAttribivNV not loaded.");
  }
  if (traceGL_Native.glGetVertexAttribPointervNV)
  {
    if (traceGL_Native.glGetVertexAttribPointervNV == glGetVertexAttribPointervNV)
    {
      traceWarning("Ignoring glGetVertexAttribPointervNV loaded from traceGL library.");
      traceGL_Native.glGetVertexAttribPointervNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetVertexAttribPointervNV not loaded.");
  }
  if (traceGL_Native.glIsProgramNV)
  {
    if (traceGL_Native.glIsProgramNV == glIsProgramNV)
    {
      traceWarning("Ignoring glIsProgramNV loaded from traceGL library.");
      traceGL_Native.glIsProgramNV = NULL;
    }
  }
  else
  {
    traceWarning("glIsProgramNV not loaded.");
  }
  if (traceGL_Native.glLoadProgramNV)
  {
    if (traceGL_Native.glLoadProgramNV == glLoadProgramNV)
    {
      traceWarning("Ignoring glLoadProgramNV loaded from traceGL library.");
      traceGL_Native.glLoadProgramNV = NULL;
    }
  }
  else
  {
    traceWarning("glLoadProgramNV not loaded.");
  }
  if (traceGL_Native.glProgramParameter4dNV)
  {
    if (traceGL_Native.glProgramParameter4dNV == glProgramParameter4dNV)
    {
      traceWarning("Ignoring glProgramParameter4dNV loaded from traceGL library.");
      traceGL_Native.glProgramParameter4dNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramParameter4dNV not loaded.");
  }
  if (traceGL_Native.glProgramParameter4dvNV)
  {
    if (traceGL_Native.glProgramParameter4dvNV == glProgramParameter4dvNV)
    {
      traceWarning("Ignoring glProgramParameter4dvNV loaded from traceGL library.");
      traceGL_Native.glProgramParameter4dvNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramParameter4dvNV not loaded.");
  }
  if (traceGL_Native.glProgramParameter4fNV)
  {
    if (traceGL_Native.glProgramParameter4fNV == glProgramParameter4fNV)
    {
      traceWarning("Ignoring glProgramParameter4fNV loaded from traceGL library.");
      traceGL_Native.glProgramParameter4fNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramParameter4fNV not loaded.");
  }
  if (traceGL_Native.glProgramParameter4fvNV)
  {
    if (traceGL_Native.glProgramParameter4fvNV == glProgramParameter4fvNV)
    {
      traceWarning("Ignoring glProgramParameter4fvNV loaded from traceGL library.");
      traceGL_Native.glProgramParameter4fvNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramParameter4fvNV not loaded.");
  }
  if (traceGL_Native.glProgramParameters4dvNV)
  {
    if (traceGL_Native.glProgramParameters4dvNV == glProgramParameters4dvNV)
    {
      traceWarning("Ignoring glProgramParameters4dvNV loaded from traceGL library.");
      traceGL_Native.glProgramParameters4dvNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramParameters4dvNV not loaded.");
  }
  if (traceGL_Native.glProgramParameters4fvNV)
  {
    if (traceGL_Native.glProgramParameters4fvNV == glProgramParameters4fvNV)
    {
      traceWarning("Ignoring glProgramParameters4fvNV loaded from traceGL library.");
      traceGL_Native.glProgramParameters4fvNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramParameters4fvNV not loaded.");
  }
  if (traceGL_Native.glRequestResidentProgramsNV)
  {
    if (traceGL_Native.glRequestResidentProgramsNV == glRequestResidentProgramsNV)
    {
      traceWarning("Ignoring glRequestResidentProgramsNV loaded from traceGL library.");
      traceGL_Native.glRequestResidentProgramsNV = NULL;
    }
  }
  else
  {
    traceWarning("glRequestResidentProgramsNV not loaded.");
  }
  if (traceGL_Native.glTrackMatrixNV)
  {
    if (traceGL_Native.glTrackMatrixNV == glTrackMatrixNV)
    {
      traceWarning("Ignoring glTrackMatrixNV loaded from traceGL library.");
      traceGL_Native.glTrackMatrixNV = NULL;
    }
  }
  else
  {
    traceWarning("glTrackMatrixNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribPointerNV)
  {
    if (traceGL_Native.glVertexAttribPointerNV == glVertexAttribPointerNV)
    {
      traceWarning("Ignoring glVertexAttribPointerNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribPointerNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribPointerNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib1dNV)
  {
    if (traceGL_Native.glVertexAttrib1dNV == glVertexAttrib1dNV)
    {
      traceWarning("Ignoring glVertexAttrib1dNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib1dNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib1dNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib1dvNV)
  {
    if (traceGL_Native.glVertexAttrib1dvNV == glVertexAttrib1dvNV)
    {
      traceWarning("Ignoring glVertexAttrib1dvNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib1dvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib1dvNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib1fNV)
  {
    if (traceGL_Native.glVertexAttrib1fNV == glVertexAttrib1fNV)
    {
      traceWarning("Ignoring glVertexAttrib1fNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib1fNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib1fNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib1fvNV)
  {
    if (traceGL_Native.glVertexAttrib1fvNV == glVertexAttrib1fvNV)
    {
      traceWarning("Ignoring glVertexAttrib1fvNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib1fvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib1fvNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib1sNV)
  {
    if (traceGL_Native.glVertexAttrib1sNV == glVertexAttrib1sNV)
    {
      traceWarning("Ignoring glVertexAttrib1sNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib1sNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib1sNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib1svNV)
  {
    if (traceGL_Native.glVertexAttrib1svNV == glVertexAttrib1svNV)
    {
      traceWarning("Ignoring glVertexAttrib1svNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib1svNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib1svNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib2dNV)
  {
    if (traceGL_Native.glVertexAttrib2dNV == glVertexAttrib2dNV)
    {
      traceWarning("Ignoring glVertexAttrib2dNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib2dNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib2dNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib2dvNV)
  {
    if (traceGL_Native.glVertexAttrib2dvNV == glVertexAttrib2dvNV)
    {
      traceWarning("Ignoring glVertexAttrib2dvNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib2dvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib2dvNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib2fNV)
  {
    if (traceGL_Native.glVertexAttrib2fNV == glVertexAttrib2fNV)
    {
      traceWarning("Ignoring glVertexAttrib2fNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib2fNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib2fNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib2fvNV)
  {
    if (traceGL_Native.glVertexAttrib2fvNV == glVertexAttrib2fvNV)
    {
      traceWarning("Ignoring glVertexAttrib2fvNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib2fvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib2fvNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib2sNV)
  {
    if (traceGL_Native.glVertexAttrib2sNV == glVertexAttrib2sNV)
    {
      traceWarning("Ignoring glVertexAttrib2sNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib2sNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib2sNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib2svNV)
  {
    if (traceGL_Native.glVertexAttrib2svNV == glVertexAttrib2svNV)
    {
      traceWarning("Ignoring glVertexAttrib2svNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib2svNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib2svNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib3dNV)
  {
    if (traceGL_Native.glVertexAttrib3dNV == glVertexAttrib3dNV)
    {
      traceWarning("Ignoring glVertexAttrib3dNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib3dNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib3dNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib3dvNV)
  {
    if (traceGL_Native.glVertexAttrib3dvNV == glVertexAttrib3dvNV)
    {
      traceWarning("Ignoring glVertexAttrib3dvNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib3dvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib3dvNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib3fNV)
  {
    if (traceGL_Native.glVertexAttrib3fNV == glVertexAttrib3fNV)
    {
      traceWarning("Ignoring glVertexAttrib3fNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib3fNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib3fNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib3fvNV)
  {
    if (traceGL_Native.glVertexAttrib3fvNV == glVertexAttrib3fvNV)
    {
      traceWarning("Ignoring glVertexAttrib3fvNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib3fvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib3fvNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib3sNV)
  {
    if (traceGL_Native.glVertexAttrib3sNV == glVertexAttrib3sNV)
    {
      traceWarning("Ignoring glVertexAttrib3sNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib3sNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib3sNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib3svNV)
  {
    if (traceGL_Native.glVertexAttrib3svNV == glVertexAttrib3svNV)
    {
      traceWarning("Ignoring glVertexAttrib3svNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib3svNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib3svNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4dNV)
  {
    if (traceGL_Native.glVertexAttrib4dNV == glVertexAttrib4dNV)
    {
      traceWarning("Ignoring glVertexAttrib4dNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4dNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4dNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4dvNV)
  {
    if (traceGL_Native.glVertexAttrib4dvNV == glVertexAttrib4dvNV)
    {
      traceWarning("Ignoring glVertexAttrib4dvNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4dvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4dvNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4fNV)
  {
    if (traceGL_Native.glVertexAttrib4fNV == glVertexAttrib4fNV)
    {
      traceWarning("Ignoring glVertexAttrib4fNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4fNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4fNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4fvNV)
  {
    if (traceGL_Native.glVertexAttrib4fvNV == glVertexAttrib4fvNV)
    {
      traceWarning("Ignoring glVertexAttrib4fvNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4fvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4fvNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4sNV)
  {
    if (traceGL_Native.glVertexAttrib4sNV == glVertexAttrib4sNV)
    {
      traceWarning("Ignoring glVertexAttrib4sNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4sNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4sNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4svNV)
  {
    if (traceGL_Native.glVertexAttrib4svNV == glVertexAttrib4svNV)
    {
      traceWarning("Ignoring glVertexAttrib4svNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4svNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4svNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4ubNV)
  {
    if (traceGL_Native.glVertexAttrib4ubNV == glVertexAttrib4ubNV)
    {
      traceWarning("Ignoring glVertexAttrib4ubNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4ubNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4ubNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4ubvNV)
  {
    if (traceGL_Native.glVertexAttrib4ubvNV == glVertexAttrib4ubvNV)
    {
      traceWarning("Ignoring glVertexAttrib4ubvNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4ubvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4ubvNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribs1dvNV)
  {
    if (traceGL_Native.glVertexAttribs1dvNV == glVertexAttribs1dvNV)
    {
      traceWarning("Ignoring glVertexAttribs1dvNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribs1dvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribs1dvNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribs1fvNV)
  {
    if (traceGL_Native.glVertexAttribs1fvNV == glVertexAttribs1fvNV)
    {
      traceWarning("Ignoring glVertexAttribs1fvNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribs1fvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribs1fvNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribs1svNV)
  {
    if (traceGL_Native.glVertexAttribs1svNV == glVertexAttribs1svNV)
    {
      traceWarning("Ignoring glVertexAttribs1svNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribs1svNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribs1svNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribs2dvNV)
  {
    if (traceGL_Native.glVertexAttribs2dvNV == glVertexAttribs2dvNV)
    {
      traceWarning("Ignoring glVertexAttribs2dvNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribs2dvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribs2dvNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribs2fvNV)
  {
    if (traceGL_Native.glVertexAttribs2fvNV == glVertexAttribs2fvNV)
    {
      traceWarning("Ignoring glVertexAttribs2fvNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribs2fvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribs2fvNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribs2svNV)
  {
    if (traceGL_Native.glVertexAttribs2svNV == glVertexAttribs2svNV)
    {
      traceWarning("Ignoring glVertexAttribs2svNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribs2svNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribs2svNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribs3dvNV)
  {
    if (traceGL_Native.glVertexAttribs3dvNV == glVertexAttribs3dvNV)
    {
      traceWarning("Ignoring glVertexAttribs3dvNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribs3dvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribs3dvNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribs3fvNV)
  {
    if (traceGL_Native.glVertexAttribs3fvNV == glVertexAttribs3fvNV)
    {
      traceWarning("Ignoring glVertexAttribs3fvNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribs3fvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribs3fvNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribs3svNV)
  {
    if (traceGL_Native.glVertexAttribs3svNV == glVertexAttribs3svNV)
    {
      traceWarning("Ignoring glVertexAttribs3svNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribs3svNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribs3svNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribs4dvNV)
  {
    if (traceGL_Native.glVertexAttribs4dvNV == glVertexAttribs4dvNV)
    {
      traceWarning("Ignoring glVertexAttribs4dvNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribs4dvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribs4dvNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribs4fvNV)
  {
    if (traceGL_Native.glVertexAttribs4fvNV == glVertexAttribs4fvNV)
    {
      traceWarning("Ignoring glVertexAttribs4fvNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribs4fvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribs4fvNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribs4svNV)
  {
    if (traceGL_Native.glVertexAttribs4svNV == glVertexAttribs4svNV)
    {
      traceWarning("Ignoring glVertexAttribs4svNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribs4svNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribs4svNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribs4ubvNV)
  {
    if (traceGL_Native.glVertexAttribs4ubvNV == glVertexAttribs4ubvNV)
    {
      traceWarning("Ignoring glVertexAttribs4ubvNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribs4ubvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribs4ubvNV not loaded.");
  }
  if (traceGL_Native.glTexBumpParameterivATI)
  {
    if (traceGL_Native.glTexBumpParameterivATI == glTexBumpParameterivATI)
    {
      traceWarning("Ignoring glTexBumpParameterivATI loaded from traceGL library.");
      traceGL_Native.glTexBumpParameterivATI = NULL;
    }
  }
  else
  {
    traceWarning("glTexBumpParameterivATI not loaded.");
  }
  if (traceGL_Native.glTexBumpParameterfvATI)
  {
    if (traceGL_Native.glTexBumpParameterfvATI == glTexBumpParameterfvATI)
    {
      traceWarning("Ignoring glTexBumpParameterfvATI loaded from traceGL library.");
      traceGL_Native.glTexBumpParameterfvATI = NULL;
    }
  }
  else
  {
    traceWarning("glTexBumpParameterfvATI not loaded.");
  }
  if (traceGL_Native.glGetTexBumpParameterivATI)
  {
    if (traceGL_Native.glGetTexBumpParameterivATI == glGetTexBumpParameterivATI)
    {
      traceWarning("Ignoring glGetTexBumpParameterivATI loaded from traceGL library.");
      traceGL_Native.glGetTexBumpParameterivATI = NULL;
    }
  }
  else
  {
    traceWarning("glGetTexBumpParameterivATI not loaded.");
  }
  if (traceGL_Native.glGetTexBumpParameterfvATI)
  {
    if (traceGL_Native.glGetTexBumpParameterfvATI == glGetTexBumpParameterfvATI)
    {
      traceWarning("Ignoring glGetTexBumpParameterfvATI loaded from traceGL library.");
      traceGL_Native.glGetTexBumpParameterfvATI = NULL;
    }
  }
  else
  {
    traceWarning("glGetTexBumpParameterfvATI not loaded.");
  }
  if (traceGL_Native.glGenFragmentShadersATI)
  {
    if (traceGL_Native.glGenFragmentShadersATI == glGenFragmentShadersATI)
    {
      traceWarning("Ignoring glGenFragmentShadersATI loaded from traceGL library.");
      traceGL_Native.glGenFragmentShadersATI = NULL;
    }
  }
  else
  {
    traceWarning("glGenFragmentShadersATI not loaded.");
  }
  if (traceGL_Native.glBindFragmentShaderATI)
  {
    if (traceGL_Native.glBindFragmentShaderATI == glBindFragmentShaderATI)
    {
      traceWarning("Ignoring glBindFragmentShaderATI loaded from traceGL library.");
      traceGL_Native.glBindFragmentShaderATI = NULL;
    }
  }
  else
  {
    traceWarning("glBindFragmentShaderATI not loaded.");
  }
  if (traceGL_Native.glDeleteFragmentShaderATI)
  {
    if (traceGL_Native.glDeleteFragmentShaderATI == glDeleteFragmentShaderATI)
    {
      traceWarning("Ignoring glDeleteFragmentShaderATI loaded from traceGL library.");
      traceGL_Native.glDeleteFragmentShaderATI = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteFragmentShaderATI not loaded.");
  }
  if (traceGL_Native.glBeginFragmentShaderATI)
  {
    if (traceGL_Native.glBeginFragmentShaderATI == glBeginFragmentShaderATI)
    {
      traceWarning("Ignoring glBeginFragmentShaderATI loaded from traceGL library.");
      traceGL_Native.glBeginFragmentShaderATI = NULL;
    }
  }
  else
  {
    traceWarning("glBeginFragmentShaderATI not loaded.");
  }
  if (traceGL_Native.glEndFragmentShaderATI)
  {
    if (traceGL_Native.glEndFragmentShaderATI == glEndFragmentShaderATI)
    {
      traceWarning("Ignoring glEndFragmentShaderATI loaded from traceGL library.");
      traceGL_Native.glEndFragmentShaderATI = NULL;
    }
  }
  else
  {
    traceWarning("glEndFragmentShaderATI not loaded.");
  }
  if (traceGL_Native.glPassTexCoordATI)
  {
    if (traceGL_Native.glPassTexCoordATI == glPassTexCoordATI)
    {
      traceWarning("Ignoring glPassTexCoordATI loaded from traceGL library.");
      traceGL_Native.glPassTexCoordATI = NULL;
    }
  }
  else
  {
    traceWarning("glPassTexCoordATI not loaded.");
  }
  if (traceGL_Native.glSampleMapATI)
  {
    if (traceGL_Native.glSampleMapATI == glSampleMapATI)
    {
      traceWarning("Ignoring glSampleMapATI loaded from traceGL library.");
      traceGL_Native.glSampleMapATI = NULL;
    }
  }
  else
  {
    traceWarning("glSampleMapATI not loaded.");
  }
  if (traceGL_Native.glColorFragmentOp1ATI)
  {
    if (traceGL_Native.glColorFragmentOp1ATI == glColorFragmentOp1ATI)
    {
      traceWarning("Ignoring glColorFragmentOp1ATI loaded from traceGL library.");
      traceGL_Native.glColorFragmentOp1ATI = NULL;
    }
  }
  else
  {
    traceWarning("glColorFragmentOp1ATI not loaded.");
  }
  if (traceGL_Native.glColorFragmentOp2ATI)
  {
    if (traceGL_Native.glColorFragmentOp2ATI == glColorFragmentOp2ATI)
    {
      traceWarning("Ignoring glColorFragmentOp2ATI loaded from traceGL library.");
      traceGL_Native.glColorFragmentOp2ATI = NULL;
    }
  }
  else
  {
    traceWarning("glColorFragmentOp2ATI not loaded.");
  }
  if (traceGL_Native.glColorFragmentOp3ATI)
  {
    if (traceGL_Native.glColorFragmentOp3ATI == glColorFragmentOp3ATI)
    {
      traceWarning("Ignoring glColorFragmentOp3ATI loaded from traceGL library.");
      traceGL_Native.glColorFragmentOp3ATI = NULL;
    }
  }
  else
  {
    traceWarning("glColorFragmentOp3ATI not loaded.");
  }
  if (traceGL_Native.glAlphaFragmentOp1ATI)
  {
    if (traceGL_Native.glAlphaFragmentOp1ATI == glAlphaFragmentOp1ATI)
    {
      traceWarning("Ignoring glAlphaFragmentOp1ATI loaded from traceGL library.");
      traceGL_Native.glAlphaFragmentOp1ATI = NULL;
    }
  }
  else
  {
    traceWarning("glAlphaFragmentOp1ATI not loaded.");
  }
  if (traceGL_Native.glAlphaFragmentOp2ATI)
  {
    if (traceGL_Native.glAlphaFragmentOp2ATI == glAlphaFragmentOp2ATI)
    {
      traceWarning("Ignoring glAlphaFragmentOp2ATI loaded from traceGL library.");
      traceGL_Native.glAlphaFragmentOp2ATI = NULL;
    }
  }
  else
  {
    traceWarning("glAlphaFragmentOp2ATI not loaded.");
  }
  if (traceGL_Native.glAlphaFragmentOp3ATI)
  {
    if (traceGL_Native.glAlphaFragmentOp3ATI == glAlphaFragmentOp3ATI)
    {
      traceWarning("Ignoring glAlphaFragmentOp3ATI loaded from traceGL library.");
      traceGL_Native.glAlphaFragmentOp3ATI = NULL;
    }
  }
  else
  {
    traceWarning("glAlphaFragmentOp3ATI not loaded.");
  }
  if (traceGL_Native.glSetFragmentShaderConstantATI)
  {
    if (traceGL_Native.glSetFragmentShaderConstantATI == glSetFragmentShaderConstantATI)
    {
      traceWarning("Ignoring glSetFragmentShaderConstantATI loaded from traceGL library.");
      traceGL_Native.glSetFragmentShaderConstantATI = NULL;
    }
  }
  else
  {
    traceWarning("glSetFragmentShaderConstantATI not loaded.");
  }
  if (traceGL_Native.glPNTrianglesiATI)
  {
    if (traceGL_Native.glPNTrianglesiATI == glPNTrianglesiATI)
    {
      traceWarning("Ignoring glPNTrianglesiATI loaded from traceGL library.");
      traceGL_Native.glPNTrianglesiATI = NULL;
    }
  }
  else
  {
    traceWarning("glPNTrianglesiATI not loaded.");
  }
  if (traceGL_Native.glPNTrianglesfATI)
  {
    if (traceGL_Native.glPNTrianglesfATI == glPNTrianglesfATI)
    {
      traceWarning("Ignoring glPNTrianglesfATI loaded from traceGL library.");
      traceGL_Native.glPNTrianglesfATI = NULL;
    }
  }
  else
  {
    traceWarning("glPNTrianglesfATI not loaded.");
  }
  if (traceGL_Native.glNewObjectBufferATI)
  {
    if (traceGL_Native.glNewObjectBufferATI == glNewObjectBufferATI)
    {
      traceWarning("Ignoring glNewObjectBufferATI loaded from traceGL library.");
      traceGL_Native.glNewObjectBufferATI = NULL;
    }
  }
  else
  {
    traceWarning("glNewObjectBufferATI not loaded.");
  }
  if (traceGL_Native.glIsObjectBufferATI)
  {
    if (traceGL_Native.glIsObjectBufferATI == glIsObjectBufferATI)
    {
      traceWarning("Ignoring glIsObjectBufferATI loaded from traceGL library.");
      traceGL_Native.glIsObjectBufferATI = NULL;
    }
  }
  else
  {
    traceWarning("glIsObjectBufferATI not loaded.");
  }
  if (traceGL_Native.glUpdateObjectBufferATI)
  {
    if (traceGL_Native.glUpdateObjectBufferATI == glUpdateObjectBufferATI)
    {
      traceWarning("Ignoring glUpdateObjectBufferATI loaded from traceGL library.");
      traceGL_Native.glUpdateObjectBufferATI = NULL;
    }
  }
  else
  {
    traceWarning("glUpdateObjectBufferATI not loaded.");
  }
  if (traceGL_Native.glGetObjectBufferfvATI)
  {
    if (traceGL_Native.glGetObjectBufferfvATI == glGetObjectBufferfvATI)
    {
      traceWarning("Ignoring glGetObjectBufferfvATI loaded from traceGL library.");
      traceGL_Native.glGetObjectBufferfvATI = NULL;
    }
  }
  else
  {
    traceWarning("glGetObjectBufferfvATI not loaded.");
  }
  if (traceGL_Native.glGetObjectBufferivATI)
  {
    if (traceGL_Native.glGetObjectBufferivATI == glGetObjectBufferivATI)
    {
      traceWarning("Ignoring glGetObjectBufferivATI loaded from traceGL library.");
      traceGL_Native.glGetObjectBufferivATI = NULL;
    }
  }
  else
  {
    traceWarning("glGetObjectBufferivATI not loaded.");
  }
  if (traceGL_Native.glFreeObjectBufferATI)
  {
    if (traceGL_Native.glFreeObjectBufferATI == glFreeObjectBufferATI)
    {
      traceWarning("Ignoring glFreeObjectBufferATI loaded from traceGL library.");
      traceGL_Native.glFreeObjectBufferATI = NULL;
    }
  }
  else
  {
    traceWarning("glFreeObjectBufferATI not loaded.");
  }
  if (traceGL_Native.glArrayObjectATI)
  {
    if (traceGL_Native.glArrayObjectATI == glArrayObjectATI)
    {
      traceWarning("Ignoring glArrayObjectATI loaded from traceGL library.");
      traceGL_Native.glArrayObjectATI = NULL;
    }
  }
  else
  {
    traceWarning("glArrayObjectATI not loaded.");
  }
  if (traceGL_Native.glGetArrayObjectfvATI)
  {
    if (traceGL_Native.glGetArrayObjectfvATI == glGetArrayObjectfvATI)
    {
      traceWarning("Ignoring glGetArrayObjectfvATI loaded from traceGL library.");
      traceGL_Native.glGetArrayObjectfvATI = NULL;
    }
  }
  else
  {
    traceWarning("glGetArrayObjectfvATI not loaded.");
  }
  if (traceGL_Native.glGetArrayObjectivATI)
  {
    if (traceGL_Native.glGetArrayObjectivATI == glGetArrayObjectivATI)
    {
      traceWarning("Ignoring glGetArrayObjectivATI loaded from traceGL library.");
      traceGL_Native.glGetArrayObjectivATI = NULL;
    }
  }
  else
  {
    traceWarning("glGetArrayObjectivATI not loaded.");
  }
  if (traceGL_Native.glVariantArrayObjectATI)
  {
    if (traceGL_Native.glVariantArrayObjectATI == glVariantArrayObjectATI)
    {
      traceWarning("Ignoring glVariantArrayObjectATI loaded from traceGL library.");
      traceGL_Native.glVariantArrayObjectATI = NULL;
    }
  }
  else
  {
    traceWarning("glVariantArrayObjectATI not loaded.");
  }
  if (traceGL_Native.glGetVariantArrayObjectfvATI)
  {
    if (traceGL_Native.glGetVariantArrayObjectfvATI == glGetVariantArrayObjectfvATI)
    {
      traceWarning("Ignoring glGetVariantArrayObjectfvATI loaded from traceGL library.");
      traceGL_Native.glGetVariantArrayObjectfvATI = NULL;
    }
  }
  else
  {
    traceWarning("glGetVariantArrayObjectfvATI not loaded.");
  }
  if (traceGL_Native.glGetVariantArrayObjectivATI)
  {
    if (traceGL_Native.glGetVariantArrayObjectivATI == glGetVariantArrayObjectivATI)
    {
      traceWarning("Ignoring glGetVariantArrayObjectivATI loaded from traceGL library.");
      traceGL_Native.glGetVariantArrayObjectivATI = NULL;
    }
  }
  else
  {
    traceWarning("glGetVariantArrayObjectivATI not loaded.");
  }
  if (traceGL_Native.glBeginVertexShaderEXT)
  {
    if (traceGL_Native.glBeginVertexShaderEXT == glBeginVertexShaderEXT)
    {
      traceWarning("Ignoring glBeginVertexShaderEXT loaded from traceGL library.");
      traceGL_Native.glBeginVertexShaderEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBeginVertexShaderEXT not loaded.");
  }
  if (traceGL_Native.glEndVertexShaderEXT)
  {
    if (traceGL_Native.glEndVertexShaderEXT == glEndVertexShaderEXT)
    {
      traceWarning("Ignoring glEndVertexShaderEXT loaded from traceGL library.");
      traceGL_Native.glEndVertexShaderEXT = NULL;
    }
  }
  else
  {
    traceWarning("glEndVertexShaderEXT not loaded.");
  }
  if (traceGL_Native.glBindVertexShaderEXT)
  {
    if (traceGL_Native.glBindVertexShaderEXT == glBindVertexShaderEXT)
    {
      traceWarning("Ignoring glBindVertexShaderEXT loaded from traceGL library.");
      traceGL_Native.glBindVertexShaderEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBindVertexShaderEXT not loaded.");
  }
  if (traceGL_Native.glGenVertexShadersEXT)
  {
    if (traceGL_Native.glGenVertexShadersEXT == glGenVertexShadersEXT)
    {
      traceWarning("Ignoring glGenVertexShadersEXT loaded from traceGL library.");
      traceGL_Native.glGenVertexShadersEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGenVertexShadersEXT not loaded.");
  }
  if (traceGL_Native.glDeleteVertexShaderEXT)
  {
    if (traceGL_Native.glDeleteVertexShaderEXT == glDeleteVertexShaderEXT)
    {
      traceWarning("Ignoring glDeleteVertexShaderEXT loaded from traceGL library.");
      traceGL_Native.glDeleteVertexShaderEXT = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteVertexShaderEXT not loaded.");
  }
  if (traceGL_Native.glShaderOp1EXT)
  {
    if (traceGL_Native.glShaderOp1EXT == glShaderOp1EXT)
    {
      traceWarning("Ignoring glShaderOp1EXT loaded from traceGL library.");
      traceGL_Native.glShaderOp1EXT = NULL;
    }
  }
  else
  {
    traceWarning("glShaderOp1EXT not loaded.");
  }
  if (traceGL_Native.glShaderOp2EXT)
  {
    if (traceGL_Native.glShaderOp2EXT == glShaderOp2EXT)
    {
      traceWarning("Ignoring glShaderOp2EXT loaded from traceGL library.");
      traceGL_Native.glShaderOp2EXT = NULL;
    }
  }
  else
  {
    traceWarning("glShaderOp2EXT not loaded.");
  }
  if (traceGL_Native.glShaderOp3EXT)
  {
    if (traceGL_Native.glShaderOp3EXT == glShaderOp3EXT)
    {
      traceWarning("Ignoring glShaderOp3EXT loaded from traceGL library.");
      traceGL_Native.glShaderOp3EXT = NULL;
    }
  }
  else
  {
    traceWarning("glShaderOp3EXT not loaded.");
  }
  if (traceGL_Native.glSwizzleEXT)
  {
    if (traceGL_Native.glSwizzleEXT == glSwizzleEXT)
    {
      traceWarning("Ignoring glSwizzleEXT loaded from traceGL library.");
      traceGL_Native.glSwizzleEXT = NULL;
    }
  }
  else
  {
    traceWarning("glSwizzleEXT not loaded.");
  }
  if (traceGL_Native.glWriteMaskEXT)
  {
    if (traceGL_Native.glWriteMaskEXT == glWriteMaskEXT)
    {
      traceWarning("Ignoring glWriteMaskEXT loaded from traceGL library.");
      traceGL_Native.glWriteMaskEXT = NULL;
    }
  }
  else
  {
    traceWarning("glWriteMaskEXT not loaded.");
  }
  if (traceGL_Native.glInsertComponentEXT)
  {
    if (traceGL_Native.glInsertComponentEXT == glInsertComponentEXT)
    {
      traceWarning("Ignoring glInsertComponentEXT loaded from traceGL library.");
      traceGL_Native.glInsertComponentEXT = NULL;
    }
  }
  else
  {
    traceWarning("glInsertComponentEXT not loaded.");
  }
  if (traceGL_Native.glExtractComponentEXT)
  {
    if (traceGL_Native.glExtractComponentEXT == glExtractComponentEXT)
    {
      traceWarning("Ignoring glExtractComponentEXT loaded from traceGL library.");
      traceGL_Native.glExtractComponentEXT = NULL;
    }
  }
  else
  {
    traceWarning("glExtractComponentEXT not loaded.");
  }
  if (traceGL_Native.glGenSymbolsEXT)
  {
    if (traceGL_Native.glGenSymbolsEXT == glGenSymbolsEXT)
    {
      traceWarning("Ignoring glGenSymbolsEXT loaded from traceGL library.");
      traceGL_Native.glGenSymbolsEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGenSymbolsEXT not loaded.");
  }
  if (traceGL_Native.glSetInvariantEXT)
  {
    if (traceGL_Native.glSetInvariantEXT == glSetInvariantEXT)
    {
      traceWarning("Ignoring glSetInvariantEXT loaded from traceGL library.");
      traceGL_Native.glSetInvariantEXT = NULL;
    }
  }
  else
  {
    traceWarning("glSetInvariantEXT not loaded.");
  }
  if (traceGL_Native.glSetLocalConstantEXT)
  {
    if (traceGL_Native.glSetLocalConstantEXT == glSetLocalConstantEXT)
    {
      traceWarning("Ignoring glSetLocalConstantEXT loaded from traceGL library.");
      traceGL_Native.glSetLocalConstantEXT = NULL;
    }
  }
  else
  {
    traceWarning("glSetLocalConstantEXT not loaded.");
  }
  if (traceGL_Native.glVariantbvEXT)
  {
    if (traceGL_Native.glVariantbvEXT == glVariantbvEXT)
    {
      traceWarning("Ignoring glVariantbvEXT loaded from traceGL library.");
      traceGL_Native.glVariantbvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVariantbvEXT not loaded.");
  }
  if (traceGL_Native.glVariantsvEXT)
  {
    if (traceGL_Native.glVariantsvEXT == glVariantsvEXT)
    {
      traceWarning("Ignoring glVariantsvEXT loaded from traceGL library.");
      traceGL_Native.glVariantsvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVariantsvEXT not loaded.");
  }
  if (traceGL_Native.glVariantivEXT)
  {
    if (traceGL_Native.glVariantivEXT == glVariantivEXT)
    {
      traceWarning("Ignoring glVariantivEXT loaded from traceGL library.");
      traceGL_Native.glVariantivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVariantivEXT not loaded.");
  }
  if (traceGL_Native.glVariantfvEXT)
  {
    if (traceGL_Native.glVariantfvEXT == glVariantfvEXT)
    {
      traceWarning("Ignoring glVariantfvEXT loaded from traceGL library.");
      traceGL_Native.glVariantfvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVariantfvEXT not loaded.");
  }
  if (traceGL_Native.glVariantdvEXT)
  {
    if (traceGL_Native.glVariantdvEXT == glVariantdvEXT)
    {
      traceWarning("Ignoring glVariantdvEXT loaded from traceGL library.");
      traceGL_Native.glVariantdvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVariantdvEXT not loaded.");
  }
  if (traceGL_Native.glVariantubvEXT)
  {
    if (traceGL_Native.glVariantubvEXT == glVariantubvEXT)
    {
      traceWarning("Ignoring glVariantubvEXT loaded from traceGL library.");
      traceGL_Native.glVariantubvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVariantubvEXT not loaded.");
  }
  if (traceGL_Native.glVariantusvEXT)
  {
    if (traceGL_Native.glVariantusvEXT == glVariantusvEXT)
    {
      traceWarning("Ignoring glVariantusvEXT loaded from traceGL library.");
      traceGL_Native.glVariantusvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVariantusvEXT not loaded.");
  }
  if (traceGL_Native.glVariantuivEXT)
  {
    if (traceGL_Native.glVariantuivEXT == glVariantuivEXT)
    {
      traceWarning("Ignoring glVariantuivEXT loaded from traceGL library.");
      traceGL_Native.glVariantuivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVariantuivEXT not loaded.");
  }
  if (traceGL_Native.glVariantPointerEXT)
  {
    if (traceGL_Native.glVariantPointerEXT == glVariantPointerEXT)
    {
      traceWarning("Ignoring glVariantPointerEXT loaded from traceGL library.");
      traceGL_Native.glVariantPointerEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVariantPointerEXT not loaded.");
  }
  if (traceGL_Native.glEnableVariantClientStateEXT)
  {
    if (traceGL_Native.glEnableVariantClientStateEXT == glEnableVariantClientStateEXT)
    {
      traceWarning("Ignoring glEnableVariantClientStateEXT loaded from traceGL library.");
      traceGL_Native.glEnableVariantClientStateEXT = NULL;
    }
  }
  else
  {
    traceWarning("glEnableVariantClientStateEXT not loaded.");
  }
  if (traceGL_Native.glDisableVariantClientStateEXT)
  {
    if (traceGL_Native.glDisableVariantClientStateEXT == glDisableVariantClientStateEXT)
    {
      traceWarning("Ignoring glDisableVariantClientStateEXT loaded from traceGL library.");
      traceGL_Native.glDisableVariantClientStateEXT = NULL;
    }
  }
  else
  {
    traceWarning("glDisableVariantClientStateEXT not loaded.");
  }
  if (traceGL_Native.glBindLightParameterEXT)
  {
    if (traceGL_Native.glBindLightParameterEXT == glBindLightParameterEXT)
    {
      traceWarning("Ignoring glBindLightParameterEXT loaded from traceGL library.");
      traceGL_Native.glBindLightParameterEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBindLightParameterEXT not loaded.");
  }
  if (traceGL_Native.glBindMaterialParameterEXT)
  {
    if (traceGL_Native.glBindMaterialParameterEXT == glBindMaterialParameterEXT)
    {
      traceWarning("Ignoring glBindMaterialParameterEXT loaded from traceGL library.");
      traceGL_Native.glBindMaterialParameterEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBindMaterialParameterEXT not loaded.");
  }
  if (traceGL_Native.glBindTexGenParameterEXT)
  {
    if (traceGL_Native.glBindTexGenParameterEXT == glBindTexGenParameterEXT)
    {
      traceWarning("Ignoring glBindTexGenParameterEXT loaded from traceGL library.");
      traceGL_Native.glBindTexGenParameterEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBindTexGenParameterEXT not loaded.");
  }
  if (traceGL_Native.glBindTextureUnitParameterEXT)
  {
    if (traceGL_Native.glBindTextureUnitParameterEXT == glBindTextureUnitParameterEXT)
    {
      traceWarning("Ignoring glBindTextureUnitParameterEXT loaded from traceGL library.");
      traceGL_Native.glBindTextureUnitParameterEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBindTextureUnitParameterEXT not loaded.");
  }
  if (traceGL_Native.glBindParameterEXT)
  {
    if (traceGL_Native.glBindParameterEXT == glBindParameterEXT)
    {
      traceWarning("Ignoring glBindParameterEXT loaded from traceGL library.");
      traceGL_Native.glBindParameterEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBindParameterEXT not loaded.");
  }
  if (traceGL_Native.glIsVariantEnabledEXT)
  {
    if (traceGL_Native.glIsVariantEnabledEXT == glIsVariantEnabledEXT)
    {
      traceWarning("Ignoring glIsVariantEnabledEXT loaded from traceGL library.");
      traceGL_Native.glIsVariantEnabledEXT = NULL;
    }
  }
  else
  {
    traceWarning("glIsVariantEnabledEXT not loaded.");
  }
  if (traceGL_Native.glGetVariantBooleanvEXT)
  {
    if (traceGL_Native.glGetVariantBooleanvEXT == glGetVariantBooleanvEXT)
    {
      traceWarning("Ignoring glGetVariantBooleanvEXT loaded from traceGL library.");
      traceGL_Native.glGetVariantBooleanvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetVariantBooleanvEXT not loaded.");
  }
  if (traceGL_Native.glGetVariantIntegervEXT)
  {
    if (traceGL_Native.glGetVariantIntegervEXT == glGetVariantIntegervEXT)
    {
      traceWarning("Ignoring glGetVariantIntegervEXT loaded from traceGL library.");
      traceGL_Native.glGetVariantIntegervEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetVariantIntegervEXT not loaded.");
  }
  if (traceGL_Native.glGetVariantFloatvEXT)
  {
    if (traceGL_Native.glGetVariantFloatvEXT == glGetVariantFloatvEXT)
    {
      traceWarning("Ignoring glGetVariantFloatvEXT loaded from traceGL library.");
      traceGL_Native.glGetVariantFloatvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetVariantFloatvEXT not loaded.");
  }
  if (traceGL_Native.glGetVariantPointervEXT)
  {
    if (traceGL_Native.glGetVariantPointervEXT == glGetVariantPointervEXT)
    {
      traceWarning("Ignoring glGetVariantPointervEXT loaded from traceGL library.");
      traceGL_Native.glGetVariantPointervEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetVariantPointervEXT not loaded.");
  }
  if (traceGL_Native.glGetInvariantBooleanvEXT)
  {
    if (traceGL_Native.glGetInvariantBooleanvEXT == glGetInvariantBooleanvEXT)
    {
      traceWarning("Ignoring glGetInvariantBooleanvEXT loaded from traceGL library.");
      traceGL_Native.glGetInvariantBooleanvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetInvariantBooleanvEXT not loaded.");
  }
  if (traceGL_Native.glGetInvariantIntegervEXT)
  {
    if (traceGL_Native.glGetInvariantIntegervEXT == glGetInvariantIntegervEXT)
    {
      traceWarning("Ignoring glGetInvariantIntegervEXT loaded from traceGL library.");
      traceGL_Native.glGetInvariantIntegervEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetInvariantIntegervEXT not loaded.");
  }
  if (traceGL_Native.glGetInvariantFloatvEXT)
  {
    if (traceGL_Native.glGetInvariantFloatvEXT == glGetInvariantFloatvEXT)
    {
      traceWarning("Ignoring glGetInvariantFloatvEXT loaded from traceGL library.");
      traceGL_Native.glGetInvariantFloatvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetInvariantFloatvEXT not loaded.");
  }
  if (traceGL_Native.glGetLocalConstantBooleanvEXT)
  {
    if (traceGL_Native.glGetLocalConstantBooleanvEXT == glGetLocalConstantBooleanvEXT)
    {
      traceWarning("Ignoring glGetLocalConstantBooleanvEXT loaded from traceGL library.");
      traceGL_Native.glGetLocalConstantBooleanvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetLocalConstantBooleanvEXT not loaded.");
  }
  if (traceGL_Native.glGetLocalConstantIntegervEXT)
  {
    if (traceGL_Native.glGetLocalConstantIntegervEXT == glGetLocalConstantIntegervEXT)
    {
      traceWarning("Ignoring glGetLocalConstantIntegervEXT loaded from traceGL library.");
      traceGL_Native.glGetLocalConstantIntegervEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetLocalConstantIntegervEXT not loaded.");
  }
  if (traceGL_Native.glGetLocalConstantFloatvEXT)
  {
    if (traceGL_Native.glGetLocalConstantFloatvEXT == glGetLocalConstantFloatvEXT)
    {
      traceWarning("Ignoring glGetLocalConstantFloatvEXT loaded from traceGL library.");
      traceGL_Native.glGetLocalConstantFloatvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetLocalConstantFloatvEXT not loaded.");
  }
  if (traceGL_Native.glVertexStream1sATI)
  {
    if (traceGL_Native.glVertexStream1sATI == glVertexStream1sATI)
    {
      traceWarning("Ignoring glVertexStream1sATI loaded from traceGL library.");
      traceGL_Native.glVertexStream1sATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream1sATI not loaded.");
  }
  if (traceGL_Native.glVertexStream1svATI)
  {
    if (traceGL_Native.glVertexStream1svATI == glVertexStream1svATI)
    {
      traceWarning("Ignoring glVertexStream1svATI loaded from traceGL library.");
      traceGL_Native.glVertexStream1svATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream1svATI not loaded.");
  }
  if (traceGL_Native.glVertexStream1iATI)
  {
    if (traceGL_Native.glVertexStream1iATI == glVertexStream1iATI)
    {
      traceWarning("Ignoring glVertexStream1iATI loaded from traceGL library.");
      traceGL_Native.glVertexStream1iATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream1iATI not loaded.");
  }
  if (traceGL_Native.glVertexStream1ivATI)
  {
    if (traceGL_Native.glVertexStream1ivATI == glVertexStream1ivATI)
    {
      traceWarning("Ignoring glVertexStream1ivATI loaded from traceGL library.");
      traceGL_Native.glVertexStream1ivATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream1ivATI not loaded.");
  }
  if (traceGL_Native.glVertexStream1fATI)
  {
    if (traceGL_Native.glVertexStream1fATI == glVertexStream1fATI)
    {
      traceWarning("Ignoring glVertexStream1fATI loaded from traceGL library.");
      traceGL_Native.glVertexStream1fATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream1fATI not loaded.");
  }
  if (traceGL_Native.glVertexStream1fvATI)
  {
    if (traceGL_Native.glVertexStream1fvATI == glVertexStream1fvATI)
    {
      traceWarning("Ignoring glVertexStream1fvATI loaded from traceGL library.");
      traceGL_Native.glVertexStream1fvATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream1fvATI not loaded.");
  }
  if (traceGL_Native.glVertexStream1dATI)
  {
    if (traceGL_Native.glVertexStream1dATI == glVertexStream1dATI)
    {
      traceWarning("Ignoring glVertexStream1dATI loaded from traceGL library.");
      traceGL_Native.glVertexStream1dATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream1dATI not loaded.");
  }
  if (traceGL_Native.glVertexStream1dvATI)
  {
    if (traceGL_Native.glVertexStream1dvATI == glVertexStream1dvATI)
    {
      traceWarning("Ignoring glVertexStream1dvATI loaded from traceGL library.");
      traceGL_Native.glVertexStream1dvATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream1dvATI not loaded.");
  }
  if (traceGL_Native.glVertexStream2sATI)
  {
    if (traceGL_Native.glVertexStream2sATI == glVertexStream2sATI)
    {
      traceWarning("Ignoring glVertexStream2sATI loaded from traceGL library.");
      traceGL_Native.glVertexStream2sATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream2sATI not loaded.");
  }
  if (traceGL_Native.glVertexStream2svATI)
  {
    if (traceGL_Native.glVertexStream2svATI == glVertexStream2svATI)
    {
      traceWarning("Ignoring glVertexStream2svATI loaded from traceGL library.");
      traceGL_Native.glVertexStream2svATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream2svATI not loaded.");
  }
  if (traceGL_Native.glVertexStream2iATI)
  {
    if (traceGL_Native.glVertexStream2iATI == glVertexStream2iATI)
    {
      traceWarning("Ignoring glVertexStream2iATI loaded from traceGL library.");
      traceGL_Native.glVertexStream2iATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream2iATI not loaded.");
  }
  if (traceGL_Native.glVertexStream2ivATI)
  {
    if (traceGL_Native.glVertexStream2ivATI == glVertexStream2ivATI)
    {
      traceWarning("Ignoring glVertexStream2ivATI loaded from traceGL library.");
      traceGL_Native.glVertexStream2ivATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream2ivATI not loaded.");
  }
  if (traceGL_Native.glVertexStream2fATI)
  {
    if (traceGL_Native.glVertexStream2fATI == glVertexStream2fATI)
    {
      traceWarning("Ignoring glVertexStream2fATI loaded from traceGL library.");
      traceGL_Native.glVertexStream2fATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream2fATI not loaded.");
  }
  if (traceGL_Native.glVertexStream2fvATI)
  {
    if (traceGL_Native.glVertexStream2fvATI == glVertexStream2fvATI)
    {
      traceWarning("Ignoring glVertexStream2fvATI loaded from traceGL library.");
      traceGL_Native.glVertexStream2fvATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream2fvATI not loaded.");
  }
  if (traceGL_Native.glVertexStream2dATI)
  {
    if (traceGL_Native.glVertexStream2dATI == glVertexStream2dATI)
    {
      traceWarning("Ignoring glVertexStream2dATI loaded from traceGL library.");
      traceGL_Native.glVertexStream2dATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream2dATI not loaded.");
  }
  if (traceGL_Native.glVertexStream2dvATI)
  {
    if (traceGL_Native.glVertexStream2dvATI == glVertexStream2dvATI)
    {
      traceWarning("Ignoring glVertexStream2dvATI loaded from traceGL library.");
      traceGL_Native.glVertexStream2dvATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream2dvATI not loaded.");
  }
  if (traceGL_Native.glVertexStream3sATI)
  {
    if (traceGL_Native.glVertexStream3sATI == glVertexStream3sATI)
    {
      traceWarning("Ignoring glVertexStream3sATI loaded from traceGL library.");
      traceGL_Native.glVertexStream3sATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream3sATI not loaded.");
  }
  if (traceGL_Native.glVertexStream3svATI)
  {
    if (traceGL_Native.glVertexStream3svATI == glVertexStream3svATI)
    {
      traceWarning("Ignoring glVertexStream3svATI loaded from traceGL library.");
      traceGL_Native.glVertexStream3svATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream3svATI not loaded.");
  }
  if (traceGL_Native.glVertexStream3iATI)
  {
    if (traceGL_Native.glVertexStream3iATI == glVertexStream3iATI)
    {
      traceWarning("Ignoring glVertexStream3iATI loaded from traceGL library.");
      traceGL_Native.glVertexStream3iATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream3iATI not loaded.");
  }
  if (traceGL_Native.glVertexStream3ivATI)
  {
    if (traceGL_Native.glVertexStream3ivATI == glVertexStream3ivATI)
    {
      traceWarning("Ignoring glVertexStream3ivATI loaded from traceGL library.");
      traceGL_Native.glVertexStream3ivATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream3ivATI not loaded.");
  }
  if (traceGL_Native.glVertexStream3fATI)
  {
    if (traceGL_Native.glVertexStream3fATI == glVertexStream3fATI)
    {
      traceWarning("Ignoring glVertexStream3fATI loaded from traceGL library.");
      traceGL_Native.glVertexStream3fATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream3fATI not loaded.");
  }
  if (traceGL_Native.glVertexStream3fvATI)
  {
    if (traceGL_Native.glVertexStream3fvATI == glVertexStream3fvATI)
    {
      traceWarning("Ignoring glVertexStream3fvATI loaded from traceGL library.");
      traceGL_Native.glVertexStream3fvATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream3fvATI not loaded.");
  }
  if (traceGL_Native.glVertexStream3dATI)
  {
    if (traceGL_Native.glVertexStream3dATI == glVertexStream3dATI)
    {
      traceWarning("Ignoring glVertexStream3dATI loaded from traceGL library.");
      traceGL_Native.glVertexStream3dATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream3dATI not loaded.");
  }
  if (traceGL_Native.glVertexStream3dvATI)
  {
    if (traceGL_Native.glVertexStream3dvATI == glVertexStream3dvATI)
    {
      traceWarning("Ignoring glVertexStream3dvATI loaded from traceGL library.");
      traceGL_Native.glVertexStream3dvATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream3dvATI not loaded.");
  }
  if (traceGL_Native.glVertexStream4sATI)
  {
    if (traceGL_Native.glVertexStream4sATI == glVertexStream4sATI)
    {
      traceWarning("Ignoring glVertexStream4sATI loaded from traceGL library.");
      traceGL_Native.glVertexStream4sATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream4sATI not loaded.");
  }
  if (traceGL_Native.glVertexStream4svATI)
  {
    if (traceGL_Native.glVertexStream4svATI == glVertexStream4svATI)
    {
      traceWarning("Ignoring glVertexStream4svATI loaded from traceGL library.");
      traceGL_Native.glVertexStream4svATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream4svATI not loaded.");
  }
  if (traceGL_Native.glVertexStream4iATI)
  {
    if (traceGL_Native.glVertexStream4iATI == glVertexStream4iATI)
    {
      traceWarning("Ignoring glVertexStream4iATI loaded from traceGL library.");
      traceGL_Native.glVertexStream4iATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream4iATI not loaded.");
  }
  if (traceGL_Native.glVertexStream4ivATI)
  {
    if (traceGL_Native.glVertexStream4ivATI == glVertexStream4ivATI)
    {
      traceWarning("Ignoring glVertexStream4ivATI loaded from traceGL library.");
      traceGL_Native.glVertexStream4ivATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream4ivATI not loaded.");
  }
  if (traceGL_Native.glVertexStream4fATI)
  {
    if (traceGL_Native.glVertexStream4fATI == glVertexStream4fATI)
    {
      traceWarning("Ignoring glVertexStream4fATI loaded from traceGL library.");
      traceGL_Native.glVertexStream4fATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream4fATI not loaded.");
  }
  if (traceGL_Native.glVertexStream4fvATI)
  {
    if (traceGL_Native.glVertexStream4fvATI == glVertexStream4fvATI)
    {
      traceWarning("Ignoring glVertexStream4fvATI loaded from traceGL library.");
      traceGL_Native.glVertexStream4fvATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream4fvATI not loaded.");
  }
  if (traceGL_Native.glVertexStream4dATI)
  {
    if (traceGL_Native.glVertexStream4dATI == glVertexStream4dATI)
    {
      traceWarning("Ignoring glVertexStream4dATI loaded from traceGL library.");
      traceGL_Native.glVertexStream4dATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream4dATI not loaded.");
  }
  if (traceGL_Native.glVertexStream4dvATI)
  {
    if (traceGL_Native.glVertexStream4dvATI == glVertexStream4dvATI)
    {
      traceWarning("Ignoring glVertexStream4dvATI loaded from traceGL library.");
      traceGL_Native.glVertexStream4dvATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexStream4dvATI not loaded.");
  }
  if (traceGL_Native.glNormalStream3bATI)
  {
    if (traceGL_Native.glNormalStream3bATI == glNormalStream3bATI)
    {
      traceWarning("Ignoring glNormalStream3bATI loaded from traceGL library.");
      traceGL_Native.glNormalStream3bATI = NULL;
    }
  }
  else
  {
    traceWarning("glNormalStream3bATI not loaded.");
  }
  if (traceGL_Native.glNormalStream3bvATI)
  {
    if (traceGL_Native.glNormalStream3bvATI == glNormalStream3bvATI)
    {
      traceWarning("Ignoring glNormalStream3bvATI loaded from traceGL library.");
      traceGL_Native.glNormalStream3bvATI = NULL;
    }
  }
  else
  {
    traceWarning("glNormalStream3bvATI not loaded.");
  }
  if (traceGL_Native.glNormalStream3sATI)
  {
    if (traceGL_Native.glNormalStream3sATI == glNormalStream3sATI)
    {
      traceWarning("Ignoring glNormalStream3sATI loaded from traceGL library.");
      traceGL_Native.glNormalStream3sATI = NULL;
    }
  }
  else
  {
    traceWarning("glNormalStream3sATI not loaded.");
  }
  if (traceGL_Native.glNormalStream3svATI)
  {
    if (traceGL_Native.glNormalStream3svATI == glNormalStream3svATI)
    {
      traceWarning("Ignoring glNormalStream3svATI loaded from traceGL library.");
      traceGL_Native.glNormalStream3svATI = NULL;
    }
  }
  else
  {
    traceWarning("glNormalStream3svATI not loaded.");
  }
  if (traceGL_Native.glNormalStream3iATI)
  {
    if (traceGL_Native.glNormalStream3iATI == glNormalStream3iATI)
    {
      traceWarning("Ignoring glNormalStream3iATI loaded from traceGL library.");
      traceGL_Native.glNormalStream3iATI = NULL;
    }
  }
  else
  {
    traceWarning("glNormalStream3iATI not loaded.");
  }
  if (traceGL_Native.glNormalStream3ivATI)
  {
    if (traceGL_Native.glNormalStream3ivATI == glNormalStream3ivATI)
    {
      traceWarning("Ignoring glNormalStream3ivATI loaded from traceGL library.");
      traceGL_Native.glNormalStream3ivATI = NULL;
    }
  }
  else
  {
    traceWarning("glNormalStream3ivATI not loaded.");
  }
  if (traceGL_Native.glNormalStream3fATI)
  {
    if (traceGL_Native.glNormalStream3fATI == glNormalStream3fATI)
    {
      traceWarning("Ignoring glNormalStream3fATI loaded from traceGL library.");
      traceGL_Native.glNormalStream3fATI = NULL;
    }
  }
  else
  {
    traceWarning("glNormalStream3fATI not loaded.");
  }
  if (traceGL_Native.glNormalStream3fvATI)
  {
    if (traceGL_Native.glNormalStream3fvATI == glNormalStream3fvATI)
    {
      traceWarning("Ignoring glNormalStream3fvATI loaded from traceGL library.");
      traceGL_Native.glNormalStream3fvATI = NULL;
    }
  }
  else
  {
    traceWarning("glNormalStream3fvATI not loaded.");
  }
  if (traceGL_Native.glNormalStream3dATI)
  {
    if (traceGL_Native.glNormalStream3dATI == glNormalStream3dATI)
    {
      traceWarning("Ignoring glNormalStream3dATI loaded from traceGL library.");
      traceGL_Native.glNormalStream3dATI = NULL;
    }
  }
  else
  {
    traceWarning("glNormalStream3dATI not loaded.");
  }
  if (traceGL_Native.glNormalStream3dvATI)
  {
    if (traceGL_Native.glNormalStream3dvATI == glNormalStream3dvATI)
    {
      traceWarning("Ignoring glNormalStream3dvATI loaded from traceGL library.");
      traceGL_Native.glNormalStream3dvATI = NULL;
    }
  }
  else
  {
    traceWarning("glNormalStream3dvATI not loaded.");
  }
  if (traceGL_Native.glClientActiveVertexStreamATI)
  {
    if (traceGL_Native.glClientActiveVertexStreamATI == glClientActiveVertexStreamATI)
    {
      traceWarning("Ignoring glClientActiveVertexStreamATI loaded from traceGL library.");
      traceGL_Native.glClientActiveVertexStreamATI = NULL;
    }
  }
  else
  {
    traceWarning("glClientActiveVertexStreamATI not loaded.");
  }
  if (traceGL_Native.glVertexBlendEnviATI)
  {
    if (traceGL_Native.glVertexBlendEnviATI == glVertexBlendEnviATI)
    {
      traceWarning("Ignoring glVertexBlendEnviATI loaded from traceGL library.");
      traceGL_Native.glVertexBlendEnviATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexBlendEnviATI not loaded.");
  }
  if (traceGL_Native.glVertexBlendEnvfATI)
  {
    if (traceGL_Native.glVertexBlendEnvfATI == glVertexBlendEnvfATI)
    {
      traceWarning("Ignoring glVertexBlendEnvfATI loaded from traceGL library.");
      traceGL_Native.glVertexBlendEnvfATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexBlendEnvfATI not loaded.");
  }
  if (traceGL_Native.glElementPointerATI)
  {
    if (traceGL_Native.glElementPointerATI == glElementPointerATI)
    {
      traceWarning("Ignoring glElementPointerATI loaded from traceGL library.");
      traceGL_Native.glElementPointerATI = NULL;
    }
  }
  else
  {
    traceWarning("glElementPointerATI not loaded.");
  }
  if (traceGL_Native.glDrawElementArrayATI)
  {
    if (traceGL_Native.glDrawElementArrayATI == glDrawElementArrayATI)
    {
      traceWarning("Ignoring glDrawElementArrayATI loaded from traceGL library.");
      traceGL_Native.glDrawElementArrayATI = NULL;
    }
  }
  else
  {
    traceWarning("glDrawElementArrayATI not loaded.");
  }
  if (traceGL_Native.glDrawRangeElementArrayATI)
  {
    if (traceGL_Native.glDrawRangeElementArrayATI == glDrawRangeElementArrayATI)
    {
      traceWarning("Ignoring glDrawRangeElementArrayATI loaded from traceGL library.");
      traceGL_Native.glDrawRangeElementArrayATI = NULL;
    }
  }
  else
  {
    traceWarning("glDrawRangeElementArrayATI not loaded.");
  }
  if (traceGL_Native.glDrawMeshArraysSUN)
  {
    if (traceGL_Native.glDrawMeshArraysSUN == glDrawMeshArraysSUN)
    {
      traceWarning("Ignoring glDrawMeshArraysSUN loaded from traceGL library.");
      traceGL_Native.glDrawMeshArraysSUN = NULL;
    }
  }
  else
  {
    traceWarning("glDrawMeshArraysSUN not loaded.");
  }
  if (traceGL_Native.glGenOcclusionQueriesNV)
  {
    if (traceGL_Native.glGenOcclusionQueriesNV == glGenOcclusionQueriesNV)
    {
      traceWarning("Ignoring glGenOcclusionQueriesNV loaded from traceGL library.");
      traceGL_Native.glGenOcclusionQueriesNV = NULL;
    }
  }
  else
  {
    traceWarning("glGenOcclusionQueriesNV not loaded.");
  }
  if (traceGL_Native.glDeleteOcclusionQueriesNV)
  {
    if (traceGL_Native.glDeleteOcclusionQueriesNV == glDeleteOcclusionQueriesNV)
    {
      traceWarning("Ignoring glDeleteOcclusionQueriesNV loaded from traceGL library.");
      traceGL_Native.glDeleteOcclusionQueriesNV = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteOcclusionQueriesNV not loaded.");
  }
  if (traceGL_Native.glIsOcclusionQueryNV)
  {
    if (traceGL_Native.glIsOcclusionQueryNV == glIsOcclusionQueryNV)
    {
      traceWarning("Ignoring glIsOcclusionQueryNV loaded from traceGL library.");
      traceGL_Native.glIsOcclusionQueryNV = NULL;
    }
  }
  else
  {
    traceWarning("glIsOcclusionQueryNV not loaded.");
  }
  if (traceGL_Native.glBeginOcclusionQueryNV)
  {
    if (traceGL_Native.glBeginOcclusionQueryNV == glBeginOcclusionQueryNV)
    {
      traceWarning("Ignoring glBeginOcclusionQueryNV loaded from traceGL library.");
      traceGL_Native.glBeginOcclusionQueryNV = NULL;
    }
  }
  else
  {
    traceWarning("glBeginOcclusionQueryNV not loaded.");
  }
  if (traceGL_Native.glEndOcclusionQueryNV)
  {
    if (traceGL_Native.glEndOcclusionQueryNV == glEndOcclusionQueryNV)
    {
      traceWarning("Ignoring glEndOcclusionQueryNV loaded from traceGL library.");
      traceGL_Native.glEndOcclusionQueryNV = NULL;
    }
  }
  else
  {
    traceWarning("glEndOcclusionQueryNV not loaded.");
  }
  if (traceGL_Native.glGetOcclusionQueryivNV)
  {
    if (traceGL_Native.glGetOcclusionQueryivNV == glGetOcclusionQueryivNV)
    {
      traceWarning("Ignoring glGetOcclusionQueryivNV loaded from traceGL library.");
      traceGL_Native.glGetOcclusionQueryivNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetOcclusionQueryivNV not loaded.");
  }
  if (traceGL_Native.glGetOcclusionQueryuivNV)
  {
    if (traceGL_Native.glGetOcclusionQueryuivNV == glGetOcclusionQueryuivNV)
    {
      traceWarning("Ignoring glGetOcclusionQueryuivNV loaded from traceGL library.");
      traceGL_Native.glGetOcclusionQueryuivNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetOcclusionQueryuivNV not loaded.");
  }
  if (traceGL_Native.glPointParameteriNV)
  {
    if (traceGL_Native.glPointParameteriNV == glPointParameteriNV)
    {
      traceWarning("Ignoring glPointParameteriNV loaded from traceGL library.");
      traceGL_Native.glPointParameteriNV = NULL;
    }
  }
  else
  {
    traceWarning("glPointParameteriNV not loaded.");
  }
  if (traceGL_Native.glPointParameterivNV)
  {
    if (traceGL_Native.glPointParameterivNV == glPointParameterivNV)
    {
      traceWarning("Ignoring glPointParameterivNV loaded from traceGL library.");
      traceGL_Native.glPointParameterivNV = NULL;
    }
  }
  else
  {
    traceWarning("glPointParameterivNV not loaded.");
  }
  if (traceGL_Native.glActiveStencilFaceEXT)
  {
    if (traceGL_Native.glActiveStencilFaceEXT == glActiveStencilFaceEXT)
    {
      traceWarning("Ignoring glActiveStencilFaceEXT loaded from traceGL library.");
      traceGL_Native.glActiveStencilFaceEXT = NULL;
    }
  }
  else
  {
    traceWarning("glActiveStencilFaceEXT not loaded.");
  }
  if (traceGL_Native.glElementPointerAPPLE)
  {
    if (traceGL_Native.glElementPointerAPPLE == glElementPointerAPPLE)
    {
      traceWarning("Ignoring glElementPointerAPPLE loaded from traceGL library.");
      traceGL_Native.glElementPointerAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glElementPointerAPPLE not loaded.");
  }
  if (traceGL_Native.glDrawElementArrayAPPLE)
  {
    if (traceGL_Native.glDrawElementArrayAPPLE == glDrawElementArrayAPPLE)
    {
      traceWarning("Ignoring glDrawElementArrayAPPLE loaded from traceGL library.");
      traceGL_Native.glDrawElementArrayAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glDrawElementArrayAPPLE not loaded.");
  }
  if (traceGL_Native.glDrawRangeElementArrayAPPLE)
  {
    if (traceGL_Native.glDrawRangeElementArrayAPPLE == glDrawRangeElementArrayAPPLE)
    {
      traceWarning("Ignoring glDrawRangeElementArrayAPPLE loaded from traceGL library.");
      traceGL_Native.glDrawRangeElementArrayAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glDrawRangeElementArrayAPPLE not loaded.");
  }
  if (traceGL_Native.glMultiDrawElementArrayAPPLE)
  {
    if (traceGL_Native.glMultiDrawElementArrayAPPLE == glMultiDrawElementArrayAPPLE)
    {
      traceWarning("Ignoring glMultiDrawElementArrayAPPLE loaded from traceGL library.");
      traceGL_Native.glMultiDrawElementArrayAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glMultiDrawElementArrayAPPLE not loaded.");
  }
  if (traceGL_Native.glMultiDrawRangeElementArrayAPPLE)
  {
    if (traceGL_Native.glMultiDrawRangeElementArrayAPPLE == glMultiDrawRangeElementArrayAPPLE)
    {
      traceWarning("Ignoring glMultiDrawRangeElementArrayAPPLE loaded from traceGL library.");
      traceGL_Native.glMultiDrawRangeElementArrayAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glMultiDrawRangeElementArrayAPPLE not loaded.");
  }
  if (traceGL_Native.glGenFencesAPPLE)
  {
    if (traceGL_Native.glGenFencesAPPLE == glGenFencesAPPLE)
    {
      traceWarning("Ignoring glGenFencesAPPLE loaded from traceGL library.");
      traceGL_Native.glGenFencesAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glGenFencesAPPLE not loaded.");
  }
  if (traceGL_Native.glDeleteFencesAPPLE)
  {
    if (traceGL_Native.glDeleteFencesAPPLE == glDeleteFencesAPPLE)
    {
      traceWarning("Ignoring glDeleteFencesAPPLE loaded from traceGL library.");
      traceGL_Native.glDeleteFencesAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteFencesAPPLE not loaded.");
  }
  if (traceGL_Native.glSetFenceAPPLE)
  {
    if (traceGL_Native.glSetFenceAPPLE == glSetFenceAPPLE)
    {
      traceWarning("Ignoring glSetFenceAPPLE loaded from traceGL library.");
      traceGL_Native.glSetFenceAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glSetFenceAPPLE not loaded.");
  }
  if (traceGL_Native.glIsFenceAPPLE)
  {
    if (traceGL_Native.glIsFenceAPPLE == glIsFenceAPPLE)
    {
      traceWarning("Ignoring glIsFenceAPPLE loaded from traceGL library.");
      traceGL_Native.glIsFenceAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glIsFenceAPPLE not loaded.");
  }
  if (traceGL_Native.glTestFenceAPPLE)
  {
    if (traceGL_Native.glTestFenceAPPLE == glTestFenceAPPLE)
    {
      traceWarning("Ignoring glTestFenceAPPLE loaded from traceGL library.");
      traceGL_Native.glTestFenceAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glTestFenceAPPLE not loaded.");
  }
  if (traceGL_Native.glFinishFenceAPPLE)
  {
    if (traceGL_Native.glFinishFenceAPPLE == glFinishFenceAPPLE)
    {
      traceWarning("Ignoring glFinishFenceAPPLE loaded from traceGL library.");
      traceGL_Native.glFinishFenceAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glFinishFenceAPPLE not loaded.");
  }
  if (traceGL_Native.glTestObjectAPPLE)
  {
    if (traceGL_Native.glTestObjectAPPLE == glTestObjectAPPLE)
    {
      traceWarning("Ignoring glTestObjectAPPLE loaded from traceGL library.");
      traceGL_Native.glTestObjectAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glTestObjectAPPLE not loaded.");
  }
  if (traceGL_Native.glFinishObjectAPPLE)
  {
    if (traceGL_Native.glFinishObjectAPPLE == glFinishObjectAPPLE)
    {
      traceWarning("Ignoring glFinishObjectAPPLE loaded from traceGL library.");
      traceGL_Native.glFinishObjectAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glFinishObjectAPPLE not loaded.");
  }
  if (traceGL_Native.glBindVertexArrayAPPLE)
  {
    if (traceGL_Native.glBindVertexArrayAPPLE == glBindVertexArrayAPPLE)
    {
      traceWarning("Ignoring glBindVertexArrayAPPLE loaded from traceGL library.");
      traceGL_Native.glBindVertexArrayAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glBindVertexArrayAPPLE not loaded.");
  }
  if (traceGL_Native.glDeleteVertexArraysAPPLE)
  {
    if (traceGL_Native.glDeleteVertexArraysAPPLE == glDeleteVertexArraysAPPLE)
    {
      traceWarning("Ignoring glDeleteVertexArraysAPPLE loaded from traceGL library.");
      traceGL_Native.glDeleteVertexArraysAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteVertexArraysAPPLE not loaded.");
  }
  if (traceGL_Native.glGenVertexArraysAPPLE)
  {
    if (traceGL_Native.glGenVertexArraysAPPLE == glGenVertexArraysAPPLE)
    {
      traceWarning("Ignoring glGenVertexArraysAPPLE loaded from traceGL library.");
      traceGL_Native.glGenVertexArraysAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glGenVertexArraysAPPLE not loaded.");
  }
  if (traceGL_Native.glIsVertexArrayAPPLE)
  {
    if (traceGL_Native.glIsVertexArrayAPPLE == glIsVertexArrayAPPLE)
    {
      traceWarning("Ignoring glIsVertexArrayAPPLE loaded from traceGL library.");
      traceGL_Native.glIsVertexArrayAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glIsVertexArrayAPPLE not loaded.");
  }
  if (traceGL_Native.glVertexArrayRangeAPPLE)
  {
    if (traceGL_Native.glVertexArrayRangeAPPLE == glVertexArrayRangeAPPLE)
    {
      traceWarning("Ignoring glVertexArrayRangeAPPLE loaded from traceGL library.");
      traceGL_Native.glVertexArrayRangeAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glVertexArrayRangeAPPLE not loaded.");
  }
  if (traceGL_Native.glFlushVertexArrayRangeAPPLE)
  {
    if (traceGL_Native.glFlushVertexArrayRangeAPPLE == glFlushVertexArrayRangeAPPLE)
    {
      traceWarning("Ignoring glFlushVertexArrayRangeAPPLE loaded from traceGL library.");
      traceGL_Native.glFlushVertexArrayRangeAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glFlushVertexArrayRangeAPPLE not loaded.");
  }
  if (traceGL_Native.glVertexArrayParameteriAPPLE)
  {
    if (traceGL_Native.glVertexArrayParameteriAPPLE == glVertexArrayParameteriAPPLE)
    {
      traceWarning("Ignoring glVertexArrayParameteriAPPLE loaded from traceGL library.");
      traceGL_Native.glVertexArrayParameteriAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glVertexArrayParameteriAPPLE not loaded.");
  }
  if (traceGL_Native.glDrawBuffersATI)
  {
    if (traceGL_Native.glDrawBuffersATI == glDrawBuffersATI)
    {
      traceWarning("Ignoring glDrawBuffersATI loaded from traceGL library.");
      traceGL_Native.glDrawBuffersATI = NULL;
    }
  }
  else
  {
    traceWarning("glDrawBuffersATI not loaded.");
  }
  if (traceGL_Native.glProgramNamedParameter4fNV)
  {
    if (traceGL_Native.glProgramNamedParameter4fNV == glProgramNamedParameter4fNV)
    {
      traceWarning("Ignoring glProgramNamedParameter4fNV loaded from traceGL library.");
      traceGL_Native.glProgramNamedParameter4fNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramNamedParameter4fNV not loaded.");
  }
  if (traceGL_Native.glProgramNamedParameter4dNV)
  {
    if (traceGL_Native.glProgramNamedParameter4dNV == glProgramNamedParameter4dNV)
    {
      traceWarning("Ignoring glProgramNamedParameter4dNV loaded from traceGL library.");
      traceGL_Native.glProgramNamedParameter4dNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramNamedParameter4dNV not loaded.");
  }
  if (traceGL_Native.glProgramNamedParameter4fvNV)
  {
    if (traceGL_Native.glProgramNamedParameter4fvNV == glProgramNamedParameter4fvNV)
    {
      traceWarning("Ignoring glProgramNamedParameter4fvNV loaded from traceGL library.");
      traceGL_Native.glProgramNamedParameter4fvNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramNamedParameter4fvNV not loaded.");
  }
  if (traceGL_Native.glProgramNamedParameter4dvNV)
  {
    if (traceGL_Native.glProgramNamedParameter4dvNV == glProgramNamedParameter4dvNV)
    {
      traceWarning("Ignoring glProgramNamedParameter4dvNV loaded from traceGL library.");
      traceGL_Native.glProgramNamedParameter4dvNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramNamedParameter4dvNV not loaded.");
  }
  if (traceGL_Native.glGetProgramNamedParameterfvNV)
  {
    if (traceGL_Native.glGetProgramNamedParameterfvNV == glGetProgramNamedParameterfvNV)
    {
      traceWarning("Ignoring glGetProgramNamedParameterfvNV loaded from traceGL library.");
      traceGL_Native.glGetProgramNamedParameterfvNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetProgramNamedParameterfvNV not loaded.");
  }
  if (traceGL_Native.glGetProgramNamedParameterdvNV)
  {
    if (traceGL_Native.glGetProgramNamedParameterdvNV == glGetProgramNamedParameterdvNV)
    {
      traceWarning("Ignoring glGetProgramNamedParameterdvNV loaded from traceGL library.");
      traceGL_Native.glGetProgramNamedParameterdvNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetProgramNamedParameterdvNV not loaded.");
  }
  if (traceGL_Native.glVertex2hNV)
  {
    if (traceGL_Native.glVertex2hNV == glVertex2hNV)
    {
      traceWarning("Ignoring glVertex2hNV loaded from traceGL library.");
      traceGL_Native.glVertex2hNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertex2hNV not loaded.");
  }
  if (traceGL_Native.glVertex2hvNV)
  {
    if (traceGL_Native.glVertex2hvNV == glVertex2hvNV)
    {
      traceWarning("Ignoring glVertex2hvNV loaded from traceGL library.");
      traceGL_Native.glVertex2hvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertex2hvNV not loaded.");
  }
  if (traceGL_Native.glVertex3hNV)
  {
    if (traceGL_Native.glVertex3hNV == glVertex3hNV)
    {
      traceWarning("Ignoring glVertex3hNV loaded from traceGL library.");
      traceGL_Native.glVertex3hNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertex3hNV not loaded.");
  }
  if (traceGL_Native.glVertex3hvNV)
  {
    if (traceGL_Native.glVertex3hvNV == glVertex3hvNV)
    {
      traceWarning("Ignoring glVertex3hvNV loaded from traceGL library.");
      traceGL_Native.glVertex3hvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertex3hvNV not loaded.");
  }
  if (traceGL_Native.glVertex4hNV)
  {
    if (traceGL_Native.glVertex4hNV == glVertex4hNV)
    {
      traceWarning("Ignoring glVertex4hNV loaded from traceGL library.");
      traceGL_Native.glVertex4hNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertex4hNV not loaded.");
  }
  if (traceGL_Native.glVertex4hvNV)
  {
    if (traceGL_Native.glVertex4hvNV == glVertex4hvNV)
    {
      traceWarning("Ignoring glVertex4hvNV loaded from traceGL library.");
      traceGL_Native.glVertex4hvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertex4hvNV not loaded.");
  }
  if (traceGL_Native.glNormal3hNV)
  {
    if (traceGL_Native.glNormal3hNV == glNormal3hNV)
    {
      traceWarning("Ignoring glNormal3hNV loaded from traceGL library.");
      traceGL_Native.glNormal3hNV = NULL;
    }
  }
  else
  {
    traceWarning("glNormal3hNV not loaded.");
  }
  if (traceGL_Native.glNormal3hvNV)
  {
    if (traceGL_Native.glNormal3hvNV == glNormal3hvNV)
    {
      traceWarning("Ignoring glNormal3hvNV loaded from traceGL library.");
      traceGL_Native.glNormal3hvNV = NULL;
    }
  }
  else
  {
    traceWarning("glNormal3hvNV not loaded.");
  }
  if (traceGL_Native.glColor3hNV)
  {
    if (traceGL_Native.glColor3hNV == glColor3hNV)
    {
      traceWarning("Ignoring glColor3hNV loaded from traceGL library.");
      traceGL_Native.glColor3hNV = NULL;
    }
  }
  else
  {
    traceWarning("glColor3hNV not loaded.");
  }
  if (traceGL_Native.glColor3hvNV)
  {
    if (traceGL_Native.glColor3hvNV == glColor3hvNV)
    {
      traceWarning("Ignoring glColor3hvNV loaded from traceGL library.");
      traceGL_Native.glColor3hvNV = NULL;
    }
  }
  else
  {
    traceWarning("glColor3hvNV not loaded.");
  }
  if (traceGL_Native.glColor4hNV)
  {
    if (traceGL_Native.glColor4hNV == glColor4hNV)
    {
      traceWarning("Ignoring glColor4hNV loaded from traceGL library.");
      traceGL_Native.glColor4hNV = NULL;
    }
  }
  else
  {
    traceWarning("glColor4hNV not loaded.");
  }
  if (traceGL_Native.glColor4hvNV)
  {
    if (traceGL_Native.glColor4hvNV == glColor4hvNV)
    {
      traceWarning("Ignoring glColor4hvNV loaded from traceGL library.");
      traceGL_Native.glColor4hvNV = NULL;
    }
  }
  else
  {
    traceWarning("glColor4hvNV not loaded.");
  }
  if (traceGL_Native.glTexCoord1hNV)
  {
    if (traceGL_Native.glTexCoord1hNV == glTexCoord1hNV)
    {
      traceWarning("Ignoring glTexCoord1hNV loaded from traceGL library.");
      traceGL_Native.glTexCoord1hNV = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord1hNV not loaded.");
  }
  if (traceGL_Native.glTexCoord1hvNV)
  {
    if (traceGL_Native.glTexCoord1hvNV == glTexCoord1hvNV)
    {
      traceWarning("Ignoring glTexCoord1hvNV loaded from traceGL library.");
      traceGL_Native.glTexCoord1hvNV = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord1hvNV not loaded.");
  }
  if (traceGL_Native.glTexCoord2hNV)
  {
    if (traceGL_Native.glTexCoord2hNV == glTexCoord2hNV)
    {
      traceWarning("Ignoring glTexCoord2hNV loaded from traceGL library.");
      traceGL_Native.glTexCoord2hNV = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord2hNV not loaded.");
  }
  if (traceGL_Native.glTexCoord2hvNV)
  {
    if (traceGL_Native.glTexCoord2hvNV == glTexCoord2hvNV)
    {
      traceWarning("Ignoring glTexCoord2hvNV loaded from traceGL library.");
      traceGL_Native.glTexCoord2hvNV = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord2hvNV not loaded.");
  }
  if (traceGL_Native.glTexCoord3hNV)
  {
    if (traceGL_Native.glTexCoord3hNV == glTexCoord3hNV)
    {
      traceWarning("Ignoring glTexCoord3hNV loaded from traceGL library.");
      traceGL_Native.glTexCoord3hNV = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord3hNV not loaded.");
  }
  if (traceGL_Native.glTexCoord3hvNV)
  {
    if (traceGL_Native.glTexCoord3hvNV == glTexCoord3hvNV)
    {
      traceWarning("Ignoring glTexCoord3hvNV loaded from traceGL library.");
      traceGL_Native.glTexCoord3hvNV = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord3hvNV not loaded.");
  }
  if (traceGL_Native.glTexCoord4hNV)
  {
    if (traceGL_Native.glTexCoord4hNV == glTexCoord4hNV)
    {
      traceWarning("Ignoring glTexCoord4hNV loaded from traceGL library.");
      traceGL_Native.glTexCoord4hNV = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord4hNV not loaded.");
  }
  if (traceGL_Native.glTexCoord4hvNV)
  {
    if (traceGL_Native.glTexCoord4hvNV == glTexCoord4hvNV)
    {
      traceWarning("Ignoring glTexCoord4hvNV loaded from traceGL library.");
      traceGL_Native.glTexCoord4hvNV = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoord4hvNV not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord1hNV)
  {
    if (traceGL_Native.glMultiTexCoord1hNV == glMultiTexCoord1hNV)
    {
      traceWarning("Ignoring glMultiTexCoord1hNV loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord1hNV = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord1hNV not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord1hvNV)
  {
    if (traceGL_Native.glMultiTexCoord1hvNV == glMultiTexCoord1hvNV)
    {
      traceWarning("Ignoring glMultiTexCoord1hvNV loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord1hvNV = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord1hvNV not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord2hNV)
  {
    if (traceGL_Native.glMultiTexCoord2hNV == glMultiTexCoord2hNV)
    {
      traceWarning("Ignoring glMultiTexCoord2hNV loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord2hNV = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord2hNV not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord2hvNV)
  {
    if (traceGL_Native.glMultiTexCoord2hvNV == glMultiTexCoord2hvNV)
    {
      traceWarning("Ignoring glMultiTexCoord2hvNV loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord2hvNV = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord2hvNV not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord3hNV)
  {
    if (traceGL_Native.glMultiTexCoord3hNV == glMultiTexCoord3hNV)
    {
      traceWarning("Ignoring glMultiTexCoord3hNV loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord3hNV = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord3hNV not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord3hvNV)
  {
    if (traceGL_Native.glMultiTexCoord3hvNV == glMultiTexCoord3hvNV)
    {
      traceWarning("Ignoring glMultiTexCoord3hvNV loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord3hvNV = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord3hvNV not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord4hNV)
  {
    if (traceGL_Native.glMultiTexCoord4hNV == glMultiTexCoord4hNV)
    {
      traceWarning("Ignoring glMultiTexCoord4hNV loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord4hNV = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord4hNV not loaded.");
  }
  if (traceGL_Native.glMultiTexCoord4hvNV)
  {
    if (traceGL_Native.glMultiTexCoord4hvNV == glMultiTexCoord4hvNV)
    {
      traceWarning("Ignoring glMultiTexCoord4hvNV loaded from traceGL library.");
      traceGL_Native.glMultiTexCoord4hvNV = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoord4hvNV not loaded.");
  }
  if (traceGL_Native.glFogCoordhNV)
  {
    if (traceGL_Native.glFogCoordhNV == glFogCoordhNV)
    {
      traceWarning("Ignoring glFogCoordhNV loaded from traceGL library.");
      traceGL_Native.glFogCoordhNV = NULL;
    }
  }
  else
  {
    traceWarning("glFogCoordhNV not loaded.");
  }
  if (traceGL_Native.glFogCoordhvNV)
  {
    if (traceGL_Native.glFogCoordhvNV == glFogCoordhvNV)
    {
      traceWarning("Ignoring glFogCoordhvNV loaded from traceGL library.");
      traceGL_Native.glFogCoordhvNV = NULL;
    }
  }
  else
  {
    traceWarning("glFogCoordhvNV not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3hNV)
  {
    if (traceGL_Native.glSecondaryColor3hNV == glSecondaryColor3hNV)
    {
      traceWarning("Ignoring glSecondaryColor3hNV loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3hNV = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3hNV not loaded.");
  }
  if (traceGL_Native.glSecondaryColor3hvNV)
  {
    if (traceGL_Native.glSecondaryColor3hvNV == glSecondaryColor3hvNV)
    {
      traceWarning("Ignoring glSecondaryColor3hvNV loaded from traceGL library.");
      traceGL_Native.glSecondaryColor3hvNV = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColor3hvNV not loaded.");
  }
  if (traceGL_Native.glVertexWeighthNV)
  {
    if (traceGL_Native.glVertexWeighthNV == glVertexWeighthNV)
    {
      traceWarning("Ignoring glVertexWeighthNV loaded from traceGL library.");
      traceGL_Native.glVertexWeighthNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexWeighthNV not loaded.");
  }
  if (traceGL_Native.glVertexWeighthvNV)
  {
    if (traceGL_Native.glVertexWeighthvNV == glVertexWeighthvNV)
    {
      traceWarning("Ignoring glVertexWeighthvNV loaded from traceGL library.");
      traceGL_Native.glVertexWeighthvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexWeighthvNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib1hNV)
  {
    if (traceGL_Native.glVertexAttrib1hNV == glVertexAttrib1hNV)
    {
      traceWarning("Ignoring glVertexAttrib1hNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib1hNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib1hNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib1hvNV)
  {
    if (traceGL_Native.glVertexAttrib1hvNV == glVertexAttrib1hvNV)
    {
      traceWarning("Ignoring glVertexAttrib1hvNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib1hvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib1hvNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib2hNV)
  {
    if (traceGL_Native.glVertexAttrib2hNV == glVertexAttrib2hNV)
    {
      traceWarning("Ignoring glVertexAttrib2hNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib2hNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib2hNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib2hvNV)
  {
    if (traceGL_Native.glVertexAttrib2hvNV == glVertexAttrib2hvNV)
    {
      traceWarning("Ignoring glVertexAttrib2hvNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib2hvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib2hvNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib3hNV)
  {
    if (traceGL_Native.glVertexAttrib3hNV == glVertexAttrib3hNV)
    {
      traceWarning("Ignoring glVertexAttrib3hNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib3hNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib3hNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib3hvNV)
  {
    if (traceGL_Native.glVertexAttrib3hvNV == glVertexAttrib3hvNV)
    {
      traceWarning("Ignoring glVertexAttrib3hvNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib3hvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib3hvNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4hNV)
  {
    if (traceGL_Native.glVertexAttrib4hNV == glVertexAttrib4hNV)
    {
      traceWarning("Ignoring glVertexAttrib4hNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4hNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4hNV not loaded.");
  }
  if (traceGL_Native.glVertexAttrib4hvNV)
  {
    if (traceGL_Native.glVertexAttrib4hvNV == glVertexAttrib4hvNV)
    {
      traceWarning("Ignoring glVertexAttrib4hvNV loaded from traceGL library.");
      traceGL_Native.glVertexAttrib4hvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttrib4hvNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribs1hvNV)
  {
    if (traceGL_Native.glVertexAttribs1hvNV == glVertexAttribs1hvNV)
    {
      traceWarning("Ignoring glVertexAttribs1hvNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribs1hvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribs1hvNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribs2hvNV)
  {
    if (traceGL_Native.glVertexAttribs2hvNV == glVertexAttribs2hvNV)
    {
      traceWarning("Ignoring glVertexAttribs2hvNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribs2hvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribs2hvNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribs3hvNV)
  {
    if (traceGL_Native.glVertexAttribs3hvNV == glVertexAttribs3hvNV)
    {
      traceWarning("Ignoring glVertexAttribs3hvNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribs3hvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribs3hvNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribs4hvNV)
  {
    if (traceGL_Native.glVertexAttribs4hvNV == glVertexAttribs4hvNV)
    {
      traceWarning("Ignoring glVertexAttribs4hvNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribs4hvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribs4hvNV not loaded.");
  }
  if (traceGL_Native.glPixelDataRangeNV)
  {
    if (traceGL_Native.glPixelDataRangeNV == glPixelDataRangeNV)
    {
      traceWarning("Ignoring glPixelDataRangeNV loaded from traceGL library.");
      traceGL_Native.glPixelDataRangeNV = NULL;
    }
  }
  else
  {
    traceWarning("glPixelDataRangeNV not loaded.");
  }
  if (traceGL_Native.glFlushPixelDataRangeNV)
  {
    if (traceGL_Native.glFlushPixelDataRangeNV == glFlushPixelDataRangeNV)
    {
      traceWarning("Ignoring glFlushPixelDataRangeNV loaded from traceGL library.");
      traceGL_Native.glFlushPixelDataRangeNV = NULL;
    }
  }
  else
  {
    traceWarning("glFlushPixelDataRangeNV not loaded.");
  }
  if (traceGL_Native.glPrimitiveRestartNV)
  {
    if (traceGL_Native.glPrimitiveRestartNV == glPrimitiveRestartNV)
    {
      traceWarning("Ignoring glPrimitiveRestartNV loaded from traceGL library.");
      traceGL_Native.glPrimitiveRestartNV = NULL;
    }
  }
  else
  {
    traceWarning("glPrimitiveRestartNV not loaded.");
  }
  if (traceGL_Native.glPrimitiveRestartIndexNV)
  {
    if (traceGL_Native.glPrimitiveRestartIndexNV == glPrimitiveRestartIndexNV)
    {
      traceWarning("Ignoring glPrimitiveRestartIndexNV loaded from traceGL library.");
      traceGL_Native.glPrimitiveRestartIndexNV = NULL;
    }
  }
  else
  {
    traceWarning("glPrimitiveRestartIndexNV not loaded.");
  }
  if (traceGL_Native.glMapObjectBufferATI)
  {
    if (traceGL_Native.glMapObjectBufferATI == glMapObjectBufferATI)
    {
      traceWarning("Ignoring glMapObjectBufferATI loaded from traceGL library.");
      traceGL_Native.glMapObjectBufferATI = NULL;
    }
  }
  else
  {
    traceWarning("glMapObjectBufferATI not loaded.");
  }
  if (traceGL_Native.glUnmapObjectBufferATI)
  {
    if (traceGL_Native.glUnmapObjectBufferATI == glUnmapObjectBufferATI)
    {
      traceWarning("Ignoring glUnmapObjectBufferATI loaded from traceGL library.");
      traceGL_Native.glUnmapObjectBufferATI = NULL;
    }
  }
  else
  {
    traceWarning("glUnmapObjectBufferATI not loaded.");
  }
  if (traceGL_Native.glStencilOpSeparateATI)
  {
    if (traceGL_Native.glStencilOpSeparateATI == glStencilOpSeparateATI)
    {
      traceWarning("Ignoring glStencilOpSeparateATI loaded from traceGL library.");
      traceGL_Native.glStencilOpSeparateATI = NULL;
    }
  }
  else
  {
    traceWarning("glStencilOpSeparateATI not loaded.");
  }
  if (traceGL_Native.glStencilFuncSeparateATI)
  {
    if (traceGL_Native.glStencilFuncSeparateATI == glStencilFuncSeparateATI)
    {
      traceWarning("Ignoring glStencilFuncSeparateATI loaded from traceGL library.");
      traceGL_Native.glStencilFuncSeparateATI = NULL;
    }
  }
  else
  {
    traceWarning("glStencilFuncSeparateATI not loaded.");
  }
  if (traceGL_Native.glVertexAttribArrayObjectATI)
  {
    if (traceGL_Native.glVertexAttribArrayObjectATI == glVertexAttribArrayObjectATI)
    {
      traceWarning("Ignoring glVertexAttribArrayObjectATI loaded from traceGL library.");
      traceGL_Native.glVertexAttribArrayObjectATI = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribArrayObjectATI not loaded.");
  }
  if (traceGL_Native.glGetVertexAttribArrayObjectfvATI)
  {
    if (traceGL_Native.glGetVertexAttribArrayObjectfvATI == glGetVertexAttribArrayObjectfvATI)
    {
      traceWarning("Ignoring glGetVertexAttribArrayObjectfvATI loaded from traceGL library.");
      traceGL_Native.glGetVertexAttribArrayObjectfvATI = NULL;
    }
  }
  else
  {
    traceWarning("glGetVertexAttribArrayObjectfvATI not loaded.");
  }
  if (traceGL_Native.glGetVertexAttribArrayObjectivATI)
  {
    if (traceGL_Native.glGetVertexAttribArrayObjectivATI == glGetVertexAttribArrayObjectivATI)
    {
      traceWarning("Ignoring glGetVertexAttribArrayObjectivATI loaded from traceGL library.");
      traceGL_Native.glGetVertexAttribArrayObjectivATI = NULL;
    }
  }
  else
  {
    traceWarning("glGetVertexAttribArrayObjectivATI not loaded.");
  }
  if (traceGL_Native.glDepthBoundsEXT)
  {
    if (traceGL_Native.glDepthBoundsEXT == glDepthBoundsEXT)
    {
      traceWarning("Ignoring glDepthBoundsEXT loaded from traceGL library.");
      traceGL_Native.glDepthBoundsEXT = NULL;
    }
  }
  else
  {
    traceWarning("glDepthBoundsEXT not loaded.");
  }
  if (traceGL_Native.glBlendEquationSeparateEXT)
  {
    if (traceGL_Native.glBlendEquationSeparateEXT == glBlendEquationSeparateEXT)
    {
      traceWarning("Ignoring glBlendEquationSeparateEXT loaded from traceGL library.");
      traceGL_Native.glBlendEquationSeparateEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBlendEquationSeparateEXT not loaded.");
  }
  if (traceGL_Native.glIsRenderbufferEXT)
  {
    if (traceGL_Native.glIsRenderbufferEXT == glIsRenderbufferEXT)
    {
      traceWarning("Ignoring glIsRenderbufferEXT loaded from traceGL library.");
      traceGL_Native.glIsRenderbufferEXT = NULL;
    }
  }
  else
  {
    traceWarning("glIsRenderbufferEXT not loaded.");
  }
  if (traceGL_Native.glBindRenderbufferEXT)
  {
    if (traceGL_Native.glBindRenderbufferEXT == glBindRenderbufferEXT)
    {
      traceWarning("Ignoring glBindRenderbufferEXT loaded from traceGL library.");
      traceGL_Native.glBindRenderbufferEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBindRenderbufferEXT not loaded.");
  }
  if (traceGL_Native.glDeleteRenderbuffersEXT)
  {
    if (traceGL_Native.glDeleteRenderbuffersEXT == glDeleteRenderbuffersEXT)
    {
      traceWarning("Ignoring glDeleteRenderbuffersEXT loaded from traceGL library.");
      traceGL_Native.glDeleteRenderbuffersEXT = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteRenderbuffersEXT not loaded.");
  }
  if (traceGL_Native.glGenRenderbuffersEXT)
  {
    if (traceGL_Native.glGenRenderbuffersEXT == glGenRenderbuffersEXT)
    {
      traceWarning("Ignoring glGenRenderbuffersEXT loaded from traceGL library.");
      traceGL_Native.glGenRenderbuffersEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGenRenderbuffersEXT not loaded.");
  }
  if (traceGL_Native.glRenderbufferStorageEXT)
  {
    if (traceGL_Native.glRenderbufferStorageEXT == glRenderbufferStorageEXT)
    {
      traceWarning("Ignoring glRenderbufferStorageEXT loaded from traceGL library.");
      traceGL_Native.glRenderbufferStorageEXT = NULL;
    }
  }
  else
  {
    traceWarning("glRenderbufferStorageEXT not loaded.");
  }
  if (traceGL_Native.glGetRenderbufferParameterivEXT)
  {
    if (traceGL_Native.glGetRenderbufferParameterivEXT == glGetRenderbufferParameterivEXT)
    {
      traceWarning("Ignoring glGetRenderbufferParameterivEXT loaded from traceGL library.");
      traceGL_Native.glGetRenderbufferParameterivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetRenderbufferParameterivEXT not loaded.");
  }
  if (traceGL_Native.glIsFramebufferEXT)
  {
    if (traceGL_Native.glIsFramebufferEXT == glIsFramebufferEXT)
    {
      traceWarning("Ignoring glIsFramebufferEXT loaded from traceGL library.");
      traceGL_Native.glIsFramebufferEXT = NULL;
    }
  }
  else
  {
    traceWarning("glIsFramebufferEXT not loaded.");
  }
  if (traceGL_Native.glBindFramebufferEXT)
  {
    if (traceGL_Native.glBindFramebufferEXT == glBindFramebufferEXT)
    {
      traceWarning("Ignoring glBindFramebufferEXT loaded from traceGL library.");
      traceGL_Native.glBindFramebufferEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBindFramebufferEXT not loaded.");
  }
  if (traceGL_Native.glDeleteFramebuffersEXT)
  {
    if (traceGL_Native.glDeleteFramebuffersEXT == glDeleteFramebuffersEXT)
    {
      traceWarning("Ignoring glDeleteFramebuffersEXT loaded from traceGL library.");
      traceGL_Native.glDeleteFramebuffersEXT = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteFramebuffersEXT not loaded.");
  }
  if (traceGL_Native.glGenFramebuffersEXT)
  {
    if (traceGL_Native.glGenFramebuffersEXT == glGenFramebuffersEXT)
    {
      traceWarning("Ignoring glGenFramebuffersEXT loaded from traceGL library.");
      traceGL_Native.glGenFramebuffersEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGenFramebuffersEXT not loaded.");
  }
  if (traceGL_Native.glCheckFramebufferStatusEXT)
  {
    if (traceGL_Native.glCheckFramebufferStatusEXT == glCheckFramebufferStatusEXT)
    {
      traceWarning("Ignoring glCheckFramebufferStatusEXT loaded from traceGL library.");
      traceGL_Native.glCheckFramebufferStatusEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCheckFramebufferStatusEXT not loaded.");
  }
  if (traceGL_Native.glFramebufferTexture1DEXT)
  {
    if (traceGL_Native.glFramebufferTexture1DEXT == glFramebufferTexture1DEXT)
    {
      traceWarning("Ignoring glFramebufferTexture1DEXT loaded from traceGL library.");
      traceGL_Native.glFramebufferTexture1DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glFramebufferTexture1DEXT not loaded.");
  }
  if (traceGL_Native.glFramebufferTexture2DEXT)
  {
    if (traceGL_Native.glFramebufferTexture2DEXT == glFramebufferTexture2DEXT)
    {
      traceWarning("Ignoring glFramebufferTexture2DEXT loaded from traceGL library.");
      traceGL_Native.glFramebufferTexture2DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glFramebufferTexture2DEXT not loaded.");
  }
  if (traceGL_Native.glFramebufferTexture3DEXT)
  {
    if (traceGL_Native.glFramebufferTexture3DEXT == glFramebufferTexture3DEXT)
    {
      traceWarning("Ignoring glFramebufferTexture3DEXT loaded from traceGL library.");
      traceGL_Native.glFramebufferTexture3DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glFramebufferTexture3DEXT not loaded.");
  }
  if (traceGL_Native.glFramebufferRenderbufferEXT)
  {
    if (traceGL_Native.glFramebufferRenderbufferEXT == glFramebufferRenderbufferEXT)
    {
      traceWarning("Ignoring glFramebufferRenderbufferEXT loaded from traceGL library.");
      traceGL_Native.glFramebufferRenderbufferEXT = NULL;
    }
  }
  else
  {
    traceWarning("glFramebufferRenderbufferEXT not loaded.");
  }
  if (traceGL_Native.glGetFramebufferAttachmentParameterivEXT)
  {
    if (traceGL_Native.glGetFramebufferAttachmentParameterivEXT == glGetFramebufferAttachmentParameterivEXT)
    {
      traceWarning("Ignoring glGetFramebufferAttachmentParameterivEXT loaded from traceGL library.");
      traceGL_Native.glGetFramebufferAttachmentParameterivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetFramebufferAttachmentParameterivEXT not loaded.");
  }
  if (traceGL_Native.glGenerateMipmapEXT)
  {
    if (traceGL_Native.glGenerateMipmapEXT == glGenerateMipmapEXT)
    {
      traceWarning("Ignoring glGenerateMipmapEXT loaded from traceGL library.");
      traceGL_Native.glGenerateMipmapEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGenerateMipmapEXT not loaded.");
  }
  if (traceGL_Native.glStringMarkerGREMEDY)
  {
    if (traceGL_Native.glStringMarkerGREMEDY == glStringMarkerGREMEDY)
    {
      traceWarning("Ignoring glStringMarkerGREMEDY loaded from traceGL library.");
      traceGL_Native.glStringMarkerGREMEDY = NULL;
    }
  }
  else
  {
    traceWarning("glStringMarkerGREMEDY not loaded.");
  }
  if (traceGL_Native.glStencilClearTagEXT)
  {
    if (traceGL_Native.glStencilClearTagEXT == glStencilClearTagEXT)
    {
      traceWarning("Ignoring glStencilClearTagEXT loaded from traceGL library.");
      traceGL_Native.glStencilClearTagEXT = NULL;
    }
  }
  else
  {
    traceWarning("glStencilClearTagEXT not loaded.");
  }
  if (traceGL_Native.glBlitFramebufferEXT)
  {
    if (traceGL_Native.glBlitFramebufferEXT == glBlitFramebufferEXT)
    {
      traceWarning("Ignoring glBlitFramebufferEXT loaded from traceGL library.");
      traceGL_Native.glBlitFramebufferEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBlitFramebufferEXT not loaded.");
  }
  if (traceGL_Native.glRenderbufferStorageMultisampleEXT)
  {
    if (traceGL_Native.glRenderbufferStorageMultisampleEXT == glRenderbufferStorageMultisampleEXT)
    {
      traceWarning("Ignoring glRenderbufferStorageMultisampleEXT loaded from traceGL library.");
      traceGL_Native.glRenderbufferStorageMultisampleEXT = NULL;
    }
  }
  else
  {
    traceWarning("glRenderbufferStorageMultisampleEXT not loaded.");
  }
  if (traceGL_Native.glGetQueryObjecti64vEXT)
  {
    if (traceGL_Native.glGetQueryObjecti64vEXT == glGetQueryObjecti64vEXT)
    {
      traceWarning("Ignoring glGetQueryObjecti64vEXT loaded from traceGL library.");
      traceGL_Native.glGetQueryObjecti64vEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetQueryObjecti64vEXT not loaded.");
  }
  if (traceGL_Native.glGetQueryObjectui64vEXT)
  {
    if (traceGL_Native.glGetQueryObjectui64vEXT == glGetQueryObjectui64vEXT)
    {
      traceWarning("Ignoring glGetQueryObjectui64vEXT loaded from traceGL library.");
      traceGL_Native.glGetQueryObjectui64vEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetQueryObjectui64vEXT not loaded.");
  }
  if (traceGL_Native.glProgramEnvParameters4fvEXT)
  {
    if (traceGL_Native.glProgramEnvParameters4fvEXT == glProgramEnvParameters4fvEXT)
    {
      traceWarning("Ignoring glProgramEnvParameters4fvEXT loaded from traceGL library.");
      traceGL_Native.glProgramEnvParameters4fvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramEnvParameters4fvEXT not loaded.");
  }
  if (traceGL_Native.glProgramLocalParameters4fvEXT)
  {
    if (traceGL_Native.glProgramLocalParameters4fvEXT == glProgramLocalParameters4fvEXT)
    {
      traceWarning("Ignoring glProgramLocalParameters4fvEXT loaded from traceGL library.");
      traceGL_Native.glProgramLocalParameters4fvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramLocalParameters4fvEXT not loaded.");
  }
  if (traceGL_Native.glBufferParameteriAPPLE)
  {
    if (traceGL_Native.glBufferParameteriAPPLE == glBufferParameteriAPPLE)
    {
      traceWarning("Ignoring glBufferParameteriAPPLE loaded from traceGL library.");
      traceGL_Native.glBufferParameteriAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glBufferParameteriAPPLE not loaded.");
  }
  if (traceGL_Native.glFlushMappedBufferRangeAPPLE)
  {
    if (traceGL_Native.glFlushMappedBufferRangeAPPLE == glFlushMappedBufferRangeAPPLE)
    {
      traceWarning("Ignoring glFlushMappedBufferRangeAPPLE loaded from traceGL library.");
      traceGL_Native.glFlushMappedBufferRangeAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glFlushMappedBufferRangeAPPLE not loaded.");
  }
  if (traceGL_Native.glProgramLocalParameterI4iNV)
  {
    if (traceGL_Native.glProgramLocalParameterI4iNV == glProgramLocalParameterI4iNV)
    {
      traceWarning("Ignoring glProgramLocalParameterI4iNV loaded from traceGL library.");
      traceGL_Native.glProgramLocalParameterI4iNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramLocalParameterI4iNV not loaded.");
  }
  if (traceGL_Native.glProgramLocalParameterI4ivNV)
  {
    if (traceGL_Native.glProgramLocalParameterI4ivNV == glProgramLocalParameterI4ivNV)
    {
      traceWarning("Ignoring glProgramLocalParameterI4ivNV loaded from traceGL library.");
      traceGL_Native.glProgramLocalParameterI4ivNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramLocalParameterI4ivNV not loaded.");
  }
  if (traceGL_Native.glProgramLocalParametersI4ivNV)
  {
    if (traceGL_Native.glProgramLocalParametersI4ivNV == glProgramLocalParametersI4ivNV)
    {
      traceWarning("Ignoring glProgramLocalParametersI4ivNV loaded from traceGL library.");
      traceGL_Native.glProgramLocalParametersI4ivNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramLocalParametersI4ivNV not loaded.");
  }
  if (traceGL_Native.glProgramLocalParameterI4uiNV)
  {
    if (traceGL_Native.glProgramLocalParameterI4uiNV == glProgramLocalParameterI4uiNV)
    {
      traceWarning("Ignoring glProgramLocalParameterI4uiNV loaded from traceGL library.");
      traceGL_Native.glProgramLocalParameterI4uiNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramLocalParameterI4uiNV not loaded.");
  }
  if (traceGL_Native.glProgramLocalParameterI4uivNV)
  {
    if (traceGL_Native.glProgramLocalParameterI4uivNV == glProgramLocalParameterI4uivNV)
    {
      traceWarning("Ignoring glProgramLocalParameterI4uivNV loaded from traceGL library.");
      traceGL_Native.glProgramLocalParameterI4uivNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramLocalParameterI4uivNV not loaded.");
  }
  if (traceGL_Native.glProgramLocalParametersI4uivNV)
  {
    if (traceGL_Native.glProgramLocalParametersI4uivNV == glProgramLocalParametersI4uivNV)
    {
      traceWarning("Ignoring glProgramLocalParametersI4uivNV loaded from traceGL library.");
      traceGL_Native.glProgramLocalParametersI4uivNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramLocalParametersI4uivNV not loaded.");
  }
  if (traceGL_Native.glProgramEnvParameterI4iNV)
  {
    if (traceGL_Native.glProgramEnvParameterI4iNV == glProgramEnvParameterI4iNV)
    {
      traceWarning("Ignoring glProgramEnvParameterI4iNV loaded from traceGL library.");
      traceGL_Native.glProgramEnvParameterI4iNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramEnvParameterI4iNV not loaded.");
  }
  if (traceGL_Native.glProgramEnvParameterI4ivNV)
  {
    if (traceGL_Native.glProgramEnvParameterI4ivNV == glProgramEnvParameterI4ivNV)
    {
      traceWarning("Ignoring glProgramEnvParameterI4ivNV loaded from traceGL library.");
      traceGL_Native.glProgramEnvParameterI4ivNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramEnvParameterI4ivNV not loaded.");
  }
  if (traceGL_Native.glProgramEnvParametersI4ivNV)
  {
    if (traceGL_Native.glProgramEnvParametersI4ivNV == glProgramEnvParametersI4ivNV)
    {
      traceWarning("Ignoring glProgramEnvParametersI4ivNV loaded from traceGL library.");
      traceGL_Native.glProgramEnvParametersI4ivNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramEnvParametersI4ivNV not loaded.");
  }
  if (traceGL_Native.glProgramEnvParameterI4uiNV)
  {
    if (traceGL_Native.glProgramEnvParameterI4uiNV == glProgramEnvParameterI4uiNV)
    {
      traceWarning("Ignoring glProgramEnvParameterI4uiNV loaded from traceGL library.");
      traceGL_Native.glProgramEnvParameterI4uiNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramEnvParameterI4uiNV not loaded.");
  }
  if (traceGL_Native.glProgramEnvParameterI4uivNV)
  {
    if (traceGL_Native.glProgramEnvParameterI4uivNV == glProgramEnvParameterI4uivNV)
    {
      traceWarning("Ignoring glProgramEnvParameterI4uivNV loaded from traceGL library.");
      traceGL_Native.glProgramEnvParameterI4uivNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramEnvParameterI4uivNV not loaded.");
  }
  if (traceGL_Native.glProgramEnvParametersI4uivNV)
  {
    if (traceGL_Native.glProgramEnvParametersI4uivNV == glProgramEnvParametersI4uivNV)
    {
      traceWarning("Ignoring glProgramEnvParametersI4uivNV loaded from traceGL library.");
      traceGL_Native.glProgramEnvParametersI4uivNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramEnvParametersI4uivNV not loaded.");
  }
  if (traceGL_Native.glGetProgramLocalParameterIivNV)
  {
    if (traceGL_Native.glGetProgramLocalParameterIivNV == glGetProgramLocalParameterIivNV)
    {
      traceWarning("Ignoring glGetProgramLocalParameterIivNV loaded from traceGL library.");
      traceGL_Native.glGetProgramLocalParameterIivNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetProgramLocalParameterIivNV not loaded.");
  }
  if (traceGL_Native.glGetProgramLocalParameterIuivNV)
  {
    if (traceGL_Native.glGetProgramLocalParameterIuivNV == glGetProgramLocalParameterIuivNV)
    {
      traceWarning("Ignoring glGetProgramLocalParameterIuivNV loaded from traceGL library.");
      traceGL_Native.glGetProgramLocalParameterIuivNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetProgramLocalParameterIuivNV not loaded.");
  }
  if (traceGL_Native.glGetProgramEnvParameterIivNV)
  {
    if (traceGL_Native.glGetProgramEnvParameterIivNV == glGetProgramEnvParameterIivNV)
    {
      traceWarning("Ignoring glGetProgramEnvParameterIivNV loaded from traceGL library.");
      traceGL_Native.glGetProgramEnvParameterIivNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetProgramEnvParameterIivNV not loaded.");
  }
  if (traceGL_Native.glGetProgramEnvParameterIuivNV)
  {
    if (traceGL_Native.glGetProgramEnvParameterIuivNV == glGetProgramEnvParameterIuivNV)
    {
      traceWarning("Ignoring glGetProgramEnvParameterIuivNV loaded from traceGL library.");
      traceGL_Native.glGetProgramEnvParameterIuivNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetProgramEnvParameterIuivNV not loaded.");
  }
  if (traceGL_Native.glProgramVertexLimitNV)
  {
    if (traceGL_Native.glProgramVertexLimitNV == glProgramVertexLimitNV)
    {
      traceWarning("Ignoring glProgramVertexLimitNV loaded from traceGL library.");
      traceGL_Native.glProgramVertexLimitNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramVertexLimitNV not loaded.");
  }
  if (traceGL_Native.glFramebufferTextureEXT)
  {
    if (traceGL_Native.glFramebufferTextureEXT == glFramebufferTextureEXT)
    {
      traceWarning("Ignoring glFramebufferTextureEXT loaded from traceGL library.");
      traceGL_Native.glFramebufferTextureEXT = NULL;
    }
  }
  else
  {
    traceWarning("glFramebufferTextureEXT not loaded.");
  }
  if (traceGL_Native.glFramebufferTextureLayerEXT)
  {
    if (traceGL_Native.glFramebufferTextureLayerEXT == glFramebufferTextureLayerEXT)
    {
      traceWarning("Ignoring glFramebufferTextureLayerEXT loaded from traceGL library.");
      traceGL_Native.glFramebufferTextureLayerEXT = NULL;
    }
  }
  else
  {
    traceWarning("glFramebufferTextureLayerEXT not loaded.");
  }
  if (traceGL_Native.glFramebufferTextureFaceEXT)
  {
    if (traceGL_Native.glFramebufferTextureFaceEXT == glFramebufferTextureFaceEXT)
    {
      traceWarning("Ignoring glFramebufferTextureFaceEXT loaded from traceGL library.");
      traceGL_Native.glFramebufferTextureFaceEXT = NULL;
    }
  }
  else
  {
    traceWarning("glFramebufferTextureFaceEXT not loaded.");
  }
  if (traceGL_Native.glProgramParameteriEXT)
  {
    if (traceGL_Native.glProgramParameteriEXT == glProgramParameteriEXT)
    {
      traceWarning("Ignoring glProgramParameteriEXT loaded from traceGL library.");
      traceGL_Native.glProgramParameteriEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramParameteriEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribI1iEXT)
  {
    if (traceGL_Native.glVertexAttribI1iEXT == glVertexAttribI1iEXT)
    {
      traceWarning("Ignoring glVertexAttribI1iEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribI1iEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI1iEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribI2iEXT)
  {
    if (traceGL_Native.glVertexAttribI2iEXT == glVertexAttribI2iEXT)
    {
      traceWarning("Ignoring glVertexAttribI2iEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribI2iEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI2iEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribI3iEXT)
  {
    if (traceGL_Native.glVertexAttribI3iEXT == glVertexAttribI3iEXT)
    {
      traceWarning("Ignoring glVertexAttribI3iEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribI3iEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI3iEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribI4iEXT)
  {
    if (traceGL_Native.glVertexAttribI4iEXT == glVertexAttribI4iEXT)
    {
      traceWarning("Ignoring glVertexAttribI4iEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribI4iEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI4iEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribI1uiEXT)
  {
    if (traceGL_Native.glVertexAttribI1uiEXT == glVertexAttribI1uiEXT)
    {
      traceWarning("Ignoring glVertexAttribI1uiEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribI1uiEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI1uiEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribI2uiEXT)
  {
    if (traceGL_Native.glVertexAttribI2uiEXT == glVertexAttribI2uiEXT)
    {
      traceWarning("Ignoring glVertexAttribI2uiEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribI2uiEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI2uiEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribI3uiEXT)
  {
    if (traceGL_Native.glVertexAttribI3uiEXT == glVertexAttribI3uiEXT)
    {
      traceWarning("Ignoring glVertexAttribI3uiEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribI3uiEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI3uiEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribI4uiEXT)
  {
    if (traceGL_Native.glVertexAttribI4uiEXT == glVertexAttribI4uiEXT)
    {
      traceWarning("Ignoring glVertexAttribI4uiEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribI4uiEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI4uiEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribI1ivEXT)
  {
    if (traceGL_Native.glVertexAttribI1ivEXT == glVertexAttribI1ivEXT)
    {
      traceWarning("Ignoring glVertexAttribI1ivEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribI1ivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI1ivEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribI2ivEXT)
  {
    if (traceGL_Native.glVertexAttribI2ivEXT == glVertexAttribI2ivEXT)
    {
      traceWarning("Ignoring glVertexAttribI2ivEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribI2ivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI2ivEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribI3ivEXT)
  {
    if (traceGL_Native.glVertexAttribI3ivEXT == glVertexAttribI3ivEXT)
    {
      traceWarning("Ignoring glVertexAttribI3ivEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribI3ivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI3ivEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribI4ivEXT)
  {
    if (traceGL_Native.glVertexAttribI4ivEXT == glVertexAttribI4ivEXT)
    {
      traceWarning("Ignoring glVertexAttribI4ivEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribI4ivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI4ivEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribI1uivEXT)
  {
    if (traceGL_Native.glVertexAttribI1uivEXT == glVertexAttribI1uivEXT)
    {
      traceWarning("Ignoring glVertexAttribI1uivEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribI1uivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI1uivEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribI2uivEXT)
  {
    if (traceGL_Native.glVertexAttribI2uivEXT == glVertexAttribI2uivEXT)
    {
      traceWarning("Ignoring glVertexAttribI2uivEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribI2uivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI2uivEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribI3uivEXT)
  {
    if (traceGL_Native.glVertexAttribI3uivEXT == glVertexAttribI3uivEXT)
    {
      traceWarning("Ignoring glVertexAttribI3uivEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribI3uivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI3uivEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribI4uivEXT)
  {
    if (traceGL_Native.glVertexAttribI4uivEXT == glVertexAttribI4uivEXT)
    {
      traceWarning("Ignoring glVertexAttribI4uivEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribI4uivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI4uivEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribI4bvEXT)
  {
    if (traceGL_Native.glVertexAttribI4bvEXT == glVertexAttribI4bvEXT)
    {
      traceWarning("Ignoring glVertexAttribI4bvEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribI4bvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI4bvEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribI4svEXT)
  {
    if (traceGL_Native.glVertexAttribI4svEXT == glVertexAttribI4svEXT)
    {
      traceWarning("Ignoring glVertexAttribI4svEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribI4svEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI4svEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribI4ubvEXT)
  {
    if (traceGL_Native.glVertexAttribI4ubvEXT == glVertexAttribI4ubvEXT)
    {
      traceWarning("Ignoring glVertexAttribI4ubvEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribI4ubvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI4ubvEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribI4usvEXT)
  {
    if (traceGL_Native.glVertexAttribI4usvEXT == glVertexAttribI4usvEXT)
    {
      traceWarning("Ignoring glVertexAttribI4usvEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribI4usvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribI4usvEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribIPointerEXT)
  {
    if (traceGL_Native.glVertexAttribIPointerEXT == glVertexAttribIPointerEXT)
    {
      traceWarning("Ignoring glVertexAttribIPointerEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribIPointerEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribIPointerEXT not loaded.");
  }
  if (traceGL_Native.glGetVertexAttribIivEXT)
  {
    if (traceGL_Native.glGetVertexAttribIivEXT == glGetVertexAttribIivEXT)
    {
      traceWarning("Ignoring glGetVertexAttribIivEXT loaded from traceGL library.");
      traceGL_Native.glGetVertexAttribIivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetVertexAttribIivEXT not loaded.");
  }
  if (traceGL_Native.glGetVertexAttribIuivEXT)
  {
    if (traceGL_Native.glGetVertexAttribIuivEXT == glGetVertexAttribIuivEXT)
    {
      traceWarning("Ignoring glGetVertexAttribIuivEXT loaded from traceGL library.");
      traceGL_Native.glGetVertexAttribIuivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetVertexAttribIuivEXT not loaded.");
  }
  if (traceGL_Native.glGetUniformuivEXT)
  {
    if (traceGL_Native.glGetUniformuivEXT == glGetUniformuivEXT)
    {
      traceWarning("Ignoring glGetUniformuivEXT loaded from traceGL library.");
      traceGL_Native.glGetUniformuivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetUniformuivEXT not loaded.");
  }
  if (traceGL_Native.glBindFragDataLocationEXT)
  {
    if (traceGL_Native.glBindFragDataLocationEXT == glBindFragDataLocationEXT)
    {
      traceWarning("Ignoring glBindFragDataLocationEXT loaded from traceGL library.");
      traceGL_Native.glBindFragDataLocationEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBindFragDataLocationEXT not loaded.");
  }
  if (traceGL_Native.glGetFragDataLocationEXT)
  {
    if (traceGL_Native.glGetFragDataLocationEXT == glGetFragDataLocationEXT)
    {
      traceWarning("Ignoring glGetFragDataLocationEXT loaded from traceGL library.");
      traceGL_Native.glGetFragDataLocationEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetFragDataLocationEXT not loaded.");
  }
  if (traceGL_Native.glUniform1uiEXT)
  {
    if (traceGL_Native.glUniform1uiEXT == glUniform1uiEXT)
    {
      traceWarning("Ignoring glUniform1uiEXT loaded from traceGL library.");
      traceGL_Native.glUniform1uiEXT = NULL;
    }
  }
  else
  {
    traceWarning("glUniform1uiEXT not loaded.");
  }
  if (traceGL_Native.glUniform2uiEXT)
  {
    if (traceGL_Native.glUniform2uiEXT == glUniform2uiEXT)
    {
      traceWarning("Ignoring glUniform2uiEXT loaded from traceGL library.");
      traceGL_Native.glUniform2uiEXT = NULL;
    }
  }
  else
  {
    traceWarning("glUniform2uiEXT not loaded.");
  }
  if (traceGL_Native.glUniform3uiEXT)
  {
    if (traceGL_Native.glUniform3uiEXT == glUniform3uiEXT)
    {
      traceWarning("Ignoring glUniform3uiEXT loaded from traceGL library.");
      traceGL_Native.glUniform3uiEXT = NULL;
    }
  }
  else
  {
    traceWarning("glUniform3uiEXT not loaded.");
  }
  if (traceGL_Native.glUniform4uiEXT)
  {
    if (traceGL_Native.glUniform4uiEXT == glUniform4uiEXT)
    {
      traceWarning("Ignoring glUniform4uiEXT loaded from traceGL library.");
      traceGL_Native.glUniform4uiEXT = NULL;
    }
  }
  else
  {
    traceWarning("glUniform4uiEXT not loaded.");
  }
  if (traceGL_Native.glUniform1uivEXT)
  {
    if (traceGL_Native.glUniform1uivEXT == glUniform1uivEXT)
    {
      traceWarning("Ignoring glUniform1uivEXT loaded from traceGL library.");
      traceGL_Native.glUniform1uivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glUniform1uivEXT not loaded.");
  }
  if (traceGL_Native.glUniform2uivEXT)
  {
    if (traceGL_Native.glUniform2uivEXT == glUniform2uivEXT)
    {
      traceWarning("Ignoring glUniform2uivEXT loaded from traceGL library.");
      traceGL_Native.glUniform2uivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glUniform2uivEXT not loaded.");
  }
  if (traceGL_Native.glUniform3uivEXT)
  {
    if (traceGL_Native.glUniform3uivEXT == glUniform3uivEXT)
    {
      traceWarning("Ignoring glUniform3uivEXT loaded from traceGL library.");
      traceGL_Native.glUniform3uivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glUniform3uivEXT not loaded.");
  }
  if (traceGL_Native.glUniform4uivEXT)
  {
    if (traceGL_Native.glUniform4uivEXT == glUniform4uivEXT)
    {
      traceWarning("Ignoring glUniform4uivEXT loaded from traceGL library.");
      traceGL_Native.glUniform4uivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glUniform4uivEXT not loaded.");
  }
  if (traceGL_Native.glDrawArraysInstancedEXT)
  {
    if (traceGL_Native.glDrawArraysInstancedEXT == glDrawArraysInstancedEXT)
    {
      traceWarning("Ignoring glDrawArraysInstancedEXT loaded from traceGL library.");
      traceGL_Native.glDrawArraysInstancedEXT = NULL;
    }
  }
  else
  {
    traceWarning("glDrawArraysInstancedEXT not loaded.");
  }
  if (traceGL_Native.glDrawElementsInstancedEXT)
  {
    if (traceGL_Native.glDrawElementsInstancedEXT == glDrawElementsInstancedEXT)
    {
      traceWarning("Ignoring glDrawElementsInstancedEXT loaded from traceGL library.");
      traceGL_Native.glDrawElementsInstancedEXT = NULL;
    }
  }
  else
  {
    traceWarning("glDrawElementsInstancedEXT not loaded.");
  }
  if (traceGL_Native.glTexBufferEXT)
  {
    if (traceGL_Native.glTexBufferEXT == glTexBufferEXT)
    {
      traceWarning("Ignoring glTexBufferEXT loaded from traceGL library.");
      traceGL_Native.glTexBufferEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTexBufferEXT not loaded.");
  }
  if (traceGL_Native.glDepthRangedNV)
  {
    if (traceGL_Native.glDepthRangedNV == glDepthRangedNV)
    {
      traceWarning("Ignoring glDepthRangedNV loaded from traceGL library.");
      traceGL_Native.glDepthRangedNV = NULL;
    }
  }
  else
  {
    traceWarning("glDepthRangedNV not loaded.");
  }
  if (traceGL_Native.glClearDepthdNV)
  {
    if (traceGL_Native.glClearDepthdNV == glClearDepthdNV)
    {
      traceWarning("Ignoring glClearDepthdNV loaded from traceGL library.");
      traceGL_Native.glClearDepthdNV = NULL;
    }
  }
  else
  {
    traceWarning("glClearDepthdNV not loaded.");
  }
  if (traceGL_Native.glDepthBoundsdNV)
  {
    if (traceGL_Native.glDepthBoundsdNV == glDepthBoundsdNV)
    {
      traceWarning("Ignoring glDepthBoundsdNV loaded from traceGL library.");
      traceGL_Native.glDepthBoundsdNV = NULL;
    }
  }
  else
  {
    traceWarning("glDepthBoundsdNV not loaded.");
  }
  if (traceGL_Native.glRenderbufferStorageMultisampleCoverageNV)
  {
    if (traceGL_Native.glRenderbufferStorageMultisampleCoverageNV == glRenderbufferStorageMultisampleCoverageNV)
    {
      traceWarning("Ignoring glRenderbufferStorageMultisampleCoverageNV loaded from traceGL library.");
      traceGL_Native.glRenderbufferStorageMultisampleCoverageNV = NULL;
    }
  }
  else
  {
    traceWarning("glRenderbufferStorageMultisampleCoverageNV not loaded.");
  }
  if (traceGL_Native.glProgramBufferParametersfvNV)
  {
    if (traceGL_Native.glProgramBufferParametersfvNV == glProgramBufferParametersfvNV)
    {
      traceWarning("Ignoring glProgramBufferParametersfvNV loaded from traceGL library.");
      traceGL_Native.glProgramBufferParametersfvNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramBufferParametersfvNV not loaded.");
  }
  if (traceGL_Native.glProgramBufferParametersIivNV)
  {
    if (traceGL_Native.glProgramBufferParametersIivNV == glProgramBufferParametersIivNV)
    {
      traceWarning("Ignoring glProgramBufferParametersIivNV loaded from traceGL library.");
      traceGL_Native.glProgramBufferParametersIivNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramBufferParametersIivNV not loaded.");
  }
  if (traceGL_Native.glProgramBufferParametersIuivNV)
  {
    if (traceGL_Native.glProgramBufferParametersIuivNV == glProgramBufferParametersIuivNV)
    {
      traceWarning("Ignoring glProgramBufferParametersIuivNV loaded from traceGL library.");
      traceGL_Native.glProgramBufferParametersIuivNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramBufferParametersIuivNV not loaded.");
  }
  if (traceGL_Native.glColorMaskIndexedEXT)
  {
    if (traceGL_Native.glColorMaskIndexedEXT == glColorMaskIndexedEXT)
    {
      traceWarning("Ignoring glColorMaskIndexedEXT loaded from traceGL library.");
      traceGL_Native.glColorMaskIndexedEXT = NULL;
    }
  }
  else
  {
    traceWarning("glColorMaskIndexedEXT not loaded.");
  }
  if (traceGL_Native.glGetBooleanIndexedvEXT)
  {
    if (traceGL_Native.glGetBooleanIndexedvEXT == glGetBooleanIndexedvEXT)
    {
      traceWarning("Ignoring glGetBooleanIndexedvEXT loaded from traceGL library.");
      traceGL_Native.glGetBooleanIndexedvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetBooleanIndexedvEXT not loaded.");
  }
  if (traceGL_Native.glGetIntegerIndexedvEXT)
  {
    if (traceGL_Native.glGetIntegerIndexedvEXT == glGetIntegerIndexedvEXT)
    {
      traceWarning("Ignoring glGetIntegerIndexedvEXT loaded from traceGL library.");
      traceGL_Native.glGetIntegerIndexedvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetIntegerIndexedvEXT not loaded.");
  }
  if (traceGL_Native.glEnableIndexedEXT)
  {
    if (traceGL_Native.glEnableIndexedEXT == glEnableIndexedEXT)
    {
      traceWarning("Ignoring glEnableIndexedEXT loaded from traceGL library.");
      traceGL_Native.glEnableIndexedEXT = NULL;
    }
  }
  else
  {
    traceWarning("glEnableIndexedEXT not loaded.");
  }
  if (traceGL_Native.glDisableIndexedEXT)
  {
    if (traceGL_Native.glDisableIndexedEXT == glDisableIndexedEXT)
    {
      traceWarning("Ignoring glDisableIndexedEXT loaded from traceGL library.");
      traceGL_Native.glDisableIndexedEXT = NULL;
    }
  }
  else
  {
    traceWarning("glDisableIndexedEXT not loaded.");
  }
  if (traceGL_Native.glIsEnabledIndexedEXT)
  {
    if (traceGL_Native.glIsEnabledIndexedEXT == glIsEnabledIndexedEXT)
    {
      traceWarning("Ignoring glIsEnabledIndexedEXT loaded from traceGL library.");
      traceGL_Native.glIsEnabledIndexedEXT = NULL;
    }
  }
  else
  {
    traceWarning("glIsEnabledIndexedEXT not loaded.");
  }
  if (traceGL_Native.glBeginTransformFeedbackNV)
  {
    if (traceGL_Native.glBeginTransformFeedbackNV == glBeginTransformFeedbackNV)
    {
      traceWarning("Ignoring glBeginTransformFeedbackNV loaded from traceGL library.");
      traceGL_Native.glBeginTransformFeedbackNV = NULL;
    }
  }
  else
  {
    traceWarning("glBeginTransformFeedbackNV not loaded.");
  }
  if (traceGL_Native.glEndTransformFeedbackNV)
  {
    if (traceGL_Native.glEndTransformFeedbackNV == glEndTransformFeedbackNV)
    {
      traceWarning("Ignoring glEndTransformFeedbackNV loaded from traceGL library.");
      traceGL_Native.glEndTransformFeedbackNV = NULL;
    }
  }
  else
  {
    traceWarning("glEndTransformFeedbackNV not loaded.");
  }
  if (traceGL_Native.glTransformFeedbackAttribsNV)
  {
    if (traceGL_Native.glTransformFeedbackAttribsNV == glTransformFeedbackAttribsNV)
    {
      traceWarning("Ignoring glTransformFeedbackAttribsNV loaded from traceGL library.");
      traceGL_Native.glTransformFeedbackAttribsNV = NULL;
    }
  }
  else
  {
    traceWarning("glTransformFeedbackAttribsNV not loaded.");
  }
  if (traceGL_Native.glBindBufferRangeNV)
  {
    if (traceGL_Native.glBindBufferRangeNV == glBindBufferRangeNV)
    {
      traceWarning("Ignoring glBindBufferRangeNV loaded from traceGL library.");
      traceGL_Native.glBindBufferRangeNV = NULL;
    }
  }
  else
  {
    traceWarning("glBindBufferRangeNV not loaded.");
  }
  if (traceGL_Native.glBindBufferOffsetNV)
  {
    if (traceGL_Native.glBindBufferOffsetNV == glBindBufferOffsetNV)
    {
      traceWarning("Ignoring glBindBufferOffsetNV loaded from traceGL library.");
      traceGL_Native.glBindBufferOffsetNV = NULL;
    }
  }
  else
  {
    traceWarning("glBindBufferOffsetNV not loaded.");
  }
  if (traceGL_Native.glBindBufferBaseNV)
  {
    if (traceGL_Native.glBindBufferBaseNV == glBindBufferBaseNV)
    {
      traceWarning("Ignoring glBindBufferBaseNV loaded from traceGL library.");
      traceGL_Native.glBindBufferBaseNV = NULL;
    }
  }
  else
  {
    traceWarning("glBindBufferBaseNV not loaded.");
  }
  if (traceGL_Native.glTransformFeedbackVaryingsNV)
  {
    if (traceGL_Native.glTransformFeedbackVaryingsNV == glTransformFeedbackVaryingsNV)
    {
      traceWarning("Ignoring glTransformFeedbackVaryingsNV loaded from traceGL library.");
      traceGL_Native.glTransformFeedbackVaryingsNV = NULL;
    }
  }
  else
  {
    traceWarning("glTransformFeedbackVaryingsNV not loaded.");
  }
  if (traceGL_Native.glActiveVaryingNV)
  {
    if (traceGL_Native.glActiveVaryingNV == glActiveVaryingNV)
    {
      traceWarning("Ignoring glActiveVaryingNV loaded from traceGL library.");
      traceGL_Native.glActiveVaryingNV = NULL;
    }
  }
  else
  {
    traceWarning("glActiveVaryingNV not loaded.");
  }
  if (traceGL_Native.glGetVaryingLocationNV)
  {
    if (traceGL_Native.glGetVaryingLocationNV == glGetVaryingLocationNV)
    {
      traceWarning("Ignoring glGetVaryingLocationNV loaded from traceGL library.");
      traceGL_Native.glGetVaryingLocationNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetVaryingLocationNV not loaded.");
  }
  if (traceGL_Native.glGetActiveVaryingNV)
  {
    if (traceGL_Native.glGetActiveVaryingNV == glGetActiveVaryingNV)
    {
      traceWarning("Ignoring glGetActiveVaryingNV loaded from traceGL library.");
      traceGL_Native.glGetActiveVaryingNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetActiveVaryingNV not loaded.");
  }
  if (traceGL_Native.glGetTransformFeedbackVaryingNV)
  {
    if (traceGL_Native.glGetTransformFeedbackVaryingNV == glGetTransformFeedbackVaryingNV)
    {
      traceWarning("Ignoring glGetTransformFeedbackVaryingNV loaded from traceGL library.");
      traceGL_Native.glGetTransformFeedbackVaryingNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetTransformFeedbackVaryingNV not loaded.");
  }
  if (traceGL_Native.glUniformBufferEXT)
  {
    if (traceGL_Native.glUniformBufferEXT == glUniformBufferEXT)
    {
      traceWarning("Ignoring glUniformBufferEXT loaded from traceGL library.");
      traceGL_Native.glUniformBufferEXT = NULL;
    }
  }
  else
  {
    traceWarning("glUniformBufferEXT not loaded.");
  }
  if (traceGL_Native.glGetUniformBufferSizeEXT)
  {
    if (traceGL_Native.glGetUniformBufferSizeEXT == glGetUniformBufferSizeEXT)
    {
      traceWarning("Ignoring glGetUniformBufferSizeEXT loaded from traceGL library.");
      traceGL_Native.glGetUniformBufferSizeEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetUniformBufferSizeEXT not loaded.");
  }
  if (traceGL_Native.glGetUniformOffsetEXT)
  {
    if (traceGL_Native.glGetUniformOffsetEXT == glGetUniformOffsetEXT)
    {
      traceWarning("Ignoring glGetUniformOffsetEXT loaded from traceGL library.");
      traceGL_Native.glGetUniformOffsetEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetUniformOffsetEXT not loaded.");
  }
  if (traceGL_Native.glTexParameterIivEXT)
  {
    if (traceGL_Native.glTexParameterIivEXT == glTexParameterIivEXT)
    {
      traceWarning("Ignoring glTexParameterIivEXT loaded from traceGL library.");
      traceGL_Native.glTexParameterIivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTexParameterIivEXT not loaded.");
  }
  if (traceGL_Native.glTexParameterIuivEXT)
  {
    if (traceGL_Native.glTexParameterIuivEXT == glTexParameterIuivEXT)
    {
      traceWarning("Ignoring glTexParameterIuivEXT loaded from traceGL library.");
      traceGL_Native.glTexParameterIuivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTexParameterIuivEXT not loaded.");
  }
  if (traceGL_Native.glGetTexParameterIivEXT)
  {
    if (traceGL_Native.glGetTexParameterIivEXT == glGetTexParameterIivEXT)
    {
      traceWarning("Ignoring glGetTexParameterIivEXT loaded from traceGL library.");
      traceGL_Native.glGetTexParameterIivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetTexParameterIivEXT not loaded.");
  }
  if (traceGL_Native.glGetTexParameterIuivEXT)
  {
    if (traceGL_Native.glGetTexParameterIuivEXT == glGetTexParameterIuivEXT)
    {
      traceWarning("Ignoring glGetTexParameterIuivEXT loaded from traceGL library.");
      traceGL_Native.glGetTexParameterIuivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetTexParameterIuivEXT not loaded.");
  }
  if (traceGL_Native.glClearColorIiEXT)
  {
    if (traceGL_Native.glClearColorIiEXT == glClearColorIiEXT)
    {
      traceWarning("Ignoring glClearColorIiEXT loaded from traceGL library.");
      traceGL_Native.glClearColorIiEXT = NULL;
    }
  }
  else
  {
    traceWarning("glClearColorIiEXT not loaded.");
  }
  if (traceGL_Native.glClearColorIuiEXT)
  {
    if (traceGL_Native.glClearColorIuiEXT == glClearColorIuiEXT)
    {
      traceWarning("Ignoring glClearColorIuiEXT loaded from traceGL library.");
      traceGL_Native.glClearColorIuiEXT = NULL;
    }
  }
  else
  {
    traceWarning("glClearColorIuiEXT not loaded.");
  }
  if (traceGL_Native.glFrameTerminatorGREMEDY)
  {
    if (traceGL_Native.glFrameTerminatorGREMEDY == glFrameTerminatorGREMEDY)
    {
      traceWarning("Ignoring glFrameTerminatorGREMEDY loaded from traceGL library.");
      traceGL_Native.glFrameTerminatorGREMEDY = NULL;
    }
  }
  else
  {
    traceWarning("glFrameTerminatorGREMEDY not loaded.");
  }
  if (traceGL_Native.glBeginConditionalRenderNV)
  {
    if (traceGL_Native.glBeginConditionalRenderNV == glBeginConditionalRenderNV)
    {
      traceWarning("Ignoring glBeginConditionalRenderNV loaded from traceGL library.");
      traceGL_Native.glBeginConditionalRenderNV = NULL;
    }
  }
  else
  {
    traceWarning("glBeginConditionalRenderNV not loaded.");
  }
  if (traceGL_Native.glEndConditionalRenderNV)
  {
    if (traceGL_Native.glEndConditionalRenderNV == glEndConditionalRenderNV)
    {
      traceWarning("Ignoring glEndConditionalRenderNV loaded from traceGL library.");
      traceGL_Native.glEndConditionalRenderNV = NULL;
    }
  }
  else
  {
    traceWarning("glEndConditionalRenderNV not loaded.");
  }
  if (traceGL_Native.glPresentFrameKeyedNV)
  {
    if (traceGL_Native.glPresentFrameKeyedNV == glPresentFrameKeyedNV)
    {
      traceWarning("Ignoring glPresentFrameKeyedNV loaded from traceGL library.");
      traceGL_Native.glPresentFrameKeyedNV = NULL;
    }
  }
  else
  {
    traceWarning("glPresentFrameKeyedNV not loaded.");
  }
  if (traceGL_Native.glPresentFrameDualFillNV)
  {
    if (traceGL_Native.glPresentFrameDualFillNV == glPresentFrameDualFillNV)
    {
      traceWarning("Ignoring glPresentFrameDualFillNV loaded from traceGL library.");
      traceGL_Native.glPresentFrameDualFillNV = NULL;
    }
  }
  else
  {
    traceWarning("glPresentFrameDualFillNV not loaded.");
  }
  if (traceGL_Native.glGetVideoivNV)
  {
    if (traceGL_Native.glGetVideoivNV == glGetVideoivNV)
    {
      traceWarning("Ignoring glGetVideoivNV loaded from traceGL library.");
      traceGL_Native.glGetVideoivNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetVideoivNV not loaded.");
  }
  if (traceGL_Native.glGetVideouivNV)
  {
    if (traceGL_Native.glGetVideouivNV == glGetVideouivNV)
    {
      traceWarning("Ignoring glGetVideouivNV loaded from traceGL library.");
      traceGL_Native.glGetVideouivNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetVideouivNV not loaded.");
  }
  if (traceGL_Native.glGetVideoi64vNV)
  {
    if (traceGL_Native.glGetVideoi64vNV == glGetVideoi64vNV)
    {
      traceWarning("Ignoring glGetVideoi64vNV loaded from traceGL library.");
      traceGL_Native.glGetVideoi64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetVideoi64vNV not loaded.");
  }
  if (traceGL_Native.glGetVideoui64vNV)
  {
    if (traceGL_Native.glGetVideoui64vNV == glGetVideoui64vNV)
    {
      traceWarning("Ignoring glGetVideoui64vNV loaded from traceGL library.");
      traceGL_Native.glGetVideoui64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetVideoui64vNV not loaded.");
  }
  if (traceGL_Native.glBeginTransformFeedbackEXT)
  {
    if (traceGL_Native.glBeginTransformFeedbackEXT == glBeginTransformFeedbackEXT)
    {
      traceWarning("Ignoring glBeginTransformFeedbackEXT loaded from traceGL library.");
      traceGL_Native.glBeginTransformFeedbackEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBeginTransformFeedbackEXT not loaded.");
  }
  if (traceGL_Native.glEndTransformFeedbackEXT)
  {
    if (traceGL_Native.glEndTransformFeedbackEXT == glEndTransformFeedbackEXT)
    {
      traceWarning("Ignoring glEndTransformFeedbackEXT loaded from traceGL library.");
      traceGL_Native.glEndTransformFeedbackEXT = NULL;
    }
  }
  else
  {
    traceWarning("glEndTransformFeedbackEXT not loaded.");
  }
  if (traceGL_Native.glBindBufferRangeEXT)
  {
    if (traceGL_Native.glBindBufferRangeEXT == glBindBufferRangeEXT)
    {
      traceWarning("Ignoring glBindBufferRangeEXT loaded from traceGL library.");
      traceGL_Native.glBindBufferRangeEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBindBufferRangeEXT not loaded.");
  }
  if (traceGL_Native.glBindBufferOffsetEXT)
  {
    if (traceGL_Native.glBindBufferOffsetEXT == glBindBufferOffsetEXT)
    {
      traceWarning("Ignoring glBindBufferOffsetEXT loaded from traceGL library.");
      traceGL_Native.glBindBufferOffsetEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBindBufferOffsetEXT not loaded.");
  }
  if (traceGL_Native.glBindBufferBaseEXT)
  {
    if (traceGL_Native.glBindBufferBaseEXT == glBindBufferBaseEXT)
    {
      traceWarning("Ignoring glBindBufferBaseEXT loaded from traceGL library.");
      traceGL_Native.glBindBufferBaseEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBindBufferBaseEXT not loaded.");
  }
  if (traceGL_Native.glTransformFeedbackVaryingsEXT)
  {
    if (traceGL_Native.glTransformFeedbackVaryingsEXT == glTransformFeedbackVaryingsEXT)
    {
      traceWarning("Ignoring glTransformFeedbackVaryingsEXT loaded from traceGL library.");
      traceGL_Native.glTransformFeedbackVaryingsEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTransformFeedbackVaryingsEXT not loaded.");
  }
  if (traceGL_Native.glGetTransformFeedbackVaryingEXT)
  {
    if (traceGL_Native.glGetTransformFeedbackVaryingEXT == glGetTransformFeedbackVaryingEXT)
    {
      traceWarning("Ignoring glGetTransformFeedbackVaryingEXT loaded from traceGL library.");
      traceGL_Native.glGetTransformFeedbackVaryingEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetTransformFeedbackVaryingEXT not loaded.");
  }
  if (traceGL_Native.glClientAttribDefaultEXT)
  {
    if (traceGL_Native.glClientAttribDefaultEXT == glClientAttribDefaultEXT)
    {
      traceWarning("Ignoring glClientAttribDefaultEXT loaded from traceGL library.");
      traceGL_Native.glClientAttribDefaultEXT = NULL;
    }
  }
  else
  {
    traceWarning("glClientAttribDefaultEXT not loaded.");
  }
  if (traceGL_Native.glPushClientAttribDefaultEXT)
  {
    if (traceGL_Native.glPushClientAttribDefaultEXT == glPushClientAttribDefaultEXT)
    {
      traceWarning("Ignoring glPushClientAttribDefaultEXT loaded from traceGL library.");
      traceGL_Native.glPushClientAttribDefaultEXT = NULL;
    }
  }
  else
  {
    traceWarning("glPushClientAttribDefaultEXT not loaded.");
  }
  if (traceGL_Native.glMatrixLoadfEXT)
  {
    if (traceGL_Native.glMatrixLoadfEXT == glMatrixLoadfEXT)
    {
      traceWarning("Ignoring glMatrixLoadfEXT loaded from traceGL library.");
      traceGL_Native.glMatrixLoadfEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMatrixLoadfEXT not loaded.");
  }
  if (traceGL_Native.glMatrixLoaddEXT)
  {
    if (traceGL_Native.glMatrixLoaddEXT == glMatrixLoaddEXT)
    {
      traceWarning("Ignoring glMatrixLoaddEXT loaded from traceGL library.");
      traceGL_Native.glMatrixLoaddEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMatrixLoaddEXT not loaded.");
  }
  if (traceGL_Native.glMatrixMultfEXT)
  {
    if (traceGL_Native.glMatrixMultfEXT == glMatrixMultfEXT)
    {
      traceWarning("Ignoring glMatrixMultfEXT loaded from traceGL library.");
      traceGL_Native.glMatrixMultfEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMatrixMultfEXT not loaded.");
  }
  if (traceGL_Native.glMatrixMultdEXT)
  {
    if (traceGL_Native.glMatrixMultdEXT == glMatrixMultdEXT)
    {
      traceWarning("Ignoring glMatrixMultdEXT loaded from traceGL library.");
      traceGL_Native.glMatrixMultdEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMatrixMultdEXT not loaded.");
  }
  if (traceGL_Native.glMatrixLoadIdentityEXT)
  {
    if (traceGL_Native.glMatrixLoadIdentityEXT == glMatrixLoadIdentityEXT)
    {
      traceWarning("Ignoring glMatrixLoadIdentityEXT loaded from traceGL library.");
      traceGL_Native.glMatrixLoadIdentityEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMatrixLoadIdentityEXT not loaded.");
  }
  if (traceGL_Native.glMatrixRotatefEXT)
  {
    if (traceGL_Native.glMatrixRotatefEXT == glMatrixRotatefEXT)
    {
      traceWarning("Ignoring glMatrixRotatefEXT loaded from traceGL library.");
      traceGL_Native.glMatrixRotatefEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMatrixRotatefEXT not loaded.");
  }
  if (traceGL_Native.glMatrixRotatedEXT)
  {
    if (traceGL_Native.glMatrixRotatedEXT == glMatrixRotatedEXT)
    {
      traceWarning("Ignoring glMatrixRotatedEXT loaded from traceGL library.");
      traceGL_Native.glMatrixRotatedEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMatrixRotatedEXT not loaded.");
  }
  if (traceGL_Native.glMatrixScalefEXT)
  {
    if (traceGL_Native.glMatrixScalefEXT == glMatrixScalefEXT)
    {
      traceWarning("Ignoring glMatrixScalefEXT loaded from traceGL library.");
      traceGL_Native.glMatrixScalefEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMatrixScalefEXT not loaded.");
  }
  if (traceGL_Native.glMatrixScaledEXT)
  {
    if (traceGL_Native.glMatrixScaledEXT == glMatrixScaledEXT)
    {
      traceWarning("Ignoring glMatrixScaledEXT loaded from traceGL library.");
      traceGL_Native.glMatrixScaledEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMatrixScaledEXT not loaded.");
  }
  if (traceGL_Native.glMatrixTranslatefEXT)
  {
    if (traceGL_Native.glMatrixTranslatefEXT == glMatrixTranslatefEXT)
    {
      traceWarning("Ignoring glMatrixTranslatefEXT loaded from traceGL library.");
      traceGL_Native.glMatrixTranslatefEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMatrixTranslatefEXT not loaded.");
  }
  if (traceGL_Native.glMatrixTranslatedEXT)
  {
    if (traceGL_Native.glMatrixTranslatedEXT == glMatrixTranslatedEXT)
    {
      traceWarning("Ignoring glMatrixTranslatedEXT loaded from traceGL library.");
      traceGL_Native.glMatrixTranslatedEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMatrixTranslatedEXT not loaded.");
  }
  if (traceGL_Native.glMatrixFrustumEXT)
  {
    if (traceGL_Native.glMatrixFrustumEXT == glMatrixFrustumEXT)
    {
      traceWarning("Ignoring glMatrixFrustumEXT loaded from traceGL library.");
      traceGL_Native.glMatrixFrustumEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMatrixFrustumEXT not loaded.");
  }
  if (traceGL_Native.glMatrixOrthoEXT)
  {
    if (traceGL_Native.glMatrixOrthoEXT == glMatrixOrthoEXT)
    {
      traceWarning("Ignoring glMatrixOrthoEXT loaded from traceGL library.");
      traceGL_Native.glMatrixOrthoEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMatrixOrthoEXT not loaded.");
  }
  if (traceGL_Native.glMatrixPopEXT)
  {
    if (traceGL_Native.glMatrixPopEXT == glMatrixPopEXT)
    {
      traceWarning("Ignoring glMatrixPopEXT loaded from traceGL library.");
      traceGL_Native.glMatrixPopEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMatrixPopEXT not loaded.");
  }
  if (traceGL_Native.glMatrixPushEXT)
  {
    if (traceGL_Native.glMatrixPushEXT == glMatrixPushEXT)
    {
      traceWarning("Ignoring glMatrixPushEXT loaded from traceGL library.");
      traceGL_Native.glMatrixPushEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMatrixPushEXT not loaded.");
  }
  if (traceGL_Native.glMatrixLoadTransposefEXT)
  {
    if (traceGL_Native.glMatrixLoadTransposefEXT == glMatrixLoadTransposefEXT)
    {
      traceWarning("Ignoring glMatrixLoadTransposefEXT loaded from traceGL library.");
      traceGL_Native.glMatrixLoadTransposefEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMatrixLoadTransposefEXT not loaded.");
  }
  if (traceGL_Native.glMatrixLoadTransposedEXT)
  {
    if (traceGL_Native.glMatrixLoadTransposedEXT == glMatrixLoadTransposedEXT)
    {
      traceWarning("Ignoring glMatrixLoadTransposedEXT loaded from traceGL library.");
      traceGL_Native.glMatrixLoadTransposedEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMatrixLoadTransposedEXT not loaded.");
  }
  if (traceGL_Native.glMatrixMultTransposefEXT)
  {
    if (traceGL_Native.glMatrixMultTransposefEXT == glMatrixMultTransposefEXT)
    {
      traceWarning("Ignoring glMatrixMultTransposefEXT loaded from traceGL library.");
      traceGL_Native.glMatrixMultTransposefEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMatrixMultTransposefEXT not loaded.");
  }
  if (traceGL_Native.glMatrixMultTransposedEXT)
  {
    if (traceGL_Native.glMatrixMultTransposedEXT == glMatrixMultTransposedEXT)
    {
      traceWarning("Ignoring glMatrixMultTransposedEXT loaded from traceGL library.");
      traceGL_Native.glMatrixMultTransposedEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMatrixMultTransposedEXT not loaded.");
  }
  if (traceGL_Native.glTextureParameterfEXT)
  {
    if (traceGL_Native.glTextureParameterfEXT == glTextureParameterfEXT)
    {
      traceWarning("Ignoring glTextureParameterfEXT loaded from traceGL library.");
      traceGL_Native.glTextureParameterfEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTextureParameterfEXT not loaded.");
  }
  if (traceGL_Native.glTextureParameterfvEXT)
  {
    if (traceGL_Native.glTextureParameterfvEXT == glTextureParameterfvEXT)
    {
      traceWarning("Ignoring glTextureParameterfvEXT loaded from traceGL library.");
      traceGL_Native.glTextureParameterfvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTextureParameterfvEXT not loaded.");
  }
  if (traceGL_Native.glTextureParameteriEXT)
  {
    if (traceGL_Native.glTextureParameteriEXT == glTextureParameteriEXT)
    {
      traceWarning("Ignoring glTextureParameteriEXT loaded from traceGL library.");
      traceGL_Native.glTextureParameteriEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTextureParameteriEXT not loaded.");
  }
  if (traceGL_Native.glTextureParameterivEXT)
  {
    if (traceGL_Native.glTextureParameterivEXT == glTextureParameterivEXT)
    {
      traceWarning("Ignoring glTextureParameterivEXT loaded from traceGL library.");
      traceGL_Native.glTextureParameterivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTextureParameterivEXT not loaded.");
  }
  if (traceGL_Native.glTextureImage1DEXT)
  {
    if (traceGL_Native.glTextureImage1DEXT == glTextureImage1DEXT)
    {
      traceWarning("Ignoring glTextureImage1DEXT loaded from traceGL library.");
      traceGL_Native.glTextureImage1DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTextureImage1DEXT not loaded.");
  }
  if (traceGL_Native.glTextureImage2DEXT)
  {
    if (traceGL_Native.glTextureImage2DEXT == glTextureImage2DEXT)
    {
      traceWarning("Ignoring glTextureImage2DEXT loaded from traceGL library.");
      traceGL_Native.glTextureImage2DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTextureImage2DEXT not loaded.");
  }
  if (traceGL_Native.glTextureSubImage1DEXT)
  {
    if (traceGL_Native.glTextureSubImage1DEXT == glTextureSubImage1DEXT)
    {
      traceWarning("Ignoring glTextureSubImage1DEXT loaded from traceGL library.");
      traceGL_Native.glTextureSubImage1DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTextureSubImage1DEXT not loaded.");
  }
  if (traceGL_Native.glTextureSubImage2DEXT)
  {
    if (traceGL_Native.glTextureSubImage2DEXT == glTextureSubImage2DEXT)
    {
      traceWarning("Ignoring glTextureSubImage2DEXT loaded from traceGL library.");
      traceGL_Native.glTextureSubImage2DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTextureSubImage2DEXT not loaded.");
  }
  if (traceGL_Native.glCopyTextureImage1DEXT)
  {
    if (traceGL_Native.glCopyTextureImage1DEXT == glCopyTextureImage1DEXT)
    {
      traceWarning("Ignoring glCopyTextureImage1DEXT loaded from traceGL library.");
      traceGL_Native.glCopyTextureImage1DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCopyTextureImage1DEXT not loaded.");
  }
  if (traceGL_Native.glCopyTextureImage2DEXT)
  {
    if (traceGL_Native.glCopyTextureImage2DEXT == glCopyTextureImage2DEXT)
    {
      traceWarning("Ignoring glCopyTextureImage2DEXT loaded from traceGL library.");
      traceGL_Native.glCopyTextureImage2DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCopyTextureImage2DEXT not loaded.");
  }
  if (traceGL_Native.glCopyTextureSubImage1DEXT)
  {
    if (traceGL_Native.glCopyTextureSubImage1DEXT == glCopyTextureSubImage1DEXT)
    {
      traceWarning("Ignoring glCopyTextureSubImage1DEXT loaded from traceGL library.");
      traceGL_Native.glCopyTextureSubImage1DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCopyTextureSubImage1DEXT not loaded.");
  }
  if (traceGL_Native.glCopyTextureSubImage2DEXT)
  {
    if (traceGL_Native.glCopyTextureSubImage2DEXT == glCopyTextureSubImage2DEXT)
    {
      traceWarning("Ignoring glCopyTextureSubImage2DEXT loaded from traceGL library.");
      traceGL_Native.glCopyTextureSubImage2DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCopyTextureSubImage2DEXT not loaded.");
  }
  if (traceGL_Native.glGetTextureImageEXT)
  {
    if (traceGL_Native.glGetTextureImageEXT == glGetTextureImageEXT)
    {
      traceWarning("Ignoring glGetTextureImageEXT loaded from traceGL library.");
      traceGL_Native.glGetTextureImageEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetTextureImageEXT not loaded.");
  }
  if (traceGL_Native.glGetTextureParameterfvEXT)
  {
    if (traceGL_Native.glGetTextureParameterfvEXT == glGetTextureParameterfvEXT)
    {
      traceWarning("Ignoring glGetTextureParameterfvEXT loaded from traceGL library.");
      traceGL_Native.glGetTextureParameterfvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetTextureParameterfvEXT not loaded.");
  }
  if (traceGL_Native.glGetTextureParameterivEXT)
  {
    if (traceGL_Native.glGetTextureParameterivEXT == glGetTextureParameterivEXT)
    {
      traceWarning("Ignoring glGetTextureParameterivEXT loaded from traceGL library.");
      traceGL_Native.glGetTextureParameterivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetTextureParameterivEXT not loaded.");
  }
  if (traceGL_Native.glGetTextureLevelParameterfvEXT)
  {
    if (traceGL_Native.glGetTextureLevelParameterfvEXT == glGetTextureLevelParameterfvEXT)
    {
      traceWarning("Ignoring glGetTextureLevelParameterfvEXT loaded from traceGL library.");
      traceGL_Native.glGetTextureLevelParameterfvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetTextureLevelParameterfvEXT not loaded.");
  }
  if (traceGL_Native.glGetTextureLevelParameterivEXT)
  {
    if (traceGL_Native.glGetTextureLevelParameterivEXT == glGetTextureLevelParameterivEXT)
    {
      traceWarning("Ignoring glGetTextureLevelParameterivEXT loaded from traceGL library.");
      traceGL_Native.glGetTextureLevelParameterivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetTextureLevelParameterivEXT not loaded.");
  }
  if (traceGL_Native.glTextureImage3DEXT)
  {
    if (traceGL_Native.glTextureImage3DEXT == glTextureImage3DEXT)
    {
      traceWarning("Ignoring glTextureImage3DEXT loaded from traceGL library.");
      traceGL_Native.glTextureImage3DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTextureImage3DEXT not loaded.");
  }
  if (traceGL_Native.glTextureSubImage3DEXT)
  {
    if (traceGL_Native.glTextureSubImage3DEXT == glTextureSubImage3DEXT)
    {
      traceWarning("Ignoring glTextureSubImage3DEXT loaded from traceGL library.");
      traceGL_Native.glTextureSubImage3DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTextureSubImage3DEXT not loaded.");
  }
  if (traceGL_Native.glCopyTextureSubImage3DEXT)
  {
    if (traceGL_Native.glCopyTextureSubImage3DEXT == glCopyTextureSubImage3DEXT)
    {
      traceWarning("Ignoring glCopyTextureSubImage3DEXT loaded from traceGL library.");
      traceGL_Native.glCopyTextureSubImage3DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCopyTextureSubImage3DEXT not loaded.");
  }
  if (traceGL_Native.glMultiTexParameterfEXT)
  {
    if (traceGL_Native.glMultiTexParameterfEXT == glMultiTexParameterfEXT)
    {
      traceWarning("Ignoring glMultiTexParameterfEXT loaded from traceGL library.");
      traceGL_Native.glMultiTexParameterfEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexParameterfEXT not loaded.");
  }
  if (traceGL_Native.glMultiTexParameterfvEXT)
  {
    if (traceGL_Native.glMultiTexParameterfvEXT == glMultiTexParameterfvEXT)
    {
      traceWarning("Ignoring glMultiTexParameterfvEXT loaded from traceGL library.");
      traceGL_Native.glMultiTexParameterfvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexParameterfvEXT not loaded.");
  }
  if (traceGL_Native.glMultiTexParameteriEXT)
  {
    if (traceGL_Native.glMultiTexParameteriEXT == glMultiTexParameteriEXT)
    {
      traceWarning("Ignoring glMultiTexParameteriEXT loaded from traceGL library.");
      traceGL_Native.glMultiTexParameteriEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexParameteriEXT not loaded.");
  }
  if (traceGL_Native.glMultiTexParameterivEXT)
  {
    if (traceGL_Native.glMultiTexParameterivEXT == glMultiTexParameterivEXT)
    {
      traceWarning("Ignoring glMultiTexParameterivEXT loaded from traceGL library.");
      traceGL_Native.glMultiTexParameterivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexParameterivEXT not loaded.");
  }
  if (traceGL_Native.glMultiTexImage1DEXT)
  {
    if (traceGL_Native.glMultiTexImage1DEXT == glMultiTexImage1DEXT)
    {
      traceWarning("Ignoring glMultiTexImage1DEXT loaded from traceGL library.");
      traceGL_Native.glMultiTexImage1DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexImage1DEXT not loaded.");
  }
  if (traceGL_Native.glMultiTexImage2DEXT)
  {
    if (traceGL_Native.glMultiTexImage2DEXT == glMultiTexImage2DEXT)
    {
      traceWarning("Ignoring glMultiTexImage2DEXT loaded from traceGL library.");
      traceGL_Native.glMultiTexImage2DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexImage2DEXT not loaded.");
  }
  if (traceGL_Native.glMultiTexSubImage1DEXT)
  {
    if (traceGL_Native.glMultiTexSubImage1DEXT == glMultiTexSubImage1DEXT)
    {
      traceWarning("Ignoring glMultiTexSubImage1DEXT loaded from traceGL library.");
      traceGL_Native.glMultiTexSubImage1DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexSubImage1DEXT not loaded.");
  }
  if (traceGL_Native.glMultiTexSubImage2DEXT)
  {
    if (traceGL_Native.glMultiTexSubImage2DEXT == glMultiTexSubImage2DEXT)
    {
      traceWarning("Ignoring glMultiTexSubImage2DEXT loaded from traceGL library.");
      traceGL_Native.glMultiTexSubImage2DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexSubImage2DEXT not loaded.");
  }
  if (traceGL_Native.glCopyMultiTexImage1DEXT)
  {
    if (traceGL_Native.glCopyMultiTexImage1DEXT == glCopyMultiTexImage1DEXT)
    {
      traceWarning("Ignoring glCopyMultiTexImage1DEXT loaded from traceGL library.");
      traceGL_Native.glCopyMultiTexImage1DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCopyMultiTexImage1DEXT not loaded.");
  }
  if (traceGL_Native.glCopyMultiTexImage2DEXT)
  {
    if (traceGL_Native.glCopyMultiTexImage2DEXT == glCopyMultiTexImage2DEXT)
    {
      traceWarning("Ignoring glCopyMultiTexImage2DEXT loaded from traceGL library.");
      traceGL_Native.glCopyMultiTexImage2DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCopyMultiTexImage2DEXT not loaded.");
  }
  if (traceGL_Native.glCopyMultiTexSubImage1DEXT)
  {
    if (traceGL_Native.glCopyMultiTexSubImage1DEXT == glCopyMultiTexSubImage1DEXT)
    {
      traceWarning("Ignoring glCopyMultiTexSubImage1DEXT loaded from traceGL library.");
      traceGL_Native.glCopyMultiTexSubImage1DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCopyMultiTexSubImage1DEXT not loaded.");
  }
  if (traceGL_Native.glCopyMultiTexSubImage2DEXT)
  {
    if (traceGL_Native.glCopyMultiTexSubImage2DEXT == glCopyMultiTexSubImage2DEXT)
    {
      traceWarning("Ignoring glCopyMultiTexSubImage2DEXT loaded from traceGL library.");
      traceGL_Native.glCopyMultiTexSubImage2DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCopyMultiTexSubImage2DEXT not loaded.");
  }
  if (traceGL_Native.glGetMultiTexImageEXT)
  {
    if (traceGL_Native.glGetMultiTexImageEXT == glGetMultiTexImageEXT)
    {
      traceWarning("Ignoring glGetMultiTexImageEXT loaded from traceGL library.");
      traceGL_Native.glGetMultiTexImageEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetMultiTexImageEXT not loaded.");
  }
  if (traceGL_Native.glGetMultiTexParameterfvEXT)
  {
    if (traceGL_Native.glGetMultiTexParameterfvEXT == glGetMultiTexParameterfvEXT)
    {
      traceWarning("Ignoring glGetMultiTexParameterfvEXT loaded from traceGL library.");
      traceGL_Native.glGetMultiTexParameterfvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetMultiTexParameterfvEXT not loaded.");
  }
  if (traceGL_Native.glGetMultiTexParameterivEXT)
  {
    if (traceGL_Native.glGetMultiTexParameterivEXT == glGetMultiTexParameterivEXT)
    {
      traceWarning("Ignoring glGetMultiTexParameterivEXT loaded from traceGL library.");
      traceGL_Native.glGetMultiTexParameterivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetMultiTexParameterivEXT not loaded.");
  }
  if (traceGL_Native.glGetMultiTexLevelParameterfvEXT)
  {
    if (traceGL_Native.glGetMultiTexLevelParameterfvEXT == glGetMultiTexLevelParameterfvEXT)
    {
      traceWarning("Ignoring glGetMultiTexLevelParameterfvEXT loaded from traceGL library.");
      traceGL_Native.glGetMultiTexLevelParameterfvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetMultiTexLevelParameterfvEXT not loaded.");
  }
  if (traceGL_Native.glGetMultiTexLevelParameterivEXT)
  {
    if (traceGL_Native.glGetMultiTexLevelParameterivEXT == glGetMultiTexLevelParameterivEXT)
    {
      traceWarning("Ignoring glGetMultiTexLevelParameterivEXT loaded from traceGL library.");
      traceGL_Native.glGetMultiTexLevelParameterivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetMultiTexLevelParameterivEXT not loaded.");
  }
  if (traceGL_Native.glMultiTexImage3DEXT)
  {
    if (traceGL_Native.glMultiTexImage3DEXT == glMultiTexImage3DEXT)
    {
      traceWarning("Ignoring glMultiTexImage3DEXT loaded from traceGL library.");
      traceGL_Native.glMultiTexImage3DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexImage3DEXT not loaded.");
  }
  if (traceGL_Native.glMultiTexSubImage3DEXT)
  {
    if (traceGL_Native.glMultiTexSubImage3DEXT == glMultiTexSubImage3DEXT)
    {
      traceWarning("Ignoring glMultiTexSubImage3DEXT loaded from traceGL library.");
      traceGL_Native.glMultiTexSubImage3DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexSubImage3DEXT not loaded.");
  }
  if (traceGL_Native.glCopyMultiTexSubImage3DEXT)
  {
    if (traceGL_Native.glCopyMultiTexSubImage3DEXT == glCopyMultiTexSubImage3DEXT)
    {
      traceWarning("Ignoring glCopyMultiTexSubImage3DEXT loaded from traceGL library.");
      traceGL_Native.glCopyMultiTexSubImage3DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCopyMultiTexSubImage3DEXT not loaded.");
  }
  if (traceGL_Native.glBindMultiTextureEXT)
  {
    if (traceGL_Native.glBindMultiTextureEXT == glBindMultiTextureEXT)
    {
      traceWarning("Ignoring glBindMultiTextureEXT loaded from traceGL library.");
      traceGL_Native.glBindMultiTextureEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBindMultiTextureEXT not loaded.");
  }
  if (traceGL_Native.glEnableClientStateIndexedEXT)
  {
    if (traceGL_Native.glEnableClientStateIndexedEXT == glEnableClientStateIndexedEXT)
    {
      traceWarning("Ignoring glEnableClientStateIndexedEXT loaded from traceGL library.");
      traceGL_Native.glEnableClientStateIndexedEXT = NULL;
    }
  }
  else
  {
    traceWarning("glEnableClientStateIndexedEXT not loaded.");
  }
  if (traceGL_Native.glDisableClientStateIndexedEXT)
  {
    if (traceGL_Native.glDisableClientStateIndexedEXT == glDisableClientStateIndexedEXT)
    {
      traceWarning("Ignoring glDisableClientStateIndexedEXT loaded from traceGL library.");
      traceGL_Native.glDisableClientStateIndexedEXT = NULL;
    }
  }
  else
  {
    traceWarning("glDisableClientStateIndexedEXT not loaded.");
  }
  if (traceGL_Native.glMultiTexCoordPointerEXT)
  {
    if (traceGL_Native.glMultiTexCoordPointerEXT == glMultiTexCoordPointerEXT)
    {
      traceWarning("Ignoring glMultiTexCoordPointerEXT loaded from traceGL library.");
      traceGL_Native.glMultiTexCoordPointerEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexCoordPointerEXT not loaded.");
  }
  if (traceGL_Native.glMultiTexEnvfEXT)
  {
    if (traceGL_Native.glMultiTexEnvfEXT == glMultiTexEnvfEXT)
    {
      traceWarning("Ignoring glMultiTexEnvfEXT loaded from traceGL library.");
      traceGL_Native.glMultiTexEnvfEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexEnvfEXT not loaded.");
  }
  if (traceGL_Native.glMultiTexEnvfvEXT)
  {
    if (traceGL_Native.glMultiTexEnvfvEXT == glMultiTexEnvfvEXT)
    {
      traceWarning("Ignoring glMultiTexEnvfvEXT loaded from traceGL library.");
      traceGL_Native.glMultiTexEnvfvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexEnvfvEXT not loaded.");
  }
  if (traceGL_Native.glMultiTexEnviEXT)
  {
    if (traceGL_Native.glMultiTexEnviEXT == glMultiTexEnviEXT)
    {
      traceWarning("Ignoring glMultiTexEnviEXT loaded from traceGL library.");
      traceGL_Native.glMultiTexEnviEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexEnviEXT not loaded.");
  }
  if (traceGL_Native.glMultiTexEnvivEXT)
  {
    if (traceGL_Native.glMultiTexEnvivEXT == glMultiTexEnvivEXT)
    {
      traceWarning("Ignoring glMultiTexEnvivEXT loaded from traceGL library.");
      traceGL_Native.glMultiTexEnvivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexEnvivEXT not loaded.");
  }
  if (traceGL_Native.glMultiTexGendEXT)
  {
    if (traceGL_Native.glMultiTexGendEXT == glMultiTexGendEXT)
    {
      traceWarning("Ignoring glMultiTexGendEXT loaded from traceGL library.");
      traceGL_Native.glMultiTexGendEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexGendEXT not loaded.");
  }
  if (traceGL_Native.glMultiTexGendvEXT)
  {
    if (traceGL_Native.glMultiTexGendvEXT == glMultiTexGendvEXT)
    {
      traceWarning("Ignoring glMultiTexGendvEXT loaded from traceGL library.");
      traceGL_Native.glMultiTexGendvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexGendvEXT not loaded.");
  }
  if (traceGL_Native.glMultiTexGenfEXT)
  {
    if (traceGL_Native.glMultiTexGenfEXT == glMultiTexGenfEXT)
    {
      traceWarning("Ignoring glMultiTexGenfEXT loaded from traceGL library.");
      traceGL_Native.glMultiTexGenfEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexGenfEXT not loaded.");
  }
  if (traceGL_Native.glMultiTexGenfvEXT)
  {
    if (traceGL_Native.glMultiTexGenfvEXT == glMultiTexGenfvEXT)
    {
      traceWarning("Ignoring glMultiTexGenfvEXT loaded from traceGL library.");
      traceGL_Native.glMultiTexGenfvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexGenfvEXT not loaded.");
  }
  if (traceGL_Native.glMultiTexGeniEXT)
  {
    if (traceGL_Native.glMultiTexGeniEXT == glMultiTexGeniEXT)
    {
      traceWarning("Ignoring glMultiTexGeniEXT loaded from traceGL library.");
      traceGL_Native.glMultiTexGeniEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexGeniEXT not loaded.");
  }
  if (traceGL_Native.glMultiTexGenivEXT)
  {
    if (traceGL_Native.glMultiTexGenivEXT == glMultiTexGenivEXT)
    {
      traceWarning("Ignoring glMultiTexGenivEXT loaded from traceGL library.");
      traceGL_Native.glMultiTexGenivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexGenivEXT not loaded.");
  }
  if (traceGL_Native.glGetMultiTexEnvfvEXT)
  {
    if (traceGL_Native.glGetMultiTexEnvfvEXT == glGetMultiTexEnvfvEXT)
    {
      traceWarning("Ignoring glGetMultiTexEnvfvEXT loaded from traceGL library.");
      traceGL_Native.glGetMultiTexEnvfvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetMultiTexEnvfvEXT not loaded.");
  }
  if (traceGL_Native.glGetMultiTexEnvivEXT)
  {
    if (traceGL_Native.glGetMultiTexEnvivEXT == glGetMultiTexEnvivEXT)
    {
      traceWarning("Ignoring glGetMultiTexEnvivEXT loaded from traceGL library.");
      traceGL_Native.glGetMultiTexEnvivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetMultiTexEnvivEXT not loaded.");
  }
  if (traceGL_Native.glGetMultiTexGendvEXT)
  {
    if (traceGL_Native.glGetMultiTexGendvEXT == glGetMultiTexGendvEXT)
    {
      traceWarning("Ignoring glGetMultiTexGendvEXT loaded from traceGL library.");
      traceGL_Native.glGetMultiTexGendvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetMultiTexGendvEXT not loaded.");
  }
  if (traceGL_Native.glGetMultiTexGenfvEXT)
  {
    if (traceGL_Native.glGetMultiTexGenfvEXT == glGetMultiTexGenfvEXT)
    {
      traceWarning("Ignoring glGetMultiTexGenfvEXT loaded from traceGL library.");
      traceGL_Native.glGetMultiTexGenfvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetMultiTexGenfvEXT not loaded.");
  }
  if (traceGL_Native.glGetMultiTexGenivEXT)
  {
    if (traceGL_Native.glGetMultiTexGenivEXT == glGetMultiTexGenivEXT)
    {
      traceWarning("Ignoring glGetMultiTexGenivEXT loaded from traceGL library.");
      traceGL_Native.glGetMultiTexGenivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetMultiTexGenivEXT not loaded.");
  }
  if (traceGL_Native.glGetFloatIndexedvEXT)
  {
    if (traceGL_Native.glGetFloatIndexedvEXT == glGetFloatIndexedvEXT)
    {
      traceWarning("Ignoring glGetFloatIndexedvEXT loaded from traceGL library.");
      traceGL_Native.glGetFloatIndexedvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetFloatIndexedvEXT not loaded.");
  }
  if (traceGL_Native.glGetDoubleIndexedvEXT)
  {
    if (traceGL_Native.glGetDoubleIndexedvEXT == glGetDoubleIndexedvEXT)
    {
      traceWarning("Ignoring glGetDoubleIndexedvEXT loaded from traceGL library.");
      traceGL_Native.glGetDoubleIndexedvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetDoubleIndexedvEXT not loaded.");
  }
  if (traceGL_Native.glGetPointerIndexedvEXT)
  {
    if (traceGL_Native.glGetPointerIndexedvEXT == glGetPointerIndexedvEXT)
    {
      traceWarning("Ignoring glGetPointerIndexedvEXT loaded from traceGL library.");
      traceGL_Native.glGetPointerIndexedvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetPointerIndexedvEXT not loaded.");
  }
  if (traceGL_Native.glCompressedTextureImage3DEXT)
  {
    if (traceGL_Native.glCompressedTextureImage3DEXT == glCompressedTextureImage3DEXT)
    {
      traceWarning("Ignoring glCompressedTextureImage3DEXT loaded from traceGL library.");
      traceGL_Native.glCompressedTextureImage3DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCompressedTextureImage3DEXT not loaded.");
  }
  if (traceGL_Native.glCompressedTextureImage2DEXT)
  {
    if (traceGL_Native.glCompressedTextureImage2DEXT == glCompressedTextureImage2DEXT)
    {
      traceWarning("Ignoring glCompressedTextureImage2DEXT loaded from traceGL library.");
      traceGL_Native.glCompressedTextureImage2DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCompressedTextureImage2DEXT not loaded.");
  }
  if (traceGL_Native.glCompressedTextureImage1DEXT)
  {
    if (traceGL_Native.glCompressedTextureImage1DEXT == glCompressedTextureImage1DEXT)
    {
      traceWarning("Ignoring glCompressedTextureImage1DEXT loaded from traceGL library.");
      traceGL_Native.glCompressedTextureImage1DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCompressedTextureImage1DEXT not loaded.");
  }
  if (traceGL_Native.glCompressedTextureSubImage3DEXT)
  {
    if (traceGL_Native.glCompressedTextureSubImage3DEXT == glCompressedTextureSubImage3DEXT)
    {
      traceWarning("Ignoring glCompressedTextureSubImage3DEXT loaded from traceGL library.");
      traceGL_Native.glCompressedTextureSubImage3DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCompressedTextureSubImage3DEXT not loaded.");
  }
  if (traceGL_Native.glCompressedTextureSubImage2DEXT)
  {
    if (traceGL_Native.glCompressedTextureSubImage2DEXT == glCompressedTextureSubImage2DEXT)
    {
      traceWarning("Ignoring glCompressedTextureSubImage2DEXT loaded from traceGL library.");
      traceGL_Native.glCompressedTextureSubImage2DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCompressedTextureSubImage2DEXT not loaded.");
  }
  if (traceGL_Native.glCompressedTextureSubImage1DEXT)
  {
    if (traceGL_Native.glCompressedTextureSubImage1DEXT == glCompressedTextureSubImage1DEXT)
    {
      traceWarning("Ignoring glCompressedTextureSubImage1DEXT loaded from traceGL library.");
      traceGL_Native.glCompressedTextureSubImage1DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCompressedTextureSubImage1DEXT not loaded.");
  }
  if (traceGL_Native.glGetCompressedTextureImageEXT)
  {
    if (traceGL_Native.glGetCompressedTextureImageEXT == glGetCompressedTextureImageEXT)
    {
      traceWarning("Ignoring glGetCompressedTextureImageEXT loaded from traceGL library.");
      traceGL_Native.glGetCompressedTextureImageEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetCompressedTextureImageEXT not loaded.");
  }
  if (traceGL_Native.glCompressedMultiTexImage3DEXT)
  {
    if (traceGL_Native.glCompressedMultiTexImage3DEXT == glCompressedMultiTexImage3DEXT)
    {
      traceWarning("Ignoring glCompressedMultiTexImage3DEXT loaded from traceGL library.");
      traceGL_Native.glCompressedMultiTexImage3DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCompressedMultiTexImage3DEXT not loaded.");
  }
  if (traceGL_Native.glCompressedMultiTexImage2DEXT)
  {
    if (traceGL_Native.glCompressedMultiTexImage2DEXT == glCompressedMultiTexImage2DEXT)
    {
      traceWarning("Ignoring glCompressedMultiTexImage2DEXT loaded from traceGL library.");
      traceGL_Native.glCompressedMultiTexImage2DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCompressedMultiTexImage2DEXT not loaded.");
  }
  if (traceGL_Native.glCompressedMultiTexImage1DEXT)
  {
    if (traceGL_Native.glCompressedMultiTexImage1DEXT == glCompressedMultiTexImage1DEXT)
    {
      traceWarning("Ignoring glCompressedMultiTexImage1DEXT loaded from traceGL library.");
      traceGL_Native.glCompressedMultiTexImage1DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCompressedMultiTexImage1DEXT not loaded.");
  }
  if (traceGL_Native.glCompressedMultiTexSubImage3DEXT)
  {
    if (traceGL_Native.glCompressedMultiTexSubImage3DEXT == glCompressedMultiTexSubImage3DEXT)
    {
      traceWarning("Ignoring glCompressedMultiTexSubImage3DEXT loaded from traceGL library.");
      traceGL_Native.glCompressedMultiTexSubImage3DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCompressedMultiTexSubImage3DEXT not loaded.");
  }
  if (traceGL_Native.glCompressedMultiTexSubImage2DEXT)
  {
    if (traceGL_Native.glCompressedMultiTexSubImage2DEXT == glCompressedMultiTexSubImage2DEXT)
    {
      traceWarning("Ignoring glCompressedMultiTexSubImage2DEXT loaded from traceGL library.");
      traceGL_Native.glCompressedMultiTexSubImage2DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCompressedMultiTexSubImage2DEXT not loaded.");
  }
  if (traceGL_Native.glCompressedMultiTexSubImage1DEXT)
  {
    if (traceGL_Native.glCompressedMultiTexSubImage1DEXT == glCompressedMultiTexSubImage1DEXT)
    {
      traceWarning("Ignoring glCompressedMultiTexSubImage1DEXT loaded from traceGL library.");
      traceGL_Native.glCompressedMultiTexSubImage1DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCompressedMultiTexSubImage1DEXT not loaded.");
  }
  if (traceGL_Native.glGetCompressedMultiTexImageEXT)
  {
    if (traceGL_Native.glGetCompressedMultiTexImageEXT == glGetCompressedMultiTexImageEXT)
    {
      traceWarning("Ignoring glGetCompressedMultiTexImageEXT loaded from traceGL library.");
      traceGL_Native.glGetCompressedMultiTexImageEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetCompressedMultiTexImageEXT not loaded.");
  }
  if (traceGL_Native.glNamedProgramStringEXT)
  {
    if (traceGL_Native.glNamedProgramStringEXT == glNamedProgramStringEXT)
    {
      traceWarning("Ignoring glNamedProgramStringEXT loaded from traceGL library.");
      traceGL_Native.glNamedProgramStringEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNamedProgramStringEXT not loaded.");
  }
  if (traceGL_Native.glNamedProgramLocalParameter4dEXT)
  {
    if (traceGL_Native.glNamedProgramLocalParameter4dEXT == glNamedProgramLocalParameter4dEXT)
    {
      traceWarning("Ignoring glNamedProgramLocalParameter4dEXT loaded from traceGL library.");
      traceGL_Native.glNamedProgramLocalParameter4dEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNamedProgramLocalParameter4dEXT not loaded.");
  }
  if (traceGL_Native.glNamedProgramLocalParameter4dvEXT)
  {
    if (traceGL_Native.glNamedProgramLocalParameter4dvEXT == glNamedProgramLocalParameter4dvEXT)
    {
      traceWarning("Ignoring glNamedProgramLocalParameter4dvEXT loaded from traceGL library.");
      traceGL_Native.glNamedProgramLocalParameter4dvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNamedProgramLocalParameter4dvEXT not loaded.");
  }
  if (traceGL_Native.glNamedProgramLocalParameter4fEXT)
  {
    if (traceGL_Native.glNamedProgramLocalParameter4fEXT == glNamedProgramLocalParameter4fEXT)
    {
      traceWarning("Ignoring glNamedProgramLocalParameter4fEXT loaded from traceGL library.");
      traceGL_Native.glNamedProgramLocalParameter4fEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNamedProgramLocalParameter4fEXT not loaded.");
  }
  if (traceGL_Native.glNamedProgramLocalParameter4fvEXT)
  {
    if (traceGL_Native.glNamedProgramLocalParameter4fvEXT == glNamedProgramLocalParameter4fvEXT)
    {
      traceWarning("Ignoring glNamedProgramLocalParameter4fvEXT loaded from traceGL library.");
      traceGL_Native.glNamedProgramLocalParameter4fvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNamedProgramLocalParameter4fvEXT not loaded.");
  }
  if (traceGL_Native.glGetNamedProgramLocalParameterdvEXT)
  {
    if (traceGL_Native.glGetNamedProgramLocalParameterdvEXT == glGetNamedProgramLocalParameterdvEXT)
    {
      traceWarning("Ignoring glGetNamedProgramLocalParameterdvEXT loaded from traceGL library.");
      traceGL_Native.glGetNamedProgramLocalParameterdvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetNamedProgramLocalParameterdvEXT not loaded.");
  }
  if (traceGL_Native.glGetNamedProgramLocalParameterfvEXT)
  {
    if (traceGL_Native.glGetNamedProgramLocalParameterfvEXT == glGetNamedProgramLocalParameterfvEXT)
    {
      traceWarning("Ignoring glGetNamedProgramLocalParameterfvEXT loaded from traceGL library.");
      traceGL_Native.glGetNamedProgramLocalParameterfvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetNamedProgramLocalParameterfvEXT not loaded.");
  }
  if (traceGL_Native.glGetNamedProgramivEXT)
  {
    if (traceGL_Native.glGetNamedProgramivEXT == glGetNamedProgramivEXT)
    {
      traceWarning("Ignoring glGetNamedProgramivEXT loaded from traceGL library.");
      traceGL_Native.glGetNamedProgramivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetNamedProgramivEXT not loaded.");
  }
  if (traceGL_Native.glGetNamedProgramStringEXT)
  {
    if (traceGL_Native.glGetNamedProgramStringEXT == glGetNamedProgramStringEXT)
    {
      traceWarning("Ignoring glGetNamedProgramStringEXT loaded from traceGL library.");
      traceGL_Native.glGetNamedProgramStringEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetNamedProgramStringEXT not loaded.");
  }
  if (traceGL_Native.glNamedProgramLocalParameters4fvEXT)
  {
    if (traceGL_Native.glNamedProgramLocalParameters4fvEXT == glNamedProgramLocalParameters4fvEXT)
    {
      traceWarning("Ignoring glNamedProgramLocalParameters4fvEXT loaded from traceGL library.");
      traceGL_Native.glNamedProgramLocalParameters4fvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNamedProgramLocalParameters4fvEXT not loaded.");
  }
  if (traceGL_Native.glNamedProgramLocalParameterI4iEXT)
  {
    if (traceGL_Native.glNamedProgramLocalParameterI4iEXT == glNamedProgramLocalParameterI4iEXT)
    {
      traceWarning("Ignoring glNamedProgramLocalParameterI4iEXT loaded from traceGL library.");
      traceGL_Native.glNamedProgramLocalParameterI4iEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNamedProgramLocalParameterI4iEXT not loaded.");
  }
  if (traceGL_Native.glNamedProgramLocalParameterI4ivEXT)
  {
    if (traceGL_Native.glNamedProgramLocalParameterI4ivEXT == glNamedProgramLocalParameterI4ivEXT)
    {
      traceWarning("Ignoring glNamedProgramLocalParameterI4ivEXT loaded from traceGL library.");
      traceGL_Native.glNamedProgramLocalParameterI4ivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNamedProgramLocalParameterI4ivEXT not loaded.");
  }
  if (traceGL_Native.glNamedProgramLocalParametersI4ivEXT)
  {
    if (traceGL_Native.glNamedProgramLocalParametersI4ivEXT == glNamedProgramLocalParametersI4ivEXT)
    {
      traceWarning("Ignoring glNamedProgramLocalParametersI4ivEXT loaded from traceGL library.");
      traceGL_Native.glNamedProgramLocalParametersI4ivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNamedProgramLocalParametersI4ivEXT not loaded.");
  }
  if (traceGL_Native.glNamedProgramLocalParameterI4uiEXT)
  {
    if (traceGL_Native.glNamedProgramLocalParameterI4uiEXT == glNamedProgramLocalParameterI4uiEXT)
    {
      traceWarning("Ignoring glNamedProgramLocalParameterI4uiEXT loaded from traceGL library.");
      traceGL_Native.glNamedProgramLocalParameterI4uiEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNamedProgramLocalParameterI4uiEXT not loaded.");
  }
  if (traceGL_Native.glNamedProgramLocalParameterI4uivEXT)
  {
    if (traceGL_Native.glNamedProgramLocalParameterI4uivEXT == glNamedProgramLocalParameterI4uivEXT)
    {
      traceWarning("Ignoring glNamedProgramLocalParameterI4uivEXT loaded from traceGL library.");
      traceGL_Native.glNamedProgramLocalParameterI4uivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNamedProgramLocalParameterI4uivEXT not loaded.");
  }
  if (traceGL_Native.glNamedProgramLocalParametersI4uivEXT)
  {
    if (traceGL_Native.glNamedProgramLocalParametersI4uivEXT == glNamedProgramLocalParametersI4uivEXT)
    {
      traceWarning("Ignoring glNamedProgramLocalParametersI4uivEXT loaded from traceGL library.");
      traceGL_Native.glNamedProgramLocalParametersI4uivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNamedProgramLocalParametersI4uivEXT not loaded.");
  }
  if (traceGL_Native.glGetNamedProgramLocalParameterIivEXT)
  {
    if (traceGL_Native.glGetNamedProgramLocalParameterIivEXT == glGetNamedProgramLocalParameterIivEXT)
    {
      traceWarning("Ignoring glGetNamedProgramLocalParameterIivEXT loaded from traceGL library.");
      traceGL_Native.glGetNamedProgramLocalParameterIivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetNamedProgramLocalParameterIivEXT not loaded.");
  }
  if (traceGL_Native.glGetNamedProgramLocalParameterIuivEXT)
  {
    if (traceGL_Native.glGetNamedProgramLocalParameterIuivEXT == glGetNamedProgramLocalParameterIuivEXT)
    {
      traceWarning("Ignoring glGetNamedProgramLocalParameterIuivEXT loaded from traceGL library.");
      traceGL_Native.glGetNamedProgramLocalParameterIuivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetNamedProgramLocalParameterIuivEXT not loaded.");
  }
  if (traceGL_Native.glTextureParameterIivEXT)
  {
    if (traceGL_Native.glTextureParameterIivEXT == glTextureParameterIivEXT)
    {
      traceWarning("Ignoring glTextureParameterIivEXT loaded from traceGL library.");
      traceGL_Native.glTextureParameterIivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTextureParameterIivEXT not loaded.");
  }
  if (traceGL_Native.glTextureParameterIuivEXT)
  {
    if (traceGL_Native.glTextureParameterIuivEXT == glTextureParameterIuivEXT)
    {
      traceWarning("Ignoring glTextureParameterIuivEXT loaded from traceGL library.");
      traceGL_Native.glTextureParameterIuivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTextureParameterIuivEXT not loaded.");
  }
  if (traceGL_Native.glGetTextureParameterIivEXT)
  {
    if (traceGL_Native.glGetTextureParameterIivEXT == glGetTextureParameterIivEXT)
    {
      traceWarning("Ignoring glGetTextureParameterIivEXT loaded from traceGL library.");
      traceGL_Native.glGetTextureParameterIivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetTextureParameterIivEXT not loaded.");
  }
  if (traceGL_Native.glGetTextureParameterIuivEXT)
  {
    if (traceGL_Native.glGetTextureParameterIuivEXT == glGetTextureParameterIuivEXT)
    {
      traceWarning("Ignoring glGetTextureParameterIuivEXT loaded from traceGL library.");
      traceGL_Native.glGetTextureParameterIuivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetTextureParameterIuivEXT not loaded.");
  }
  if (traceGL_Native.glMultiTexParameterIivEXT)
  {
    if (traceGL_Native.glMultiTexParameterIivEXT == glMultiTexParameterIivEXT)
    {
      traceWarning("Ignoring glMultiTexParameterIivEXT loaded from traceGL library.");
      traceGL_Native.glMultiTexParameterIivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexParameterIivEXT not loaded.");
  }
  if (traceGL_Native.glMultiTexParameterIuivEXT)
  {
    if (traceGL_Native.glMultiTexParameterIuivEXT == glMultiTexParameterIuivEXT)
    {
      traceWarning("Ignoring glMultiTexParameterIuivEXT loaded from traceGL library.");
      traceGL_Native.glMultiTexParameterIuivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexParameterIuivEXT not loaded.");
  }
  if (traceGL_Native.glGetMultiTexParameterIivEXT)
  {
    if (traceGL_Native.glGetMultiTexParameterIivEXT == glGetMultiTexParameterIivEXT)
    {
      traceWarning("Ignoring glGetMultiTexParameterIivEXT loaded from traceGL library.");
      traceGL_Native.glGetMultiTexParameterIivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetMultiTexParameterIivEXT not loaded.");
  }
  if (traceGL_Native.glGetMultiTexParameterIuivEXT)
  {
    if (traceGL_Native.glGetMultiTexParameterIuivEXT == glGetMultiTexParameterIuivEXT)
    {
      traceWarning("Ignoring glGetMultiTexParameterIuivEXT loaded from traceGL library.");
      traceGL_Native.glGetMultiTexParameterIuivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetMultiTexParameterIuivEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform1fEXT)
  {
    if (traceGL_Native.glProgramUniform1fEXT == glProgramUniform1fEXT)
    {
      traceWarning("Ignoring glProgramUniform1fEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform1fEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform1fEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform2fEXT)
  {
    if (traceGL_Native.glProgramUniform2fEXT == glProgramUniform2fEXT)
    {
      traceWarning("Ignoring glProgramUniform2fEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform2fEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform2fEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform3fEXT)
  {
    if (traceGL_Native.glProgramUniform3fEXT == glProgramUniform3fEXT)
    {
      traceWarning("Ignoring glProgramUniform3fEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform3fEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform3fEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform4fEXT)
  {
    if (traceGL_Native.glProgramUniform4fEXT == glProgramUniform4fEXT)
    {
      traceWarning("Ignoring glProgramUniform4fEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform4fEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform4fEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform1iEXT)
  {
    if (traceGL_Native.glProgramUniform1iEXT == glProgramUniform1iEXT)
    {
      traceWarning("Ignoring glProgramUniform1iEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform1iEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform1iEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform2iEXT)
  {
    if (traceGL_Native.glProgramUniform2iEXT == glProgramUniform2iEXT)
    {
      traceWarning("Ignoring glProgramUniform2iEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform2iEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform2iEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform3iEXT)
  {
    if (traceGL_Native.glProgramUniform3iEXT == glProgramUniform3iEXT)
    {
      traceWarning("Ignoring glProgramUniform3iEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform3iEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform3iEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform4iEXT)
  {
    if (traceGL_Native.glProgramUniform4iEXT == glProgramUniform4iEXT)
    {
      traceWarning("Ignoring glProgramUniform4iEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform4iEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform4iEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform1fvEXT)
  {
    if (traceGL_Native.glProgramUniform1fvEXT == glProgramUniform1fvEXT)
    {
      traceWarning("Ignoring glProgramUniform1fvEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform1fvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform1fvEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform2fvEXT)
  {
    if (traceGL_Native.glProgramUniform2fvEXT == glProgramUniform2fvEXT)
    {
      traceWarning("Ignoring glProgramUniform2fvEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform2fvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform2fvEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform3fvEXT)
  {
    if (traceGL_Native.glProgramUniform3fvEXT == glProgramUniform3fvEXT)
    {
      traceWarning("Ignoring glProgramUniform3fvEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform3fvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform3fvEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform4fvEXT)
  {
    if (traceGL_Native.glProgramUniform4fvEXT == glProgramUniform4fvEXT)
    {
      traceWarning("Ignoring glProgramUniform4fvEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform4fvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform4fvEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform1ivEXT)
  {
    if (traceGL_Native.glProgramUniform1ivEXT == glProgramUniform1ivEXT)
    {
      traceWarning("Ignoring glProgramUniform1ivEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform1ivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform1ivEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform2ivEXT)
  {
    if (traceGL_Native.glProgramUniform2ivEXT == glProgramUniform2ivEXT)
    {
      traceWarning("Ignoring glProgramUniform2ivEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform2ivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform2ivEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform3ivEXT)
  {
    if (traceGL_Native.glProgramUniform3ivEXT == glProgramUniform3ivEXT)
    {
      traceWarning("Ignoring glProgramUniform3ivEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform3ivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform3ivEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform4ivEXT)
  {
    if (traceGL_Native.glProgramUniform4ivEXT == glProgramUniform4ivEXT)
    {
      traceWarning("Ignoring glProgramUniform4ivEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform4ivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform4ivEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix2fvEXT)
  {
    if (traceGL_Native.glProgramUniformMatrix2fvEXT == glProgramUniformMatrix2fvEXT)
    {
      traceWarning("Ignoring glProgramUniformMatrix2fvEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix2fvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix2fvEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix3fvEXT)
  {
    if (traceGL_Native.glProgramUniformMatrix3fvEXT == glProgramUniformMatrix3fvEXT)
    {
      traceWarning("Ignoring glProgramUniformMatrix3fvEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix3fvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix3fvEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix4fvEXT)
  {
    if (traceGL_Native.glProgramUniformMatrix4fvEXT == glProgramUniformMatrix4fvEXT)
    {
      traceWarning("Ignoring glProgramUniformMatrix4fvEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix4fvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix4fvEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix2x3fvEXT)
  {
    if (traceGL_Native.glProgramUniformMatrix2x3fvEXT == glProgramUniformMatrix2x3fvEXT)
    {
      traceWarning("Ignoring glProgramUniformMatrix2x3fvEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix2x3fvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix2x3fvEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix3x2fvEXT)
  {
    if (traceGL_Native.glProgramUniformMatrix3x2fvEXT == glProgramUniformMatrix3x2fvEXT)
    {
      traceWarning("Ignoring glProgramUniformMatrix3x2fvEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix3x2fvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix3x2fvEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix2x4fvEXT)
  {
    if (traceGL_Native.glProgramUniformMatrix2x4fvEXT == glProgramUniformMatrix2x4fvEXT)
    {
      traceWarning("Ignoring glProgramUniformMatrix2x4fvEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix2x4fvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix2x4fvEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix4x2fvEXT)
  {
    if (traceGL_Native.glProgramUniformMatrix4x2fvEXT == glProgramUniformMatrix4x2fvEXT)
    {
      traceWarning("Ignoring glProgramUniformMatrix4x2fvEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix4x2fvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix4x2fvEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix3x4fvEXT)
  {
    if (traceGL_Native.glProgramUniformMatrix3x4fvEXT == glProgramUniformMatrix3x4fvEXT)
    {
      traceWarning("Ignoring glProgramUniformMatrix3x4fvEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix3x4fvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix3x4fvEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix4x3fvEXT)
  {
    if (traceGL_Native.glProgramUniformMatrix4x3fvEXT == glProgramUniformMatrix4x3fvEXT)
    {
      traceWarning("Ignoring glProgramUniformMatrix4x3fvEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix4x3fvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix4x3fvEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform1uiEXT)
  {
    if (traceGL_Native.glProgramUniform1uiEXT == glProgramUniform1uiEXT)
    {
      traceWarning("Ignoring glProgramUniform1uiEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform1uiEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform1uiEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform2uiEXT)
  {
    if (traceGL_Native.glProgramUniform2uiEXT == glProgramUniform2uiEXT)
    {
      traceWarning("Ignoring glProgramUniform2uiEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform2uiEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform2uiEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform3uiEXT)
  {
    if (traceGL_Native.glProgramUniform3uiEXT == glProgramUniform3uiEXT)
    {
      traceWarning("Ignoring glProgramUniform3uiEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform3uiEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform3uiEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform4uiEXT)
  {
    if (traceGL_Native.glProgramUniform4uiEXT == glProgramUniform4uiEXT)
    {
      traceWarning("Ignoring glProgramUniform4uiEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform4uiEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform4uiEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform1uivEXT)
  {
    if (traceGL_Native.glProgramUniform1uivEXT == glProgramUniform1uivEXT)
    {
      traceWarning("Ignoring glProgramUniform1uivEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform1uivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform1uivEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform2uivEXT)
  {
    if (traceGL_Native.glProgramUniform2uivEXT == glProgramUniform2uivEXT)
    {
      traceWarning("Ignoring glProgramUniform2uivEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform2uivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform2uivEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform3uivEXT)
  {
    if (traceGL_Native.glProgramUniform3uivEXT == glProgramUniform3uivEXT)
    {
      traceWarning("Ignoring glProgramUniform3uivEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform3uivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform3uivEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform4uivEXT)
  {
    if (traceGL_Native.glProgramUniform4uivEXT == glProgramUniform4uivEXT)
    {
      traceWarning("Ignoring glProgramUniform4uivEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform4uivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform4uivEXT not loaded.");
  }
  if (traceGL_Native.glNamedBufferDataEXT)
  {
    if (traceGL_Native.glNamedBufferDataEXT == glNamedBufferDataEXT)
    {
      traceWarning("Ignoring glNamedBufferDataEXT loaded from traceGL library.");
      traceGL_Native.glNamedBufferDataEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNamedBufferDataEXT not loaded.");
  }
  if (traceGL_Native.glNamedBufferSubDataEXT)
  {
    if (traceGL_Native.glNamedBufferSubDataEXT == glNamedBufferSubDataEXT)
    {
      traceWarning("Ignoring glNamedBufferSubDataEXT loaded from traceGL library.");
      traceGL_Native.glNamedBufferSubDataEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNamedBufferSubDataEXT not loaded.");
  }
  if (traceGL_Native.glMapNamedBufferEXT)
  {
    if (traceGL_Native.glMapNamedBufferEXT == glMapNamedBufferEXT)
    {
      traceWarning("Ignoring glMapNamedBufferEXT loaded from traceGL library.");
      traceGL_Native.glMapNamedBufferEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMapNamedBufferEXT not loaded.");
  }
  if (traceGL_Native.glUnmapNamedBufferEXT)
  {
    if (traceGL_Native.glUnmapNamedBufferEXT == glUnmapNamedBufferEXT)
    {
      traceWarning("Ignoring glUnmapNamedBufferEXT loaded from traceGL library.");
      traceGL_Native.glUnmapNamedBufferEXT = NULL;
    }
  }
  else
  {
    traceWarning("glUnmapNamedBufferEXT not loaded.");
  }
  if (traceGL_Native.glGetNamedBufferParameterivEXT)
  {
    if (traceGL_Native.glGetNamedBufferParameterivEXT == glGetNamedBufferParameterivEXT)
    {
      traceWarning("Ignoring glGetNamedBufferParameterivEXT loaded from traceGL library.");
      traceGL_Native.glGetNamedBufferParameterivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetNamedBufferParameterivEXT not loaded.");
  }
  if (traceGL_Native.glGetNamedBufferPointervEXT)
  {
    if (traceGL_Native.glGetNamedBufferPointervEXT == glGetNamedBufferPointervEXT)
    {
      traceWarning("Ignoring glGetNamedBufferPointervEXT loaded from traceGL library.");
      traceGL_Native.glGetNamedBufferPointervEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetNamedBufferPointervEXT not loaded.");
  }
  if (traceGL_Native.glGetNamedBufferSubDataEXT)
  {
    if (traceGL_Native.glGetNamedBufferSubDataEXT == glGetNamedBufferSubDataEXT)
    {
      traceWarning("Ignoring glGetNamedBufferSubDataEXT loaded from traceGL library.");
      traceGL_Native.glGetNamedBufferSubDataEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetNamedBufferSubDataEXT not loaded.");
  }
  if (traceGL_Native.glTextureBufferEXT)
  {
    if (traceGL_Native.glTextureBufferEXT == glTextureBufferEXT)
    {
      traceWarning("Ignoring glTextureBufferEXT loaded from traceGL library.");
      traceGL_Native.glTextureBufferEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTextureBufferEXT not loaded.");
  }
  if (traceGL_Native.glMultiTexBufferEXT)
  {
    if (traceGL_Native.glMultiTexBufferEXT == glMultiTexBufferEXT)
    {
      traceWarning("Ignoring glMultiTexBufferEXT loaded from traceGL library.");
      traceGL_Native.glMultiTexBufferEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexBufferEXT not loaded.");
  }
  if (traceGL_Native.glNamedRenderbufferStorageEXT)
  {
    if (traceGL_Native.glNamedRenderbufferStorageEXT == glNamedRenderbufferStorageEXT)
    {
      traceWarning("Ignoring glNamedRenderbufferStorageEXT loaded from traceGL library.");
      traceGL_Native.glNamedRenderbufferStorageEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNamedRenderbufferStorageEXT not loaded.");
  }
  if (traceGL_Native.glGetNamedRenderbufferParameterivEXT)
  {
    if (traceGL_Native.glGetNamedRenderbufferParameterivEXT == glGetNamedRenderbufferParameterivEXT)
    {
      traceWarning("Ignoring glGetNamedRenderbufferParameterivEXT loaded from traceGL library.");
      traceGL_Native.glGetNamedRenderbufferParameterivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetNamedRenderbufferParameterivEXT not loaded.");
  }
  if (traceGL_Native.glCheckNamedFramebufferStatusEXT)
  {
    if (traceGL_Native.glCheckNamedFramebufferStatusEXT == glCheckNamedFramebufferStatusEXT)
    {
      traceWarning("Ignoring glCheckNamedFramebufferStatusEXT loaded from traceGL library.");
      traceGL_Native.glCheckNamedFramebufferStatusEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCheckNamedFramebufferStatusEXT not loaded.");
  }
  if (traceGL_Native.glNamedFramebufferTexture1DEXT)
  {
    if (traceGL_Native.glNamedFramebufferTexture1DEXT == glNamedFramebufferTexture1DEXT)
    {
      traceWarning("Ignoring glNamedFramebufferTexture1DEXT loaded from traceGL library.");
      traceGL_Native.glNamedFramebufferTexture1DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNamedFramebufferTexture1DEXT not loaded.");
  }
  if (traceGL_Native.glNamedFramebufferTexture2DEXT)
  {
    if (traceGL_Native.glNamedFramebufferTexture2DEXT == glNamedFramebufferTexture2DEXT)
    {
      traceWarning("Ignoring glNamedFramebufferTexture2DEXT loaded from traceGL library.");
      traceGL_Native.glNamedFramebufferTexture2DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNamedFramebufferTexture2DEXT not loaded.");
  }
  if (traceGL_Native.glNamedFramebufferTexture3DEXT)
  {
    if (traceGL_Native.glNamedFramebufferTexture3DEXT == glNamedFramebufferTexture3DEXT)
    {
      traceWarning("Ignoring glNamedFramebufferTexture3DEXT loaded from traceGL library.");
      traceGL_Native.glNamedFramebufferTexture3DEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNamedFramebufferTexture3DEXT not loaded.");
  }
  if (traceGL_Native.glNamedFramebufferRenderbufferEXT)
  {
    if (traceGL_Native.glNamedFramebufferRenderbufferEXT == glNamedFramebufferRenderbufferEXT)
    {
      traceWarning("Ignoring glNamedFramebufferRenderbufferEXT loaded from traceGL library.");
      traceGL_Native.glNamedFramebufferRenderbufferEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNamedFramebufferRenderbufferEXT not loaded.");
  }
  if (traceGL_Native.glGetNamedFramebufferAttachmentParameterivEXT)
  {
    if (traceGL_Native.glGetNamedFramebufferAttachmentParameterivEXT == glGetNamedFramebufferAttachmentParameterivEXT)
    {
      traceWarning("Ignoring glGetNamedFramebufferAttachmentParameterivEXT loaded from traceGL library.");
      traceGL_Native.glGetNamedFramebufferAttachmentParameterivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetNamedFramebufferAttachmentParameterivEXT not loaded.");
  }
  if (traceGL_Native.glGenerateTextureMipmapEXT)
  {
    if (traceGL_Native.glGenerateTextureMipmapEXT == glGenerateTextureMipmapEXT)
    {
      traceWarning("Ignoring glGenerateTextureMipmapEXT loaded from traceGL library.");
      traceGL_Native.glGenerateTextureMipmapEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGenerateTextureMipmapEXT not loaded.");
  }
  if (traceGL_Native.glGenerateMultiTexMipmapEXT)
  {
    if (traceGL_Native.glGenerateMultiTexMipmapEXT == glGenerateMultiTexMipmapEXT)
    {
      traceWarning("Ignoring glGenerateMultiTexMipmapEXT loaded from traceGL library.");
      traceGL_Native.glGenerateMultiTexMipmapEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGenerateMultiTexMipmapEXT not loaded.");
  }
  if (traceGL_Native.glFramebufferDrawBufferEXT)
  {
    if (traceGL_Native.glFramebufferDrawBufferEXT == glFramebufferDrawBufferEXT)
    {
      traceWarning("Ignoring glFramebufferDrawBufferEXT loaded from traceGL library.");
      traceGL_Native.glFramebufferDrawBufferEXT = NULL;
    }
  }
  else
  {
    traceWarning("glFramebufferDrawBufferEXT not loaded.");
  }
  if (traceGL_Native.glFramebufferDrawBuffersEXT)
  {
    if (traceGL_Native.glFramebufferDrawBuffersEXT == glFramebufferDrawBuffersEXT)
    {
      traceWarning("Ignoring glFramebufferDrawBuffersEXT loaded from traceGL library.");
      traceGL_Native.glFramebufferDrawBuffersEXT = NULL;
    }
  }
  else
  {
    traceWarning("glFramebufferDrawBuffersEXT not loaded.");
  }
  if (traceGL_Native.glFramebufferReadBufferEXT)
  {
    if (traceGL_Native.glFramebufferReadBufferEXT == glFramebufferReadBufferEXT)
    {
      traceWarning("Ignoring glFramebufferReadBufferEXT loaded from traceGL library.");
      traceGL_Native.glFramebufferReadBufferEXT = NULL;
    }
  }
  else
  {
    traceWarning("glFramebufferReadBufferEXT not loaded.");
  }
  if (traceGL_Native.glGetFramebufferParameterivEXT)
  {
    if (traceGL_Native.glGetFramebufferParameterivEXT == glGetFramebufferParameterivEXT)
    {
      traceWarning("Ignoring glGetFramebufferParameterivEXT loaded from traceGL library.");
      traceGL_Native.glGetFramebufferParameterivEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetFramebufferParameterivEXT not loaded.");
  }
  if (traceGL_Native.glNamedRenderbufferStorageMultisampleEXT)
  {
    if (traceGL_Native.glNamedRenderbufferStorageMultisampleEXT == glNamedRenderbufferStorageMultisampleEXT)
    {
      traceWarning("Ignoring glNamedRenderbufferStorageMultisampleEXT loaded from traceGL library.");
      traceGL_Native.glNamedRenderbufferStorageMultisampleEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNamedRenderbufferStorageMultisampleEXT not loaded.");
  }
  if (traceGL_Native.glNamedRenderbufferStorageMultisampleCoverageEXT)
  {
    if (traceGL_Native.glNamedRenderbufferStorageMultisampleCoverageEXT == glNamedRenderbufferStorageMultisampleCoverageEXT)
    {
      traceWarning("Ignoring glNamedRenderbufferStorageMultisampleCoverageEXT loaded from traceGL library.");
      traceGL_Native.glNamedRenderbufferStorageMultisampleCoverageEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNamedRenderbufferStorageMultisampleCoverageEXT not loaded.");
  }
  if (traceGL_Native.glNamedFramebufferTextureEXT)
  {
    if (traceGL_Native.glNamedFramebufferTextureEXT == glNamedFramebufferTextureEXT)
    {
      traceWarning("Ignoring glNamedFramebufferTextureEXT loaded from traceGL library.");
      traceGL_Native.glNamedFramebufferTextureEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNamedFramebufferTextureEXT not loaded.");
  }
  if (traceGL_Native.glNamedFramebufferTextureLayerEXT)
  {
    if (traceGL_Native.glNamedFramebufferTextureLayerEXT == glNamedFramebufferTextureLayerEXT)
    {
      traceWarning("Ignoring glNamedFramebufferTextureLayerEXT loaded from traceGL library.");
      traceGL_Native.glNamedFramebufferTextureLayerEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNamedFramebufferTextureLayerEXT not loaded.");
  }
  if (traceGL_Native.glNamedFramebufferTextureFaceEXT)
  {
    if (traceGL_Native.glNamedFramebufferTextureFaceEXT == glNamedFramebufferTextureFaceEXT)
    {
      traceWarning("Ignoring glNamedFramebufferTextureFaceEXT loaded from traceGL library.");
      traceGL_Native.glNamedFramebufferTextureFaceEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNamedFramebufferTextureFaceEXT not loaded.");
  }
  if (traceGL_Native.glTextureRenderbufferEXT)
  {
    if (traceGL_Native.glTextureRenderbufferEXT == glTextureRenderbufferEXT)
    {
      traceWarning("Ignoring glTextureRenderbufferEXT loaded from traceGL library.");
      traceGL_Native.glTextureRenderbufferEXT = NULL;
    }
  }
  else
  {
    traceWarning("glTextureRenderbufferEXT not loaded.");
  }
  if (traceGL_Native.glMultiTexRenderbufferEXT)
  {
    if (traceGL_Native.glMultiTexRenderbufferEXT == glMultiTexRenderbufferEXT)
    {
      traceWarning("Ignoring glMultiTexRenderbufferEXT loaded from traceGL library.");
      traceGL_Native.glMultiTexRenderbufferEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMultiTexRenderbufferEXT not loaded.");
  }
  if (traceGL_Native.glMapNamedBufferRangeEXT)
  {
    if (traceGL_Native.glMapNamedBufferRangeEXT == glMapNamedBufferRangeEXT)
    {
      traceWarning("Ignoring glMapNamedBufferRangeEXT loaded from traceGL library.");
      traceGL_Native.glMapNamedBufferRangeEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMapNamedBufferRangeEXT not loaded.");
  }
  if (traceGL_Native.glFlushMappedNamedBufferRangeEXT)
  {
    if (traceGL_Native.glFlushMappedNamedBufferRangeEXT == glFlushMappedNamedBufferRangeEXT)
    {
      traceWarning("Ignoring glFlushMappedNamedBufferRangeEXT loaded from traceGL library.");
      traceGL_Native.glFlushMappedNamedBufferRangeEXT = NULL;
    }
  }
  else
  {
    traceWarning("glFlushMappedNamedBufferRangeEXT not loaded.");
  }
  if (traceGL_Native.glNamedCopyBufferSubDataEXT)
  {
    if (traceGL_Native.glNamedCopyBufferSubDataEXT == glNamedCopyBufferSubDataEXT)
    {
      traceWarning("Ignoring glNamedCopyBufferSubDataEXT loaded from traceGL library.");
      traceGL_Native.glNamedCopyBufferSubDataEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNamedCopyBufferSubDataEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform1dEXT)
  {
    if (traceGL_Native.glProgramUniform1dEXT == glProgramUniform1dEXT)
    {
      traceWarning("Ignoring glProgramUniform1dEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform1dEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform1dEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform2dEXT)
  {
    if (traceGL_Native.glProgramUniform2dEXT == glProgramUniform2dEXT)
    {
      traceWarning("Ignoring glProgramUniform2dEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform2dEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform2dEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform3dEXT)
  {
    if (traceGL_Native.glProgramUniform3dEXT == glProgramUniform3dEXT)
    {
      traceWarning("Ignoring glProgramUniform3dEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform3dEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform3dEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform4dEXT)
  {
    if (traceGL_Native.glProgramUniform4dEXT == glProgramUniform4dEXT)
    {
      traceWarning("Ignoring glProgramUniform4dEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform4dEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform4dEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform1dvEXT)
  {
    if (traceGL_Native.glProgramUniform1dvEXT == glProgramUniform1dvEXT)
    {
      traceWarning("Ignoring glProgramUniform1dvEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform1dvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform1dvEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform2dvEXT)
  {
    if (traceGL_Native.glProgramUniform2dvEXT == glProgramUniform2dvEXT)
    {
      traceWarning("Ignoring glProgramUniform2dvEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform2dvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform2dvEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform3dvEXT)
  {
    if (traceGL_Native.glProgramUniform3dvEXT == glProgramUniform3dvEXT)
    {
      traceWarning("Ignoring glProgramUniform3dvEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform3dvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform3dvEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniform4dvEXT)
  {
    if (traceGL_Native.glProgramUniform4dvEXT == glProgramUniform4dvEXT)
    {
      traceWarning("Ignoring glProgramUniform4dvEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniform4dvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform4dvEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix2dvEXT)
  {
    if (traceGL_Native.glProgramUniformMatrix2dvEXT == glProgramUniformMatrix2dvEXT)
    {
      traceWarning("Ignoring glProgramUniformMatrix2dvEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix2dvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix2dvEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix3dvEXT)
  {
    if (traceGL_Native.glProgramUniformMatrix3dvEXT == glProgramUniformMatrix3dvEXT)
    {
      traceWarning("Ignoring glProgramUniformMatrix3dvEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix3dvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix3dvEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix4dvEXT)
  {
    if (traceGL_Native.glProgramUniformMatrix4dvEXT == glProgramUniformMatrix4dvEXT)
    {
      traceWarning("Ignoring glProgramUniformMatrix4dvEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix4dvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix4dvEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix2x3dvEXT)
  {
    if (traceGL_Native.glProgramUniformMatrix2x3dvEXT == glProgramUniformMatrix2x3dvEXT)
    {
      traceWarning("Ignoring glProgramUniformMatrix2x3dvEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix2x3dvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix2x3dvEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix2x4dvEXT)
  {
    if (traceGL_Native.glProgramUniformMatrix2x4dvEXT == glProgramUniformMatrix2x4dvEXT)
    {
      traceWarning("Ignoring glProgramUniformMatrix2x4dvEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix2x4dvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix2x4dvEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix3x2dvEXT)
  {
    if (traceGL_Native.glProgramUniformMatrix3x2dvEXT == glProgramUniformMatrix3x2dvEXT)
    {
      traceWarning("Ignoring glProgramUniformMatrix3x2dvEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix3x2dvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix3x2dvEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix3x4dvEXT)
  {
    if (traceGL_Native.glProgramUniformMatrix3x4dvEXT == glProgramUniformMatrix3x4dvEXT)
    {
      traceWarning("Ignoring glProgramUniformMatrix3x4dvEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix3x4dvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix3x4dvEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix4x2dvEXT)
  {
    if (traceGL_Native.glProgramUniformMatrix4x2dvEXT == glProgramUniformMatrix4x2dvEXT)
    {
      traceWarning("Ignoring glProgramUniformMatrix4x2dvEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix4x2dvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix4x2dvEXT not loaded.");
  }
  if (traceGL_Native.glProgramUniformMatrix4x3dvEXT)
  {
    if (traceGL_Native.glProgramUniformMatrix4x3dvEXT == glProgramUniformMatrix4x3dvEXT)
    {
      traceWarning("Ignoring glProgramUniformMatrix4x3dvEXT loaded from traceGL library.");
      traceGL_Native.glProgramUniformMatrix4x3dvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformMatrix4x3dvEXT not loaded.");
  }
  if (traceGL_Native.glGetMultisamplefvNV)
  {
    if (traceGL_Native.glGetMultisamplefvNV == glGetMultisamplefvNV)
    {
      traceWarning("Ignoring glGetMultisamplefvNV loaded from traceGL library.");
      traceGL_Native.glGetMultisamplefvNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetMultisamplefvNV not loaded.");
  }
  if (traceGL_Native.glSampleMaskIndexedNV)
  {
    if (traceGL_Native.glSampleMaskIndexedNV == glSampleMaskIndexedNV)
    {
      traceWarning("Ignoring glSampleMaskIndexedNV loaded from traceGL library.");
      traceGL_Native.glSampleMaskIndexedNV = NULL;
    }
  }
  else
  {
    traceWarning("glSampleMaskIndexedNV not loaded.");
  }
  if (traceGL_Native.glTexRenderbufferNV)
  {
    if (traceGL_Native.glTexRenderbufferNV == glTexRenderbufferNV)
    {
      traceWarning("Ignoring glTexRenderbufferNV loaded from traceGL library.");
      traceGL_Native.glTexRenderbufferNV = NULL;
    }
  }
  else
  {
    traceWarning("glTexRenderbufferNV not loaded.");
  }
  if (traceGL_Native.glBindTransformFeedbackNV)
  {
    if (traceGL_Native.glBindTransformFeedbackNV == glBindTransformFeedbackNV)
    {
      traceWarning("Ignoring glBindTransformFeedbackNV loaded from traceGL library.");
      traceGL_Native.glBindTransformFeedbackNV = NULL;
    }
  }
  else
  {
    traceWarning("glBindTransformFeedbackNV not loaded.");
  }
  if (traceGL_Native.glDeleteTransformFeedbacksNV)
  {
    if (traceGL_Native.glDeleteTransformFeedbacksNV == glDeleteTransformFeedbacksNV)
    {
      traceWarning("Ignoring glDeleteTransformFeedbacksNV loaded from traceGL library.");
      traceGL_Native.glDeleteTransformFeedbacksNV = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteTransformFeedbacksNV not loaded.");
  }
  if (traceGL_Native.glGenTransformFeedbacksNV)
  {
    if (traceGL_Native.glGenTransformFeedbacksNV == glGenTransformFeedbacksNV)
    {
      traceWarning("Ignoring glGenTransformFeedbacksNV loaded from traceGL library.");
      traceGL_Native.glGenTransformFeedbacksNV = NULL;
    }
  }
  else
  {
    traceWarning("glGenTransformFeedbacksNV not loaded.");
  }
  if (traceGL_Native.glIsTransformFeedbackNV)
  {
    if (traceGL_Native.glIsTransformFeedbackNV == glIsTransformFeedbackNV)
    {
      traceWarning("Ignoring glIsTransformFeedbackNV loaded from traceGL library.");
      traceGL_Native.glIsTransformFeedbackNV = NULL;
    }
  }
  else
  {
    traceWarning("glIsTransformFeedbackNV not loaded.");
  }
  if (traceGL_Native.glPauseTransformFeedbackNV)
  {
    if (traceGL_Native.glPauseTransformFeedbackNV == glPauseTransformFeedbackNV)
    {
      traceWarning("Ignoring glPauseTransformFeedbackNV loaded from traceGL library.");
      traceGL_Native.glPauseTransformFeedbackNV = NULL;
    }
  }
  else
  {
    traceWarning("glPauseTransformFeedbackNV not loaded.");
  }
  if (traceGL_Native.glResumeTransformFeedbackNV)
  {
    if (traceGL_Native.glResumeTransformFeedbackNV == glResumeTransformFeedbackNV)
    {
      traceWarning("Ignoring glResumeTransformFeedbackNV loaded from traceGL library.");
      traceGL_Native.glResumeTransformFeedbackNV = NULL;
    }
  }
  else
  {
    traceWarning("glResumeTransformFeedbackNV not loaded.");
  }
  if (traceGL_Native.glDrawTransformFeedbackNV)
  {
    if (traceGL_Native.glDrawTransformFeedbackNV == glDrawTransformFeedbackNV)
    {
      traceWarning("Ignoring glDrawTransformFeedbackNV loaded from traceGL library.");
      traceGL_Native.glDrawTransformFeedbackNV = NULL;
    }
  }
  else
  {
    traceWarning("glDrawTransformFeedbackNV not loaded.");
  }
  if (traceGL_Native.glGetPerfMonitorGroupsAMD)
  {
    if (traceGL_Native.glGetPerfMonitorGroupsAMD == glGetPerfMonitorGroupsAMD)
    {
      traceWarning("Ignoring glGetPerfMonitorGroupsAMD loaded from traceGL library.");
      traceGL_Native.glGetPerfMonitorGroupsAMD = NULL;
    }
  }
  else
  {
    traceWarning("glGetPerfMonitorGroupsAMD not loaded.");
  }
  if (traceGL_Native.glGetPerfMonitorCountersAMD)
  {
    if (traceGL_Native.glGetPerfMonitorCountersAMD == glGetPerfMonitorCountersAMD)
    {
      traceWarning("Ignoring glGetPerfMonitorCountersAMD loaded from traceGL library.");
      traceGL_Native.glGetPerfMonitorCountersAMD = NULL;
    }
  }
  else
  {
    traceWarning("glGetPerfMonitorCountersAMD not loaded.");
  }
  if (traceGL_Native.glGetPerfMonitorGroupStringAMD)
  {
    if (traceGL_Native.glGetPerfMonitorGroupStringAMD == glGetPerfMonitorGroupStringAMD)
    {
      traceWarning("Ignoring glGetPerfMonitorGroupStringAMD loaded from traceGL library.");
      traceGL_Native.glGetPerfMonitorGroupStringAMD = NULL;
    }
  }
  else
  {
    traceWarning("glGetPerfMonitorGroupStringAMD not loaded.");
  }
  if (traceGL_Native.glGetPerfMonitorCounterStringAMD)
  {
    if (traceGL_Native.glGetPerfMonitorCounterStringAMD == glGetPerfMonitorCounterStringAMD)
    {
      traceWarning("Ignoring glGetPerfMonitorCounterStringAMD loaded from traceGL library.");
      traceGL_Native.glGetPerfMonitorCounterStringAMD = NULL;
    }
  }
  else
  {
    traceWarning("glGetPerfMonitorCounterStringAMD not loaded.");
  }
  if (traceGL_Native.glGetPerfMonitorCounterInfoAMD)
  {
    if (traceGL_Native.glGetPerfMonitorCounterInfoAMD == glGetPerfMonitorCounterInfoAMD)
    {
      traceWarning("Ignoring glGetPerfMonitorCounterInfoAMD loaded from traceGL library.");
      traceGL_Native.glGetPerfMonitorCounterInfoAMD = NULL;
    }
  }
  else
  {
    traceWarning("glGetPerfMonitorCounterInfoAMD not loaded.");
  }
  if (traceGL_Native.glGenPerfMonitorsAMD)
  {
    if (traceGL_Native.glGenPerfMonitorsAMD == glGenPerfMonitorsAMD)
    {
      traceWarning("Ignoring glGenPerfMonitorsAMD loaded from traceGL library.");
      traceGL_Native.glGenPerfMonitorsAMD = NULL;
    }
  }
  else
  {
    traceWarning("glGenPerfMonitorsAMD not loaded.");
  }
  if (traceGL_Native.glDeletePerfMonitorsAMD)
  {
    if (traceGL_Native.glDeletePerfMonitorsAMD == glDeletePerfMonitorsAMD)
    {
      traceWarning("Ignoring glDeletePerfMonitorsAMD loaded from traceGL library.");
      traceGL_Native.glDeletePerfMonitorsAMD = NULL;
    }
  }
  else
  {
    traceWarning("glDeletePerfMonitorsAMD not loaded.");
  }
  if (traceGL_Native.glSelectPerfMonitorCountersAMD)
  {
    if (traceGL_Native.glSelectPerfMonitorCountersAMD == glSelectPerfMonitorCountersAMD)
    {
      traceWarning("Ignoring glSelectPerfMonitorCountersAMD loaded from traceGL library.");
      traceGL_Native.glSelectPerfMonitorCountersAMD = NULL;
    }
  }
  else
  {
    traceWarning("glSelectPerfMonitorCountersAMD not loaded.");
  }
  if (traceGL_Native.glBeginPerfMonitorAMD)
  {
    if (traceGL_Native.glBeginPerfMonitorAMD == glBeginPerfMonitorAMD)
    {
      traceWarning("Ignoring glBeginPerfMonitorAMD loaded from traceGL library.");
      traceGL_Native.glBeginPerfMonitorAMD = NULL;
    }
  }
  else
  {
    traceWarning("glBeginPerfMonitorAMD not loaded.");
  }
  if (traceGL_Native.glEndPerfMonitorAMD)
  {
    if (traceGL_Native.glEndPerfMonitorAMD == glEndPerfMonitorAMD)
    {
      traceWarning("Ignoring glEndPerfMonitorAMD loaded from traceGL library.");
      traceGL_Native.glEndPerfMonitorAMD = NULL;
    }
  }
  else
  {
    traceWarning("glEndPerfMonitorAMD not loaded.");
  }
  if (traceGL_Native.glGetPerfMonitorCounterDataAMD)
  {
    if (traceGL_Native.glGetPerfMonitorCounterDataAMD == glGetPerfMonitorCounterDataAMD)
    {
      traceWarning("Ignoring glGetPerfMonitorCounterDataAMD loaded from traceGL library.");
      traceGL_Native.glGetPerfMonitorCounterDataAMD = NULL;
    }
  }
  else
  {
    traceWarning("glGetPerfMonitorCounterDataAMD not loaded.");
  }
  if (traceGL_Native.glTessellationFactorAMD)
  {
    if (traceGL_Native.glTessellationFactorAMD == glTessellationFactorAMD)
    {
      traceWarning("Ignoring glTessellationFactorAMD loaded from traceGL library.");
      traceGL_Native.glTessellationFactorAMD = NULL;
    }
  }
  else
  {
    traceWarning("glTessellationFactorAMD not loaded.");
  }
  if (traceGL_Native.glTessellationModeAMD)
  {
    if (traceGL_Native.glTessellationModeAMD == glTessellationModeAMD)
    {
      traceWarning("Ignoring glTessellationModeAMD loaded from traceGL library.");
      traceGL_Native.glTessellationModeAMD = NULL;
    }
  }
  else
  {
    traceWarning("glTessellationModeAMD not loaded.");
  }
  if (traceGL_Native.glProvokingVertexEXT)
  {
    if (traceGL_Native.glProvokingVertexEXT == glProvokingVertexEXT)
    {
      traceWarning("Ignoring glProvokingVertexEXT loaded from traceGL library.");
      traceGL_Native.glProvokingVertexEXT = NULL;
    }
  }
  else
  {
    traceWarning("glProvokingVertexEXT not loaded.");
  }
  if (traceGL_Native.glBlendFuncIndexedAMD)
  {
    if (traceGL_Native.glBlendFuncIndexedAMD == glBlendFuncIndexedAMD)
    {
      traceWarning("Ignoring glBlendFuncIndexedAMD loaded from traceGL library.");
      traceGL_Native.glBlendFuncIndexedAMD = NULL;
    }
  }
  else
  {
    traceWarning("glBlendFuncIndexedAMD not loaded.");
  }
  if (traceGL_Native.glBlendFuncSeparateIndexedAMD)
  {
    if (traceGL_Native.glBlendFuncSeparateIndexedAMD == glBlendFuncSeparateIndexedAMD)
    {
      traceWarning("Ignoring glBlendFuncSeparateIndexedAMD loaded from traceGL library.");
      traceGL_Native.glBlendFuncSeparateIndexedAMD = NULL;
    }
  }
  else
  {
    traceWarning("glBlendFuncSeparateIndexedAMD not loaded.");
  }
  if (traceGL_Native.glBlendEquationIndexedAMD)
  {
    if (traceGL_Native.glBlendEquationIndexedAMD == glBlendEquationIndexedAMD)
    {
      traceWarning("Ignoring glBlendEquationIndexedAMD loaded from traceGL library.");
      traceGL_Native.glBlendEquationIndexedAMD = NULL;
    }
  }
  else
  {
    traceWarning("glBlendEquationIndexedAMD not loaded.");
  }
  if (traceGL_Native.glBlendEquationSeparateIndexedAMD)
  {
    if (traceGL_Native.glBlendEquationSeparateIndexedAMD == glBlendEquationSeparateIndexedAMD)
    {
      traceWarning("Ignoring glBlendEquationSeparateIndexedAMD loaded from traceGL library.");
      traceGL_Native.glBlendEquationSeparateIndexedAMD = NULL;
    }
  }
  else
  {
    traceWarning("glBlendEquationSeparateIndexedAMD not loaded.");
  }
  if (traceGL_Native.glTextureRangeAPPLE)
  {
    if (traceGL_Native.glTextureRangeAPPLE == glTextureRangeAPPLE)
    {
      traceWarning("Ignoring glTextureRangeAPPLE loaded from traceGL library.");
      traceGL_Native.glTextureRangeAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glTextureRangeAPPLE not loaded.");
  }
  if (traceGL_Native.glGetTexParameterPointervAPPLE)
  {
    if (traceGL_Native.glGetTexParameterPointervAPPLE == glGetTexParameterPointervAPPLE)
    {
      traceWarning("Ignoring glGetTexParameterPointervAPPLE loaded from traceGL library.");
      traceGL_Native.glGetTexParameterPointervAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glGetTexParameterPointervAPPLE not loaded.");
  }
  if (traceGL_Native.glEnableVertexAttribAPPLE)
  {
    if (traceGL_Native.glEnableVertexAttribAPPLE == glEnableVertexAttribAPPLE)
    {
      traceWarning("Ignoring glEnableVertexAttribAPPLE loaded from traceGL library.");
      traceGL_Native.glEnableVertexAttribAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glEnableVertexAttribAPPLE not loaded.");
  }
  if (traceGL_Native.glDisableVertexAttribAPPLE)
  {
    if (traceGL_Native.glDisableVertexAttribAPPLE == glDisableVertexAttribAPPLE)
    {
      traceWarning("Ignoring glDisableVertexAttribAPPLE loaded from traceGL library.");
      traceGL_Native.glDisableVertexAttribAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glDisableVertexAttribAPPLE not loaded.");
  }
  if (traceGL_Native.glIsVertexAttribEnabledAPPLE)
  {
    if (traceGL_Native.glIsVertexAttribEnabledAPPLE == glIsVertexAttribEnabledAPPLE)
    {
      traceWarning("Ignoring glIsVertexAttribEnabledAPPLE loaded from traceGL library.");
      traceGL_Native.glIsVertexAttribEnabledAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glIsVertexAttribEnabledAPPLE not loaded.");
  }
  if (traceGL_Native.glMapVertexAttrib1dAPPLE)
  {
    if (traceGL_Native.glMapVertexAttrib1dAPPLE == glMapVertexAttrib1dAPPLE)
    {
      traceWarning("Ignoring glMapVertexAttrib1dAPPLE loaded from traceGL library.");
      traceGL_Native.glMapVertexAttrib1dAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glMapVertexAttrib1dAPPLE not loaded.");
  }
  if (traceGL_Native.glMapVertexAttrib1fAPPLE)
  {
    if (traceGL_Native.glMapVertexAttrib1fAPPLE == glMapVertexAttrib1fAPPLE)
    {
      traceWarning("Ignoring glMapVertexAttrib1fAPPLE loaded from traceGL library.");
      traceGL_Native.glMapVertexAttrib1fAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glMapVertexAttrib1fAPPLE not loaded.");
  }
  if (traceGL_Native.glMapVertexAttrib2dAPPLE)
  {
    if (traceGL_Native.glMapVertexAttrib2dAPPLE == glMapVertexAttrib2dAPPLE)
    {
      traceWarning("Ignoring glMapVertexAttrib2dAPPLE loaded from traceGL library.");
      traceGL_Native.glMapVertexAttrib2dAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glMapVertexAttrib2dAPPLE not loaded.");
  }
  if (traceGL_Native.glMapVertexAttrib2fAPPLE)
  {
    if (traceGL_Native.glMapVertexAttrib2fAPPLE == glMapVertexAttrib2fAPPLE)
    {
      traceWarning("Ignoring glMapVertexAttrib2fAPPLE loaded from traceGL library.");
      traceGL_Native.glMapVertexAttrib2fAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glMapVertexAttrib2fAPPLE not loaded.");
  }
  if (traceGL_Native.glObjectPurgeableAPPLE)
  {
    if (traceGL_Native.glObjectPurgeableAPPLE == glObjectPurgeableAPPLE)
    {
      traceWarning("Ignoring glObjectPurgeableAPPLE loaded from traceGL library.");
      traceGL_Native.glObjectPurgeableAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glObjectPurgeableAPPLE not loaded.");
  }
  if (traceGL_Native.glObjectUnpurgeableAPPLE)
  {
    if (traceGL_Native.glObjectUnpurgeableAPPLE == glObjectUnpurgeableAPPLE)
    {
      traceWarning("Ignoring glObjectUnpurgeableAPPLE loaded from traceGL library.");
      traceGL_Native.glObjectUnpurgeableAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glObjectUnpurgeableAPPLE not loaded.");
  }
  if (traceGL_Native.glGetObjectParameterivAPPLE)
  {
    if (traceGL_Native.glGetObjectParameterivAPPLE == glGetObjectParameterivAPPLE)
    {
      traceWarning("Ignoring glGetObjectParameterivAPPLE loaded from traceGL library.");
      traceGL_Native.glGetObjectParameterivAPPLE = NULL;
    }
  }
  else
  {
    traceWarning("glGetObjectParameterivAPPLE not loaded.");
  }
  if (traceGL_Native.glBeginVideoCaptureNV)
  {
    if (traceGL_Native.glBeginVideoCaptureNV == glBeginVideoCaptureNV)
    {
      traceWarning("Ignoring glBeginVideoCaptureNV loaded from traceGL library.");
      traceGL_Native.glBeginVideoCaptureNV = NULL;
    }
  }
  else
  {
    traceWarning("glBeginVideoCaptureNV not loaded.");
  }
  if (traceGL_Native.glBindVideoCaptureStreamBufferNV)
  {
    if (traceGL_Native.glBindVideoCaptureStreamBufferNV == glBindVideoCaptureStreamBufferNV)
    {
      traceWarning("Ignoring glBindVideoCaptureStreamBufferNV loaded from traceGL library.");
      traceGL_Native.glBindVideoCaptureStreamBufferNV = NULL;
    }
  }
  else
  {
    traceWarning("glBindVideoCaptureStreamBufferNV not loaded.");
  }
  if (traceGL_Native.glBindVideoCaptureStreamTextureNV)
  {
    if (traceGL_Native.glBindVideoCaptureStreamTextureNV == glBindVideoCaptureStreamTextureNV)
    {
      traceWarning("Ignoring glBindVideoCaptureStreamTextureNV loaded from traceGL library.");
      traceGL_Native.glBindVideoCaptureStreamTextureNV = NULL;
    }
  }
  else
  {
    traceWarning("glBindVideoCaptureStreamTextureNV not loaded.");
  }
  if (traceGL_Native.glEndVideoCaptureNV)
  {
    if (traceGL_Native.glEndVideoCaptureNV == glEndVideoCaptureNV)
    {
      traceWarning("Ignoring glEndVideoCaptureNV loaded from traceGL library.");
      traceGL_Native.glEndVideoCaptureNV = NULL;
    }
  }
  else
  {
    traceWarning("glEndVideoCaptureNV not loaded.");
  }
  if (traceGL_Native.glGetVideoCaptureivNV)
  {
    if (traceGL_Native.glGetVideoCaptureivNV == glGetVideoCaptureivNV)
    {
      traceWarning("Ignoring glGetVideoCaptureivNV loaded from traceGL library.");
      traceGL_Native.glGetVideoCaptureivNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetVideoCaptureivNV not loaded.");
  }
  if (traceGL_Native.glGetVideoCaptureStreamivNV)
  {
    if (traceGL_Native.glGetVideoCaptureStreamivNV == glGetVideoCaptureStreamivNV)
    {
      traceWarning("Ignoring glGetVideoCaptureStreamivNV loaded from traceGL library.");
      traceGL_Native.glGetVideoCaptureStreamivNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetVideoCaptureStreamivNV not loaded.");
  }
  if (traceGL_Native.glGetVideoCaptureStreamfvNV)
  {
    if (traceGL_Native.glGetVideoCaptureStreamfvNV == glGetVideoCaptureStreamfvNV)
    {
      traceWarning("Ignoring glGetVideoCaptureStreamfvNV loaded from traceGL library.");
      traceGL_Native.glGetVideoCaptureStreamfvNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetVideoCaptureStreamfvNV not loaded.");
  }
  if (traceGL_Native.glGetVideoCaptureStreamdvNV)
  {
    if (traceGL_Native.glGetVideoCaptureStreamdvNV == glGetVideoCaptureStreamdvNV)
    {
      traceWarning("Ignoring glGetVideoCaptureStreamdvNV loaded from traceGL library.");
      traceGL_Native.glGetVideoCaptureStreamdvNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetVideoCaptureStreamdvNV not loaded.");
  }
  if (traceGL_Native.glVideoCaptureNV)
  {
    if (traceGL_Native.glVideoCaptureNV == glVideoCaptureNV)
    {
      traceWarning("Ignoring glVideoCaptureNV loaded from traceGL library.");
      traceGL_Native.glVideoCaptureNV = NULL;
    }
  }
  else
  {
    traceWarning("glVideoCaptureNV not loaded.");
  }
  if (traceGL_Native.glVideoCaptureStreamParameterivNV)
  {
    if (traceGL_Native.glVideoCaptureStreamParameterivNV == glVideoCaptureStreamParameterivNV)
    {
      traceWarning("Ignoring glVideoCaptureStreamParameterivNV loaded from traceGL library.");
      traceGL_Native.glVideoCaptureStreamParameterivNV = NULL;
    }
  }
  else
  {
    traceWarning("glVideoCaptureStreamParameterivNV not loaded.");
  }
  if (traceGL_Native.glVideoCaptureStreamParameterfvNV)
  {
    if (traceGL_Native.glVideoCaptureStreamParameterfvNV == glVideoCaptureStreamParameterfvNV)
    {
      traceWarning("Ignoring glVideoCaptureStreamParameterfvNV loaded from traceGL library.");
      traceGL_Native.glVideoCaptureStreamParameterfvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVideoCaptureStreamParameterfvNV not loaded.");
  }
  if (traceGL_Native.glVideoCaptureStreamParameterdvNV)
  {
    if (traceGL_Native.glVideoCaptureStreamParameterdvNV == glVideoCaptureStreamParameterdvNV)
    {
      traceWarning("Ignoring glVideoCaptureStreamParameterdvNV loaded from traceGL library.");
      traceGL_Native.glVideoCaptureStreamParameterdvNV = NULL;
    }
  }
  else
  {
    traceWarning("glVideoCaptureStreamParameterdvNV not loaded.");
  }
  if (traceGL_Native.glCopyImageSubDataNV)
  {
    if (traceGL_Native.glCopyImageSubDataNV == glCopyImageSubDataNV)
    {
      traceWarning("Ignoring glCopyImageSubDataNV loaded from traceGL library.");
      traceGL_Native.glCopyImageSubDataNV = NULL;
    }
  }
  else
  {
    traceWarning("glCopyImageSubDataNV not loaded.");
  }
  if (traceGL_Native.glUseShaderProgramEXT)
  {
    if (traceGL_Native.glUseShaderProgramEXT == glUseShaderProgramEXT)
    {
      traceWarning("Ignoring glUseShaderProgramEXT loaded from traceGL library.");
      traceGL_Native.glUseShaderProgramEXT = NULL;
    }
  }
  else
  {
    traceWarning("glUseShaderProgramEXT not loaded.");
  }
  if (traceGL_Native.glActiveProgramEXT)
  {
    if (traceGL_Native.glActiveProgramEXT == glActiveProgramEXT)
    {
      traceWarning("Ignoring glActiveProgramEXT loaded from traceGL library.");
      traceGL_Native.glActiveProgramEXT = NULL;
    }
  }
  else
  {
    traceWarning("glActiveProgramEXT not loaded.");
  }
  if (traceGL_Native.glCreateShaderProgramEXT)
  {
    if (traceGL_Native.glCreateShaderProgramEXT == glCreateShaderProgramEXT)
    {
      traceWarning("Ignoring glCreateShaderProgramEXT loaded from traceGL library.");
      traceGL_Native.glCreateShaderProgramEXT = NULL;
    }
  }
  else
  {
    traceWarning("glCreateShaderProgramEXT not loaded.");
  }
  if (traceGL_Native.glMakeBufferResidentNV)
  {
    if (traceGL_Native.glMakeBufferResidentNV == glMakeBufferResidentNV)
    {
      traceWarning("Ignoring glMakeBufferResidentNV loaded from traceGL library.");
      traceGL_Native.glMakeBufferResidentNV = NULL;
    }
  }
  else
  {
    traceWarning("glMakeBufferResidentNV not loaded.");
  }
  if (traceGL_Native.glMakeBufferNonResidentNV)
  {
    if (traceGL_Native.glMakeBufferNonResidentNV == glMakeBufferNonResidentNV)
    {
      traceWarning("Ignoring glMakeBufferNonResidentNV loaded from traceGL library.");
      traceGL_Native.glMakeBufferNonResidentNV = NULL;
    }
  }
  else
  {
    traceWarning("glMakeBufferNonResidentNV not loaded.");
  }
  if (traceGL_Native.glIsBufferResidentNV)
  {
    if (traceGL_Native.glIsBufferResidentNV == glIsBufferResidentNV)
    {
      traceWarning("Ignoring glIsBufferResidentNV loaded from traceGL library.");
      traceGL_Native.glIsBufferResidentNV = NULL;
    }
  }
  else
  {
    traceWarning("glIsBufferResidentNV not loaded.");
  }
  if (traceGL_Native.glMakeNamedBufferResidentNV)
  {
    if (traceGL_Native.glMakeNamedBufferResidentNV == glMakeNamedBufferResidentNV)
    {
      traceWarning("Ignoring glMakeNamedBufferResidentNV loaded from traceGL library.");
      traceGL_Native.glMakeNamedBufferResidentNV = NULL;
    }
  }
  else
  {
    traceWarning("glMakeNamedBufferResidentNV not loaded.");
  }
  if (traceGL_Native.glMakeNamedBufferNonResidentNV)
  {
    if (traceGL_Native.glMakeNamedBufferNonResidentNV == glMakeNamedBufferNonResidentNV)
    {
      traceWarning("Ignoring glMakeNamedBufferNonResidentNV loaded from traceGL library.");
      traceGL_Native.glMakeNamedBufferNonResidentNV = NULL;
    }
  }
  else
  {
    traceWarning("glMakeNamedBufferNonResidentNV not loaded.");
  }
  if (traceGL_Native.glIsNamedBufferResidentNV)
  {
    if (traceGL_Native.glIsNamedBufferResidentNV == glIsNamedBufferResidentNV)
    {
      traceWarning("Ignoring glIsNamedBufferResidentNV loaded from traceGL library.");
      traceGL_Native.glIsNamedBufferResidentNV = NULL;
    }
  }
  else
  {
    traceWarning("glIsNamedBufferResidentNV not loaded.");
  }
  if (traceGL_Native.glGetBufferParameterui64vNV)
  {
    if (traceGL_Native.glGetBufferParameterui64vNV == glGetBufferParameterui64vNV)
    {
      traceWarning("Ignoring glGetBufferParameterui64vNV loaded from traceGL library.");
      traceGL_Native.glGetBufferParameterui64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetBufferParameterui64vNV not loaded.");
  }
  if (traceGL_Native.glGetNamedBufferParameterui64vNV)
  {
    if (traceGL_Native.glGetNamedBufferParameterui64vNV == glGetNamedBufferParameterui64vNV)
    {
      traceWarning("Ignoring glGetNamedBufferParameterui64vNV loaded from traceGL library.");
      traceGL_Native.glGetNamedBufferParameterui64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetNamedBufferParameterui64vNV not loaded.");
  }
  if (traceGL_Native.glGetIntegerui64vNV)
  {
    if (traceGL_Native.glGetIntegerui64vNV == glGetIntegerui64vNV)
    {
      traceWarning("Ignoring glGetIntegerui64vNV loaded from traceGL library.");
      traceGL_Native.glGetIntegerui64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetIntegerui64vNV not loaded.");
  }
  if (traceGL_Native.glUniformui64NV)
  {
    if (traceGL_Native.glUniformui64NV == glUniformui64NV)
    {
      traceWarning("Ignoring glUniformui64NV loaded from traceGL library.");
      traceGL_Native.glUniformui64NV = NULL;
    }
  }
  else
  {
    traceWarning("glUniformui64NV not loaded.");
  }
  if (traceGL_Native.glUniformui64vNV)
  {
    if (traceGL_Native.glUniformui64vNV == glUniformui64vNV)
    {
      traceWarning("Ignoring glUniformui64vNV loaded from traceGL library.");
      traceGL_Native.glUniformui64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glUniformui64vNV not loaded.");
  }
  if (traceGL_Native.glGetUniformui64vNV)
  {
    if (traceGL_Native.glGetUniformui64vNV == glGetUniformui64vNV)
    {
      traceWarning("Ignoring glGetUniformui64vNV loaded from traceGL library.");
      traceGL_Native.glGetUniformui64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetUniformui64vNV not loaded.");
  }
  if (traceGL_Native.glProgramUniformui64NV)
  {
    if (traceGL_Native.glProgramUniformui64NV == glProgramUniformui64NV)
    {
      traceWarning("Ignoring glProgramUniformui64NV loaded from traceGL library.");
      traceGL_Native.glProgramUniformui64NV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformui64NV not loaded.");
  }
  if (traceGL_Native.glProgramUniformui64vNV)
  {
    if (traceGL_Native.glProgramUniformui64vNV == glProgramUniformui64vNV)
    {
      traceWarning("Ignoring glProgramUniformui64vNV loaded from traceGL library.");
      traceGL_Native.glProgramUniformui64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniformui64vNV not loaded.");
  }
  if (traceGL_Native.glBufferAddressRangeNV)
  {
    if (traceGL_Native.glBufferAddressRangeNV == glBufferAddressRangeNV)
    {
      traceWarning("Ignoring glBufferAddressRangeNV loaded from traceGL library.");
      traceGL_Native.glBufferAddressRangeNV = NULL;
    }
  }
  else
  {
    traceWarning("glBufferAddressRangeNV not loaded.");
  }
  if (traceGL_Native.glVertexFormatNV)
  {
    if (traceGL_Native.glVertexFormatNV == glVertexFormatNV)
    {
      traceWarning("Ignoring glVertexFormatNV loaded from traceGL library.");
      traceGL_Native.glVertexFormatNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexFormatNV not loaded.");
  }
  if (traceGL_Native.glNormalFormatNV)
  {
    if (traceGL_Native.glNormalFormatNV == glNormalFormatNV)
    {
      traceWarning("Ignoring glNormalFormatNV loaded from traceGL library.");
      traceGL_Native.glNormalFormatNV = NULL;
    }
  }
  else
  {
    traceWarning("glNormalFormatNV not loaded.");
  }
  if (traceGL_Native.glColorFormatNV)
  {
    if (traceGL_Native.glColorFormatNV == glColorFormatNV)
    {
      traceWarning("Ignoring glColorFormatNV loaded from traceGL library.");
      traceGL_Native.glColorFormatNV = NULL;
    }
  }
  else
  {
    traceWarning("glColorFormatNV not loaded.");
  }
  if (traceGL_Native.glIndexFormatNV)
  {
    if (traceGL_Native.glIndexFormatNV == glIndexFormatNV)
    {
      traceWarning("Ignoring glIndexFormatNV loaded from traceGL library.");
      traceGL_Native.glIndexFormatNV = NULL;
    }
  }
  else
  {
    traceWarning("glIndexFormatNV not loaded.");
  }
  if (traceGL_Native.glTexCoordFormatNV)
  {
    if (traceGL_Native.glTexCoordFormatNV == glTexCoordFormatNV)
    {
      traceWarning("Ignoring glTexCoordFormatNV loaded from traceGL library.");
      traceGL_Native.glTexCoordFormatNV = NULL;
    }
  }
  else
  {
    traceWarning("glTexCoordFormatNV not loaded.");
  }
  if (traceGL_Native.glEdgeFlagFormatNV)
  {
    if (traceGL_Native.glEdgeFlagFormatNV == glEdgeFlagFormatNV)
    {
      traceWarning("Ignoring glEdgeFlagFormatNV loaded from traceGL library.");
      traceGL_Native.glEdgeFlagFormatNV = NULL;
    }
  }
  else
  {
    traceWarning("glEdgeFlagFormatNV not loaded.");
  }
  if (traceGL_Native.glSecondaryColorFormatNV)
  {
    if (traceGL_Native.glSecondaryColorFormatNV == glSecondaryColorFormatNV)
    {
      traceWarning("Ignoring glSecondaryColorFormatNV loaded from traceGL library.");
      traceGL_Native.glSecondaryColorFormatNV = NULL;
    }
  }
  else
  {
    traceWarning("glSecondaryColorFormatNV not loaded.");
  }
  if (traceGL_Native.glFogCoordFormatNV)
  {
    if (traceGL_Native.glFogCoordFormatNV == glFogCoordFormatNV)
    {
      traceWarning("Ignoring glFogCoordFormatNV loaded from traceGL library.");
      traceGL_Native.glFogCoordFormatNV = NULL;
    }
  }
  else
  {
    traceWarning("glFogCoordFormatNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribFormatNV)
  {
    if (traceGL_Native.glVertexAttribFormatNV == glVertexAttribFormatNV)
    {
      traceWarning("Ignoring glVertexAttribFormatNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribFormatNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribFormatNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribIFormatNV)
  {
    if (traceGL_Native.glVertexAttribIFormatNV == glVertexAttribIFormatNV)
    {
      traceWarning("Ignoring glVertexAttribIFormatNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribIFormatNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribIFormatNV not loaded.");
  }
  if (traceGL_Native.glGetIntegerui64i_vNV)
  {
    if (traceGL_Native.glGetIntegerui64i_vNV == glGetIntegerui64i_vNV)
    {
      traceWarning("Ignoring glGetIntegerui64i_vNV loaded from traceGL library.");
      traceGL_Native.glGetIntegerui64i_vNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetIntegerui64i_vNV not loaded.");
  }
  if (traceGL_Native.glTextureBarrierNV)
  {
    if (traceGL_Native.glTextureBarrierNV == glTextureBarrierNV)
    {
      traceWarning("Ignoring glTextureBarrierNV loaded from traceGL library.");
      traceGL_Native.glTextureBarrierNV = NULL;
    }
  }
  else
  {
    traceWarning("glTextureBarrierNV not loaded.");
  }
  if (traceGL_Native.glBindImageTextureEXT)
  {
    if (traceGL_Native.glBindImageTextureEXT == glBindImageTextureEXT)
    {
      traceWarning("Ignoring glBindImageTextureEXT loaded from traceGL library.");
      traceGL_Native.glBindImageTextureEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBindImageTextureEXT not loaded.");
  }
  if (traceGL_Native.glMemoryBarrierEXT)
  {
    if (traceGL_Native.glMemoryBarrierEXT == glMemoryBarrierEXT)
    {
      traceWarning("Ignoring glMemoryBarrierEXT loaded from traceGL library.");
      traceGL_Native.glMemoryBarrierEXT = NULL;
    }
  }
  else
  {
    traceWarning("glMemoryBarrierEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribL1dEXT)
  {
    if (traceGL_Native.glVertexAttribL1dEXT == glVertexAttribL1dEXT)
    {
      traceWarning("Ignoring glVertexAttribL1dEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribL1dEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL1dEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribL2dEXT)
  {
    if (traceGL_Native.glVertexAttribL2dEXT == glVertexAttribL2dEXT)
    {
      traceWarning("Ignoring glVertexAttribL2dEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribL2dEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL2dEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribL3dEXT)
  {
    if (traceGL_Native.glVertexAttribL3dEXT == glVertexAttribL3dEXT)
    {
      traceWarning("Ignoring glVertexAttribL3dEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribL3dEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL3dEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribL4dEXT)
  {
    if (traceGL_Native.glVertexAttribL4dEXT == glVertexAttribL4dEXT)
    {
      traceWarning("Ignoring glVertexAttribL4dEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribL4dEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL4dEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribL1dvEXT)
  {
    if (traceGL_Native.glVertexAttribL1dvEXT == glVertexAttribL1dvEXT)
    {
      traceWarning("Ignoring glVertexAttribL1dvEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribL1dvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL1dvEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribL2dvEXT)
  {
    if (traceGL_Native.glVertexAttribL2dvEXT == glVertexAttribL2dvEXT)
    {
      traceWarning("Ignoring glVertexAttribL2dvEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribL2dvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL2dvEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribL3dvEXT)
  {
    if (traceGL_Native.glVertexAttribL3dvEXT == glVertexAttribL3dvEXT)
    {
      traceWarning("Ignoring glVertexAttribL3dvEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribL3dvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL3dvEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribL4dvEXT)
  {
    if (traceGL_Native.glVertexAttribL4dvEXT == glVertexAttribL4dvEXT)
    {
      traceWarning("Ignoring glVertexAttribL4dvEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribL4dvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL4dvEXT not loaded.");
  }
  if (traceGL_Native.glVertexAttribLPointerEXT)
  {
    if (traceGL_Native.glVertexAttribLPointerEXT == glVertexAttribLPointerEXT)
    {
      traceWarning("Ignoring glVertexAttribLPointerEXT loaded from traceGL library.");
      traceGL_Native.glVertexAttribLPointerEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribLPointerEXT not loaded.");
  }
  if (traceGL_Native.glVertexArrayVertexAttribLOffsetEXT)
  {
    if (traceGL_Native.glVertexArrayVertexAttribLOffsetEXT == glVertexArrayVertexAttribLOffsetEXT)
    {
      traceWarning("Ignoring glVertexArrayVertexAttribLOffsetEXT loaded from traceGL library.");
      traceGL_Native.glVertexArrayVertexAttribLOffsetEXT = NULL;
    }
  }
  else
  {
    traceWarning("glVertexArrayVertexAttribLOffsetEXT not loaded.");
  }
  if (traceGL_Native.glGetVertexAttribLdvEXT)
  {
    if (traceGL_Native.glGetVertexAttribLdvEXT == glGetVertexAttribLdvEXT)
    {
      traceWarning("Ignoring glGetVertexAttribLdvEXT loaded from traceGL library.");
      traceGL_Native.glGetVertexAttribLdvEXT = NULL;
    }
  }
  else
  {
    traceWarning("glGetVertexAttribLdvEXT not loaded.");
  }
  if (traceGL_Native.glUniform1i64NV)
  {
    if (traceGL_Native.glUniform1i64NV == glUniform1i64NV)
    {
      traceWarning("Ignoring glUniform1i64NV loaded from traceGL library.");
      traceGL_Native.glUniform1i64NV = NULL;
    }
  }
  else
  {
    traceWarning("glUniform1i64NV not loaded.");
  }
  if (traceGL_Native.glUniform2i64NV)
  {
    if (traceGL_Native.glUniform2i64NV == glUniform2i64NV)
    {
      traceWarning("Ignoring glUniform2i64NV loaded from traceGL library.");
      traceGL_Native.glUniform2i64NV = NULL;
    }
  }
  else
  {
    traceWarning("glUniform2i64NV not loaded.");
  }
  if (traceGL_Native.glUniform3i64NV)
  {
    if (traceGL_Native.glUniform3i64NV == glUniform3i64NV)
    {
      traceWarning("Ignoring glUniform3i64NV loaded from traceGL library.");
      traceGL_Native.glUniform3i64NV = NULL;
    }
  }
  else
  {
    traceWarning("glUniform3i64NV not loaded.");
  }
  if (traceGL_Native.glUniform4i64NV)
  {
    if (traceGL_Native.glUniform4i64NV == glUniform4i64NV)
    {
      traceWarning("Ignoring glUniform4i64NV loaded from traceGL library.");
      traceGL_Native.glUniform4i64NV = NULL;
    }
  }
  else
  {
    traceWarning("glUniform4i64NV not loaded.");
  }
  if (traceGL_Native.glUniform1i64vNV)
  {
    if (traceGL_Native.glUniform1i64vNV == glUniform1i64vNV)
    {
      traceWarning("Ignoring glUniform1i64vNV loaded from traceGL library.");
      traceGL_Native.glUniform1i64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glUniform1i64vNV not loaded.");
  }
  if (traceGL_Native.glUniform2i64vNV)
  {
    if (traceGL_Native.glUniform2i64vNV == glUniform2i64vNV)
    {
      traceWarning("Ignoring glUniform2i64vNV loaded from traceGL library.");
      traceGL_Native.glUniform2i64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glUniform2i64vNV not loaded.");
  }
  if (traceGL_Native.glUniform3i64vNV)
  {
    if (traceGL_Native.glUniform3i64vNV == glUniform3i64vNV)
    {
      traceWarning("Ignoring glUniform3i64vNV loaded from traceGL library.");
      traceGL_Native.glUniform3i64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glUniform3i64vNV not loaded.");
  }
  if (traceGL_Native.glUniform4i64vNV)
  {
    if (traceGL_Native.glUniform4i64vNV == glUniform4i64vNV)
    {
      traceWarning("Ignoring glUniform4i64vNV loaded from traceGL library.");
      traceGL_Native.glUniform4i64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glUniform4i64vNV not loaded.");
  }
  if (traceGL_Native.glUniform1ui64NV)
  {
    if (traceGL_Native.glUniform1ui64NV == glUniform1ui64NV)
    {
      traceWarning("Ignoring glUniform1ui64NV loaded from traceGL library.");
      traceGL_Native.glUniform1ui64NV = NULL;
    }
  }
  else
  {
    traceWarning("glUniform1ui64NV not loaded.");
  }
  if (traceGL_Native.glUniform2ui64NV)
  {
    if (traceGL_Native.glUniform2ui64NV == glUniform2ui64NV)
    {
      traceWarning("Ignoring glUniform2ui64NV loaded from traceGL library.");
      traceGL_Native.glUniform2ui64NV = NULL;
    }
  }
  else
  {
    traceWarning("glUniform2ui64NV not loaded.");
  }
  if (traceGL_Native.glUniform3ui64NV)
  {
    if (traceGL_Native.glUniform3ui64NV == glUniform3ui64NV)
    {
      traceWarning("Ignoring glUniform3ui64NV loaded from traceGL library.");
      traceGL_Native.glUniform3ui64NV = NULL;
    }
  }
  else
  {
    traceWarning("glUniform3ui64NV not loaded.");
  }
  if (traceGL_Native.glUniform4ui64NV)
  {
    if (traceGL_Native.glUniform4ui64NV == glUniform4ui64NV)
    {
      traceWarning("Ignoring glUniform4ui64NV loaded from traceGL library.");
      traceGL_Native.glUniform4ui64NV = NULL;
    }
  }
  else
  {
    traceWarning("glUniform4ui64NV not loaded.");
  }
  if (traceGL_Native.glUniform1ui64vNV)
  {
    if (traceGL_Native.glUniform1ui64vNV == glUniform1ui64vNV)
    {
      traceWarning("Ignoring glUniform1ui64vNV loaded from traceGL library.");
      traceGL_Native.glUniform1ui64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glUniform1ui64vNV not loaded.");
  }
  if (traceGL_Native.glUniform2ui64vNV)
  {
    if (traceGL_Native.glUniform2ui64vNV == glUniform2ui64vNV)
    {
      traceWarning("Ignoring glUniform2ui64vNV loaded from traceGL library.");
      traceGL_Native.glUniform2ui64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glUniform2ui64vNV not loaded.");
  }
  if (traceGL_Native.glUniform3ui64vNV)
  {
    if (traceGL_Native.glUniform3ui64vNV == glUniform3ui64vNV)
    {
      traceWarning("Ignoring glUniform3ui64vNV loaded from traceGL library.");
      traceGL_Native.glUniform3ui64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glUniform3ui64vNV not loaded.");
  }
  if (traceGL_Native.glUniform4ui64vNV)
  {
    if (traceGL_Native.glUniform4ui64vNV == glUniform4ui64vNV)
    {
      traceWarning("Ignoring glUniform4ui64vNV loaded from traceGL library.");
      traceGL_Native.glUniform4ui64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glUniform4ui64vNV not loaded.");
  }
  if (traceGL_Native.glProgramUniform1i64NV)
  {
    if (traceGL_Native.glProgramUniform1i64NV == glProgramUniform1i64NV)
    {
      traceWarning("Ignoring glProgramUniform1i64NV loaded from traceGL library.");
      traceGL_Native.glProgramUniform1i64NV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform1i64NV not loaded.");
  }
  if (traceGL_Native.glProgramUniform2i64NV)
  {
    if (traceGL_Native.glProgramUniform2i64NV == glProgramUniform2i64NV)
    {
      traceWarning("Ignoring glProgramUniform2i64NV loaded from traceGL library.");
      traceGL_Native.glProgramUniform2i64NV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform2i64NV not loaded.");
  }
  if (traceGL_Native.glProgramUniform3i64NV)
  {
    if (traceGL_Native.glProgramUniform3i64NV == glProgramUniform3i64NV)
    {
      traceWarning("Ignoring glProgramUniform3i64NV loaded from traceGL library.");
      traceGL_Native.glProgramUniform3i64NV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform3i64NV not loaded.");
  }
  if (traceGL_Native.glProgramUniform4i64NV)
  {
    if (traceGL_Native.glProgramUniform4i64NV == glProgramUniform4i64NV)
    {
      traceWarning("Ignoring glProgramUniform4i64NV loaded from traceGL library.");
      traceGL_Native.glProgramUniform4i64NV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform4i64NV not loaded.");
  }
  if (traceGL_Native.glProgramUniform1i64vNV)
  {
    if (traceGL_Native.glProgramUniform1i64vNV == glProgramUniform1i64vNV)
    {
      traceWarning("Ignoring glProgramUniform1i64vNV loaded from traceGL library.");
      traceGL_Native.glProgramUniform1i64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform1i64vNV not loaded.");
  }
  if (traceGL_Native.glProgramUniform2i64vNV)
  {
    if (traceGL_Native.glProgramUniform2i64vNV == glProgramUniform2i64vNV)
    {
      traceWarning("Ignoring glProgramUniform2i64vNV loaded from traceGL library.");
      traceGL_Native.glProgramUniform2i64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform2i64vNV not loaded.");
  }
  if (traceGL_Native.glProgramUniform3i64vNV)
  {
    if (traceGL_Native.glProgramUniform3i64vNV == glProgramUniform3i64vNV)
    {
      traceWarning("Ignoring glProgramUniform3i64vNV loaded from traceGL library.");
      traceGL_Native.glProgramUniform3i64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform3i64vNV not loaded.");
  }
  if (traceGL_Native.glProgramUniform4i64vNV)
  {
    if (traceGL_Native.glProgramUniform4i64vNV == glProgramUniform4i64vNV)
    {
      traceWarning("Ignoring glProgramUniform4i64vNV loaded from traceGL library.");
      traceGL_Native.glProgramUniform4i64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform4i64vNV not loaded.");
  }
  if (traceGL_Native.glProgramUniform1ui64NV)
  {
    if (traceGL_Native.glProgramUniform1ui64NV == glProgramUniform1ui64NV)
    {
      traceWarning("Ignoring glProgramUniform1ui64NV loaded from traceGL library.");
      traceGL_Native.glProgramUniform1ui64NV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform1ui64NV not loaded.");
  }
  if (traceGL_Native.glProgramUniform2ui64NV)
  {
    if (traceGL_Native.glProgramUniform2ui64NV == glProgramUniform2ui64NV)
    {
      traceWarning("Ignoring glProgramUniform2ui64NV loaded from traceGL library.");
      traceGL_Native.glProgramUniform2ui64NV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform2ui64NV not loaded.");
  }
  if (traceGL_Native.glProgramUniform3ui64NV)
  {
    if (traceGL_Native.glProgramUniform3ui64NV == glProgramUniform3ui64NV)
    {
      traceWarning("Ignoring glProgramUniform3ui64NV loaded from traceGL library.");
      traceGL_Native.glProgramUniform3ui64NV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform3ui64NV not loaded.");
  }
  if (traceGL_Native.glProgramUniform4ui64NV)
  {
    if (traceGL_Native.glProgramUniform4ui64NV == glProgramUniform4ui64NV)
    {
      traceWarning("Ignoring glProgramUniform4ui64NV loaded from traceGL library.");
      traceGL_Native.glProgramUniform4ui64NV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform4ui64NV not loaded.");
  }
  if (traceGL_Native.glProgramUniform1ui64vNV)
  {
    if (traceGL_Native.glProgramUniform1ui64vNV == glProgramUniform1ui64vNV)
    {
      traceWarning("Ignoring glProgramUniform1ui64vNV loaded from traceGL library.");
      traceGL_Native.glProgramUniform1ui64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform1ui64vNV not loaded.");
  }
  if (traceGL_Native.glProgramUniform2ui64vNV)
  {
    if (traceGL_Native.glProgramUniform2ui64vNV == glProgramUniform2ui64vNV)
    {
      traceWarning("Ignoring glProgramUniform2ui64vNV loaded from traceGL library.");
      traceGL_Native.glProgramUniform2ui64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform2ui64vNV not loaded.");
  }
  if (traceGL_Native.glProgramUniform3ui64vNV)
  {
    if (traceGL_Native.glProgramUniform3ui64vNV == glProgramUniform3ui64vNV)
    {
      traceWarning("Ignoring glProgramUniform3ui64vNV loaded from traceGL library.");
      traceGL_Native.glProgramUniform3ui64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform3ui64vNV not loaded.");
  }
  if (traceGL_Native.glProgramUniform4ui64vNV)
  {
    if (traceGL_Native.glProgramUniform4ui64vNV == glProgramUniform4ui64vNV)
    {
      traceWarning("Ignoring glProgramUniform4ui64vNV loaded from traceGL library.");
      traceGL_Native.glProgramUniform4ui64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glProgramUniform4ui64vNV not loaded.");
  }
  if (traceGL_Native.glGetUniformi64vNV)
  {
    if (traceGL_Native.glGetUniformi64vNV == glGetUniformi64vNV)
    {
      traceWarning("Ignoring glGetUniformi64vNV loaded from traceGL library.");
      traceGL_Native.glGetUniformi64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetUniformi64vNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribL1i64NV)
  {
    if (traceGL_Native.glVertexAttribL1i64NV == glVertexAttribL1i64NV)
    {
      traceWarning("Ignoring glVertexAttribL1i64NV loaded from traceGL library.");
      traceGL_Native.glVertexAttribL1i64NV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL1i64NV not loaded.");
  }
  if (traceGL_Native.glVertexAttribL2i64NV)
  {
    if (traceGL_Native.glVertexAttribL2i64NV == glVertexAttribL2i64NV)
    {
      traceWarning("Ignoring glVertexAttribL2i64NV loaded from traceGL library.");
      traceGL_Native.glVertexAttribL2i64NV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL2i64NV not loaded.");
  }
  if (traceGL_Native.glVertexAttribL3i64NV)
  {
    if (traceGL_Native.glVertexAttribL3i64NV == glVertexAttribL3i64NV)
    {
      traceWarning("Ignoring glVertexAttribL3i64NV loaded from traceGL library.");
      traceGL_Native.glVertexAttribL3i64NV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL3i64NV not loaded.");
  }
  if (traceGL_Native.glVertexAttribL4i64NV)
  {
    if (traceGL_Native.glVertexAttribL4i64NV == glVertexAttribL4i64NV)
    {
      traceWarning("Ignoring glVertexAttribL4i64NV loaded from traceGL library.");
      traceGL_Native.glVertexAttribL4i64NV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL4i64NV not loaded.");
  }
  if (traceGL_Native.glVertexAttribL1ui64NV)
  {
    if (traceGL_Native.glVertexAttribL1ui64NV == glVertexAttribL1ui64NV)
    {
      traceWarning("Ignoring glVertexAttribL1ui64NV loaded from traceGL library.");
      traceGL_Native.glVertexAttribL1ui64NV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL1ui64NV not loaded.");
  }
  if (traceGL_Native.glVertexAttribL2ui64NV)
  {
    if (traceGL_Native.glVertexAttribL2ui64NV == glVertexAttribL2ui64NV)
    {
      traceWarning("Ignoring glVertexAttribL2ui64NV loaded from traceGL library.");
      traceGL_Native.glVertexAttribL2ui64NV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL2ui64NV not loaded.");
  }
  if (traceGL_Native.glVertexAttribL3ui64NV)
  {
    if (traceGL_Native.glVertexAttribL3ui64NV == glVertexAttribL3ui64NV)
    {
      traceWarning("Ignoring glVertexAttribL3ui64NV loaded from traceGL library.");
      traceGL_Native.glVertexAttribL3ui64NV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL3ui64NV not loaded.");
  }
  if (traceGL_Native.glVertexAttribL4ui64NV)
  {
    if (traceGL_Native.glVertexAttribL4ui64NV == glVertexAttribL4ui64NV)
    {
      traceWarning("Ignoring glVertexAttribL4ui64NV loaded from traceGL library.");
      traceGL_Native.glVertexAttribL4ui64NV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL4ui64NV not loaded.");
  }
  if (traceGL_Native.glVertexAttribL1i64vNV)
  {
    if (traceGL_Native.glVertexAttribL1i64vNV == glVertexAttribL1i64vNV)
    {
      traceWarning("Ignoring glVertexAttribL1i64vNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribL1i64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL1i64vNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribL2i64vNV)
  {
    if (traceGL_Native.glVertexAttribL2i64vNV == glVertexAttribL2i64vNV)
    {
      traceWarning("Ignoring glVertexAttribL2i64vNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribL2i64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL2i64vNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribL3i64vNV)
  {
    if (traceGL_Native.glVertexAttribL3i64vNV == glVertexAttribL3i64vNV)
    {
      traceWarning("Ignoring glVertexAttribL3i64vNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribL3i64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL3i64vNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribL4i64vNV)
  {
    if (traceGL_Native.glVertexAttribL4i64vNV == glVertexAttribL4i64vNV)
    {
      traceWarning("Ignoring glVertexAttribL4i64vNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribL4i64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL4i64vNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribL1ui64vNV)
  {
    if (traceGL_Native.glVertexAttribL1ui64vNV == glVertexAttribL1ui64vNV)
    {
      traceWarning("Ignoring glVertexAttribL1ui64vNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribL1ui64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL1ui64vNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribL2ui64vNV)
  {
    if (traceGL_Native.glVertexAttribL2ui64vNV == glVertexAttribL2ui64vNV)
    {
      traceWarning("Ignoring glVertexAttribL2ui64vNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribL2ui64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL2ui64vNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribL3ui64vNV)
  {
    if (traceGL_Native.glVertexAttribL3ui64vNV == glVertexAttribL3ui64vNV)
    {
      traceWarning("Ignoring glVertexAttribL3ui64vNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribL3ui64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL3ui64vNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribL4ui64vNV)
  {
    if (traceGL_Native.glVertexAttribL4ui64vNV == glVertexAttribL4ui64vNV)
    {
      traceWarning("Ignoring glVertexAttribL4ui64vNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribL4ui64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribL4ui64vNV not loaded.");
  }
  if (traceGL_Native.glVertexAttribLFormatNV)
  {
    if (traceGL_Native.glVertexAttribLFormatNV == glVertexAttribLFormatNV)
    {
      traceWarning("Ignoring glVertexAttribLFormatNV loaded from traceGL library.");
      traceGL_Native.glVertexAttribLFormatNV = NULL;
    }
  }
  else
  {
    traceWarning("glVertexAttribLFormatNV not loaded.");
  }
  if (traceGL_Native.glGetVertexAttribLi64vNV)
  {
    if (traceGL_Native.glGetVertexAttribLi64vNV == glGetVertexAttribLi64vNV)
    {
      traceWarning("Ignoring glGetVertexAttribLi64vNV loaded from traceGL library.");
      traceGL_Native.glGetVertexAttribLi64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetVertexAttribLi64vNV not loaded.");
  }
  if (traceGL_Native.glGetVertexAttribLui64vNV)
  {
    if (traceGL_Native.glGetVertexAttribLui64vNV == glGetVertexAttribLui64vNV)
    {
      traceWarning("Ignoring glGetVertexAttribLui64vNV loaded from traceGL library.");
      traceGL_Native.glGetVertexAttribLui64vNV = NULL;
    }
  }
  else
  {
    traceWarning("glGetVertexAttribLui64vNV not loaded.");
  }
  if (traceGL_Native.glVDPAUInitNV)
  {
    if (traceGL_Native.glVDPAUInitNV == glVDPAUInitNV)
    {
      traceWarning("Ignoring glVDPAUInitNV loaded from traceGL library.");
      traceGL_Native.glVDPAUInitNV = NULL;
    }
  }
  else
  {
    traceWarning("glVDPAUInitNV not loaded.");
  }
  if (traceGL_Native.glVDPAUFiniNV)
  {
    if (traceGL_Native.glVDPAUFiniNV == glVDPAUFiniNV)
    {
      traceWarning("Ignoring glVDPAUFiniNV loaded from traceGL library.");
      traceGL_Native.glVDPAUFiniNV = NULL;
    }
  }
  else
  {
    traceWarning("glVDPAUFiniNV not loaded.");
  }
  if (traceGL_Native.glVDPAURegisterVideoSurfaceNV)
  {
    if (traceGL_Native.glVDPAURegisterVideoSurfaceNV == glVDPAURegisterVideoSurfaceNV)
    {
      traceWarning("Ignoring glVDPAURegisterVideoSurfaceNV loaded from traceGL library.");
      traceGL_Native.glVDPAURegisterVideoSurfaceNV = NULL;
    }
  }
  else
  {
    traceWarning("glVDPAURegisterVideoSurfaceNV not loaded.");
  }
  if (traceGL_Native.glVDPAURegisterOutputSurfaceNV)
  {
    if (traceGL_Native.glVDPAURegisterOutputSurfaceNV == glVDPAURegisterOutputSurfaceNV)
    {
      traceWarning("Ignoring glVDPAURegisterOutputSurfaceNV loaded from traceGL library.");
      traceGL_Native.glVDPAURegisterOutputSurfaceNV = NULL;
    }
  }
  else
  {
    traceWarning("glVDPAURegisterOutputSurfaceNV not loaded.");
  }
  if (traceGL_Native.glVDPAUIsSurfaceNV)
  {
    if (traceGL_Native.glVDPAUIsSurfaceNV == glVDPAUIsSurfaceNV)
    {
      traceWarning("Ignoring glVDPAUIsSurfaceNV loaded from traceGL library.");
      traceGL_Native.glVDPAUIsSurfaceNV = NULL;
    }
  }
  else
  {
    traceWarning("glVDPAUIsSurfaceNV not loaded.");
  }
  if (traceGL_Native.glVDPAUUnregisterSurfaceNV)
  {
    if (traceGL_Native.glVDPAUUnregisterSurfaceNV == glVDPAUUnregisterSurfaceNV)
    {
      traceWarning("Ignoring glVDPAUUnregisterSurfaceNV loaded from traceGL library.");
      traceGL_Native.glVDPAUUnregisterSurfaceNV = NULL;
    }
  }
  else
  {
    traceWarning("glVDPAUUnregisterSurfaceNV not loaded.");
  }
  if (traceGL_Native.glVDPAUGetSurfaceivNV)
  {
    if (traceGL_Native.glVDPAUGetSurfaceivNV == glVDPAUGetSurfaceivNV)
    {
      traceWarning("Ignoring glVDPAUGetSurfaceivNV loaded from traceGL library.");
      traceGL_Native.glVDPAUGetSurfaceivNV = NULL;
    }
  }
  else
  {
    traceWarning("glVDPAUGetSurfaceivNV not loaded.");
  }
  if (traceGL_Native.glVDPAUSurfaceAccessNV)
  {
    if (traceGL_Native.glVDPAUSurfaceAccessNV == glVDPAUSurfaceAccessNV)
    {
      traceWarning("Ignoring glVDPAUSurfaceAccessNV loaded from traceGL library.");
      traceGL_Native.glVDPAUSurfaceAccessNV = NULL;
    }
  }
  else
  {
    traceWarning("glVDPAUSurfaceAccessNV not loaded.");
  }
  if (traceGL_Native.glVDPAUMapSurfacesNV)
  {
    if (traceGL_Native.glVDPAUMapSurfacesNV == glVDPAUMapSurfacesNV)
    {
      traceWarning("Ignoring glVDPAUMapSurfacesNV loaded from traceGL library.");
      traceGL_Native.glVDPAUMapSurfacesNV = NULL;
    }
  }
  else
  {
    traceWarning("glVDPAUMapSurfacesNV not loaded.");
  }
  if (traceGL_Native.glVDPAUUnmapSurfacesNV)
  {
    if (traceGL_Native.glVDPAUUnmapSurfacesNV == glVDPAUUnmapSurfacesNV)
    {
      traceWarning("Ignoring glVDPAUUnmapSurfacesNV loaded from traceGL library.");
      traceGL_Native.glVDPAUUnmapSurfacesNV = NULL;
    }
  }
  else
  {
    traceWarning("glVDPAUUnmapSurfacesNV not loaded.");
  }
  if (traceGL_Native.glBufferRegionEnabledEXT)
  {
    if (traceGL_Native.glBufferRegionEnabledEXT == glBufferRegionEnabledEXT)
    {
      traceWarning("Ignoring glBufferRegionEnabledEXT loaded from traceGL library.");
      traceGL_Native.glBufferRegionEnabledEXT = NULL;
    }
  }
  else
  {
    traceWarning("glBufferRegionEnabledEXT not loaded.");
  }
  if (traceGL_Native.glNewBufferRegionEXT)
  {
    if (traceGL_Native.glNewBufferRegionEXT == glNewBufferRegionEXT)
    {
      traceWarning("Ignoring glNewBufferRegionEXT loaded from traceGL library.");
      traceGL_Native.glNewBufferRegionEXT = NULL;
    }
  }
  else
  {
    traceWarning("glNewBufferRegionEXT not loaded.");
  }
  if (traceGL_Native.glDeleteBufferRegionEXT)
  {
    if (traceGL_Native.glDeleteBufferRegionEXT == glDeleteBufferRegionEXT)
    {
      traceWarning("Ignoring glDeleteBufferRegionEXT loaded from traceGL library.");
      traceGL_Native.glDeleteBufferRegionEXT = NULL;
    }
  }
  else
  {
    traceWarning("glDeleteBufferRegionEXT not loaded.");
  }
  if (traceGL_Native.glReadBufferRegionEXT)
  {
    if (traceGL_Native.glReadBufferRegionEXT == glReadBufferRegionEXT)
    {
      traceWarning("Ignoring glReadBufferRegionEXT loaded from traceGL library.");
      traceGL_Native.glReadBufferRegionEXT = NULL;
    }
  }
  else
  {
    traceWarning("glReadBufferRegionEXT not loaded.");
  }
  if (traceGL_Native.glDrawBufferRegionEXT)
  {
    if (traceGL_Native.glDrawBufferRegionEXT == glDrawBufferRegionEXT)
    {
      traceWarning("Ignoring glDrawBufferRegionEXT loaded from traceGL library.");
      traceGL_Native.glDrawBufferRegionEXT = NULL;
    }
  }
  else
  {
    traceWarning("glDrawBufferRegionEXT not loaded.");
  }
  if (traceGL_Native.glTextureFogSGIX)
  {
    if (traceGL_Native.glTextureFogSGIX == glTextureFogSGIX)
    {
      traceWarning("Ignoring glTextureFogSGIX loaded from traceGL library.");
      traceGL_Native.glTextureFogSGIX = NULL;
    }
  }
  else
  {
    traceWarning("glTextureFogSGIX not loaded.");
  }
  if (traceGL_Native.glAddSwapHintRectWIN)
  {
    if (traceGL_Native.glAddSwapHintRectWIN == glAddSwapHintRectWIN)
    {
      traceWarning("Ignoring glAddSwapHintRectWIN loaded from traceGL library.");
      traceGL_Native.glAddSwapHintRectWIN = NULL;
    }
  }
  else
  {
    traceWarning("glAddSwapHintRectWIN not loaded.");
  }
#endif

  /* Load GL helper function pointers. */

  traceGL_helperGLCallListsSize = (size_t (*)(GLsizei, GLenum)) traceGetProcAddress("traceGLHelperGLCallListsSize");
  traceGL_helperGLFogvSize = (size_t (*)(GLenum)) traceGetProcAddress("traceGLHelperGLFogvSize");
  traceGL_helperGLLightvSize = (size_t (*)(GLenum)) traceGetProcAddress("traceGLHelperGLLightvSize");
  traceGL_helperGLLightModelvSize = (size_t (*)(GLenum)) traceGetProcAddress("traceGLHelperGLLightModelvSize");
  traceGL_helperGLMaterialvSize = (size_t (*)(GLenum)) traceGetProcAddress("traceGLHelperGLMaterialvSize");
  traceGL_helperGLTexParametervSize = (size_t (*)(GLenum)) traceGetProcAddress("traceGLHelperGLTexParametervSize");
  traceGL_helperGLPixelImageSize = (size_t (*)(GLsizei, GLsizei, GLsizei, GLenum, GLenum, GLint, GLenum)) traceGetProcAddress("traceGLHelperGLPixelImageSize");
  traceGL_helperGLTexEnvvSize = (size_t (*)(GLenum, GLenum)) traceGetProcAddress("traceGLHelperGLTexEnvvSize");
  traceGL_helperGLTexGenvSize = (size_t (*)(GLenum)) traceGetProcAddress("traceGLHelperGLTexGenvSize");
  traceGL_helperGLDrawElementsSize = (size_t (*)(GLenum, GLsizei, GLenum)) traceGetProcAddress("traceGLHelperGLDrawElementsSize");
  traceGL_helperGLNamedStringSize = (size_t (*)(const GLint, const GLchar *)) traceGetProcAddress("traceGLHelperGLNamedStringSize");
  traceGL_helperGLNamedStringParamsSize = (size_t (*)(const GLenum)) traceGetProcAddress("traceGLHelperGLNamedStringParamsSize");
  traceGL_helperGLShaderSourceLengthSize = (GLsizei (*)(const GLsizei, const GLint *)) traceGetProcAddress("traceGLHelperGLShaderSourceLengthSize");
  traceGL_helperGLShaderSourceStringSize = (GLsizei (*)(const GLsizei, const GLint *)) traceGetProcAddress("traceGLHelperGLShaderSourceStringSize");

  /* Validate GL helper function pointers. */

  if (!traceGL_helperGLCallListsSize)
    traceWarning("Helper helperGLCallListsSize not found; some parameters may not be traced.");
  if (!traceGL_helperGLFogvSize)
    traceWarning("Helper helperGLFogvSize not found; some parameters may not be traced.");
  if (!traceGL_helperGLLightvSize)
    traceWarning("Helper helperGLLightvSize not found; some parameters may not be traced.");
  if (!traceGL_helperGLLightModelvSize)
    traceWarning("Helper helperGLLightModelvSize not found; some parameters may not be traced.");
  if (!traceGL_helperGLMaterialvSize)
    traceWarning("Helper helperGLMaterialvSize not found; some parameters may not be traced.");
  if (!traceGL_helperGLTexParametervSize)
    traceWarning("Helper helperGLTexParametervSize not found; some parameters may not be traced.");
  if (!traceGL_helperGLPixelImageSize)
    traceWarning("Helper helperGLPixelImageSize not found; some parameters may not be traced.");
  if (!traceGL_helperGLTexEnvvSize)
    traceWarning("Helper helperGLTexEnvvSize not found; some parameters may not be traced.");
  if (!traceGL_helperGLTexGenvSize)
    traceWarning("Helper helperGLTexGenvSize not found; some parameters may not be traced.");
  if (!traceGL_helperGLDrawElementsSize)
    traceWarning("Helper helperGLDrawElementsSize not found; some parameters may not be traced.");
  if (!traceGL_helperGLNamedStringSize)
    traceWarning("Helper helperGLNamedStringSize not found; some parameters may not be traced.");
  if (!traceGL_helperGLNamedStringParamsSize)
    traceWarning("Helper helperGLNamedStringParamsSize not found; some parameters may not be traced.");
  if (!traceGL_helperGLShaderSourceLengthSize)
    traceWarning("Helper helperGLShaderSourceLengthSize not found; some parameters may not be traced.");
  if (!traceGL_helperGLShaderSourceStringSize)
    traceWarning("Helper helperGLShaderSourceStringSize not found; some parameters may not be traced.");

  traceGL_initialized = 1;
}

/* GL get helper function. */

void *
getHelper(const char *name)
{
  if (!strcmp(name, "traceGLHelperGLCallListsSize"))
    return (void *)(&helperGLCallListsSize);
  if (!strcmp(name, "traceGLHelperGLFogvSize"))
    return (void *)(&helperGLFogvSize);
  if (!strcmp(name, "traceGLHelperGLLightvSize"))
    return (void *)(&helperGLLightvSize);
  if (!strcmp(name, "traceGLHelperGLLightModelvSize"))
    return (void *)(&helperGLLightModelvSize);
  if (!strcmp(name, "traceGLHelperGLMaterialvSize"))
    return (void *)(&helperGLMaterialvSize);
  if (!strcmp(name, "traceGLHelperGLTexParametervSize"))
    return (void *)(&helperGLTexParametervSize);
  if (!strcmp(name, "traceGLHelperGLPixelImageSize"))
    return (void *)(&helperGLPixelImageSize);
  if (!strcmp(name, "traceGLHelperGLTexEnvvSize"))
    return (void *)(&helperGLTexEnvvSize);
  if (!strcmp(name, "traceGLHelperGLTexGenvSize"))
    return (void *)(&helperGLTexGenvSize);
  if (!strcmp(name, "traceGLHelperGLDrawElementsSize"))
    return (void *)(&helperGLDrawElementsSize);
  if (!strcmp(name, "traceGLHelperGLNamedStringSize"))
    return (void *)(&helperGLNamedStringSize);
  if (!strcmp(name, "traceGLHelperGLNamedStringParamsSize"))
    return (void *)(&helperGLNamedStringParamsSize);
  if (!strcmp(name, "traceGLHelperGLShaderSourceLengthSize"))
    return (void *)(&helperGLShaderSourceLengthSize);
  if (!strcmp(name, "traceGLHelperGLShaderSourceStringSize"))
    return (void *)(&helperGLShaderSourceStringSize);

  return NULL;
}

/* GL helper functions. */

/* -------------------------------------------------------------------------- */

/* BeginMode */

#define GL_POINTS                         0x0000
#define GL_LINES                          0x0001
#define GL_LINE_LOOP                      0x0002
#define GL_LINE_STRIP                     0x0003
#define GL_TRIANGLES                      0x0004
#define GL_TRIANGLE_STRIP                 0x0005
#define GL_TRIANGLE_FAN                   0x0006
#define GL_QUADS                          0x0007
#define GL_QUAD_STRIP                     0x0008
#define GL_POLYGON                        0x0009

/* DataType */

#define GL_BYTE                           0x1400
#define GL_UNSIGNED_BYTE                  0x1401
#define GL_SHORT                          0x1402
#define GL_UNSIGNED_SHORT                 0x1403
#define GL_INT                            0x1404
#define GL_UNSIGNED_INT                   0x1405
#define GL_FLOAT                          0x1406
#define GL_2_BYTES                        0x1407
#define GL_3_BYTES                        0x1408
#define GL_4_BYTES                        0x1409
#define GL_DOUBLE                         0x140A
#define GL_DOUBLE_EXT                     0x140A

/* Fog */

#define GL_FOG_INDEX                      0x0B61
#define GL_FOG_DENSITY                    0x0B62
#define GL_FOG_START                      0x0B63
#define GL_FOG_END                        0x0B64
#define GL_FOG_MODE                       0x0B65
#define GL_FOG_COLOR                      0x0B66
/* OpenGL 1.4 */
#define GL_FOG_COORDINATE_SOURCE          0x8450
/* OpenGL 1.5 */
#define GL_FOG_COORD_SRC                  GL_FOG_COORDINATE_SOURCE

/* Light */

#define GL_AMBIENT                        0x1200
#define GL_DIFFUSE                        0x1201
#define GL_SPECULAR                       0x1202
#define GL_POSITION                       0x1203
#define GL_SPOT_DIRECTION                 0x1204
#define GL_SPOT_EXPONENT                  0x1205
#define GL_SPOT_CUTOFF                    0x1206
#define GL_CONSTANT_ATTENUATION           0x1207
#define GL_LINEAR_ATTENUATION             0x1208
#define GL_QUADRATIC_ATTENUATION          0x1209

/* LightModel */

#define GL_LIGHT_MODEL_LOCAL_VIEWER       0x0B51
#define GL_LIGHT_MODEL_TWO_SIDE           0x0B52
#define GL_LIGHT_MODEL_AMBIENT            0x0B53
/* OpenGL 1.2 */
#define GL_LIGHT_MODEL_COLOR_CONTROL      0x81F8

/* Material */

#define GL_EMISSION                       0x1600
#define GL_SHININESS                      0x1601
#define GL_AMBIENT_AND_DIFFUSE            0x1602
#define GL_COLOR_INDEXES                  0x1603
/*      GL_AMBIENT */
/*      GL_DIFFUSE */
/*      GL_SPECULAR */

/* PixelFormat */

#define GL_COLOR_INDEX                    0x1900
#define GL_STENCIL_INDEX                  0x1901
#define GL_DEPTH_COMPONENT                0x1902
#define GL_RED                            0x1903
#define GL_GREEN                          0x1904
#define GL_BLUE                           0x1905
#define GL_ALPHA                          0x1906
#define GL_RGB                            0x1907
#define GL_RGBA                           0x1908
#define GL_LUMINANCE                      0x1909
#define GL_LUMINANCE_ALPHA                0x190A
/*      GL_ABGR_EXT */
#define GL_INTENSITY                      0x8049
/* OpenGL 1.2 */
#define GL_BGR                            0x80E0
#define GL_BGRA                           0x80E1

/* PixelType */

#define GL_BITMAP                         0x1A00
/* OpenGL 1.2 */
#define GL_UNSIGNED_BYTE_3_3_2            0x8032
#define GL_UNSIGNED_BYTE_2_3_3_REV        0x8362
#define GL_UNSIGNED_SHORT_5_6_5           0x8363
#define GL_UNSIGNED_SHORT_5_6_5_REV       0x8364
#define GL_UNSIGNED_SHORT_4_4_4_4         0x8033
#define GL_UNSIGNED_SHORT_4_4_4_4_REV     0x8365
#define GL_UNSIGNED_SHORT_5_5_5_1         0x8034
#define GL_UNSIGNED_SHORT_1_5_5_5_REV     0x8366
#define GL_UNSIGNED_INT_8_8_8_8           0x8035
#define GL_UNSIGNED_INT_8_8_8_8_REV       0x8367
#define GL_UNSIGNED_INT_10_10_10_2        0x8036
#define GL_UNSIGNED_INT_2_10_10_10_REV    0x8368

/* PixelStoreFormat */

#define GL_UNPACK_SWAP_BYTES              0x0CF0
#define GL_UNPACK_LSB_FIRST               0x0CF1
#define GL_UNPACK_ROW_LENGTH              0x0CF2
#define GL_UNPACK_SKIP_ROWS               0x0CF3
#define GL_UNPACK_SKIP_PIXELS             0x0CF4
#define GL_UNPACK_ALIGNMENT               0x0CF5
#define GL_PACK_SWAP_BYTES                0x0D00
#define GL_PACK_LSB_FIRST                 0x0D01
#define GL_PACK_ROW_LENGTH                0x0D02
#define GL_PACK_SKIP_ROWS                 0x0D03
#define GL_PACK_SKIP_PIXELS               0x0D04
#define GL_PACK_ALIGNMENT                 0x0D05
/* OpenGL12 */
#define GL_PACK_SKIP_IMAGES               0x806B
#define GL_PACK_IMAGE_HEIGHT              0x806C
#define GL_UNPACK_SKIP_IMAGES             0x806D
#define GL_UNPACK_IMAGE_HEIGHT            0x806E

/* Texture */

#define GL_TEXTURE_MAG_FILTER             0x2800
#define GL_TEXTURE_MIN_FILTER             0x2801
#define GL_TEXTURE_WRAP_S                 0x2802
#define GL_TEXTURE_WRAP_T                 0x2803
#define GL_TEXTURE_BORDER_COLOR           0x1004
#define GL_TEXTURE_PRIORITY               0x8066

/* OpenGL 1.2 */
#define GL_TEXTURE_WRAP_R                 0x8072
/* OpenGL 1.2 */
#define GL_TEXTURE_MIN_LOD                0x813A
#define GL_TEXTURE_MAX_LOD                0x813B
#define GL_TEXTURE_BASE_LEVEL             0x813C
#define GL_TEXTURE_MAX_LEVEL              0x813D
/* OpenGL 1.4 */
#define GL_TEXTURE_LOD_BIAS               0x8501
#define GL_GENERATE_MIPMAP                0x8191
#define GL_DEPTH_TEXTURE_MODE             0x884B
#define GL_TEXTURE_COMPARE_MODE           0x884C
#define GL_TEXTURE_COMPARE_MODE           0x884C
#define GL_TEXTURE_COMPARE_FUNC           0x884D

/* TextureTarget */

#define GL_TEXTURE_1D                     0x0DE0
#define GL_TEXTURE_2D                     0x0DE1
#define GL_PROXY_TEXTURE_1D               0x8063
#define GL_PROXY_TEXTURE_2D               0x8064
/* OpenGL 1.2 */
#define GL_TEXTURE_3D                     0x806F
#define GL_PROXY_TEXTURE_3D               0x8070

/* TextureEnvParameter */

#define GL_ALPHA_SCALE                    0x0D1C
#define GL_TEXTURE_ENV_MODE               0x2200
#define GL_TEXTURE_ENV_COLOR              0x2201
/* OpenGL 1.3 */
#define GL_COMBINE_RGB                    0x8571
#define GL_COMBINE_ALPHA                  0x8572
#define GL_RGB_SCALE                      0x8573
#define GL_SOURCE0_RGB                    0x8580
#define GL_SOURCE1_RGB                    0x8581
#define GL_SOURCE2_RGB                    0x8582
#define GL_SOURCE0_ALPHA                  0x8588
#define GL_SOURCE1_ALPHA                  0x8589
#define GL_SOURCE2_ALPHA                  0x858A
#define GL_OPERAND0_RGB                   0x8590
#define GL_OPERAND1_RGB                   0x8591
#define GL_OPERAND2_RGB                   0x8592
#define GL_OPERAND0_ALPHA                 0x8598
#define GL_OPERAND1_ALPHA                 0x8599
#define GL_OPERAND2_ALPHA                 0x859A
/* OpenGL 1.5 */
#define GL_SRC0_RGB                       GL_SOURCE0_RGB
#define GL_SRC1_RGB                       GL_SOURCE1_RGB
#define GL_SRC2_RGB                       GL_SOURCE2_RGB
#define GL_SRC0_ALPHA                     GL_SOURCE0_ALPHA
#define GL_SRC1_ALPHA                     GL_SOURCE1_ALPHA
#define GL_SRC2_ALPHA                     GL_SOURCE2_ALPHA

/* TextureEnvTarget */

#define GL_TEXTURE_ENV                    0x2300
/* OpenGL 1.4 */
#define GL_TEXTURE_FILTER_CONTROL         0x8500

/* TextureGenMode */

#define GL_EYE_LINEAR                     0x2400
#define GL_OBJECT_LINEAR                  0x2401
#define GL_SPHERE_MAP                     0x2402

/* TextureGenParameter */

#define GL_TEXTURE_GEN_MODE               0x2500
#define GL_OBJECT_PLANE                   0x2501
#define GL_EYE_PLANE                      0x2502

/* TODO: DrawPixels... */

/* OpenGL 2.1 */
#define GL_PIXEL_PACK_BUFFER_BINDING      0x88ED
#define GL_PIXEL_UNPACK_BUFFER_BINDING    0x88EF

/* GL_ARB_shading_language_include */

#define GL_NAMED_STRING_LENGTH_ARB        0x8DE9
#define GL_NAMED_STRING_TYPE_ARB          0x8DEA

/* -------------------------------------------------------------------------- */

size_t
helperGLCallListsSize(GLsizei n, GLenum type)
{
  size_t size = 0;

  switch (type)
  {
    case GL_BYTE:           size = sizeof(GLbyte);       break;
    case GL_UNSIGNED_BYTE:  size = sizeof(GLubyte);      break;
    case GL_SHORT:          size = sizeof(GLshort);      break;
    case GL_UNSIGNED_SHORT: size = sizeof(GLushort);     break;
    case GL_INT:            size = sizeof(GLint);        break;
    case GL_UNSIGNED_INT:   size = sizeof(GLuint);       break;
    case GL_FLOAT:          size = sizeof(GLfloat);      break;
    case GL_2_BYTES:        size = 2 * sizeof(GLubyte);  break;
    case GL_3_BYTES:        size = 3 * sizeof(GLubyte);  break;
    case GL_4_BYTES:        size = 4 * sizeof(GLubyte);  break;

    default: break;
  }

  size *= n > 0 ? (size_t)(n) : 0;

  return size;
}

size_t
helperGLFogvSize(GLenum pname)
{
  switch (pname)
  {
    case GL_FOG_MODE:             return 1;
    case GL_FOG_DENSITY:          return 1;
    case GL_FOG_START:            return 1;
    case GL_FOG_END:              return 1;
    case GL_FOG_INDEX:            return 1;
    case GL_FOG_COLOR:            return 4;
    case GL_FOG_COORD_SRC:        return 1;

    default: break;
  }
  return 0;
}

size_t
helperGLLightvSize(GLenum pname)
{
  switch (pname)
  {
    case GL_AMBIENT:               return 4;
    case GL_DIFFUSE:               return 4;
    case GL_SPECULAR:              return 4;
    case GL_POSITION:              return 4;
    case GL_SPOT_CUTOFF:           return 1;
    case GL_SPOT_DIRECTION:        return 3;
    case GL_SPOT_EXPONENT:         return 1;
    case GL_CONSTANT_ATTENUATION:  return 1;
    case GL_LINEAR_ATTENUATION:    return 1;
    case GL_QUADRATIC_ATTENUATION: return 1;

    default: break;
  }
  return 0;
}

size_t
helperGLLightModelvSize(GLenum pname)
{
  switch (pname)
  {
    case GL_LIGHT_MODEL_AMBIENT:       return 4;
    case GL_LIGHT_MODEL_COLOR_CONTROL: return 1;
    case GL_LIGHT_MODEL_LOCAL_VIEWER:  return 1;
    case GL_LIGHT_MODEL_TWO_SIDE:      return 1;

    default: break;
  }
  return 0;
}

size_t
helperGLMaterialvSize(GLenum pname)
{
  switch (pname)
  {
    case GL_AMBIENT:             return 4;
    case GL_DIFFUSE:             return 4;
    case GL_SPECULAR:            return 4;
    case GL_EMISSION:            return 4;
    case GL_SHININESS:           return 1;
    case GL_AMBIENT_AND_DIFFUSE: return 4;
    case GL_COLOR_INDEXES:       return 3;

    default: break;
  }
  return 0;
}

size_t
helperGLTexParametervSize(GLenum pname)
{
  switch (pname)
  {
    case GL_TEXTURE_MIN_FILTER:   return 1;
    case GL_TEXTURE_MAG_FILTER:   return 1;
    case GL_TEXTURE_MIN_LOD:      return 1;
    case GL_TEXTURE_MAX_LOD:      return 1;
    case GL_TEXTURE_BASE_LEVEL:   return 1;
    case GL_TEXTURE_MAX_LEVEL:    return 1;
    case GL_TEXTURE_WRAP_S:       return 1;
    case GL_TEXTURE_WRAP_T:       return 1;
    case GL_TEXTURE_WRAP_R:       return 1;
    case GL_TEXTURE_BORDER_COLOR: return 4;
    case GL_TEXTURE_PRIORITY:     return 1;
    case GL_TEXTURE_COMPARE_MODE: return 1;
    case GL_TEXTURE_COMPARE_FUNC: return 1;
    case GL_DEPTH_TEXTURE_MODE:   return 1;
    case GL_GENERATE_MIPMAP:      return 1;

    default: break;
  }
  return 0;
}

size_t
helperGLPixelImageSize(GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint pack, GLenum target)
{
  size_t numComponent = 0;
  size_t sizeElement  = 8; /* bits */

  size_t dataWidth  = 0;
  size_t dataHeight = 0;
  size_t dataDepth  = 0;

  if (!traceGL_Native.glGetIntegerv)
    return 0;

  if (width < 0 || height < 0 || depth < 0)
    return 0;

  if (pack != 0 && pack != 1)
    return 0;

  /* When target is a GL_PROXY_TEXUTRE_xx, size is 0. */

  if ((target == GL_PROXY_TEXTURE_1D) ||
      (target == GL_PROXY_TEXTURE_2D) ||
      (target == GL_PROXY_TEXTURE_3D))
    return 0;

  /* TODO: If an unpack buffer is bound for glDrawPixels... */
  if (!pack)
  {
    GLint bufferBinding = 0;
    traceGL_Native.glGetIntegerv(GL_PIXEL_UNPACK_BUFFER_BINDING, &bufferBinding);
    if (bufferBinding > 0)
      return 1;
  }
  else
  {
    /* TODO: Data is treated as byte offset when a non-zero named buffer is bound. */
    GLint bufferBinding = 0;
    traceGL_Native.glGetIntegerv(GL_PIXEL_PACK_BUFFER_BINDING, &bufferBinding);
    if (bufferBinding > 0)
      return 1;
  }

  /* Compute number of components in each element. */

  switch (format)
  {
    case GL_COLOR_INDEX:     numComponent = 1; break;
    case GL_STENCIL_INDEX:   numComponent = 1; break;
    case GL_DEPTH_COMPONENT: numComponent = 1; break;
    case GL_RED:
    case GL_GREEN:
    case GL_BLUE:
    case GL_ALPHA:           numComponent = 1; break;
    case GL_INTENSITY:       numComponent = 1; break;
    case GL_RGB:
    case GL_BGR:             numComponent = 3; break;
    case GL_RGBA:
    case GL_BGRA:            numComponent = 4; break;
    case GL_LUMINANCE:       numComponent = 1; break;
    case GL_LUMINANCE_ALPHA: numComponent = 2; break;

    default: break;
  }

  /* Compute size of each element. */

  switch (type)
  {
    /* Each value is one component per element. */

    case GL_UNSIGNED_BYTE:               sizeElement *= sizeof(GLubyte)  * numComponent; break;
    case GL_BYTE:                        sizeElement *= sizeof(GLbyte)   * numComponent; break;
    case GL_BITMAP:                      sizeElement *= sizeof(GLubyte)  * numComponent; break;
    case GL_UNSIGNED_SHORT:              sizeElement *= sizeof(GLushort) * numComponent; break;
    case GL_SHORT:                       sizeElement *= sizeof(GLshort)  * numComponent; break;
    case GL_UNSIGNED_INT:                sizeElement *= sizeof(GLuint)   * numComponent; break;
    case GL_INT:                         sizeElement *= sizeof(GLint)    * numComponent; break;
    case GL_FLOAT:                       sizeElement *= sizeof(GLfloat)  * numComponent; break;

    /* Each unsigned value contains all the components per element. */

    case GL_UNSIGNED_BYTE_3_3_2:
    case GL_UNSIGNED_BYTE_2_3_3_REV:     sizeElement *= sizeof(GLbyte);   break;

    case GL_UNSIGNED_SHORT_5_6_5:
    case GL_UNSIGNED_SHORT_5_6_5_REV:
    case GL_UNSIGNED_SHORT_4_4_4_4:
    case GL_UNSIGNED_SHORT_4_4_4_4_REV:
    case GL_UNSIGNED_SHORT_5_5_5_1:
    case GL_UNSIGNED_SHORT_1_5_5_5_REV:  sizeElement *= sizeof(GLushort); break;

    case GL_UNSIGNED_INT_8_8_8_8:
    case GL_UNSIGNED_INT_8_8_8_8_REV:
    case GL_UNSIGNED_INT_10_10_10_2:
    case GL_UNSIGNED_INT_2_10_10_10_REV: sizeElement *= sizeof(GLuint);   break;

    default: break;
  }

  /* Special case: GL_BITMAP. */

  if (type == GL_BITMAP)
  {
    if ((format == GL_COLOR_INDEX) || (format == GL_STENCIL_INDEX))
      sizeElement = sizeElement/8;
    else
      return 0;
  }

  /* Take into account client state set by glPixelStore. */

  if (depth)
  {
    GLint skipImages = 0;

    /* GL_PACK_SKIP_IMAGES */
    if (pack)
      traceGL_Native.glGetIntegerv(GL_PACK_SKIP_IMAGES, &skipImages);
    else
      traceGL_Native.glGetIntegerv(GL_UNPACK_SKIP_IMAGES, &skipImages);
    dataDepth += skipImages > 0 ? skipImages : 0;
  }
  else
  {
    dataDepth = 1;
  }

  if (height)
  {
    GLint imageHeight = 0;
    GLint skipRows    = 0;
    GLint rowLength   = 0;
    GLint alignment   = 1; /* Allowed values: 1,2,4,8 */

    /* GL_PACK_IMAGE_HEIGHT */
    if (pack)
      traceGL_Native.glGetIntegerv(GL_PACK_IMAGE_HEIGHT, &imageHeight);
    else
      traceGL_Native.glGetIntegerv(GL_UNPACK_IMAGE_HEIGHT, &imageHeight);
    dataHeight = imageHeight > 0 ? imageHeight : height;

    /* GL_PACK_SKIP_ROWS */
    if (pack)
      traceGL_Native.glGetIntegerv(GL_PACK_SKIP_ROWS, &skipRows);
    else
      traceGL_Native.glGetIntegerv(GL_UNPACK_SKIP_ROWS, &skipRows);
    dataHeight += skipRows > 0 ? skipRows : 0;

    /* GL_PACK_ROW_LENGTH */
    if (pack)
      traceGL_Native.glGetIntegerv(GL_PACK_ROW_LENGTH, &rowLength);
    else
      traceGL_Native.glGetIntegerv(GL_UNPACK_ROW_LENGTH, &rowLength);
    dataWidth = rowLength > 0 ? rowLength : width;

    /* Align byte boundary */
    dataWidth = (dataWidth * sizeElement + 7)/8;

    /* GL_PACK_ALIGNMENT */
    if (pack)
      traceGL_Native.glGetIntegerv(GL_PACK_ALIGNMENT, &alignment);
    else
      traceGL_Native.glGetIntegerv(GL_UNPACK_ALIGNMENT, &alignment);
    dataWidth = alignment > 0 ? alignment * (dataWidth + alignment - 1)/alignment : dataWidth;
  }
  else
  {
    dataHeight = 1;

    /* Align byte boundary */
    dataWidth = (width * sizeElement + 7)/8;
  }

  return dataWidth * dataHeight * dataDepth;
}

size_t
helperGLTexEnvvSize(GLenum target, GLenum pname)
{
  switch (target)
  {
    case GL_TEXTURE_ENV:
      switch (pname)
      {
        case GL_TEXTURE_ENV_MODE:  return 1;
        case GL_TEXTURE_ENV_COLOR: return 4;
        case GL_COMBINE_RGB:       return 1;
        case GL_COMBINE_ALPHA:     return 1;
        case GL_RGB_SCALE:         return 1;
        case GL_ALPHA_SCALE:       return 1;
        case GL_SRC0_RGB:
        case GL_SRC1_RGB:
        case GL_SRC2_RGB:          return 1;
        case GL_SRC0_ALPHA:
        case GL_SRC1_ALPHA:
        case GL_SRC2_ALPHA:        return 1;
        case GL_OPERAND0_RGB:
        case GL_OPERAND1_RGB:
        case GL_OPERAND2_RGB:      return 1;
        case GL_OPERAND0_ALPHA:
        case GL_OPERAND1_ALPHA:
        case GL_OPERAND2_ALPHA:    return 1;

        default: break;
      }
      break;

    case GL_TEXTURE_FILTER_CONTROL:
      switch (pname)
      {
        case GL_TEXTURE_LOD_BIAS:  return 1;

        default: break;
      }
      break;

    default: break;
  }
  return 0;
}

size_t
helperGLTexGenvSize(GLenum pname)
{
  switch (pname)
  {
    case GL_TEXTURE_GEN_MODE: return 1;
    case GL_OBJECT_PLANE:     return 4;
    case GL_EYE_PLANE:        return 4;

    default: break;
  }
  return 0;
}

size_t
helperGLDrawElementsSize(GLenum mode, GLsizei count, GLenum type)
{
  size_t size = 0;

  switch (mode)
  {
    case GL_POINTS:
    case GL_LINE_STRIP:
    case GL_LINE_LOOP:
    case GL_LINES:
    case GL_TRIANGLE_STRIP:
    case GL_TRIANGLE_FAN:
    case GL_TRIANGLES:
    case GL_QUAD_STRIP:
    case GL_QUADS:
    case GL_POLYGON:         break;

    default: return 0;
  }

  size = count > 0 ? count : 0;

  switch (type)
  {
    case GL_UNSIGNED_BYTE:  size *= sizeof(GLubyte);  break;
    case GL_UNSIGNED_SHORT: size *= sizeof(GLushort); break;
    case GL_UNSIGNED_INT:   size *= sizeof(GLuint);   break;

    default: break;
  }

  return size;
}

size_t
helperGLNamedStringSize(const GLint namelen, const GLchar *name)
{
  if (namelen > 0)
    return (size_t) namelen;

  return name ? strlen(name) : 0;
}

size_t
helperGLNamedStringParamsSize(const GLenum pname)
{
  switch (pname)
  {
    case GL_NAMED_STRING_LENGTH_ARB: return 1;
    case GL_NAMED_STRING_TYPE_ARB:   return 1;

    default: break;
  }
  return 0;
}

GLsizei
helperGLShaderSourceLengthSize(const GLsizei count, const GLint *length)
{
  return length ? count : 0;
}

GLsizei
helperGLShaderSourceStringSize(const GLsizei count, const GLint *length)
{
  /* Only NUL-terminated source strings are supported currently */

  GLsizei i;

  if (length)
    for (i=0; i<count; ++i)
      if (length[i]>=0)
        return 0;

  return count;
}

/* GL API wrapper functions. */

DLLEXPORT void GLAPIENTRY
glNewList(GLuint list, GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNewList)
    traceGL_lookupNativeAddress("glNewList", (void **) &traceGL_Native.glNewList);

  traceThis = traceEnabled("glNewList");

  if (!traceGL_Native.glNewList)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNewList");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("list", "%u", list);
    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNewList(list, mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEndList()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndList)
    traceGL_lookupNativeAddress("glEndList", (void **) &traceGL_Native.glEndList);

  traceThis = traceEnabled("glEndList");

  if (!traceGL_Native.glEndList)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEndList");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEndList();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCallList(GLuint list)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCallList)
    traceGL_lookupNativeAddress("glCallList", (void **) &traceGL_Native.glCallList);

  traceThis = traceEnabled("glCallList");

  if (!traceGL_Native.glCallList)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCallList");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("list", "%u", list);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCallList(list);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCallLists(GLsizei n, GLenum type, const GLvoid *lists)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCallLists)
    traceGL_lookupNativeAddress("glCallLists", (void **) &traceGL_Native.glCallLists);

  traceThis = traceEnabled("glCallLists");

  if (!traceGL_Native.glCallLists)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCallLists");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("type", "%u", type);
    traceInputParameter("lists", "%c[%ld]", lists, (traceGL_helperGLCallListsSize ? traceGL_helperGLCallListsSize(n, type) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCallLists(n, type, lists);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteLists(GLuint list, GLsizei range)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteLists)
    traceGL_lookupNativeAddress("glDeleteLists", (void **) &traceGL_Native.glDeleteLists);

  traceThis = traceEnabled("glDeleteLists");

  if (!traceGL_Native.glDeleteLists)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteLists");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("list", "%u", list);
    traceInputParameter("range", "%d", range);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteLists(list, range);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLuint GLAPIENTRY
glGenLists(GLsizei range)
{
  GLuint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenLists)
    traceGL_lookupNativeAddress("glGenLists", (void **) &traceGL_Native.glGenLists);

  traceThis = traceEnabled("glGenLists");

  if (!traceGL_Native.glGenLists)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenLists");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("range", "%d", range);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGenLists(range);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glListBase(GLuint base)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glListBase)
    traceGL_lookupNativeAddress("glListBase", (void **) &traceGL_Native.glListBase);

  traceThis = traceEnabled("glListBase");

  if (!traceGL_Native.glListBase)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glListBase");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("base", "%u", base);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glListBase(base);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBegin(GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBegin)
    traceGL_lookupNativeAddress("glBegin", (void **) &traceGL_Native.glBegin);

  traceThis = traceEnabled("glBegin");

  if (!traceGL_Native.glBegin)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBegin");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBegin(mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBitmap)
    traceGL_lookupNativeAddress("glBitmap", (void **) &traceGL_Native.glBitmap);

  traceThis = traceEnabled("glBitmap");

  if (!traceGL_Native.glBitmap)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBitmap");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("xorig", "%f", xorig);
    traceInputParameter("yorig", "%f", yorig);
    traceInputParameter("xmove", "%f", xmove);
    traceInputParameter("ymove", "%f", ymove);
    traceInputParameter("bitmap", "%c[%ld]", bitmap, (traceGL_helperGLPixelImageSize ? traceGL_helperGLPixelImageSize(width, height, 0, GL_COLOR_INDEX, GL_BITMAP, 0, GL_BITMAP) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBitmap(width, height, xorig, yorig, xmove, ymove, bitmap);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor3b(GLbyte red, GLbyte green, GLbyte blue)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor3b)
    traceGL_lookupNativeAddress("glColor3b", (void **) &traceGL_Native.glColor3b);

  traceThis = traceEnabled("glColor3b");

  if (!traceGL_Native.glColor3b)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor3b");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%d", (int) red);
    traceInputParameter("green", "%d", (int) green);
    traceInputParameter("blue", "%d", (int) blue);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor3b(red, green, blue);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor3bv(const GLbyte *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor3bv)
    traceGL_lookupNativeAddress("glColor3bv", (void **) &traceGL_Native.glColor3bv);

  traceThis = traceEnabled("glColor3bv");

  if (!traceGL_Native.glColor3bv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor3bv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%c[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor3bv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor3d(GLdouble red, GLdouble green, GLdouble blue)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor3d)
    traceGL_lookupNativeAddress("glColor3d", (void **) &traceGL_Native.glColor3d);

  traceThis = traceEnabled("glColor3d");

  if (!traceGL_Native.glColor3d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor3d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%lf", red);
    traceInputParameter("green", "%lf", green);
    traceInputParameter("blue", "%lf", blue);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor3d(red, green, blue);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor3dv(const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor3dv)
    traceGL_lookupNativeAddress("glColor3dv", (void **) &traceGL_Native.glColor3dv);

  traceThis = traceEnabled("glColor3dv");

  if (!traceGL_Native.glColor3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor3dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%lf[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor3dv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor3f(GLfloat red, GLfloat green, GLfloat blue)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor3f)
    traceGL_lookupNativeAddress("glColor3f", (void **) &traceGL_Native.glColor3f);

  traceThis = traceEnabled("glColor3f");

  if (!traceGL_Native.glColor3f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor3f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%f", red);
    traceInputParameter("green", "%f", green);
    traceInputParameter("blue", "%f", blue);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor3f(red, green, blue);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor3fv(const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor3fv)
    traceGL_lookupNativeAddress("glColor3fv", (void **) &traceGL_Native.glColor3fv);

  traceThis = traceEnabled("glColor3fv");

  if (!traceGL_Native.glColor3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor3fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor3fv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor3i(GLint red, GLint green, GLint blue)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor3i)
    traceGL_lookupNativeAddress("glColor3i", (void **) &traceGL_Native.glColor3i);

  traceThis = traceEnabled("glColor3i");

  if (!traceGL_Native.glColor3i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor3i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%d", red);
    traceInputParameter("green", "%d", green);
    traceInputParameter("blue", "%d", blue);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor3i(red, green, blue);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor3iv(const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor3iv)
    traceGL_lookupNativeAddress("glColor3iv", (void **) &traceGL_Native.glColor3iv);

  traceThis = traceEnabled("glColor3iv");

  if (!traceGL_Native.glColor3iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor3iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%d[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor3iv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor3s(GLshort red, GLshort green, GLshort blue)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor3s)
    traceGL_lookupNativeAddress("glColor3s", (void **) &traceGL_Native.glColor3s);

  traceThis = traceEnabled("glColor3s");

  if (!traceGL_Native.glColor3s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor3s");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%hd", red);
    traceInputParameter("green", "%hd", green);
    traceInputParameter("blue", "%hd", blue);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor3s(red, green, blue);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor3sv(const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor3sv)
    traceGL_lookupNativeAddress("glColor3sv", (void **) &traceGL_Native.glColor3sv);

  traceThis = traceEnabled("glColor3sv");

  if (!traceGL_Native.glColor3sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor3sv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hd[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor3sv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor3ub(GLubyte red, GLubyte green, GLubyte blue)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor3ub)
    traceGL_lookupNativeAddress("glColor3ub", (void **) &traceGL_Native.glColor3ub);

  traceThis = traceEnabled("glColor3ub");

  if (!traceGL_Native.glColor3ub)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor3ub");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%u", (unsigned int) red);
    traceInputParameter("green", "%u", (unsigned int) green);
    traceInputParameter("blue", "%u", (unsigned int) blue);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor3ub(red, green, blue);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor3ubv(const GLubyte *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor3ubv)
    traceGL_lookupNativeAddress("glColor3ubv", (void **) &traceGL_Native.glColor3ubv);

  traceThis = traceEnabled("glColor3ubv");

  if (!traceGL_Native.glColor3ubv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor3ubv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%c[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor3ubv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor3ui(GLuint red, GLuint green, GLuint blue)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor3ui)
    traceGL_lookupNativeAddress("glColor3ui", (void **) &traceGL_Native.glColor3ui);

  traceThis = traceEnabled("glColor3ui");

  if (!traceGL_Native.glColor3ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor3ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%u", red);
    traceInputParameter("green", "%u", green);
    traceInputParameter("blue", "%u", blue);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor3ui(red, green, blue);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor3uiv(const GLuint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor3uiv)
    traceGL_lookupNativeAddress("glColor3uiv", (void **) &traceGL_Native.glColor3uiv);

  traceThis = traceEnabled("glColor3uiv");

  if (!traceGL_Native.glColor3uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor3uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%u[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor3uiv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor3us(GLushort red, GLushort green, GLushort blue)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor3us)
    traceGL_lookupNativeAddress("glColor3us", (void **) &traceGL_Native.glColor3us);

  traceThis = traceEnabled("glColor3us");

  if (!traceGL_Native.glColor3us)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor3us");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%hu", red);
    traceInputParameter("green", "%hu", green);
    traceInputParameter("blue", "%hu", blue);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor3us(red, green, blue);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor3usv(const GLushort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor3usv)
    traceGL_lookupNativeAddress("glColor3usv", (void **) &traceGL_Native.glColor3usv);

  traceThis = traceEnabled("glColor3usv");

  if (!traceGL_Native.glColor3usv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor3usv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hu[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor3usv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4b)
    traceGL_lookupNativeAddress("glColor4b", (void **) &traceGL_Native.glColor4b);

  traceThis = traceEnabled("glColor4b");

  if (!traceGL_Native.glColor4b)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4b");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%d", (int) red);
    traceInputParameter("green", "%d", (int) green);
    traceInputParameter("blue", "%d", (int) blue);
    traceInputParameter("alpha", "%d", (int) alpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor4b(red, green, blue, alpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor4bv(const GLbyte *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4bv)
    traceGL_lookupNativeAddress("glColor4bv", (void **) &traceGL_Native.glColor4bv);

  traceThis = traceEnabled("glColor4bv");

  if (!traceGL_Native.glColor4bv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4bv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%c[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor4bv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4d)
    traceGL_lookupNativeAddress("glColor4d", (void **) &traceGL_Native.glColor4d);

  traceThis = traceEnabled("glColor4d");

  if (!traceGL_Native.glColor4d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%lf", red);
    traceInputParameter("green", "%lf", green);
    traceInputParameter("blue", "%lf", blue);
    traceInputParameter("alpha", "%lf", alpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor4d(red, green, blue, alpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor4dv(const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4dv)
    traceGL_lookupNativeAddress("glColor4dv", (void **) &traceGL_Native.glColor4dv);

  traceThis = traceEnabled("glColor4dv");

  if (!traceGL_Native.glColor4dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%lf[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor4dv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4f)
    traceGL_lookupNativeAddress("glColor4f", (void **) &traceGL_Native.glColor4f);

  traceThis = traceEnabled("glColor4f");

  if (!traceGL_Native.glColor4f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%f", red);
    traceInputParameter("green", "%f", green);
    traceInputParameter("blue", "%f", blue);
    traceInputParameter("alpha", "%f", alpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor4f(red, green, blue, alpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor4fv(const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4fv)
    traceGL_lookupNativeAddress("glColor4fv", (void **) &traceGL_Native.glColor4fv);

  traceThis = traceEnabled("glColor4fv");

  if (!traceGL_Native.glColor4fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%f[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor4fv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor4i(GLint red, GLint green, GLint blue, GLint alpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4i)
    traceGL_lookupNativeAddress("glColor4i", (void **) &traceGL_Native.glColor4i);

  traceThis = traceEnabled("glColor4i");

  if (!traceGL_Native.glColor4i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%d", red);
    traceInputParameter("green", "%d", green);
    traceInputParameter("blue", "%d", blue);
    traceInputParameter("alpha", "%d", alpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor4i(red, green, blue, alpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor4iv(const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4iv)
    traceGL_lookupNativeAddress("glColor4iv", (void **) &traceGL_Native.glColor4iv);

  traceThis = traceEnabled("glColor4iv");

  if (!traceGL_Native.glColor4iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%d[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor4iv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4s)
    traceGL_lookupNativeAddress("glColor4s", (void **) &traceGL_Native.glColor4s);

  traceThis = traceEnabled("glColor4s");

  if (!traceGL_Native.glColor4s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4s");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%hd", red);
    traceInputParameter("green", "%hd", green);
    traceInputParameter("blue", "%hd", blue);
    traceInputParameter("alpha", "%hd", alpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor4s(red, green, blue, alpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor4sv(const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4sv)
    traceGL_lookupNativeAddress("glColor4sv", (void **) &traceGL_Native.glColor4sv);

  traceThis = traceEnabled("glColor4sv");

  if (!traceGL_Native.glColor4sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4sv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hd[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor4sv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4ub)
    traceGL_lookupNativeAddress("glColor4ub", (void **) &traceGL_Native.glColor4ub);

  traceThis = traceEnabled("glColor4ub");

  if (!traceGL_Native.glColor4ub)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4ub");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%u", (unsigned int) red);
    traceInputParameter("green", "%u", (unsigned int) green);
    traceInputParameter("blue", "%u", (unsigned int) blue);
    traceInputParameter("alpha", "%u", (unsigned int) alpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor4ub(red, green, blue, alpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor4ubv(const GLubyte *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4ubv)
    traceGL_lookupNativeAddress("glColor4ubv", (void **) &traceGL_Native.glColor4ubv);

  traceThis = traceEnabled("glColor4ubv");

  if (!traceGL_Native.glColor4ubv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4ubv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%c[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor4ubv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4ui)
    traceGL_lookupNativeAddress("glColor4ui", (void **) &traceGL_Native.glColor4ui);

  traceThis = traceEnabled("glColor4ui");

  if (!traceGL_Native.glColor4ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%u", red);
    traceInputParameter("green", "%u", green);
    traceInputParameter("blue", "%u", blue);
    traceInputParameter("alpha", "%u", alpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor4ui(red, green, blue, alpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor4uiv(const GLuint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4uiv)
    traceGL_lookupNativeAddress("glColor4uiv", (void **) &traceGL_Native.glColor4uiv);

  traceThis = traceEnabled("glColor4uiv");

  if (!traceGL_Native.glColor4uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%u[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor4uiv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4us)
    traceGL_lookupNativeAddress("glColor4us", (void **) &traceGL_Native.glColor4us);

  traceThis = traceEnabled("glColor4us");

  if (!traceGL_Native.glColor4us)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4us");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%hu", red);
    traceInputParameter("green", "%hu", green);
    traceInputParameter("blue", "%hu", blue);
    traceInputParameter("alpha", "%hu", alpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor4us(red, green, blue, alpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor4usv(const GLushort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4usv)
    traceGL_lookupNativeAddress("glColor4usv", (void **) &traceGL_Native.glColor4usv);

  traceThis = traceEnabled("glColor4usv");

  if (!traceGL_Native.glColor4usv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4usv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hu[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor4usv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEdgeFlag(GLboolean flag)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEdgeFlag)
    traceGL_lookupNativeAddress("glEdgeFlag", (void **) &traceGL_Native.glEdgeFlag);

  traceThis = traceEnabled("glEdgeFlag");

  if (!traceGL_Native.glEdgeFlag)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEdgeFlag");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("flag", "%u", (unsigned int) flag);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEdgeFlag(flag);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEdgeFlagv(const GLboolean *flag)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEdgeFlagv)
    traceGL_lookupNativeAddress("glEdgeFlagv", (void **) &traceGL_Native.glEdgeFlagv);

  traceThis = traceEnabled("glEdgeFlagv");

  if (!traceGL_Native.glEdgeFlagv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEdgeFlagv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("flag", "%c[%d]", flag, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEdgeFlagv(flag);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEnd()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEnd)
    traceGL_lookupNativeAddress("glEnd", (void **) &traceGL_Native.glEnd);

  traceThis = traceEnabled("glEnd");

  if (!traceGL_Native.glEnd)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEnd");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEnd();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glIndexd(GLdouble c)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIndexd)
    traceGL_lookupNativeAddress("glIndexd", (void **) &traceGL_Native.glIndexd);

  traceThis = traceEnabled("glIndexd");

  if (!traceGL_Native.glIndexd)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIndexd");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("c", "%lf", c);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glIndexd(c);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glIndexdv(const GLdouble *c)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIndexdv)
    traceGL_lookupNativeAddress("glIndexdv", (void **) &traceGL_Native.glIndexdv);

  traceThis = traceEnabled("glIndexdv");

  if (!traceGL_Native.glIndexdv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIndexdv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("c", "%lf[%d]", c, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glIndexdv(c);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glIndexf(GLfloat c)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIndexf)
    traceGL_lookupNativeAddress("glIndexf", (void **) &traceGL_Native.glIndexf);

  traceThis = traceEnabled("glIndexf");

  if (!traceGL_Native.glIndexf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIndexf");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("c", "%f", c);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glIndexf(c);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glIndexfv(const GLfloat *c)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIndexfv)
    traceGL_lookupNativeAddress("glIndexfv", (void **) &traceGL_Native.glIndexfv);

  traceThis = traceEnabled("glIndexfv");

  if (!traceGL_Native.glIndexfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIndexfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("c", "%f[%d]", c, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glIndexfv(c);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glIndexi(GLint c)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIndexi)
    traceGL_lookupNativeAddress("glIndexi", (void **) &traceGL_Native.glIndexi);

  traceThis = traceEnabled("glIndexi");

  if (!traceGL_Native.glIndexi)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIndexi");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("c", "%d", c);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glIndexi(c);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glIndexiv(const GLint *c)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIndexiv)
    traceGL_lookupNativeAddress("glIndexiv", (void **) &traceGL_Native.glIndexiv);

  traceThis = traceEnabled("glIndexiv");

  if (!traceGL_Native.glIndexiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIndexiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("c", "%d[%d]", c, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glIndexiv(c);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glIndexs(GLshort c)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIndexs)
    traceGL_lookupNativeAddress("glIndexs", (void **) &traceGL_Native.glIndexs);

  traceThis = traceEnabled("glIndexs");

  if (!traceGL_Native.glIndexs)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIndexs");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("c", "%hd", c);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glIndexs(c);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glIndexsv(const GLshort *c)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIndexsv)
    traceGL_lookupNativeAddress("glIndexsv", (void **) &traceGL_Native.glIndexsv);

  traceThis = traceEnabled("glIndexsv");

  if (!traceGL_Native.glIndexsv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIndexsv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("c", "%hd[%d]", c, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glIndexsv(c);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormal3b)
    traceGL_lookupNativeAddress("glNormal3b", (void **) &traceGL_Native.glNormal3b);

  traceThis = traceEnabled("glNormal3b");

  if (!traceGL_Native.glNormal3b)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormal3b");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("nx", "%d", (int) nx);
    traceInputParameter("ny", "%d", (int) ny);
    traceInputParameter("nz", "%d", (int) nz);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormal3b(nx, ny, nz);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormal3bv(const GLbyte *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormal3bv)
    traceGL_lookupNativeAddress("glNormal3bv", (void **) &traceGL_Native.glNormal3bv);

  traceThis = traceEnabled("glNormal3bv");

  if (!traceGL_Native.glNormal3bv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormal3bv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%c[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormal3bv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormal3d)
    traceGL_lookupNativeAddress("glNormal3d", (void **) &traceGL_Native.glNormal3d);

  traceThis = traceEnabled("glNormal3d");

  if (!traceGL_Native.glNormal3d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormal3d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("nx", "%lf", nx);
    traceInputParameter("ny", "%lf", ny);
    traceInputParameter("nz", "%lf", nz);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormal3d(nx, ny, nz);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormal3dv(const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormal3dv)
    traceGL_lookupNativeAddress("glNormal3dv", (void **) &traceGL_Native.glNormal3dv);

  traceThis = traceEnabled("glNormal3dv");

  if (!traceGL_Native.glNormal3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormal3dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%lf[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormal3dv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormal3f)
    traceGL_lookupNativeAddress("glNormal3f", (void **) &traceGL_Native.glNormal3f);

  traceThis = traceEnabled("glNormal3f");

  if (!traceGL_Native.glNormal3f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormal3f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("nx", "%f", nx);
    traceInputParameter("ny", "%f", ny);
    traceInputParameter("nz", "%f", nz);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormal3f(nx, ny, nz);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormal3fv(const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormal3fv)
    traceGL_lookupNativeAddress("glNormal3fv", (void **) &traceGL_Native.glNormal3fv);

  traceThis = traceEnabled("glNormal3fv");

  if (!traceGL_Native.glNormal3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormal3fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormal3fv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormal3i(GLint nx, GLint ny, GLint nz)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormal3i)
    traceGL_lookupNativeAddress("glNormal3i", (void **) &traceGL_Native.glNormal3i);

  traceThis = traceEnabled("glNormal3i");

  if (!traceGL_Native.glNormal3i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormal3i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("nx", "%d", nx);
    traceInputParameter("ny", "%d", ny);
    traceInputParameter("nz", "%d", nz);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormal3i(nx, ny, nz);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormal3iv(const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormal3iv)
    traceGL_lookupNativeAddress("glNormal3iv", (void **) &traceGL_Native.glNormal3iv);

  traceThis = traceEnabled("glNormal3iv");

  if (!traceGL_Native.glNormal3iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormal3iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%d[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormal3iv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormal3s(GLshort nx, GLshort ny, GLshort nz)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormal3s)
    traceGL_lookupNativeAddress("glNormal3s", (void **) &traceGL_Native.glNormal3s);

  traceThis = traceEnabled("glNormal3s");

  if (!traceGL_Native.glNormal3s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormal3s");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("nx", "%hd", nx);
    traceInputParameter("ny", "%hd", ny);
    traceInputParameter("nz", "%hd", nz);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormal3s(nx, ny, nz);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormal3sv(const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormal3sv)
    traceGL_lookupNativeAddress("glNormal3sv", (void **) &traceGL_Native.glNormal3sv);

  traceThis = traceEnabled("glNormal3sv");

  if (!traceGL_Native.glNormal3sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormal3sv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hd[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormal3sv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRasterPos2d(GLdouble x, GLdouble y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRasterPos2d)
    traceGL_lookupNativeAddress("glRasterPos2d", (void **) &traceGL_Native.glRasterPos2d);

  traceThis = traceEnabled("glRasterPos2d");

  if (!traceGL_Native.glRasterPos2d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRasterPos2d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRasterPos2d(x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRasterPos2dv(const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRasterPos2dv)
    traceGL_lookupNativeAddress("glRasterPos2dv", (void **) &traceGL_Native.glRasterPos2dv);

  traceThis = traceEnabled("glRasterPos2dv");

  if (!traceGL_Native.glRasterPos2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRasterPos2dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%lf[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRasterPos2dv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRasterPos2f(GLfloat x, GLfloat y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRasterPos2f)
    traceGL_lookupNativeAddress("glRasterPos2f", (void **) &traceGL_Native.glRasterPos2f);

  traceThis = traceEnabled("glRasterPos2f");

  if (!traceGL_Native.glRasterPos2f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRasterPos2f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRasterPos2f(x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRasterPos2fv(const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRasterPos2fv)
    traceGL_lookupNativeAddress("glRasterPos2fv", (void **) &traceGL_Native.glRasterPos2fv);

  traceThis = traceEnabled("glRasterPos2fv");

  if (!traceGL_Native.glRasterPos2fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRasterPos2fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%f[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRasterPos2fv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRasterPos2i(GLint x, GLint y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRasterPos2i)
    traceGL_lookupNativeAddress("glRasterPos2i", (void **) &traceGL_Native.glRasterPos2i);

  traceThis = traceEnabled("glRasterPos2i");

  if (!traceGL_Native.glRasterPos2i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRasterPos2i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRasterPos2i(x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRasterPos2iv(const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRasterPos2iv)
    traceGL_lookupNativeAddress("glRasterPos2iv", (void **) &traceGL_Native.glRasterPos2iv);

  traceThis = traceEnabled("glRasterPos2iv");

  if (!traceGL_Native.glRasterPos2iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRasterPos2iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%d[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRasterPos2iv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRasterPos2s(GLshort x, GLshort y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRasterPos2s)
    traceGL_lookupNativeAddress("glRasterPos2s", (void **) &traceGL_Native.glRasterPos2s);

  traceThis = traceEnabled("glRasterPos2s");

  if (!traceGL_Native.glRasterPos2s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRasterPos2s");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%hd", x);
    traceInputParameter("y", "%hd", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRasterPos2s(x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRasterPos2sv(const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRasterPos2sv)
    traceGL_lookupNativeAddress("glRasterPos2sv", (void **) &traceGL_Native.glRasterPos2sv);

  traceThis = traceEnabled("glRasterPos2sv");

  if (!traceGL_Native.glRasterPos2sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRasterPos2sv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hd[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRasterPos2sv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRasterPos3d(GLdouble x, GLdouble y, GLdouble z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRasterPos3d)
    traceGL_lookupNativeAddress("glRasterPos3d", (void **) &traceGL_Native.glRasterPos3d);

  traceThis = traceEnabled("glRasterPos3d");

  if (!traceGL_Native.glRasterPos3d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRasterPos3d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRasterPos3d(x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRasterPos3dv(const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRasterPos3dv)
    traceGL_lookupNativeAddress("glRasterPos3dv", (void **) &traceGL_Native.glRasterPos3dv);

  traceThis = traceEnabled("glRasterPos3dv");

  if (!traceGL_Native.glRasterPos3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRasterPos3dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%lf[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRasterPos3dv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRasterPos3f(GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRasterPos3f)
    traceGL_lookupNativeAddress("glRasterPos3f", (void **) &traceGL_Native.glRasterPos3f);

  traceThis = traceEnabled("glRasterPos3f");

  if (!traceGL_Native.glRasterPos3f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRasterPos3f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRasterPos3f(x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRasterPos3fv(const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRasterPos3fv)
    traceGL_lookupNativeAddress("glRasterPos3fv", (void **) &traceGL_Native.glRasterPos3fv);

  traceThis = traceEnabled("glRasterPos3fv");

  if (!traceGL_Native.glRasterPos3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRasterPos3fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRasterPos3fv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRasterPos3i(GLint x, GLint y, GLint z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRasterPos3i)
    traceGL_lookupNativeAddress("glRasterPos3i", (void **) &traceGL_Native.glRasterPos3i);

  traceThis = traceEnabled("glRasterPos3i");

  if (!traceGL_Native.glRasterPos3i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRasterPos3i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("z", "%d", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRasterPos3i(x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRasterPos3iv(const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRasterPos3iv)
    traceGL_lookupNativeAddress("glRasterPos3iv", (void **) &traceGL_Native.glRasterPos3iv);

  traceThis = traceEnabled("glRasterPos3iv");

  if (!traceGL_Native.glRasterPos3iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRasterPos3iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%d[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRasterPos3iv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRasterPos3s(GLshort x, GLshort y, GLshort z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRasterPos3s)
    traceGL_lookupNativeAddress("glRasterPos3s", (void **) &traceGL_Native.glRasterPos3s);

  traceThis = traceEnabled("glRasterPos3s");

  if (!traceGL_Native.glRasterPos3s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRasterPos3s");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%hd", x);
    traceInputParameter("y", "%hd", y);
    traceInputParameter("z", "%hd", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRasterPos3s(x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRasterPos3sv(const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRasterPos3sv)
    traceGL_lookupNativeAddress("glRasterPos3sv", (void **) &traceGL_Native.glRasterPos3sv);

  traceThis = traceEnabled("glRasterPos3sv");

  if (!traceGL_Native.glRasterPos3sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRasterPos3sv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hd[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRasterPos3sv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRasterPos4d)
    traceGL_lookupNativeAddress("glRasterPos4d", (void **) &traceGL_Native.glRasterPos4d);

  traceThis = traceEnabled("glRasterPos4d");

  if (!traceGL_Native.glRasterPos4d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRasterPos4d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);
    traceInputParameter("w", "%lf", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRasterPos4d(x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRasterPos4dv(const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRasterPos4dv)
    traceGL_lookupNativeAddress("glRasterPos4dv", (void **) &traceGL_Native.glRasterPos4dv);

  traceThis = traceEnabled("glRasterPos4dv");

  if (!traceGL_Native.glRasterPos4dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRasterPos4dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%lf[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRasterPos4dv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRasterPos4f)
    traceGL_lookupNativeAddress("glRasterPos4f", (void **) &traceGL_Native.glRasterPos4f);

  traceThis = traceEnabled("glRasterPos4f");

  if (!traceGL_Native.glRasterPos4f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRasterPos4f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);
    traceInputParameter("w", "%f", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRasterPos4f(x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRasterPos4fv(const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRasterPos4fv)
    traceGL_lookupNativeAddress("glRasterPos4fv", (void **) &traceGL_Native.glRasterPos4fv);

  traceThis = traceEnabled("glRasterPos4fv");

  if (!traceGL_Native.glRasterPos4fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRasterPos4fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%f[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRasterPos4fv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRasterPos4i(GLint x, GLint y, GLint z, GLint w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRasterPos4i)
    traceGL_lookupNativeAddress("glRasterPos4i", (void **) &traceGL_Native.glRasterPos4i);

  traceThis = traceEnabled("glRasterPos4i");

  if (!traceGL_Native.glRasterPos4i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRasterPos4i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("z", "%d", z);
    traceInputParameter("w", "%d", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRasterPos4i(x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRasterPos4iv(const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRasterPos4iv)
    traceGL_lookupNativeAddress("glRasterPos4iv", (void **) &traceGL_Native.glRasterPos4iv);

  traceThis = traceEnabled("glRasterPos4iv");

  if (!traceGL_Native.glRasterPos4iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRasterPos4iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%d[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRasterPos4iv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRasterPos4s)
    traceGL_lookupNativeAddress("glRasterPos4s", (void **) &traceGL_Native.glRasterPos4s);

  traceThis = traceEnabled("glRasterPos4s");

  if (!traceGL_Native.glRasterPos4s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRasterPos4s");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%hd", x);
    traceInputParameter("y", "%hd", y);
    traceInputParameter("z", "%hd", z);
    traceInputParameter("w", "%hd", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRasterPos4s(x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRasterPos4sv(const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRasterPos4sv)
    traceGL_lookupNativeAddress("glRasterPos4sv", (void **) &traceGL_Native.glRasterPos4sv);

  traceThis = traceEnabled("glRasterPos4sv");

  if (!traceGL_Native.glRasterPos4sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRasterPos4sv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hd[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRasterPos4sv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRectd)
    traceGL_lookupNativeAddress("glRectd", (void **) &traceGL_Native.glRectd);

  traceThis = traceEnabled("glRectd");

  if (!traceGL_Native.glRectd)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRectd");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x1", "%lf", x1);
    traceInputParameter("y1", "%lf", y1);
    traceInputParameter("x2", "%lf", x2);
    traceInputParameter("y2", "%lf", y2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRectd(x1, y1, x2, y2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRectdv(const GLdouble *v1, const GLdouble *v2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRectdv)
    traceGL_lookupNativeAddress("glRectdv", (void **) &traceGL_Native.glRectdv);

  traceThis = traceEnabled("glRectdv");

  if (!traceGL_Native.glRectdv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRectdv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v1", "%lf[%d]", v1, 2);
    traceInputParameter("v2", "%lf[%d]", v2, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRectdv(v1, v2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRectf)
    traceGL_lookupNativeAddress("glRectf", (void **) &traceGL_Native.glRectf);

  traceThis = traceEnabled("glRectf");

  if (!traceGL_Native.glRectf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRectf");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x1", "%f", x1);
    traceInputParameter("y1", "%f", y1);
    traceInputParameter("x2", "%f", x2);
    traceInputParameter("y2", "%f", y2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRectf(x1, y1, x2, y2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRectfv(const GLfloat *v1, const GLfloat *v2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRectfv)
    traceGL_lookupNativeAddress("glRectfv", (void **) &traceGL_Native.glRectfv);

  traceThis = traceEnabled("glRectfv");

  if (!traceGL_Native.glRectfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRectfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v1", "%f[%d]", v1, 2);
    traceInputParameter("v2", "%f[%d]", v2, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRectfv(v1, v2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRecti(GLint x1, GLint y1, GLint x2, GLint y2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRecti)
    traceGL_lookupNativeAddress("glRecti", (void **) &traceGL_Native.glRecti);

  traceThis = traceEnabled("glRecti");

  if (!traceGL_Native.glRecti)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRecti");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x1", "%d", x1);
    traceInputParameter("y1", "%d", y1);
    traceInputParameter("x2", "%d", x2);
    traceInputParameter("y2", "%d", y2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRecti(x1, y1, x2, y2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRectiv(const GLint *v1, const GLint *v2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRectiv)
    traceGL_lookupNativeAddress("glRectiv", (void **) &traceGL_Native.glRectiv);

  traceThis = traceEnabled("glRectiv");

  if (!traceGL_Native.glRectiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRectiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v1", "%d[%d]", v1, 2);
    traceInputParameter("v2", "%d[%d]", v2, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRectiv(v1, v2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRects)
    traceGL_lookupNativeAddress("glRects", (void **) &traceGL_Native.glRects);

  traceThis = traceEnabled("glRects");

  if (!traceGL_Native.glRects)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRects");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x1", "%hd", x1);
    traceInputParameter("y1", "%hd", y1);
    traceInputParameter("x2", "%hd", x2);
    traceInputParameter("y2", "%hd", y2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRects(x1, y1, x2, y2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRectsv(const GLshort *v1, const GLshort *v2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRectsv)
    traceGL_lookupNativeAddress("glRectsv", (void **) &traceGL_Native.glRectsv);

  traceThis = traceEnabled("glRectsv");

  if (!traceGL_Native.glRectsv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRectsv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v1", "%hd[%d]", v1, 2);
    traceInputParameter("v2", "%hd[%d]", v2, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRectsv(v1, v2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord1d(GLdouble s)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord1d)
    traceGL_lookupNativeAddress("glTexCoord1d", (void **) &traceGL_Native.glTexCoord1d);

  traceThis = traceEnabled("glTexCoord1d");

  if (!traceGL_Native.glTexCoord1d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord1d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%lf", s);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord1d(s);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord1dv(const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord1dv)
    traceGL_lookupNativeAddress("glTexCoord1dv", (void **) &traceGL_Native.glTexCoord1dv);

  traceThis = traceEnabled("glTexCoord1dv");

  if (!traceGL_Native.glTexCoord1dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord1dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%lf[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord1dv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord1f(GLfloat s)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord1f)
    traceGL_lookupNativeAddress("glTexCoord1f", (void **) &traceGL_Native.glTexCoord1f);

  traceThis = traceEnabled("glTexCoord1f");

  if (!traceGL_Native.glTexCoord1f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord1f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%f", s);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord1f(s);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord1fv(const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord1fv)
    traceGL_lookupNativeAddress("glTexCoord1fv", (void **) &traceGL_Native.glTexCoord1fv);

  traceThis = traceEnabled("glTexCoord1fv");

  if (!traceGL_Native.glTexCoord1fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord1fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%f[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord1fv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord1i(GLint s)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord1i)
    traceGL_lookupNativeAddress("glTexCoord1i", (void **) &traceGL_Native.glTexCoord1i);

  traceThis = traceEnabled("glTexCoord1i");

  if (!traceGL_Native.glTexCoord1i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord1i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%d", s);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord1i(s);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord1iv(const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord1iv)
    traceGL_lookupNativeAddress("glTexCoord1iv", (void **) &traceGL_Native.glTexCoord1iv);

  traceThis = traceEnabled("glTexCoord1iv");

  if (!traceGL_Native.glTexCoord1iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord1iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%d[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord1iv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord1s(GLshort s)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord1s)
    traceGL_lookupNativeAddress("glTexCoord1s", (void **) &traceGL_Native.glTexCoord1s);

  traceThis = traceEnabled("glTexCoord1s");

  if (!traceGL_Native.glTexCoord1s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord1s");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%hd", s);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord1s(s);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord1sv(const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord1sv)
    traceGL_lookupNativeAddress("glTexCoord1sv", (void **) &traceGL_Native.glTexCoord1sv);

  traceThis = traceEnabled("glTexCoord1sv");

  if (!traceGL_Native.glTexCoord1sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord1sv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hd[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord1sv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord2d(GLdouble s, GLdouble t)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2d)
    traceGL_lookupNativeAddress("glTexCoord2d", (void **) &traceGL_Native.glTexCoord2d);

  traceThis = traceEnabled("glTexCoord2d");

  if (!traceGL_Native.glTexCoord2d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%lf", s);
    traceInputParameter("t", "%lf", t);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord2d(s, t);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord2dv(const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2dv)
    traceGL_lookupNativeAddress("glTexCoord2dv", (void **) &traceGL_Native.glTexCoord2dv);

  traceThis = traceEnabled("glTexCoord2dv");

  if (!traceGL_Native.glTexCoord2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%lf[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord2dv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord2f(GLfloat s, GLfloat t)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2f)
    traceGL_lookupNativeAddress("glTexCoord2f", (void **) &traceGL_Native.glTexCoord2f);

  traceThis = traceEnabled("glTexCoord2f");

  if (!traceGL_Native.glTexCoord2f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%f", s);
    traceInputParameter("t", "%f", t);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord2f(s, t);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord2fv(const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2fv)
    traceGL_lookupNativeAddress("glTexCoord2fv", (void **) &traceGL_Native.glTexCoord2fv);

  traceThis = traceEnabled("glTexCoord2fv");

  if (!traceGL_Native.glTexCoord2fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%f[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord2fv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord2i(GLint s, GLint t)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2i)
    traceGL_lookupNativeAddress("glTexCoord2i", (void **) &traceGL_Native.glTexCoord2i);

  traceThis = traceEnabled("glTexCoord2i");

  if (!traceGL_Native.glTexCoord2i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%d", s);
    traceInputParameter("t", "%d", t);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord2i(s, t);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord2iv(const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2iv)
    traceGL_lookupNativeAddress("glTexCoord2iv", (void **) &traceGL_Native.glTexCoord2iv);

  traceThis = traceEnabled("glTexCoord2iv");

  if (!traceGL_Native.glTexCoord2iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%d[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord2iv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord2s(GLshort s, GLshort t)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2s)
    traceGL_lookupNativeAddress("glTexCoord2s", (void **) &traceGL_Native.glTexCoord2s);

  traceThis = traceEnabled("glTexCoord2s");

  if (!traceGL_Native.glTexCoord2s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2s");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%hd", s);
    traceInputParameter("t", "%hd", t);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord2s(s, t);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord2sv(const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2sv)
    traceGL_lookupNativeAddress("glTexCoord2sv", (void **) &traceGL_Native.glTexCoord2sv);

  traceThis = traceEnabled("glTexCoord2sv");

  if (!traceGL_Native.glTexCoord2sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2sv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hd[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord2sv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord3d(GLdouble s, GLdouble t, GLdouble r)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord3d)
    traceGL_lookupNativeAddress("glTexCoord3d", (void **) &traceGL_Native.glTexCoord3d);

  traceThis = traceEnabled("glTexCoord3d");

  if (!traceGL_Native.glTexCoord3d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord3d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%lf", s);
    traceInputParameter("t", "%lf", t);
    traceInputParameter("r", "%lf", r);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord3d(s, t, r);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord3dv(const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord3dv)
    traceGL_lookupNativeAddress("glTexCoord3dv", (void **) &traceGL_Native.glTexCoord3dv);

  traceThis = traceEnabled("glTexCoord3dv");

  if (!traceGL_Native.glTexCoord3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord3dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%lf[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord3dv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord3f(GLfloat s, GLfloat t, GLfloat r)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord3f)
    traceGL_lookupNativeAddress("glTexCoord3f", (void **) &traceGL_Native.glTexCoord3f);

  traceThis = traceEnabled("glTexCoord3f");

  if (!traceGL_Native.glTexCoord3f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord3f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%f", s);
    traceInputParameter("t", "%f", t);
    traceInputParameter("r", "%f", r);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord3f(s, t, r);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord3fv(const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord3fv)
    traceGL_lookupNativeAddress("glTexCoord3fv", (void **) &traceGL_Native.glTexCoord3fv);

  traceThis = traceEnabled("glTexCoord3fv");

  if (!traceGL_Native.glTexCoord3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord3fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord3fv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord3i(GLint s, GLint t, GLint r)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord3i)
    traceGL_lookupNativeAddress("glTexCoord3i", (void **) &traceGL_Native.glTexCoord3i);

  traceThis = traceEnabled("glTexCoord3i");

  if (!traceGL_Native.glTexCoord3i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord3i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%d", s);
    traceInputParameter("t", "%d", t);
    traceInputParameter("r", "%d", r);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord3i(s, t, r);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord3iv(const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord3iv)
    traceGL_lookupNativeAddress("glTexCoord3iv", (void **) &traceGL_Native.glTexCoord3iv);

  traceThis = traceEnabled("glTexCoord3iv");

  if (!traceGL_Native.glTexCoord3iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord3iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%d[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord3iv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord3s(GLshort s, GLshort t, GLshort r)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord3s)
    traceGL_lookupNativeAddress("glTexCoord3s", (void **) &traceGL_Native.glTexCoord3s);

  traceThis = traceEnabled("glTexCoord3s");

  if (!traceGL_Native.glTexCoord3s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord3s");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%hd", s);
    traceInputParameter("t", "%hd", t);
    traceInputParameter("r", "%hd", r);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord3s(s, t, r);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord3sv(const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord3sv)
    traceGL_lookupNativeAddress("glTexCoord3sv", (void **) &traceGL_Native.glTexCoord3sv);

  traceThis = traceEnabled("glTexCoord3sv");

  if (!traceGL_Native.glTexCoord3sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord3sv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hd[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord3sv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord4d)
    traceGL_lookupNativeAddress("glTexCoord4d", (void **) &traceGL_Native.glTexCoord4d);

  traceThis = traceEnabled("glTexCoord4d");

  if (!traceGL_Native.glTexCoord4d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord4d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%lf", s);
    traceInputParameter("t", "%lf", t);
    traceInputParameter("r", "%lf", r);
    traceInputParameter("q", "%lf", q);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord4d(s, t, r, q);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord4dv(const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord4dv)
    traceGL_lookupNativeAddress("glTexCoord4dv", (void **) &traceGL_Native.glTexCoord4dv);

  traceThis = traceEnabled("glTexCoord4dv");

  if (!traceGL_Native.glTexCoord4dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord4dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%lf[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord4dv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord4f)
    traceGL_lookupNativeAddress("glTexCoord4f", (void **) &traceGL_Native.glTexCoord4f);

  traceThis = traceEnabled("glTexCoord4f");

  if (!traceGL_Native.glTexCoord4f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord4f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%f", s);
    traceInputParameter("t", "%f", t);
    traceInputParameter("r", "%f", r);
    traceInputParameter("q", "%f", q);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord4f(s, t, r, q);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord4fv(const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord4fv)
    traceGL_lookupNativeAddress("glTexCoord4fv", (void **) &traceGL_Native.glTexCoord4fv);

  traceThis = traceEnabled("glTexCoord4fv");

  if (!traceGL_Native.glTexCoord4fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord4fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%f[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord4fv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord4i(GLint s, GLint t, GLint r, GLint q)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord4i)
    traceGL_lookupNativeAddress("glTexCoord4i", (void **) &traceGL_Native.glTexCoord4i);

  traceThis = traceEnabled("glTexCoord4i");

  if (!traceGL_Native.glTexCoord4i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord4i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%d", s);
    traceInputParameter("t", "%d", t);
    traceInputParameter("r", "%d", r);
    traceInputParameter("q", "%d", q);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord4i(s, t, r, q);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord4iv(const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord4iv)
    traceGL_lookupNativeAddress("glTexCoord4iv", (void **) &traceGL_Native.glTexCoord4iv);

  traceThis = traceEnabled("glTexCoord4iv");

  if (!traceGL_Native.glTexCoord4iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord4iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%d[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord4iv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord4s)
    traceGL_lookupNativeAddress("glTexCoord4s", (void **) &traceGL_Native.glTexCoord4s);

  traceThis = traceEnabled("glTexCoord4s");

  if (!traceGL_Native.glTexCoord4s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord4s");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%hd", s);
    traceInputParameter("t", "%hd", t);
    traceInputParameter("r", "%hd", r);
    traceInputParameter("q", "%hd", q);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord4s(s, t, r, q);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord4sv(const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord4sv)
    traceGL_lookupNativeAddress("glTexCoord4sv", (void **) &traceGL_Native.glTexCoord4sv);

  traceThis = traceEnabled("glTexCoord4sv");

  if (!traceGL_Native.glTexCoord4sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord4sv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hd[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord4sv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex2d(GLdouble x, GLdouble y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex2d)
    traceGL_lookupNativeAddress("glVertex2d", (void **) &traceGL_Native.glVertex2d);

  traceThis = traceEnabled("glVertex2d");

  if (!traceGL_Native.glVertex2d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex2d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex2d(x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex2dv(const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex2dv)
    traceGL_lookupNativeAddress("glVertex2dv", (void **) &traceGL_Native.glVertex2dv);

  traceThis = traceEnabled("glVertex2dv");

  if (!traceGL_Native.glVertex2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex2dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%lf[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex2dv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex2f(GLfloat x, GLfloat y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex2f)
    traceGL_lookupNativeAddress("glVertex2f", (void **) &traceGL_Native.glVertex2f);

  traceThis = traceEnabled("glVertex2f");

  if (!traceGL_Native.glVertex2f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex2f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex2f(x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex2fv(const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex2fv)
    traceGL_lookupNativeAddress("glVertex2fv", (void **) &traceGL_Native.glVertex2fv);

  traceThis = traceEnabled("glVertex2fv");

  if (!traceGL_Native.glVertex2fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex2fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%f[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex2fv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex2i(GLint x, GLint y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex2i)
    traceGL_lookupNativeAddress("glVertex2i", (void **) &traceGL_Native.glVertex2i);

  traceThis = traceEnabled("glVertex2i");

  if (!traceGL_Native.glVertex2i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex2i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex2i(x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex2iv(const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex2iv)
    traceGL_lookupNativeAddress("glVertex2iv", (void **) &traceGL_Native.glVertex2iv);

  traceThis = traceEnabled("glVertex2iv");

  if (!traceGL_Native.glVertex2iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex2iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%d[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex2iv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex2s(GLshort x, GLshort y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex2s)
    traceGL_lookupNativeAddress("glVertex2s", (void **) &traceGL_Native.glVertex2s);

  traceThis = traceEnabled("glVertex2s");

  if (!traceGL_Native.glVertex2s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex2s");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%hd", x);
    traceInputParameter("y", "%hd", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex2s(x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex2sv(const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex2sv)
    traceGL_lookupNativeAddress("glVertex2sv", (void **) &traceGL_Native.glVertex2sv);

  traceThis = traceEnabled("glVertex2sv");

  if (!traceGL_Native.glVertex2sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex2sv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hd[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex2sv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex3d(GLdouble x, GLdouble y, GLdouble z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex3d)
    traceGL_lookupNativeAddress("glVertex3d", (void **) &traceGL_Native.glVertex3d);

  traceThis = traceEnabled("glVertex3d");

  if (!traceGL_Native.glVertex3d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex3d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex3d(x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex3dv(const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex3dv)
    traceGL_lookupNativeAddress("glVertex3dv", (void **) &traceGL_Native.glVertex3dv);

  traceThis = traceEnabled("glVertex3dv");

  if (!traceGL_Native.glVertex3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex3dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%lf[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex3dv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex3f(GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex3f)
    traceGL_lookupNativeAddress("glVertex3f", (void **) &traceGL_Native.glVertex3f);

  traceThis = traceEnabled("glVertex3f");

  if (!traceGL_Native.glVertex3f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex3f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex3f(x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex3fv(const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex3fv)
    traceGL_lookupNativeAddress("glVertex3fv", (void **) &traceGL_Native.glVertex3fv);

  traceThis = traceEnabled("glVertex3fv");

  if (!traceGL_Native.glVertex3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex3fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex3fv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex3i(GLint x, GLint y, GLint z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex3i)
    traceGL_lookupNativeAddress("glVertex3i", (void **) &traceGL_Native.glVertex3i);

  traceThis = traceEnabled("glVertex3i");

  if (!traceGL_Native.glVertex3i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex3i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("z", "%d", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex3i(x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex3iv(const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex3iv)
    traceGL_lookupNativeAddress("glVertex3iv", (void **) &traceGL_Native.glVertex3iv);

  traceThis = traceEnabled("glVertex3iv");

  if (!traceGL_Native.glVertex3iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex3iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%d[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex3iv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex3s(GLshort x, GLshort y, GLshort z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex3s)
    traceGL_lookupNativeAddress("glVertex3s", (void **) &traceGL_Native.glVertex3s);

  traceThis = traceEnabled("glVertex3s");

  if (!traceGL_Native.glVertex3s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex3s");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%hd", x);
    traceInputParameter("y", "%hd", y);
    traceInputParameter("z", "%hd", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex3s(x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex3sv(const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex3sv)
    traceGL_lookupNativeAddress("glVertex3sv", (void **) &traceGL_Native.glVertex3sv);

  traceThis = traceEnabled("glVertex3sv");

  if (!traceGL_Native.glVertex3sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex3sv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hd[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex3sv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex4d)
    traceGL_lookupNativeAddress("glVertex4d", (void **) &traceGL_Native.glVertex4d);

  traceThis = traceEnabled("glVertex4d");

  if (!traceGL_Native.glVertex4d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex4d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);
    traceInputParameter("w", "%lf", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex4d(x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex4dv(const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex4dv)
    traceGL_lookupNativeAddress("glVertex4dv", (void **) &traceGL_Native.glVertex4dv);

  traceThis = traceEnabled("glVertex4dv");

  if (!traceGL_Native.glVertex4dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex4dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%lf[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex4dv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex4f)
    traceGL_lookupNativeAddress("glVertex4f", (void **) &traceGL_Native.glVertex4f);

  traceThis = traceEnabled("glVertex4f");

  if (!traceGL_Native.glVertex4f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex4f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);
    traceInputParameter("w", "%f", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex4f(x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex4fv(const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex4fv)
    traceGL_lookupNativeAddress("glVertex4fv", (void **) &traceGL_Native.glVertex4fv);

  traceThis = traceEnabled("glVertex4fv");

  if (!traceGL_Native.glVertex4fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex4fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%f[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex4fv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex4i(GLint x, GLint y, GLint z, GLint w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex4i)
    traceGL_lookupNativeAddress("glVertex4i", (void **) &traceGL_Native.glVertex4i);

  traceThis = traceEnabled("glVertex4i");

  if (!traceGL_Native.glVertex4i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex4i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("z", "%d", z);
    traceInputParameter("w", "%d", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex4i(x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex4iv(const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex4iv)
    traceGL_lookupNativeAddress("glVertex4iv", (void **) &traceGL_Native.glVertex4iv);

  traceThis = traceEnabled("glVertex4iv");

  if (!traceGL_Native.glVertex4iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex4iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%d[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex4iv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex4s)
    traceGL_lookupNativeAddress("glVertex4s", (void **) &traceGL_Native.glVertex4s);

  traceThis = traceEnabled("glVertex4s");

  if (!traceGL_Native.glVertex4s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex4s");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%hd", x);
    traceInputParameter("y", "%hd", y);
    traceInputParameter("z", "%hd", z);
    traceInputParameter("w", "%hd", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex4s(x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex4sv(const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex4sv)
    traceGL_lookupNativeAddress("glVertex4sv", (void **) &traceGL_Native.glVertex4sv);

  traceThis = traceEnabled("glVertex4sv");

  if (!traceGL_Native.glVertex4sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex4sv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hd[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex4sv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glClipPlane(GLenum plane, const GLdouble *equation)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClipPlane)
    traceGL_lookupNativeAddress("glClipPlane", (void **) &traceGL_Native.glClipPlane);

  traceThis = traceEnabled("glClipPlane");

  if (!traceGL_Native.glClipPlane)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClipPlane");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("plane", "%u", plane);
    traceInputParameter("equation", "%lf[%d]", equation, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glClipPlane(plane, equation);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColorMaterial(GLenum face, GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorMaterial)
    traceGL_lookupNativeAddress("glColorMaterial", (void **) &traceGL_Native.glColorMaterial);

  traceThis = traceEnabled("glColorMaterial");

  if (!traceGL_Native.glColorMaterial)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorMaterial");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("face", "%u", face);
    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColorMaterial(face, mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCullFace(GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCullFace)
    traceGL_lookupNativeAddress("glCullFace", (void **) &traceGL_Native.glCullFace);

  traceThis = traceEnabled("glCullFace");

  if (!traceGL_Native.glCullFace)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCullFace");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCullFace(mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFogf(GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogf)
    traceGL_lookupNativeAddress("glFogf", (void **) &traceGL_Native.glFogf);

  traceThis = traceEnabled("glFogf");

  if (!traceGL_Native.glFogf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogf");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFogf(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFogfv(GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogfv)
    traceGL_lookupNativeAddress("glFogfv", (void **) &traceGL_Native.glFogfv);

  traceThis = traceEnabled("glFogfv");

  if (!traceGL_Native.glFogfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("params", "%f[%ld]", params, (traceGL_helperGLFogvSize ? traceGL_helperGLFogvSize(pname) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFogfv(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFogi(GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogi)
    traceGL_lookupNativeAddress("glFogi", (void **) &traceGL_Native.glFogi);

  traceThis = traceEnabled("glFogi");

  if (!traceGL_Native.glFogi)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogi");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFogi(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFogiv(GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogiv)
    traceGL_lookupNativeAddress("glFogiv", (void **) &traceGL_Native.glFogiv);

  traceThis = traceEnabled("glFogiv");

  if (!traceGL_Native.glFogiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("params", "%d[%ld]", params, (traceGL_helperGLFogvSize ? traceGL_helperGLFogvSize(pname) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFogiv(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFrontFace(GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFrontFace)
    traceGL_lookupNativeAddress("glFrontFace", (void **) &traceGL_Native.glFrontFace);

  traceThis = traceEnabled("glFrontFace");

  if (!traceGL_Native.glFrontFace)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFrontFace");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFrontFace(mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glHint(GLenum target, GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glHint)
    traceGL_lookupNativeAddress("glHint", (void **) &traceGL_Native.glHint);

  traceThis = traceEnabled("glHint");

  if (!traceGL_Native.glHint)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glHint");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glHint(target, mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glLightf(GLenum light, GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLightf)
    traceGL_lookupNativeAddress("glLightf", (void **) &traceGL_Native.glLightf);

  traceThis = traceEnabled("glLightf");

  if (!traceGL_Native.glLightf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLightf");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("light", "%u", light);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glLightf(light, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glLightfv(GLenum light, GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLightfv)
    traceGL_lookupNativeAddress("glLightfv", (void **) &traceGL_Native.glLightfv);

  traceThis = traceEnabled("glLightfv");

  if (!traceGL_Native.glLightfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLightfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("light", "%u", light);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("params", "%f[%ld]", params, (traceGL_helperGLLightvSize ? traceGL_helperGLLightvSize(pname) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glLightfv(light, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glLighti(GLenum light, GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLighti)
    traceGL_lookupNativeAddress("glLighti", (void **) &traceGL_Native.glLighti);

  traceThis = traceEnabled("glLighti");

  if (!traceGL_Native.glLighti)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLighti");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("light", "%u", light);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glLighti(light, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glLightiv(GLenum light, GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLightiv)
    traceGL_lookupNativeAddress("glLightiv", (void **) &traceGL_Native.glLightiv);

  traceThis = traceEnabled("glLightiv");

  if (!traceGL_Native.glLightiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLightiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("light", "%u", light);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("params", "%d[%ld]", params, (traceGL_helperGLLightvSize ? traceGL_helperGLLightvSize(pname) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glLightiv(light, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glLightModelf(GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLightModelf)
    traceGL_lookupNativeAddress("glLightModelf", (void **) &traceGL_Native.glLightModelf);

  traceThis = traceEnabled("glLightModelf");

  if (!traceGL_Native.glLightModelf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLightModelf");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glLightModelf(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glLightModelfv(GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLightModelfv)
    traceGL_lookupNativeAddress("glLightModelfv", (void **) &traceGL_Native.glLightModelfv);

  traceThis = traceEnabled("glLightModelfv");

  if (!traceGL_Native.glLightModelfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLightModelfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("params", "%f[%ld]", params, (traceGL_helperGLLightModelvSize ? traceGL_helperGLLightModelvSize(pname) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glLightModelfv(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glLightModeli(GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLightModeli)
    traceGL_lookupNativeAddress("glLightModeli", (void **) &traceGL_Native.glLightModeli);

  traceThis = traceEnabled("glLightModeli");

  if (!traceGL_Native.glLightModeli)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLightModeli");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glLightModeli(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glLightModeliv(GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLightModeliv)
    traceGL_lookupNativeAddress("glLightModeliv", (void **) &traceGL_Native.glLightModeliv);

  traceThis = traceEnabled("glLightModeliv");

  if (!traceGL_Native.glLightModeliv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLightModeliv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("params", "%d[%ld]", params, (traceGL_helperGLLightModelvSize ? traceGL_helperGLLightModelvSize(pname) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glLightModeliv(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glLineStipple(GLint factor, GLushort pattern)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLineStipple)
    traceGL_lookupNativeAddress("glLineStipple", (void **) &traceGL_Native.glLineStipple);

  traceThis = traceEnabled("glLineStipple");

  if (!traceGL_Native.glLineStipple)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLineStipple");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("factor", "%d", factor);
    traceInputParameter("pattern", "%hu", pattern);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glLineStipple(factor, pattern);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glLineWidth(GLfloat width)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLineWidth)
    traceGL_lookupNativeAddress("glLineWidth", (void **) &traceGL_Native.glLineWidth);

  traceThis = traceEnabled("glLineWidth");

  if (!traceGL_Native.glLineWidth)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLineWidth");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("width", "%f", width);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glLineWidth(width);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMaterialf(GLenum face, GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMaterialf)
    traceGL_lookupNativeAddress("glMaterialf", (void **) &traceGL_Native.glMaterialf);

  traceThis = traceEnabled("glMaterialf");

  if (!traceGL_Native.glMaterialf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMaterialf");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("face", "%u", face);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMaterialf(face, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMaterialfv(GLenum face, GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMaterialfv)
    traceGL_lookupNativeAddress("glMaterialfv", (void **) &traceGL_Native.glMaterialfv);

  traceThis = traceEnabled("glMaterialfv");

  if (!traceGL_Native.glMaterialfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMaterialfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("face", "%u", face);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("params", "%f[%ld]", params, (traceGL_helperGLMaterialvSize ? traceGL_helperGLMaterialvSize(pname) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMaterialfv(face, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMateriali(GLenum face, GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMateriali)
    traceGL_lookupNativeAddress("glMateriali", (void **) &traceGL_Native.glMateriali);

  traceThis = traceEnabled("glMateriali");

  if (!traceGL_Native.glMateriali)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMateriali");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("face", "%u", face);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMateriali(face, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMaterialiv(GLenum face, GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMaterialiv)
    traceGL_lookupNativeAddress("glMaterialiv", (void **) &traceGL_Native.glMaterialiv);

  traceThis = traceEnabled("glMaterialiv");

  if (!traceGL_Native.glMaterialiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMaterialiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("face", "%u", face);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("params", "%d[%ld]", params, (traceGL_helperGLMaterialvSize ? traceGL_helperGLMaterialvSize(pname) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMaterialiv(face, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPointSize(GLfloat size)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPointSize)
    traceGL_lookupNativeAddress("glPointSize", (void **) &traceGL_Native.glPointSize);

  traceThis = traceEnabled("glPointSize");

  if (!traceGL_Native.glPointSize)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPointSize");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%f", size);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPointSize(size);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPolygonMode(GLenum face, GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPolygonMode)
    traceGL_lookupNativeAddress("glPolygonMode", (void **) &traceGL_Native.glPolygonMode);

  traceThis = traceEnabled("glPolygonMode");

  if (!traceGL_Native.glPolygonMode)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPolygonMode");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("face", "%u", face);
    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPolygonMode(face, mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPolygonStipple(const GLubyte *mask)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPolygonStipple)
    traceGL_lookupNativeAddress("glPolygonStipple", (void **) &traceGL_Native.glPolygonStipple);

  traceThis = traceEnabled("glPolygonStipple");

  if (!traceGL_Native.glPolygonStipple)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPolygonStipple");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mask", "%c[%ld]", mask, (traceGL_helperGLPixelImageSize ? traceGL_helperGLPixelImageSize(32, 32, 0, GL_COLOR_INDEX, GL_BITMAP, 0, GL_BITMAP) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPolygonStipple(mask);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glScissor(GLint x, GLint y, GLsizei width, GLsizei height)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glScissor)
    traceGL_lookupNativeAddress("glScissor", (void **) &traceGL_Native.glScissor);

  traceThis = traceEnabled("glScissor");

  if (!traceGL_Native.glScissor)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glScissor");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glScissor(x, y, width, height);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glShadeModel(GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glShadeModel)
    traceGL_lookupNativeAddress("glShadeModel", (void **) &traceGL_Native.glShadeModel);

  traceThis = traceEnabled("glShadeModel");

  if (!traceGL_Native.glShadeModel)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glShadeModel");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glShadeModel(mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexParameterf(GLenum target, GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexParameterf)
    traceGL_lookupNativeAddress("glTexParameterf", (void **) &traceGL_Native.glTexParameterf);

  traceThis = traceEnabled("glTexParameterf");

  if (!traceGL_Native.glTexParameterf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexParameterf");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexParameterf(target, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexParameterfv)
    traceGL_lookupNativeAddress("glTexParameterfv", (void **) &traceGL_Native.glTexParameterfv);

  traceThis = traceEnabled("glTexParameterfv");

  if (!traceGL_Native.glTexParameterfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexParameterfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("params", "%f[%ld]", params, (traceGL_helperGLTexParametervSize ? traceGL_helperGLTexParametervSize(pname) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexParameterfv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexParameteri(GLenum target, GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexParameteri)
    traceGL_lookupNativeAddress("glTexParameteri", (void **) &traceGL_Native.glTexParameteri);

  traceThis = traceEnabled("glTexParameteri");

  if (!traceGL_Native.glTexParameteri)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexParameteri");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexParameteri(target, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexParameteriv(GLenum target, GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexParameteriv)
    traceGL_lookupNativeAddress("glTexParameteriv", (void **) &traceGL_Native.glTexParameteriv);

  traceThis = traceEnabled("glTexParameteriv");

  if (!traceGL_Native.glTexParameteriv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexParameteriv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("params", "%d[%ld]", params, (traceGL_helperGLTexParametervSize ? traceGL_helperGLTexParametervSize(pname) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexParameteriv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexImage1D)
    traceGL_lookupNativeAddress("glTexImage1D", (void **) &traceGL_Native.glTexImage1D);

  traceThis = traceEnabled("glTexImage1D");

  if (!traceGL_Native.glTexImage1D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexImage1D");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%d", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("border", "%d", border);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("pixels", "%c[%ld]", pixels, (traceGL_helperGLPixelImageSize ? traceGL_helperGLPixelImageSize(width, 0, 0, format, type, 0, target) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexImage1D(target, level, internalformat, width, border, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexImage2D)
    traceGL_lookupNativeAddress("glTexImage2D", (void **) &traceGL_Native.glTexImage2D);

  traceThis = traceEnabled("glTexImage2D");

  if (!traceGL_Native.glTexImage2D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexImage2D");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%d", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("border", "%d", border);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("pixels", "%c[%ld]", pixels, (traceGL_helperGLPixelImageSize ? traceGL_helperGLPixelImageSize(width, height, 0, format, type, 0, target) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexEnvf(GLenum target, GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexEnvf)
    traceGL_lookupNativeAddress("glTexEnvf", (void **) &traceGL_Native.glTexEnvf);

  traceThis = traceEnabled("glTexEnvf");

  if (!traceGL_Native.glTexEnvf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexEnvf");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexEnvf(target, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexEnvfv)
    traceGL_lookupNativeAddress("glTexEnvfv", (void **) &traceGL_Native.glTexEnvfv);

  traceThis = traceEnabled("glTexEnvfv");

  if (!traceGL_Native.glTexEnvfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexEnvfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("params", "%f[%ld]", params, (traceGL_helperGLTexEnvvSize ? traceGL_helperGLTexEnvvSize(target, pname) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexEnvfv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexEnvi(GLenum target, GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexEnvi)
    traceGL_lookupNativeAddress("glTexEnvi", (void **) &traceGL_Native.glTexEnvi);

  traceThis = traceEnabled("glTexEnvi");

  if (!traceGL_Native.glTexEnvi)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexEnvi");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexEnvi(target, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexEnviv(GLenum target, GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexEnviv)
    traceGL_lookupNativeAddress("glTexEnviv", (void **) &traceGL_Native.glTexEnviv);

  traceThis = traceEnabled("glTexEnviv");

  if (!traceGL_Native.glTexEnviv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexEnviv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("params", "%d[%ld]", params, (traceGL_helperGLTexEnvvSize ? traceGL_helperGLTexEnvvSize(target, pname) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexEnviv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexGend(GLenum coord, GLenum pname, GLdouble param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexGend)
    traceGL_lookupNativeAddress("glTexGend", (void **) &traceGL_Native.glTexGend);

  traceThis = traceEnabled("glTexGend");

  if (!traceGL_Native.glTexGend)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexGend");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("coord", "%u", coord);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%lf", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexGend(coord, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexGendv(GLenum coord, GLenum pname, const GLdouble *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexGendv)
    traceGL_lookupNativeAddress("glTexGendv", (void **) &traceGL_Native.glTexGendv);

  traceThis = traceEnabled("glTexGendv");

  if (!traceGL_Native.glTexGendv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexGendv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("coord", "%u", coord);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("params", "%lf[%ld]", params, (traceGL_helperGLTexGenvSize ? traceGL_helperGLTexGenvSize(pname) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexGendv(coord, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexGenf(GLenum coord, GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexGenf)
    traceGL_lookupNativeAddress("glTexGenf", (void **) &traceGL_Native.glTexGenf);

  traceThis = traceEnabled("glTexGenf");

  if (!traceGL_Native.glTexGenf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexGenf");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("coord", "%u", coord);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexGenf(coord, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexGenfv)
    traceGL_lookupNativeAddress("glTexGenfv", (void **) &traceGL_Native.glTexGenfv);

  traceThis = traceEnabled("glTexGenfv");

  if (!traceGL_Native.glTexGenfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexGenfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("coord", "%u", coord);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("params", "%f[%ld]", params, (traceGL_helperGLTexGenvSize ? traceGL_helperGLTexGenvSize(pname) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexGenfv(coord, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexGeni(GLenum coord, GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexGeni)
    traceGL_lookupNativeAddress("glTexGeni", (void **) &traceGL_Native.glTexGeni);

  traceThis = traceEnabled("glTexGeni");

  if (!traceGL_Native.glTexGeni)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexGeni");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("coord", "%u", coord);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexGeni(coord, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexGeniv(GLenum coord, GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexGeniv)
    traceGL_lookupNativeAddress("glTexGeniv", (void **) &traceGL_Native.glTexGeniv);

  traceThis = traceEnabled("glTexGeniv");

  if (!traceGL_Native.glTexGeniv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexGeniv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("coord", "%u", coord);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("params", "%d[%ld]", params, (traceGL_helperGLTexGenvSize ? traceGL_helperGLTexGenvSize(pname) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexGeniv(coord, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFeedbackBuffer)
    traceGL_lookupNativeAddress("glFeedbackBuffer", (void **) &traceGL_Native.glFeedbackBuffer);

  traceThis = traceEnabled("glFeedbackBuffer");

  if (!traceGL_Native.glFeedbackBuffer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFeedbackBuffer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFeedbackBuffer(size, type, buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSelectBuffer(GLsizei size, GLuint *buffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSelectBuffer)
    traceGL_lookupNativeAddress("glSelectBuffer", (void **) &traceGL_Native.glSelectBuffer);

  traceThis = traceEnabled("glSelectBuffer");

  if (!traceGL_Native.glSelectBuffer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSelectBuffer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSelectBuffer(size, buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("buffer", "%u[%d]", buffer, size);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLint GLAPIENTRY
glRenderMode(GLenum mode)
{
  GLint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRenderMode)
    traceGL_lookupNativeAddress("glRenderMode", (void **) &traceGL_Native.glRenderMode);

  traceThis = traceEnabled("glRenderMode");

  if (!traceGL_Native.glRenderMode)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRenderMode");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glRenderMode(mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%d", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glInitNames()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glInitNames)
    traceGL_lookupNativeAddress("glInitNames", (void **) &traceGL_Native.glInitNames);

  traceThis = traceEnabled("glInitNames");

  if (!traceGL_Native.glInitNames)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glInitNames");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glInitNames();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glLoadName(GLuint name)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLoadName)
    traceGL_lookupNativeAddress("glLoadName", (void **) &traceGL_Native.glLoadName);

  traceThis = traceEnabled("glLoadName");

  if (!traceGL_Native.glLoadName)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLoadName");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("name", "%u", name);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glLoadName(name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPassThrough(GLfloat token)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPassThrough)
    traceGL_lookupNativeAddress("glPassThrough", (void **) &traceGL_Native.glPassThrough);

  traceThis = traceEnabled("glPassThrough");

  if (!traceGL_Native.glPassThrough)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPassThrough");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("token", "%f", token);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPassThrough(token);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPopName()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPopName)
    traceGL_lookupNativeAddress("glPopName", (void **) &traceGL_Native.glPopName);

  traceThis = traceEnabled("glPopName");

  if (!traceGL_Native.glPopName)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPopName");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPopName();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPushName(GLuint name)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPushName)
    traceGL_lookupNativeAddress("glPushName", (void **) &traceGL_Native.glPushName);

  traceThis = traceEnabled("glPushName");

  if (!traceGL_Native.glPushName)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPushName");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("name", "%u", name);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPushName(name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawBuffer(GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawBuffer)
    traceGL_lookupNativeAddress("glDrawBuffer", (void **) &traceGL_Native.glDrawBuffer);

  traceThis = traceEnabled("glDrawBuffer");

  if (!traceGL_Native.glDrawBuffer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawBuffer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawBuffer(mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glClear(GLbitfield mask)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClear)
    traceGL_lookupNativeAddress("glClear", (void **) &traceGL_Native.glClear);

  traceThis = traceEnabled("glClear");

  if (!traceGL_Native.glClear)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClear");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mask", "%u", mask);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glClear(mask);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClearAccum)
    traceGL_lookupNativeAddress("glClearAccum", (void **) &traceGL_Native.glClearAccum);

  traceThis = traceEnabled("glClearAccum");

  if (!traceGL_Native.glClearAccum)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClearAccum");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%f", red);
    traceInputParameter("green", "%f", green);
    traceInputParameter("blue", "%f", blue);
    traceInputParameter("alpha", "%f", alpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glClearAccum(red, green, blue, alpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClearColor)
    traceGL_lookupNativeAddress("glClearColor", (void **) &traceGL_Native.glClearColor);

  traceThis = traceEnabled("glClearColor");

  if (!traceGL_Native.glClearColor)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClearColor");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%f", red);
    traceInputParameter("green", "%f", green);
    traceInputParameter("blue", "%f", blue);
    traceInputParameter("alpha", "%f", alpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glClearColor(red, green, blue, alpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glClearDepth(GLclampd depth)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClearDepth)
    traceGL_lookupNativeAddress("glClearDepth", (void **) &traceGL_Native.glClearDepth);

  traceThis = traceEnabled("glClearDepth");

  if (!traceGL_Native.glClearDepth)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClearDepth");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("depth", "%lf", depth);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glClearDepth(depth);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glClearIndex(GLfloat c)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClearIndex)
    traceGL_lookupNativeAddress("glClearIndex", (void **) &traceGL_Native.glClearIndex);

  traceThis = traceEnabled("glClearIndex");

  if (!traceGL_Native.glClearIndex)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClearIndex");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("c", "%f", c);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glClearIndex(c);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glClearStencil(GLint s)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClearStencil)
    traceGL_lookupNativeAddress("glClearStencil", (void **) &traceGL_Native.glClearStencil);

  traceThis = traceEnabled("glClearStencil");

  if (!traceGL_Native.glClearStencil)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClearStencil");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%d", s);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glClearStencil(s);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorMask)
    traceGL_lookupNativeAddress("glColorMask", (void **) &traceGL_Native.glColorMask);

  traceThis = traceEnabled("glColorMask");

  if (!traceGL_Native.glColorMask)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorMask");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%u", (unsigned int) red);
    traceInputParameter("green", "%u", (unsigned int) green);
    traceInputParameter("blue", "%u", (unsigned int) blue);
    traceInputParameter("alpha", "%u", (unsigned int) alpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColorMask(red, green, blue, alpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDepthMask(GLboolean flag)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDepthMask)
    traceGL_lookupNativeAddress("glDepthMask", (void **) &traceGL_Native.glDepthMask);

  traceThis = traceEnabled("glDepthMask");

  if (!traceGL_Native.glDepthMask)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDepthMask");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("flag", "%u", (unsigned int) flag);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDepthMask(flag);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glIndexMask(GLuint mask)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIndexMask)
    traceGL_lookupNativeAddress("glIndexMask", (void **) &traceGL_Native.glIndexMask);

  traceThis = traceEnabled("glIndexMask");

  if (!traceGL_Native.glIndexMask)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIndexMask");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mask", "%u", mask);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glIndexMask(mask);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glStencilMask(GLuint mask)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glStencilMask)
    traceGL_lookupNativeAddress("glStencilMask", (void **) &traceGL_Native.glStencilMask);

  traceThis = traceEnabled("glStencilMask");

  if (!traceGL_Native.glStencilMask)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glStencilMask");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mask", "%u", mask);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glStencilMask(mask);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glAccum(GLenum op, GLfloat value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glAccum)
    traceGL_lookupNativeAddress("glAccum", (void **) &traceGL_Native.glAccum);

  traceThis = traceEnabled("glAccum");

  if (!traceGL_Native.glAccum)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glAccum");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("op", "%u", op);
    traceInputParameter("value", "%f", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glAccum(op, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDisable(GLenum cap)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDisable)
    traceGL_lookupNativeAddress("glDisable", (void **) &traceGL_Native.glDisable);

  traceThis = traceEnabled("glDisable");

  if (!traceGL_Native.glDisable)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDisable");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("cap", "%u", cap);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDisable(cap);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEnable(GLenum cap)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEnable)
    traceGL_lookupNativeAddress("glEnable", (void **) &traceGL_Native.glEnable);

  traceThis = traceEnabled("glEnable");

  if (!traceGL_Native.glEnable)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEnable");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("cap", "%u", cap);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEnable(cap);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFinish()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFinish)
    traceGL_lookupNativeAddress("glFinish", (void **) &traceGL_Native.glFinish);

  traceThis = traceEnabled("glFinish");

  if (!traceGL_Native.glFinish)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFinish");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFinish();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFlush()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFlush)
    traceGL_lookupNativeAddress("glFlush", (void **) &traceGL_Native.glFlush);

  traceThis = traceEnabled("glFlush");

  if (!traceGL_Native.glFlush)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFlush");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFlush();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPopAttrib()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPopAttrib)
    traceGL_lookupNativeAddress("glPopAttrib", (void **) &traceGL_Native.glPopAttrib);

  traceThis = traceEnabled("glPopAttrib");

  if (!traceGL_Native.glPopAttrib)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPopAttrib");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPopAttrib();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPushAttrib(GLbitfield mask)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPushAttrib)
    traceGL_lookupNativeAddress("glPushAttrib", (void **) &traceGL_Native.glPushAttrib);

  traceThis = traceEnabled("glPushAttrib");

  if (!traceGL_Native.glPushAttrib)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPushAttrib");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mask", "%u", mask);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPushAttrib(mask);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMap1d)
    traceGL_lookupNativeAddress("glMap1d", (void **) &traceGL_Native.glMap1d);

  traceThis = traceEnabled("glMap1d");

  if (!traceGL_Native.glMap1d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMap1d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("u1", "%lf", u1);
    traceInputParameter("u2", "%lf", u2);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("order", "%d", order);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMap1d(target, u1, u2, stride, order, points);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMap1f)
    traceGL_lookupNativeAddress("glMap1f", (void **) &traceGL_Native.glMap1f);

  traceThis = traceEnabled("glMap1f");

  if (!traceGL_Native.glMap1f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMap1f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("u1", "%f", u1);
    traceInputParameter("u2", "%f", u2);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("order", "%d", order);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMap1f(target, u1, u2, stride, order, points);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMap2d)
    traceGL_lookupNativeAddress("glMap2d", (void **) &traceGL_Native.glMap2d);

  traceThis = traceEnabled("glMap2d");

  if (!traceGL_Native.glMap2d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMap2d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("u1", "%lf", u1);
    traceInputParameter("u2", "%lf", u2);
    traceInputParameter("ustride", "%d", ustride);
    traceInputParameter("uorder", "%d", uorder);
    traceInputParameter("v1", "%lf", v1);
    traceInputParameter("v2", "%lf", v2);
    traceInputParameter("vstride", "%d", vstride);
    traceInputParameter("vorder", "%d", vorder);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMap2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMap2f)
    traceGL_lookupNativeAddress("glMap2f", (void **) &traceGL_Native.glMap2f);

  traceThis = traceEnabled("glMap2f");

  if (!traceGL_Native.glMap2f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMap2f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("u1", "%f", u1);
    traceInputParameter("u2", "%f", u2);
    traceInputParameter("ustride", "%d", ustride);
    traceInputParameter("uorder", "%d", uorder);
    traceInputParameter("v1", "%f", v1);
    traceInputParameter("v2", "%f", v2);
    traceInputParameter("vstride", "%d", vstride);
    traceInputParameter("vorder", "%d", vorder);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMap2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMapGrid1d(GLint un, GLdouble u1, GLdouble u2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapGrid1d)
    traceGL_lookupNativeAddress("glMapGrid1d", (void **) &traceGL_Native.glMapGrid1d);

  traceThis = traceEnabled("glMapGrid1d");

  if (!traceGL_Native.glMapGrid1d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapGrid1d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("un", "%d", un);
    traceInputParameter("u1", "%lf", u1);
    traceInputParameter("u2", "%lf", u2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMapGrid1d(un, u1, u2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMapGrid1f(GLint un, GLfloat u1, GLfloat u2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapGrid1f)
    traceGL_lookupNativeAddress("glMapGrid1f", (void **) &traceGL_Native.glMapGrid1f);

  traceThis = traceEnabled("glMapGrid1f");

  if (!traceGL_Native.glMapGrid1f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapGrid1f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("un", "%d", un);
    traceInputParameter("u1", "%f", u1);
    traceInputParameter("u2", "%f", u2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMapGrid1f(un, u1, u2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapGrid2d)
    traceGL_lookupNativeAddress("glMapGrid2d", (void **) &traceGL_Native.glMapGrid2d);

  traceThis = traceEnabled("glMapGrid2d");

  if (!traceGL_Native.glMapGrid2d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapGrid2d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("un", "%d", un);
    traceInputParameter("u1", "%lf", u1);
    traceInputParameter("u2", "%lf", u2);
    traceInputParameter("vn", "%d", vn);
    traceInputParameter("v1", "%lf", v1);
    traceInputParameter("v2", "%lf", v2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMapGrid2d(un, u1, u2, vn, v1, v2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapGrid2f)
    traceGL_lookupNativeAddress("glMapGrid2f", (void **) &traceGL_Native.glMapGrid2f);

  traceThis = traceEnabled("glMapGrid2f");

  if (!traceGL_Native.glMapGrid2f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapGrid2f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("un", "%d", un);
    traceInputParameter("u1", "%f", u1);
    traceInputParameter("u2", "%f", u2);
    traceInputParameter("vn", "%d", vn);
    traceInputParameter("v1", "%f", v1);
    traceInputParameter("v2", "%f", v2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMapGrid2f(un, u1, u2, vn, v1, v2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEvalCoord1d(GLdouble u)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEvalCoord1d)
    traceGL_lookupNativeAddress("glEvalCoord1d", (void **) &traceGL_Native.glEvalCoord1d);

  traceThis = traceEnabled("glEvalCoord1d");

  if (!traceGL_Native.glEvalCoord1d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEvalCoord1d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("u", "%lf", u);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEvalCoord1d(u);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEvalCoord1dv(const GLdouble *u)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEvalCoord1dv)
    traceGL_lookupNativeAddress("glEvalCoord1dv", (void **) &traceGL_Native.glEvalCoord1dv);

  traceThis = traceEnabled("glEvalCoord1dv");

  if (!traceGL_Native.glEvalCoord1dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEvalCoord1dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("u", "%lf[%d]", u, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEvalCoord1dv(u);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEvalCoord1f(GLfloat u)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEvalCoord1f)
    traceGL_lookupNativeAddress("glEvalCoord1f", (void **) &traceGL_Native.glEvalCoord1f);

  traceThis = traceEnabled("glEvalCoord1f");

  if (!traceGL_Native.glEvalCoord1f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEvalCoord1f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("u", "%f", u);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEvalCoord1f(u);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEvalCoord1fv(const GLfloat *u)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEvalCoord1fv)
    traceGL_lookupNativeAddress("glEvalCoord1fv", (void **) &traceGL_Native.glEvalCoord1fv);

  traceThis = traceEnabled("glEvalCoord1fv");

  if (!traceGL_Native.glEvalCoord1fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEvalCoord1fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("u", "%f[%d]", u, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEvalCoord1fv(u);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEvalCoord2d(GLdouble u, GLdouble v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEvalCoord2d)
    traceGL_lookupNativeAddress("glEvalCoord2d", (void **) &traceGL_Native.glEvalCoord2d);

  traceThis = traceEnabled("glEvalCoord2d");

  if (!traceGL_Native.glEvalCoord2d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEvalCoord2d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("u", "%lf", u);
    traceInputParameter("v", "%lf", v);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEvalCoord2d(u, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEvalCoord2dv(const GLdouble *u)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEvalCoord2dv)
    traceGL_lookupNativeAddress("glEvalCoord2dv", (void **) &traceGL_Native.glEvalCoord2dv);

  traceThis = traceEnabled("glEvalCoord2dv");

  if (!traceGL_Native.glEvalCoord2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEvalCoord2dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("u", "%lf[%d]", u, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEvalCoord2dv(u);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEvalCoord2f(GLfloat u, GLfloat v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEvalCoord2f)
    traceGL_lookupNativeAddress("glEvalCoord2f", (void **) &traceGL_Native.glEvalCoord2f);

  traceThis = traceEnabled("glEvalCoord2f");

  if (!traceGL_Native.glEvalCoord2f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEvalCoord2f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("u", "%f", u);
    traceInputParameter("v", "%f", v);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEvalCoord2f(u, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEvalCoord2fv(const GLfloat *u)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEvalCoord2fv)
    traceGL_lookupNativeAddress("glEvalCoord2fv", (void **) &traceGL_Native.glEvalCoord2fv);

  traceThis = traceEnabled("glEvalCoord2fv");

  if (!traceGL_Native.glEvalCoord2fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEvalCoord2fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("u", "%f[%d]", u, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEvalCoord2fv(u);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEvalMesh1(GLenum mode, GLint i1, GLint i2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEvalMesh1)
    traceGL_lookupNativeAddress("glEvalMesh1", (void **) &traceGL_Native.glEvalMesh1);

  traceThis = traceEnabled("glEvalMesh1");

  if (!traceGL_Native.glEvalMesh1)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEvalMesh1");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("i1", "%d", i1);
    traceInputParameter("i2", "%d", i2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEvalMesh1(mode, i1, i2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEvalMesh2)
    traceGL_lookupNativeAddress("glEvalMesh2", (void **) &traceGL_Native.glEvalMesh2);

  traceThis = traceEnabled("glEvalMesh2");

  if (!traceGL_Native.glEvalMesh2)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEvalMesh2");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("i1", "%d", i1);
    traceInputParameter("i2", "%d", i2);
    traceInputParameter("j1", "%d", j1);
    traceInputParameter("j2", "%d", j2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEvalMesh2(mode, i1, i2, j1, j2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEvalPoint1(GLint i)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEvalPoint1)
    traceGL_lookupNativeAddress("glEvalPoint1", (void **) &traceGL_Native.glEvalPoint1);

  traceThis = traceEnabled("glEvalPoint1");

  if (!traceGL_Native.glEvalPoint1)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEvalPoint1");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("i", "%d", i);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEvalPoint1(i);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEvalPoint2(GLint i, GLint j)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEvalPoint2)
    traceGL_lookupNativeAddress("glEvalPoint2", (void **) &traceGL_Native.glEvalPoint2);

  traceThis = traceEnabled("glEvalPoint2");

  if (!traceGL_Native.glEvalPoint2)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEvalPoint2");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("i", "%d", i);
    traceInputParameter("j", "%d", j);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEvalPoint2(i, j);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glAlphaFunc(GLenum func, GLclampf ref)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glAlphaFunc)
    traceGL_lookupNativeAddress("glAlphaFunc", (void **) &traceGL_Native.glAlphaFunc);

  traceThis = traceEnabled("glAlphaFunc");

  if (!traceGL_Native.glAlphaFunc)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glAlphaFunc");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("func", "%u", func);
    traceInputParameter("ref", "%f", ref);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glAlphaFunc(func, ref);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBlendFunc(GLenum sfactor, GLenum dfactor)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendFunc)
    traceGL_lookupNativeAddress("glBlendFunc", (void **) &traceGL_Native.glBlendFunc);

  traceThis = traceEnabled("glBlendFunc");

  if (!traceGL_Native.glBlendFunc)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendFunc");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("sfactor", "%u", sfactor);
    traceInputParameter("dfactor", "%u", dfactor);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBlendFunc(sfactor, dfactor);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDepthFunc(GLenum func)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDepthFunc)
    traceGL_lookupNativeAddress("glDepthFunc", (void **) &traceGL_Native.glDepthFunc);

  traceThis = traceEnabled("glDepthFunc");

  if (!traceGL_Native.glDepthFunc)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDepthFunc");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("func", "%u", func);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDepthFunc(func);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glStencilFunc(GLenum func, GLint ref, GLuint mask)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glStencilFunc)
    traceGL_lookupNativeAddress("glStencilFunc", (void **) &traceGL_Native.glStencilFunc);

  traceThis = traceEnabled("glStencilFunc");

  if (!traceGL_Native.glStencilFunc)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glStencilFunc");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("func", "%u", func);
    traceInputParameter("ref", "%d", ref);
    traceInputParameter("mask", "%u", mask);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glStencilFunc(func, ref, mask);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glLogicOp(GLenum opcode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLogicOp)
    traceGL_lookupNativeAddress("glLogicOp", (void **) &traceGL_Native.glLogicOp);

  traceThis = traceEnabled("glLogicOp");

  if (!traceGL_Native.glLogicOp)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLogicOp");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("opcode", "%u", opcode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glLogicOp(opcode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glStencilOp)
    traceGL_lookupNativeAddress("glStencilOp", (void **) &traceGL_Native.glStencilOp);

  traceThis = traceEnabled("glStencilOp");

  if (!traceGL_Native.glStencilOp)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glStencilOp");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("fail", "%u", fail);
    traceInputParameter("zfail", "%u", zfail);
    traceInputParameter("zpass", "%u", zpass);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glStencilOp(fail, zfail, zpass);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPixelZoom(GLfloat xfactor, GLfloat yfactor)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelZoom)
    traceGL_lookupNativeAddress("glPixelZoom", (void **) &traceGL_Native.glPixelZoom);

  traceThis = traceEnabled("glPixelZoom");

  if (!traceGL_Native.glPixelZoom)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelZoom");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("xfactor", "%f", xfactor);
    traceInputParameter("yfactor", "%f", yfactor);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPixelZoom(xfactor, yfactor);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPixelTransferf(GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelTransferf)
    traceGL_lookupNativeAddress("glPixelTransferf", (void **) &traceGL_Native.glPixelTransferf);

  traceThis = traceEnabled("glPixelTransferf");

  if (!traceGL_Native.glPixelTransferf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelTransferf");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPixelTransferf(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPixelTransferi(GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelTransferi)
    traceGL_lookupNativeAddress("glPixelTransferi", (void **) &traceGL_Native.glPixelTransferi);

  traceThis = traceEnabled("glPixelTransferi");

  if (!traceGL_Native.glPixelTransferi)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelTransferi");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPixelTransferi(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPixelStoref(GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelStoref)
    traceGL_lookupNativeAddress("glPixelStoref", (void **) &traceGL_Native.glPixelStoref);

  traceThis = traceEnabled("glPixelStoref");

  if (!traceGL_Native.glPixelStoref)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelStoref");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPixelStoref(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPixelStorei(GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelStorei)
    traceGL_lookupNativeAddress("glPixelStorei", (void **) &traceGL_Native.glPixelStorei);

  traceThis = traceEnabled("glPixelStorei");

  if (!traceGL_Native.glPixelStorei)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelStorei");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPixelStorei(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPixelMapfv(GLenum map, GLsizei mapsize, const GLfloat *values)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelMapfv)
    traceGL_lookupNativeAddress("glPixelMapfv", (void **) &traceGL_Native.glPixelMapfv);

  traceThis = traceEnabled("glPixelMapfv");

  if (!traceGL_Native.glPixelMapfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelMapfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("map", "%u", map);
    traceInputParameter("mapsize", "%d", mapsize);
    traceInputParameter("values", "%f[%d]", values, mapsize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPixelMapfv(map, mapsize, values);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelMapuiv)
    traceGL_lookupNativeAddress("glPixelMapuiv", (void **) &traceGL_Native.glPixelMapuiv);

  traceThis = traceEnabled("glPixelMapuiv");

  if (!traceGL_Native.glPixelMapuiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelMapuiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("map", "%u", map);
    traceInputParameter("mapsize", "%d", mapsize);
    traceInputParameter("values", "%u[%d]", values, mapsize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPixelMapuiv(map, mapsize, values);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelMapusv)
    traceGL_lookupNativeAddress("glPixelMapusv", (void **) &traceGL_Native.glPixelMapusv);

  traceThis = traceEnabled("glPixelMapusv");

  if (!traceGL_Native.glPixelMapusv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelMapusv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("map", "%u", map);
    traceInputParameter("mapsize", "%d", mapsize);
    traceInputParameter("values", "%hu[%d]", values, mapsize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPixelMapusv(map, mapsize, values);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReadBuffer(GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReadBuffer)
    traceGL_lookupNativeAddress("glReadBuffer", (void **) &traceGL_Native.glReadBuffer);

  traceThis = traceEnabled("glReadBuffer");

  if (!traceGL_Native.glReadBuffer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReadBuffer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReadBuffer(mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyPixels)
    traceGL_lookupNativeAddress("glCopyPixels", (void **) &traceGL_Native.glCopyPixels);

  traceThis = traceEnabled("glCopyPixels");

  if (!traceGL_Native.glCopyPixels)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyPixels");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("type", "%u", type);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyPixels(x, y, width, height, type);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReadPixels)
    traceGL_lookupNativeAddress("glReadPixels", (void **) &traceGL_Native.glReadPixels);

  traceThis = traceEnabled("glReadPixels");

  if (!traceGL_Native.glReadPixels)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReadPixels");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReadPixels(x, y, width, height, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("pixels", "%c[%ld]", pixels, (traceGL_helperGLPixelImageSize ? traceGL_helperGLPixelImageSize(width, height, 0, format, type, 1, 0) : 0));

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawPixels)
    traceGL_lookupNativeAddress("glDrawPixels", (void **) &traceGL_Native.glDrawPixels);

  traceThis = traceEnabled("glDrawPixels");

  if (!traceGL_Native.glDrawPixels)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawPixels");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("pixels", "%c[%ld]", pixels, (traceGL_helperGLPixelImageSize ? traceGL_helperGLPixelImageSize(width, height, 0, format, type, 0, 0) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawPixels(width, height, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetBooleanv(GLenum pname, GLboolean *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetBooleanv)
    traceGL_lookupNativeAddress("glGetBooleanv", (void **) &traceGL_Native.glGetBooleanv);

  traceThis = traceEnabled("glGetBooleanv");

  if (!traceGL_Native.glGetBooleanv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetBooleanv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetBooleanv(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetDoublev(GLenum pname, GLdouble *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetDoublev)
    traceGL_lookupNativeAddress("glGetDoublev", (void **) &traceGL_Native.glGetDoublev);

  traceThis = traceEnabled("glGetDoublev");

  if (!traceGL_Native.glGetDoublev)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetDoublev");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetDoublev(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetFloatv(GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFloatv)
    traceGL_lookupNativeAddress("glGetFloatv", (void **) &traceGL_Native.glGetFloatv);

  traceThis = traceEnabled("glGetFloatv");

  if (!traceGL_Native.glGetFloatv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFloatv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetFloatv(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetIntegerv(GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetIntegerv)
    traceGL_lookupNativeAddress("glGetIntegerv", (void **) &traceGL_Native.glGetIntegerv);

  traceThis = traceEnabled("glGetIntegerv");

  if (!traceGL_Native.glGetIntegerv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetIntegerv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetIntegerv(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetClipPlane(GLenum plane, GLdouble *equation)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetClipPlane)
    traceGL_lookupNativeAddress("glGetClipPlane", (void **) &traceGL_Native.glGetClipPlane);

  traceThis = traceEnabled("glGetClipPlane");

  if (!traceGL_Native.glGetClipPlane)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetClipPlane");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("plane", "%u", plane);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetClipPlane(plane, equation);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("equation", "%lf[%d]", equation, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLenum GLAPIENTRY
glGetError()
{
  GLenum ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetError)
    traceGL_lookupNativeAddress("glGetError", (void **) &traceGL_Native.glGetError);

  traceThis = traceEnabled("glGetError");

  if (!traceGL_Native.glGetError)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetError");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGetError();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetLightfv(GLenum light, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetLightfv)
    traceGL_lookupNativeAddress("glGetLightfv", (void **) &traceGL_Native.glGetLightfv);

  traceThis = traceEnabled("glGetLightfv");

  if (!traceGL_Native.glGetLightfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetLightfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("light", "%u", light);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetLightfv(light, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetLightiv(GLenum light, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetLightiv)
    traceGL_lookupNativeAddress("glGetLightiv", (void **) &traceGL_Native.glGetLightiv);

  traceThis = traceEnabled("glGetLightiv");

  if (!traceGL_Native.glGetLightiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetLightiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("light", "%u", light);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetLightiv(light, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMapdv(GLenum target, GLenum query, GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMapdv)
    traceGL_lookupNativeAddress("glGetMapdv", (void **) &traceGL_Native.glGetMapdv);

  traceThis = traceEnabled("glGetMapdv");

  if (!traceGL_Native.glGetMapdv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMapdv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("query", "%u", query);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMapdv(target, query, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMapfv(GLenum target, GLenum query, GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMapfv)
    traceGL_lookupNativeAddress("glGetMapfv", (void **) &traceGL_Native.glGetMapfv);

  traceThis = traceEnabled("glGetMapfv");

  if (!traceGL_Native.glGetMapfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMapfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("query", "%u", query);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMapfv(target, query, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMapiv(GLenum target, GLenum query, GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMapiv)
    traceGL_lookupNativeAddress("glGetMapiv", (void **) &traceGL_Native.glGetMapiv);

  traceThis = traceEnabled("glGetMapiv");

  if (!traceGL_Native.glGetMapiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMapiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("query", "%u", query);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMapiv(target, query, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMaterialfv)
    traceGL_lookupNativeAddress("glGetMaterialfv", (void **) &traceGL_Native.glGetMaterialfv);

  traceThis = traceEnabled("glGetMaterialfv");

  if (!traceGL_Native.glGetMaterialfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMaterialfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("face", "%u", face);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMaterialfv(face, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMaterialiv(GLenum face, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMaterialiv)
    traceGL_lookupNativeAddress("glGetMaterialiv", (void **) &traceGL_Native.glGetMaterialiv);

  traceThis = traceEnabled("glGetMaterialiv");

  if (!traceGL_Native.glGetMaterialiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMaterialiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("face", "%u", face);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMaterialiv(face, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetPixelMapfv(GLenum map, GLfloat *values)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetPixelMapfv)
    traceGL_lookupNativeAddress("glGetPixelMapfv", (void **) &traceGL_Native.glGetPixelMapfv);

  traceThis = traceEnabled("glGetPixelMapfv");

  if (!traceGL_Native.glGetPixelMapfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetPixelMapfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("map", "%u", map);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetPixelMapfv(map, values);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetPixelMapuiv(GLenum map, GLuint *values)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetPixelMapuiv)
    traceGL_lookupNativeAddress("glGetPixelMapuiv", (void **) &traceGL_Native.glGetPixelMapuiv);

  traceThis = traceEnabled("glGetPixelMapuiv");

  if (!traceGL_Native.glGetPixelMapuiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetPixelMapuiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("map", "%u", map);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetPixelMapuiv(map, values);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetPixelMapusv(GLenum map, GLushort *values)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetPixelMapusv)
    traceGL_lookupNativeAddress("glGetPixelMapusv", (void **) &traceGL_Native.glGetPixelMapusv);

  traceThis = traceEnabled("glGetPixelMapusv");

  if (!traceGL_Native.glGetPixelMapusv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetPixelMapusv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("map", "%u", map);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetPixelMapusv(map, values);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetPolygonStipple(GLubyte *mask)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetPolygonStipple)
    traceGL_lookupNativeAddress("glGetPolygonStipple", (void **) &traceGL_Native.glGetPolygonStipple);

  traceThis = traceEnabled("glGetPolygonStipple");

  if (!traceGL_Native.glGetPolygonStipple)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetPolygonStipple");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetPolygonStipple(mask);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT const GLubyte *GLAPIENTRY
glGetString(GLenum name)
{
  const GLubyte *ret = NULL;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetString)
    traceGL_lookupNativeAddress("glGetString", (void **) &traceGL_Native.glGetString);

  traceThis = traceEnabled("glGetString");

  if (!traceGL_Native.glGetString)
    return NULL;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetString");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("name", "%u", name);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGetString(name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%s", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTexEnvfv)
    traceGL_lookupNativeAddress("glGetTexEnvfv", (void **) &traceGL_Native.glGetTexEnvfv);

  traceThis = traceEnabled("glGetTexEnvfv");

  if (!traceGL_Native.glGetTexEnvfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTexEnvfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTexEnvfv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTexEnviv(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTexEnviv)
    traceGL_lookupNativeAddress("glGetTexEnviv", (void **) &traceGL_Native.glGetTexEnviv);

  traceThis = traceEnabled("glGetTexEnviv");

  if (!traceGL_Native.glGetTexEnviv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTexEnviv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTexEnviv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTexGendv)
    traceGL_lookupNativeAddress("glGetTexGendv", (void **) &traceGL_Native.glGetTexGendv);

  traceThis = traceEnabled("glGetTexGendv");

  if (!traceGL_Native.glGetTexGendv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTexGendv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("coord", "%u", coord);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTexGendv(coord, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTexGenfv)
    traceGL_lookupNativeAddress("glGetTexGenfv", (void **) &traceGL_Native.glGetTexGenfv);

  traceThis = traceEnabled("glGetTexGenfv");

  if (!traceGL_Native.glGetTexGenfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTexGenfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("coord", "%u", coord);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTexGenfv(coord, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTexGeniv(GLenum coord, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTexGeniv)
    traceGL_lookupNativeAddress("glGetTexGeniv", (void **) &traceGL_Native.glGetTexGeniv);

  traceThis = traceEnabled("glGetTexGeniv");

  if (!traceGL_Native.glGetTexGeniv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTexGeniv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("coord", "%u", coord);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTexGeniv(coord, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTexImage)
    traceGL_lookupNativeAddress("glGetTexImage", (void **) &traceGL_Native.glGetTexImage);

  traceThis = traceEnabled("glGetTexImage");

  if (!traceGL_Native.glGetTexImage)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTexImage");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTexImage(target, level, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("pixels", "%p", pixels);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTexParameterfv)
    traceGL_lookupNativeAddress("glGetTexParameterfv", (void **) &traceGL_Native.glGetTexParameterfv);

  traceThis = traceEnabled("glGetTexParameterfv");

  if (!traceGL_Native.glGetTexParameterfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTexParameterfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTexParameterfv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTexParameteriv(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTexParameteriv)
    traceGL_lookupNativeAddress("glGetTexParameteriv", (void **) &traceGL_Native.glGetTexParameteriv);

  traceThis = traceEnabled("glGetTexParameteriv");

  if (!traceGL_Native.glGetTexParameteriv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTexParameteriv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTexParameteriv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTexLevelParameterfv)
    traceGL_lookupNativeAddress("glGetTexLevelParameterfv", (void **) &traceGL_Native.glGetTexLevelParameterfv);

  traceThis = traceEnabled("glGetTexLevelParameterfv");

  if (!traceGL_Native.glGetTexLevelParameterfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTexLevelParameterfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTexLevelParameterfv(target, level, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTexLevelParameteriv)
    traceGL_lookupNativeAddress("glGetTexLevelParameteriv", (void **) &traceGL_Native.glGetTexLevelParameteriv);

  traceThis = traceEnabled("glGetTexLevelParameteriv");

  if (!traceGL_Native.glGetTexLevelParameteriv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTexLevelParameteriv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTexLevelParameteriv(target, level, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsEnabled(GLenum cap)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsEnabled)
    traceGL_lookupNativeAddress("glIsEnabled", (void **) &traceGL_Native.glIsEnabled);

  traceThis = traceEnabled("glIsEnabled");

  if (!traceGL_Native.glIsEnabled)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsEnabled");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("cap", "%u", cap);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsEnabled(cap);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLboolean GLAPIENTRY
glIsList(GLuint list)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsList)
    traceGL_lookupNativeAddress("glIsList", (void **) &traceGL_Native.glIsList);

  traceThis = traceEnabled("glIsList");

  if (!traceGL_Native.glIsList)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsList");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("list", "%u", list);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsList(list);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glDepthRange(GLclampd zNear, GLclampd zFar)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDepthRange)
    traceGL_lookupNativeAddress("glDepthRange", (void **) &traceGL_Native.glDepthRange);

  traceThis = traceEnabled("glDepthRange");

  if (!traceGL_Native.glDepthRange)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDepthRange");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("zNear", "%lf", zNear);
    traceInputParameter("zFar", "%lf", zFar);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDepthRange(zNear, zFar);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFrustum)
    traceGL_lookupNativeAddress("glFrustum", (void **) &traceGL_Native.glFrustum);

  traceThis = traceEnabled("glFrustum");

  if (!traceGL_Native.glFrustum)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFrustum");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("left", "%lf", left);
    traceInputParameter("right", "%lf", right);
    traceInputParameter("bottom", "%lf", bottom);
    traceInputParameter("top", "%lf", top);
    traceInputParameter("zNear", "%lf", zNear);
    traceInputParameter("zFar", "%lf", zFar);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFrustum(left, right, bottom, top, zNear, zFar);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glLoadIdentity()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLoadIdentity)
    traceGL_lookupNativeAddress("glLoadIdentity", (void **) &traceGL_Native.glLoadIdentity);

  traceThis = traceEnabled("glLoadIdentity");

  if (!traceGL_Native.glLoadIdentity)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLoadIdentity");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glLoadIdentity();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glLoadMatrixd(const GLdouble *m)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLoadMatrixd)
    traceGL_lookupNativeAddress("glLoadMatrixd", (void **) &traceGL_Native.glLoadMatrixd);

  traceThis = traceEnabled("glLoadMatrixd");

  if (!traceGL_Native.glLoadMatrixd)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLoadMatrixd");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("m", "%lf[%d]", m, 16);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glLoadMatrixd(m);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glLoadMatrixf(const GLfloat *m)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLoadMatrixf)
    traceGL_lookupNativeAddress("glLoadMatrixf", (void **) &traceGL_Native.glLoadMatrixf);

  traceThis = traceEnabled("glLoadMatrixf");

  if (!traceGL_Native.glLoadMatrixf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLoadMatrixf");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("m", "%f[%d]", m, 16);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glLoadMatrixf(m);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMatrixMode(GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixMode)
    traceGL_lookupNativeAddress("glMatrixMode", (void **) &traceGL_Native.glMatrixMode);

  traceThis = traceEnabled("glMatrixMode");

  if (!traceGL_Native.glMatrixMode)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixMode");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMatrixMode(mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultMatrixd(const GLdouble *m)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultMatrixd)
    traceGL_lookupNativeAddress("glMultMatrixd", (void **) &traceGL_Native.glMultMatrixd);

  traceThis = traceEnabled("glMultMatrixd");

  if (!traceGL_Native.glMultMatrixd)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultMatrixd");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("m", "%lf[%d]", m, 16);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultMatrixd(m);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultMatrixf(const GLfloat *m)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultMatrixf)
    traceGL_lookupNativeAddress("glMultMatrixf", (void **) &traceGL_Native.glMultMatrixf);

  traceThis = traceEnabled("glMultMatrixf");

  if (!traceGL_Native.glMultMatrixf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultMatrixf");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("m", "%f[%d]", m, 16);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultMatrixf(m);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glOrtho)
    traceGL_lookupNativeAddress("glOrtho", (void **) &traceGL_Native.glOrtho);

  traceThis = traceEnabled("glOrtho");

  if (!traceGL_Native.glOrtho)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glOrtho");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("left", "%lf", left);
    traceInputParameter("right", "%lf", right);
    traceInputParameter("bottom", "%lf", bottom);
    traceInputParameter("top", "%lf", top);
    traceInputParameter("zNear", "%lf", zNear);
    traceInputParameter("zFar", "%lf", zFar);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glOrtho(left, right, bottom, top, zNear, zFar);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPopMatrix()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPopMatrix)
    traceGL_lookupNativeAddress("glPopMatrix", (void **) &traceGL_Native.glPopMatrix);

  traceThis = traceEnabled("glPopMatrix");

  if (!traceGL_Native.glPopMatrix)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPopMatrix");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPopMatrix();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPushMatrix()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPushMatrix)
    traceGL_lookupNativeAddress("glPushMatrix", (void **) &traceGL_Native.glPushMatrix);

  traceThis = traceEnabled("glPushMatrix");

  if (!traceGL_Native.glPushMatrix)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPushMatrix");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPushMatrix();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRotated)
    traceGL_lookupNativeAddress("glRotated", (void **) &traceGL_Native.glRotated);

  traceThis = traceEnabled("glRotated");

  if (!traceGL_Native.glRotated)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRotated");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("angle", "%lf", angle);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRotated(angle, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRotatef)
    traceGL_lookupNativeAddress("glRotatef", (void **) &traceGL_Native.glRotatef);

  traceThis = traceEnabled("glRotatef");

  if (!traceGL_Native.glRotatef)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRotatef");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("angle", "%f", angle);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRotatef(angle, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glScaled(GLdouble x, GLdouble y, GLdouble z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glScaled)
    traceGL_lookupNativeAddress("glScaled", (void **) &traceGL_Native.glScaled);

  traceThis = traceEnabled("glScaled");

  if (!traceGL_Native.glScaled)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glScaled");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glScaled(x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glScalef(GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glScalef)
    traceGL_lookupNativeAddress("glScalef", (void **) &traceGL_Native.glScalef);

  traceThis = traceEnabled("glScalef");

  if (!traceGL_Native.glScalef)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glScalef");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glScalef(x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTranslated(GLdouble x, GLdouble y, GLdouble z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTranslated)
    traceGL_lookupNativeAddress("glTranslated", (void **) &traceGL_Native.glTranslated);

  traceThis = traceEnabled("glTranslated");

  if (!traceGL_Native.glTranslated)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTranslated");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTranslated(x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTranslatef(GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTranslatef)
    traceGL_lookupNativeAddress("glTranslatef", (void **) &traceGL_Native.glTranslatef);

  traceThis = traceEnabled("glTranslatef");

  if (!traceGL_Native.glTranslatef)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTranslatef");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTranslatef(x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glViewport)
    traceGL_lookupNativeAddress("glViewport", (void **) &traceGL_Native.glViewport);

  traceThis = traceEnabled("glViewport");

  if (!traceGL_Native.glViewport)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glViewport");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glViewport(x, y, width, height);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glArrayElement(GLint index)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glArrayElement)
    traceGL_lookupNativeAddress("glArrayElement", (void **) &traceGL_Native.glArrayElement);

  traceThis = traceEnabled("glArrayElement");

  if (!traceGL_Native.glArrayElement)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glArrayElement");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%d", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glArrayElement(index);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawArrays(GLenum mode, GLint first, GLsizei count)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawArrays)
    traceGL_lookupNativeAddress("glDrawArrays", (void **) &traceGL_Native.glDrawArrays);

  traceThis = traceEnabled("glDrawArrays");

  if (!traceGL_Native.glDrawArrays)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawArrays");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("first", "%d", first);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawArrays(mode, first, count);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawElements)
    traceGL_lookupNativeAddress("glDrawElements", (void **) &traceGL_Native.glDrawElements);

  traceThis = traceEnabled("glDrawElements");

  if (!traceGL_Native.glDrawElements)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawElements");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("count", "%d", count);
    traceInputParameter("type", "%u", type);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawElements(mode, count, type, indices);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glInterleavedArrays)
    traceGL_lookupNativeAddress("glInterleavedArrays", (void **) &traceGL_Native.glInterleavedArrays);

  traceThis = traceEnabled("glInterleavedArrays");

  if (!traceGL_Native.glInterleavedArrays)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glInterleavedArrays");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("format", "%u", format);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glInterleavedArrays(format, stride, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDisableClientState(GLenum array)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDisableClientState)
    traceGL_lookupNativeAddress("glDisableClientState", (void **) &traceGL_Native.glDisableClientState);

  traceThis = traceEnabled("glDisableClientState");

  if (!traceGL_Native.glDisableClientState)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDisableClientState");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("array", "%u", array);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDisableClientState(array);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEnableClientState(GLenum array)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEnableClientState)
    traceGL_lookupNativeAddress("glEnableClientState", (void **) &traceGL_Native.glEnableClientState);

  traceThis = traceEnabled("glEnableClientState");

  if (!traceGL_Native.glEnableClientState)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEnableClientState");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("array", "%u", array);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEnableClientState(array);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetPointerv(GLenum pname, GLvoid **params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetPointerv)
    traceGL_lookupNativeAddress("glGetPointerv", (void **) &traceGL_Native.glGetPointerv);

  traceThis = traceEnabled("glGetPointerv");

  if (!traceGL_Native.glGetPointerv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetPointerv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetPointerv(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorPointer)
    traceGL_lookupNativeAddress("glColorPointer", (void **) &traceGL_Native.glColorPointer);

  traceThis = traceEnabled("glColorPointer");

  if (!traceGL_Native.glColorPointer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorPointer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColorPointer(size, type, stride, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEdgeFlagPointer(GLsizei stride, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEdgeFlagPointer)
    traceGL_lookupNativeAddress("glEdgeFlagPointer", (void **) &traceGL_Native.glEdgeFlagPointer);

  traceThis = traceEnabled("glEdgeFlagPointer");

  if (!traceGL_Native.glEdgeFlagPointer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEdgeFlagPointer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stride", "%d", stride);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEdgeFlagPointer(stride, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glIndexPointer(GLenum type, GLsizei stride, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIndexPointer)
    traceGL_lookupNativeAddress("glIndexPointer", (void **) &traceGL_Native.glIndexPointer);

  traceThis = traceEnabled("glIndexPointer");

  if (!traceGL_Native.glIndexPointer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIndexPointer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glIndexPointer(type, stride, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalPointer)
    traceGL_lookupNativeAddress("glNormalPointer", (void **) &traceGL_Native.glNormalPointer);

  traceThis = traceEnabled("glNormalPointer");

  if (!traceGL_Native.glNormalPointer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalPointer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormalPointer(type, stride, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoordPointer)
    traceGL_lookupNativeAddress("glTexCoordPointer", (void **) &traceGL_Native.glTexCoordPointer);

  traceThis = traceEnabled("glTexCoordPointer");

  if (!traceGL_Native.glTexCoordPointer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoordPointer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoordPointer(size, type, stride, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexPointer)
    traceGL_lookupNativeAddress("glVertexPointer", (void **) &traceGL_Native.glVertexPointer);

  traceThis = traceEnabled("glVertexPointer");

  if (!traceGL_Native.glVertexPointer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexPointer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexPointer(size, type, stride, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPolygonOffset(GLfloat factor, GLfloat units)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPolygonOffset)
    traceGL_lookupNativeAddress("glPolygonOffset", (void **) &traceGL_Native.glPolygonOffset);

  traceThis = traceEnabled("glPolygonOffset");

  if (!traceGL_Native.glPolygonOffset)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPolygonOffset");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("factor", "%f", factor);
    traceInputParameter("units", "%f", units);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPolygonOffset(factor, units);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyTexImage1D)
    traceGL_lookupNativeAddress("glCopyTexImage1D", (void **) &traceGL_Native.glCopyTexImage1D);

  traceThis = traceEnabled("glCopyTexImage1D");

  if (!traceGL_Native.glCopyTexImage1D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyTexImage1D");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);
    traceInputParameter("border", "%d", border);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyTexImage1D(target, level, internalformat, x, y, width, border);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyTexImage2D)
    traceGL_lookupNativeAddress("glCopyTexImage2D", (void **) &traceGL_Native.glCopyTexImage2D);

  traceThis = traceEnabled("glCopyTexImage2D");

  if (!traceGL_Native.glCopyTexImage2D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyTexImage2D");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("border", "%d", border);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyTexImage2D(target, level, internalformat, x, y, width, height, border);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyTexSubImage1D)
    traceGL_lookupNativeAddress("glCopyTexSubImage1D", (void **) &traceGL_Native.glCopyTexSubImage1D);

  traceThis = traceEnabled("glCopyTexSubImage1D");

  if (!traceGL_Native.glCopyTexSubImage1D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyTexSubImage1D");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyTexSubImage1D(target, level, xoffset, x, y, width);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyTexSubImage2D)
    traceGL_lookupNativeAddress("glCopyTexSubImage2D", (void **) &traceGL_Native.glCopyTexSubImage2D);

  traceThis = traceEnabled("glCopyTexSubImage2D");

  if (!traceGL_Native.glCopyTexSubImage2D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyTexSubImage2D");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("yoffset", "%d", yoffset);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexSubImage1D)
    traceGL_lookupNativeAddress("glTexSubImage1D", (void **) &traceGL_Native.glTexSubImage1D);

  traceThis = traceEnabled("glTexSubImage1D");

  if (!traceGL_Native.glTexSubImage1D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexSubImage1D");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("width", "%d", width);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("pixels", "%c[%ld]", pixels, (traceGL_helperGLPixelImageSize ? traceGL_helperGLPixelImageSize(width, 0, 0, format, type, 0, target) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexSubImage1D(target, level, xoffset, width, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexSubImage2D)
    traceGL_lookupNativeAddress("glTexSubImage2D", (void **) &traceGL_Native.glTexSubImage2D);

  traceThis = traceEnabled("glTexSubImage2D");

  if (!traceGL_Native.glTexSubImage2D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexSubImage2D");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("yoffset", "%d", yoffset);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("pixels", "%c[%ld]", pixels, (traceGL_helperGLPixelImageSize ? traceGL_helperGLPixelImageSize(width, height, 0, format, type, 0, target) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glAreTexturesResident)
    traceGL_lookupNativeAddress("glAreTexturesResident", (void **) &traceGL_Native.glAreTexturesResident);

  traceThis = traceEnabled("glAreTexturesResident");

  if (!traceGL_Native.glAreTexturesResident)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glAreTexturesResident");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("textures", "%u[%d]", textures, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glAreTexturesResident(n, textures, residences);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("residences", "%c[%d]", residences, n);
    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBindTexture(GLenum target, GLuint texture)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindTexture)
    traceGL_lookupNativeAddress("glBindTexture", (void **) &traceGL_Native.glBindTexture);

  traceThis = traceEnabled("glBindTexture");

  if (!traceGL_Native.glBindTexture)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindTexture");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("texture", "%u", texture);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindTexture(target, texture);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteTextures(GLsizei n, const GLuint *textures)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteTextures)
    traceGL_lookupNativeAddress("glDeleteTextures", (void **) &traceGL_Native.glDeleteTextures);

  traceThis = traceEnabled("glDeleteTextures");

  if (!traceGL_Native.glDeleteTextures)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteTextures");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("textures", "%u[%d]", textures, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteTextures(n, textures);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenTextures(GLsizei n, GLuint *textures)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenTextures)
    traceGL_lookupNativeAddress("glGenTextures", (void **) &traceGL_Native.glGenTextures);

  traceThis = traceEnabled("glGenTextures");

  if (!traceGL_Native.glGenTextures)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenTextures");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenTextures(n, textures);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("textures", "%u[%d]", textures, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsTexture(GLuint texture)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsTexture)
    traceGL_lookupNativeAddress("glIsTexture", (void **) &traceGL_Native.glIsTexture);

  traceThis = traceEnabled("glIsTexture");

  if (!traceGL_Native.glIsTexture)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsTexture");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsTexture(texture);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLclampf *priorities)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPrioritizeTextures)
    traceGL_lookupNativeAddress("glPrioritizeTextures", (void **) &traceGL_Native.glPrioritizeTextures);

  traceThis = traceEnabled("glPrioritizeTextures");

  if (!traceGL_Native.glPrioritizeTextures)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPrioritizeTextures");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("textures", "%u[%d]", textures, n);
    traceInputParameter("priorities", "%f[%d]", priorities, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPrioritizeTextures(n, textures, priorities);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glIndexub(GLubyte c)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIndexub)
    traceGL_lookupNativeAddress("glIndexub", (void **) &traceGL_Native.glIndexub);

  traceThis = traceEnabled("glIndexub");

  if (!traceGL_Native.glIndexub)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIndexub");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("c", "%u", (unsigned int) c);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glIndexub(c);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glIndexubv(const GLubyte *c)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIndexubv)
    traceGL_lookupNativeAddress("glIndexubv", (void **) &traceGL_Native.glIndexubv);

  traceThis = traceEnabled("glIndexubv");

  if (!traceGL_Native.glIndexubv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIndexubv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("c", "%c[%d]", c, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glIndexubv(c);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPopClientAttrib()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPopClientAttrib)
    traceGL_lookupNativeAddress("glPopClientAttrib", (void **) &traceGL_Native.glPopClientAttrib);

  traceThis = traceEnabled("glPopClientAttrib");

  if (!traceGL_Native.glPopClientAttrib)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPopClientAttrib");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPopClientAttrib();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPushClientAttrib(GLbitfield mask)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPushClientAttrib)
    traceGL_lookupNativeAddress("glPushClientAttrib", (void **) &traceGL_Native.glPushClientAttrib);

  traceThis = traceEnabled("glPushClientAttrib");

  if (!traceGL_Native.glPushClientAttrib)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPushClientAttrib");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mask", "%u", mask);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPushClientAttrib(mask);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendColor)
    traceGL_lookupNativeAddress("glBlendColor", (void **) &traceGL_Native.glBlendColor);

  traceThis = traceEnabled("glBlendColor");

  if (!traceGL_Native.glBlendColor)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendColor");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%f", red);
    traceInputParameter("green", "%f", green);
    traceInputParameter("blue", "%f", blue);
    traceInputParameter("alpha", "%f", alpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBlendColor(red, green, blue, alpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBlendEquation(GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendEquation)
    traceGL_lookupNativeAddress("glBlendEquation", (void **) &traceGL_Native.glBlendEquation);

  traceThis = traceEnabled("glBlendEquation");

  if (!traceGL_Native.glBlendEquation)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendEquation");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBlendEquation(mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawRangeElements)
    traceGL_lookupNativeAddress("glDrawRangeElements", (void **) &traceGL_Native.glDrawRangeElements);

  traceThis = traceEnabled("glDrawRangeElements");

  if (!traceGL_Native.glDrawRangeElements)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawRangeElements");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("start", "%u", start);
    traceInputParameter("end", "%u", end);
    traceInputParameter("count", "%d", count);
    traceInputParameter("type", "%u", type);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawRangeElements(mode, start, end, count, type, indices);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexImage3D)
    traceGL_lookupNativeAddress("glTexImage3D", (void **) &traceGL_Native.glTexImage3D);

  traceThis = traceEnabled("glTexImage3D");

  if (!traceGL_Native.glTexImage3D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexImage3D");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%d", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("depth", "%d", depth);
    traceInputParameter("border", "%d", border);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("pixels", "%c[%ld]", pixels, (traceGL_helperGLPixelImageSize ? traceGL_helperGLPixelImageSize(width, height, depth, format, type, 0, target) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexSubImage3D)
    traceGL_lookupNativeAddress("glTexSubImage3D", (void **) &traceGL_Native.glTexSubImage3D);

  traceThis = traceEnabled("glTexSubImage3D");

  if (!traceGL_Native.glTexSubImage3D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexSubImage3D");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("yoffset", "%d", yoffset);
    traceInputParameter("zoffset", "%d", zoffset);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("depth", "%d", depth);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("pixels", "%c[%ld]", pixels, (traceGL_helperGLPixelImageSize ? traceGL_helperGLPixelImageSize(width, height, depth, format, type, 0, target) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyTexSubImage3D)
    traceGL_lookupNativeAddress("glCopyTexSubImage3D", (void **) &traceGL_Native.glCopyTexSubImage3D);

  traceThis = traceEnabled("glCopyTexSubImage3D");

  if (!traceGL_Native.glCopyTexSubImage3D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyTexSubImage3D");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("yoffset", "%d", yoffset);
    traceInputParameter("zoffset", "%d", zoffset);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorTable)
    traceGL_lookupNativeAddress("glColorTable", (void **) &traceGL_Native.glColorTable);

  traceThis = traceEnabled("glColorTable");

  if (!traceGL_Native.glColorTable)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorTable");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("table", "%p", table);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColorTable(target, internalformat, width, format, type, table);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorTableParameterfv)
    traceGL_lookupNativeAddress("glColorTableParameterfv", (void **) &traceGL_Native.glColorTableParameterfv);

  traceThis = traceEnabled("glColorTableParameterfv");

  if (!traceGL_Native.glColorTableParameterfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorTableParameterfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColorTableParameterfv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorTableParameteriv)
    traceGL_lookupNativeAddress("glColorTableParameteriv", (void **) &traceGL_Native.glColorTableParameteriv);

  traceThis = traceEnabled("glColorTableParameteriv");

  if (!traceGL_Native.glColorTableParameteriv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorTableParameteriv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColorTableParameteriv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyColorTable)
    traceGL_lookupNativeAddress("glCopyColorTable", (void **) &traceGL_Native.glCopyColorTable);

  traceThis = traceEnabled("glCopyColorTable");

  if (!traceGL_Native.glCopyColorTable)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyColorTable");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyColorTable(target, internalformat, x, y, width);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetColorTable)
    traceGL_lookupNativeAddress("glGetColorTable", (void **) &traceGL_Native.glGetColorTable);

  traceThis = traceEnabled("glGetColorTable");

  if (!traceGL_Native.glGetColorTable)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetColorTable");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetColorTable(target, format, type, table);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("table", "%p", table);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetColorTableParameterfv)
    traceGL_lookupNativeAddress("glGetColorTableParameterfv", (void **) &traceGL_Native.glGetColorTableParameterfv);

  traceThis = traceEnabled("glGetColorTableParameterfv");

  if (!traceGL_Native.glGetColorTableParameterfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetColorTableParameterfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetColorTableParameterfv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetColorTableParameteriv)
    traceGL_lookupNativeAddress("glGetColorTableParameteriv", (void **) &traceGL_Native.glGetColorTableParameteriv);

  traceThis = traceEnabled("glGetColorTableParameteriv");

  if (!traceGL_Native.glGetColorTableParameteriv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetColorTableParameteriv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetColorTableParameteriv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorSubTable)
    traceGL_lookupNativeAddress("glColorSubTable", (void **) &traceGL_Native.glColorSubTable);

  traceThis = traceEnabled("glColorSubTable");

  if (!traceGL_Native.glColorSubTable)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorSubTable");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("start", "%d", start);
    traceInputParameter("count", "%d", count);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("data", "%p", data);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColorSubTable(target, start, count, format, type, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyColorSubTable)
    traceGL_lookupNativeAddress("glCopyColorSubTable", (void **) &traceGL_Native.glCopyColorSubTable);

  traceThis = traceEnabled("glCopyColorSubTable");

  if (!traceGL_Native.glCopyColorSubTable)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyColorSubTable");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("start", "%d", start);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyColorSubTable(target, start, x, y, width);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glConvolutionFilter1D)
    traceGL_lookupNativeAddress("glConvolutionFilter1D", (void **) &traceGL_Native.glConvolutionFilter1D);

  traceThis = traceEnabled("glConvolutionFilter1D");

  if (!traceGL_Native.glConvolutionFilter1D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glConvolutionFilter1D");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("image", "%p", image);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glConvolutionFilter1D(target, internalformat, width, format, type, image);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glConvolutionFilter2D)
    traceGL_lookupNativeAddress("glConvolutionFilter2D", (void **) &traceGL_Native.glConvolutionFilter2D);

  traceThis = traceEnabled("glConvolutionFilter2D");

  if (!traceGL_Native.glConvolutionFilter2D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glConvolutionFilter2D");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("image", "%p", image);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glConvolutionFilter2D(target, internalformat, width, height, format, type, image);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glConvolutionParameterf)
    traceGL_lookupNativeAddress("glConvolutionParameterf", (void **) &traceGL_Native.glConvolutionParameterf);

  traceThis = traceEnabled("glConvolutionParameterf");

  if (!traceGL_Native.glConvolutionParameterf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glConvolutionParameterf");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("params", "%f", params);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glConvolutionParameterf(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glConvolutionParameterfv)
    traceGL_lookupNativeAddress("glConvolutionParameterfv", (void **) &traceGL_Native.glConvolutionParameterfv);

  traceThis = traceEnabled("glConvolutionParameterfv");

  if (!traceGL_Native.glConvolutionParameterfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glConvolutionParameterfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glConvolutionParameterfv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glConvolutionParameteri(GLenum target, GLenum pname, GLint params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glConvolutionParameteri)
    traceGL_lookupNativeAddress("glConvolutionParameteri", (void **) &traceGL_Native.glConvolutionParameteri);

  traceThis = traceEnabled("glConvolutionParameteri");

  if (!traceGL_Native.glConvolutionParameteri)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glConvolutionParameteri");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("params", "%d", params);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glConvolutionParameteri(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glConvolutionParameteriv)
    traceGL_lookupNativeAddress("glConvolutionParameteriv", (void **) &traceGL_Native.glConvolutionParameteriv);

  traceThis = traceEnabled("glConvolutionParameteriv");

  if (!traceGL_Native.glConvolutionParameteriv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glConvolutionParameteriv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glConvolutionParameteriv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyConvolutionFilter1D)
    traceGL_lookupNativeAddress("glCopyConvolutionFilter1D", (void **) &traceGL_Native.glCopyConvolutionFilter1D);

  traceThis = traceEnabled("glCopyConvolutionFilter1D");

  if (!traceGL_Native.glCopyConvolutionFilter1D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyConvolutionFilter1D");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyConvolutionFilter1D(target, internalformat, x, y, width);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyConvolutionFilter2D)
    traceGL_lookupNativeAddress("glCopyConvolutionFilter2D", (void **) &traceGL_Native.glCopyConvolutionFilter2D);

  traceThis = traceEnabled("glCopyConvolutionFilter2D");

  if (!traceGL_Native.glCopyConvolutionFilter2D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyConvolutionFilter2D");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyConvolutionFilter2D(target, internalformat, x, y, width, height);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetConvolutionFilter)
    traceGL_lookupNativeAddress("glGetConvolutionFilter", (void **) &traceGL_Native.glGetConvolutionFilter);

  traceThis = traceEnabled("glGetConvolutionFilter");

  if (!traceGL_Native.glGetConvolutionFilter)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetConvolutionFilter");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetConvolutionFilter(target, format, type, image);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("image", "%p", image);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetConvolutionParameterfv)
    traceGL_lookupNativeAddress("glGetConvolutionParameterfv", (void **) &traceGL_Native.glGetConvolutionParameterfv);

  traceThis = traceEnabled("glGetConvolutionParameterfv");

  if (!traceGL_Native.glGetConvolutionParameterfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetConvolutionParameterfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetConvolutionParameterfv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetConvolutionParameteriv)
    traceGL_lookupNativeAddress("glGetConvolutionParameteriv", (void **) &traceGL_Native.glGetConvolutionParameteriv);

  traceThis = traceEnabled("glGetConvolutionParameteriv");

  if (!traceGL_Native.glGetConvolutionParameteriv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetConvolutionParameteriv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetConvolutionParameteriv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetSeparableFilter)
    traceGL_lookupNativeAddress("glGetSeparableFilter", (void **) &traceGL_Native.glGetSeparableFilter);

  traceThis = traceEnabled("glGetSeparableFilter");

  if (!traceGL_Native.glGetSeparableFilter)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetSeparableFilter");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetSeparableFilter(target, format, type, row, column, span);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("row", "%p", row);
    traceOutputParameter("column", "%p", column);
    traceOutputParameter("span", "%p", span);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSeparableFilter2D)
    traceGL_lookupNativeAddress("glSeparableFilter2D", (void **) &traceGL_Native.glSeparableFilter2D);

  traceThis = traceEnabled("glSeparableFilter2D");

  if (!traceGL_Native.glSeparableFilter2D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSeparableFilter2D");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("row", "%p", row);
    traceInputParameter("column", "%p", column);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSeparableFilter2D(target, internalformat, width, height, format, type, row, column);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetHistogram)
    traceGL_lookupNativeAddress("glGetHistogram", (void **) &traceGL_Native.glGetHistogram);

  traceThis = traceEnabled("glGetHistogram");

  if (!traceGL_Native.glGetHistogram)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetHistogram");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("reset", "%u", (unsigned int) reset);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetHistogram(target, reset, format, type, values);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("values", "%p", values);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetHistogramParameterfv)
    traceGL_lookupNativeAddress("glGetHistogramParameterfv", (void **) &traceGL_Native.glGetHistogramParameterfv);

  traceThis = traceEnabled("glGetHistogramParameterfv");

  if (!traceGL_Native.glGetHistogramParameterfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetHistogramParameterfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetHistogramParameterfv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetHistogramParameteriv)
    traceGL_lookupNativeAddress("glGetHistogramParameteriv", (void **) &traceGL_Native.glGetHistogramParameteriv);

  traceThis = traceEnabled("glGetHistogramParameteriv");

  if (!traceGL_Native.glGetHistogramParameteriv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetHistogramParameteriv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetHistogramParameteriv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMinmax)
    traceGL_lookupNativeAddress("glGetMinmax", (void **) &traceGL_Native.glGetMinmax);

  traceThis = traceEnabled("glGetMinmax");

  if (!traceGL_Native.glGetMinmax)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMinmax");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("reset", "%u", (unsigned int) reset);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMinmax(target, reset, format, type, values);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("values", "%p", values);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMinmaxParameterfv)
    traceGL_lookupNativeAddress("glGetMinmaxParameterfv", (void **) &traceGL_Native.glGetMinmaxParameterfv);

  traceThis = traceEnabled("glGetMinmaxParameterfv");

  if (!traceGL_Native.glGetMinmaxParameterfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMinmaxParameterfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMinmaxParameterfv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMinmaxParameteriv)
    traceGL_lookupNativeAddress("glGetMinmaxParameteriv", (void **) &traceGL_Native.glGetMinmaxParameteriv);

  traceThis = traceEnabled("glGetMinmaxParameteriv");

  if (!traceGL_Native.glGetMinmaxParameteriv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMinmaxParameteriv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMinmaxParameteriv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glHistogram)
    traceGL_lookupNativeAddress("glHistogram", (void **) &traceGL_Native.glHistogram);

  traceThis = traceEnabled("glHistogram");

  if (!traceGL_Native.glHistogram)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glHistogram");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("width", "%d", width);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("sink", "%u", (unsigned int) sink);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glHistogram(target, width, internalformat, sink);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMinmax(GLenum target, GLenum internalformat, GLboolean sink)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMinmax)
    traceGL_lookupNativeAddress("glMinmax", (void **) &traceGL_Native.glMinmax);

  traceThis = traceEnabled("glMinmax");

  if (!traceGL_Native.glMinmax)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMinmax");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("sink", "%u", (unsigned int) sink);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMinmax(target, internalformat, sink);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glResetHistogram(GLenum target)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glResetHistogram)
    traceGL_lookupNativeAddress("glResetHistogram", (void **) &traceGL_Native.glResetHistogram);

  traceThis = traceEnabled("glResetHistogram");

  if (!traceGL_Native.glResetHistogram)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glResetHistogram");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glResetHistogram(target);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glResetMinmax(GLenum target)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glResetMinmax)
    traceGL_lookupNativeAddress("glResetMinmax", (void **) &traceGL_Native.glResetMinmax);

  traceThis = traceEnabled("glResetMinmax");

  if (!traceGL_Native.glResetMinmax)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glResetMinmax");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glResetMinmax(target);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glActiveTexture(GLenum texture)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glActiveTexture)
    traceGL_lookupNativeAddress("glActiveTexture", (void **) &traceGL_Native.glActiveTexture);

  traceThis = traceEnabled("glActiveTexture");

  if (!traceGL_Native.glActiveTexture)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glActiveTexture");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glActiveTexture(texture);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSampleCoverage(GLclampf value, GLboolean invert)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSampleCoverage)
    traceGL_lookupNativeAddress("glSampleCoverage", (void **) &traceGL_Native.glSampleCoverage);

  traceThis = traceEnabled("glSampleCoverage");

  if (!traceGL_Native.glSampleCoverage)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSampleCoverage");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("value", "%f", value);
    traceInputParameter("invert", "%u", (unsigned int) invert);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSampleCoverage(value, invert);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTexImage3D)
    traceGL_lookupNativeAddress("glCompressedTexImage3D", (void **) &traceGL_Native.glCompressedTexImage3D);

  traceThis = traceEnabled("glCompressedTexImage3D");

  if (!traceGL_Native.glCompressedTexImage3D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTexImage3D");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("depth", "%d", depth);
    traceInputParameter("border", "%d", border);
    traceInputParameter("imageSize", "%d", imageSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTexImage2D)
    traceGL_lookupNativeAddress("glCompressedTexImage2D", (void **) &traceGL_Native.glCompressedTexImage2D);

  traceThis = traceEnabled("glCompressedTexImage2D");

  if (!traceGL_Native.glCompressedTexImage2D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTexImage2D");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("border", "%d", border);
    traceInputParameter("imageSize", "%d", imageSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTexImage1D)
    traceGL_lookupNativeAddress("glCompressedTexImage1D", (void **) &traceGL_Native.glCompressedTexImage1D);

  traceThis = traceEnabled("glCompressedTexImage1D");

  if (!traceGL_Native.glCompressedTexImage1D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTexImage1D");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("border", "%d", border);
    traceInputParameter("imageSize", "%d", imageSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTexSubImage3D)
    traceGL_lookupNativeAddress("glCompressedTexSubImage3D", (void **) &traceGL_Native.glCompressedTexSubImage3D);

  traceThis = traceEnabled("glCompressedTexSubImage3D");

  if (!traceGL_Native.glCompressedTexSubImage3D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTexSubImage3D");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("yoffset", "%d", yoffset);
    traceInputParameter("zoffset", "%d", zoffset);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("depth", "%d", depth);
    traceInputParameter("format", "%u", format);
    traceInputParameter("imageSize", "%d", imageSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTexSubImage2D)
    traceGL_lookupNativeAddress("glCompressedTexSubImage2D", (void **) &traceGL_Native.glCompressedTexSubImage2D);

  traceThis = traceEnabled("glCompressedTexSubImage2D");

  if (!traceGL_Native.glCompressedTexSubImage2D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTexSubImage2D");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("yoffset", "%d", yoffset);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("format", "%u", format);
    traceInputParameter("imageSize", "%d", imageSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTexSubImage1D)
    traceGL_lookupNativeAddress("glCompressedTexSubImage1D", (void **) &traceGL_Native.glCompressedTexSubImage1D);

  traceThis = traceEnabled("glCompressedTexSubImage1D");

  if (!traceGL_Native.glCompressedTexSubImage1D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTexSubImage1D");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("width", "%d", width);
    traceInputParameter("format", "%u", format);
    traceInputParameter("imageSize", "%d", imageSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetCompressedTexImage(GLenum target, GLint lod, GLvoid *img)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetCompressedTexImage)
    traceGL_lookupNativeAddress("glGetCompressedTexImage", (void **) &traceGL_Native.glGetCompressedTexImage);

  traceThis = traceEnabled("glGetCompressedTexImage");

  if (!traceGL_Native.glGetCompressedTexImage)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetCompressedTexImage");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("lod", "%d", lod);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetCompressedTexImage(target, lod, img);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("img", "%p", img);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glClientActiveTexture(GLenum texture)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClientActiveTexture)
    traceGL_lookupNativeAddress("glClientActiveTexture", (void **) &traceGL_Native.glClientActiveTexture);

  traceThis = traceEnabled("glClientActiveTexture");

  if (!traceGL_Native.glClientActiveTexture)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClientActiveTexture");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glClientActiveTexture(texture);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord1d(GLenum target, GLdouble s)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1d)
    traceGL_lookupNativeAddress("glMultiTexCoord1d", (void **) &traceGL_Native.glMultiTexCoord1d);

  traceThis = traceEnabled("glMultiTexCoord1d");

  if (!traceGL_Native.glMultiTexCoord1d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%lf", s);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord1d(target, s);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord1dv(GLenum target, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1dv)
    traceGL_lookupNativeAddress("glMultiTexCoord1dv", (void **) &traceGL_Native.glMultiTexCoord1dv);

  traceThis = traceEnabled("glMultiTexCoord1dv");

  if (!traceGL_Native.glMultiTexCoord1dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%lf[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord1dv(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord1f(GLenum target, GLfloat s)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1f)
    traceGL_lookupNativeAddress("glMultiTexCoord1f", (void **) &traceGL_Native.glMultiTexCoord1f);

  traceThis = traceEnabled("glMultiTexCoord1f");

  if (!traceGL_Native.glMultiTexCoord1f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%f", s);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord1f(target, s);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord1fv(GLenum target, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1fv)
    traceGL_lookupNativeAddress("glMultiTexCoord1fv", (void **) &traceGL_Native.glMultiTexCoord1fv);

  traceThis = traceEnabled("glMultiTexCoord1fv");

  if (!traceGL_Native.glMultiTexCoord1fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%f[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord1fv(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord1i(GLenum target, GLint s)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1i)
    traceGL_lookupNativeAddress("glMultiTexCoord1i", (void **) &traceGL_Native.glMultiTexCoord1i);

  traceThis = traceEnabled("glMultiTexCoord1i");

  if (!traceGL_Native.glMultiTexCoord1i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%d", s);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord1i(target, s);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord1iv(GLenum target, const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1iv)
    traceGL_lookupNativeAddress("glMultiTexCoord1iv", (void **) &traceGL_Native.glMultiTexCoord1iv);

  traceThis = traceEnabled("glMultiTexCoord1iv");

  if (!traceGL_Native.glMultiTexCoord1iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%d[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord1iv(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord1s(GLenum target, GLshort s)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1s)
    traceGL_lookupNativeAddress("glMultiTexCoord1s", (void **) &traceGL_Native.glMultiTexCoord1s);

  traceThis = traceEnabled("glMultiTexCoord1s");

  if (!traceGL_Native.glMultiTexCoord1s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1s");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%hd", s);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord1s(target, s);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord1sv(GLenum target, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1sv)
    traceGL_lookupNativeAddress("glMultiTexCoord1sv", (void **) &traceGL_Native.glMultiTexCoord1sv);

  traceThis = traceEnabled("glMultiTexCoord1sv");

  if (!traceGL_Native.glMultiTexCoord1sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1sv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%hd[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord1sv(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2d)
    traceGL_lookupNativeAddress("glMultiTexCoord2d", (void **) &traceGL_Native.glMultiTexCoord2d);

  traceThis = traceEnabled("glMultiTexCoord2d");

  if (!traceGL_Native.glMultiTexCoord2d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%lf", s);
    traceInputParameter("t", "%lf", t);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord2d(target, s, t);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord2dv(GLenum target, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2dv)
    traceGL_lookupNativeAddress("glMultiTexCoord2dv", (void **) &traceGL_Native.glMultiTexCoord2dv);

  traceThis = traceEnabled("glMultiTexCoord2dv");

  if (!traceGL_Native.glMultiTexCoord2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%lf[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord2dv(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2f)
    traceGL_lookupNativeAddress("glMultiTexCoord2f", (void **) &traceGL_Native.glMultiTexCoord2f);

  traceThis = traceEnabled("glMultiTexCoord2f");

  if (!traceGL_Native.glMultiTexCoord2f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%f", s);
    traceInputParameter("t", "%f", t);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord2f(target, s, t);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord2fv(GLenum target, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2fv)
    traceGL_lookupNativeAddress("glMultiTexCoord2fv", (void **) &traceGL_Native.glMultiTexCoord2fv);

  traceThis = traceEnabled("glMultiTexCoord2fv");

  if (!traceGL_Native.glMultiTexCoord2fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%f[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord2fv(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord2i(GLenum target, GLint s, GLint t)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2i)
    traceGL_lookupNativeAddress("glMultiTexCoord2i", (void **) &traceGL_Native.glMultiTexCoord2i);

  traceThis = traceEnabled("glMultiTexCoord2i");

  if (!traceGL_Native.glMultiTexCoord2i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%d", s);
    traceInputParameter("t", "%d", t);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord2i(target, s, t);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord2iv(GLenum target, const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2iv)
    traceGL_lookupNativeAddress("glMultiTexCoord2iv", (void **) &traceGL_Native.glMultiTexCoord2iv);

  traceThis = traceEnabled("glMultiTexCoord2iv");

  if (!traceGL_Native.glMultiTexCoord2iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%d[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord2iv(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord2s(GLenum target, GLshort s, GLshort t)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2s)
    traceGL_lookupNativeAddress("glMultiTexCoord2s", (void **) &traceGL_Native.glMultiTexCoord2s);

  traceThis = traceEnabled("glMultiTexCoord2s");

  if (!traceGL_Native.glMultiTexCoord2s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2s");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%hd", s);
    traceInputParameter("t", "%hd", t);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord2s(target, s, t);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord2sv(GLenum target, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2sv)
    traceGL_lookupNativeAddress("glMultiTexCoord2sv", (void **) &traceGL_Native.glMultiTexCoord2sv);

  traceThis = traceEnabled("glMultiTexCoord2sv");

  if (!traceGL_Native.glMultiTexCoord2sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2sv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%hd[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord2sv(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3d)
    traceGL_lookupNativeAddress("glMultiTexCoord3d", (void **) &traceGL_Native.glMultiTexCoord3d);

  traceThis = traceEnabled("glMultiTexCoord3d");

  if (!traceGL_Native.glMultiTexCoord3d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%lf", s);
    traceInputParameter("t", "%lf", t);
    traceInputParameter("r", "%lf", r);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord3d(target, s, t, r);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord3dv(GLenum target, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3dv)
    traceGL_lookupNativeAddress("glMultiTexCoord3dv", (void **) &traceGL_Native.glMultiTexCoord3dv);

  traceThis = traceEnabled("glMultiTexCoord3dv");

  if (!traceGL_Native.glMultiTexCoord3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%lf[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord3dv(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3f)
    traceGL_lookupNativeAddress("glMultiTexCoord3f", (void **) &traceGL_Native.glMultiTexCoord3f);

  traceThis = traceEnabled("glMultiTexCoord3f");

  if (!traceGL_Native.glMultiTexCoord3f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%f", s);
    traceInputParameter("t", "%f", t);
    traceInputParameter("r", "%f", r);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord3f(target, s, t, r);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord3fv(GLenum target, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3fv)
    traceGL_lookupNativeAddress("glMultiTexCoord3fv", (void **) &traceGL_Native.glMultiTexCoord3fv);

  traceThis = traceEnabled("glMultiTexCoord3fv");

  if (!traceGL_Native.glMultiTexCoord3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord3fv(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3i)
    traceGL_lookupNativeAddress("glMultiTexCoord3i", (void **) &traceGL_Native.glMultiTexCoord3i);

  traceThis = traceEnabled("glMultiTexCoord3i");

  if (!traceGL_Native.glMultiTexCoord3i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%d", s);
    traceInputParameter("t", "%d", t);
    traceInputParameter("r", "%d", r);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord3i(target, s, t, r);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord3iv(GLenum target, const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3iv)
    traceGL_lookupNativeAddress("glMultiTexCoord3iv", (void **) &traceGL_Native.glMultiTexCoord3iv);

  traceThis = traceEnabled("glMultiTexCoord3iv");

  if (!traceGL_Native.glMultiTexCoord3iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%d[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord3iv(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3s)
    traceGL_lookupNativeAddress("glMultiTexCoord3s", (void **) &traceGL_Native.glMultiTexCoord3s);

  traceThis = traceEnabled("glMultiTexCoord3s");

  if (!traceGL_Native.glMultiTexCoord3s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3s");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%hd", s);
    traceInputParameter("t", "%hd", t);
    traceInputParameter("r", "%hd", r);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord3s(target, s, t, r);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord3sv(GLenum target, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3sv)
    traceGL_lookupNativeAddress("glMultiTexCoord3sv", (void **) &traceGL_Native.glMultiTexCoord3sv);

  traceThis = traceEnabled("glMultiTexCoord3sv");

  if (!traceGL_Native.glMultiTexCoord3sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3sv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%hd[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord3sv(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4d)
    traceGL_lookupNativeAddress("glMultiTexCoord4d", (void **) &traceGL_Native.glMultiTexCoord4d);

  traceThis = traceEnabled("glMultiTexCoord4d");

  if (!traceGL_Native.glMultiTexCoord4d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%lf", s);
    traceInputParameter("t", "%lf", t);
    traceInputParameter("r", "%lf", r);
    traceInputParameter("q", "%lf", q);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord4d(target, s, t, r, q);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord4dv(GLenum target, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4dv)
    traceGL_lookupNativeAddress("glMultiTexCoord4dv", (void **) &traceGL_Native.glMultiTexCoord4dv);

  traceThis = traceEnabled("glMultiTexCoord4dv");

  if (!traceGL_Native.glMultiTexCoord4dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%lf[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord4dv(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4f)
    traceGL_lookupNativeAddress("glMultiTexCoord4f", (void **) &traceGL_Native.glMultiTexCoord4f);

  traceThis = traceEnabled("glMultiTexCoord4f");

  if (!traceGL_Native.glMultiTexCoord4f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%f", s);
    traceInputParameter("t", "%f", t);
    traceInputParameter("r", "%f", r);
    traceInputParameter("q", "%f", q);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord4f(target, s, t, r, q);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord4fv(GLenum target, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4fv)
    traceGL_lookupNativeAddress("glMultiTexCoord4fv", (void **) &traceGL_Native.glMultiTexCoord4fv);

  traceThis = traceEnabled("glMultiTexCoord4fv");

  if (!traceGL_Native.glMultiTexCoord4fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%f[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord4fv(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4i)
    traceGL_lookupNativeAddress("glMultiTexCoord4i", (void **) &traceGL_Native.glMultiTexCoord4i);

  traceThis = traceEnabled("glMultiTexCoord4i");

  if (!traceGL_Native.glMultiTexCoord4i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%d", s);
    traceInputParameter("t", "%d", t);
    traceInputParameter("r", "%d", r);
    traceInputParameter("q", "%d", q);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord4i(target, s, t, r, q);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord4iv(GLenum target, const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4iv)
    traceGL_lookupNativeAddress("glMultiTexCoord4iv", (void **) &traceGL_Native.glMultiTexCoord4iv);

  traceThis = traceEnabled("glMultiTexCoord4iv");

  if (!traceGL_Native.glMultiTexCoord4iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%d[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord4iv(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4s)
    traceGL_lookupNativeAddress("glMultiTexCoord4s", (void **) &traceGL_Native.glMultiTexCoord4s);

  traceThis = traceEnabled("glMultiTexCoord4s");

  if (!traceGL_Native.glMultiTexCoord4s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4s");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%hd", s);
    traceInputParameter("t", "%hd", t);
    traceInputParameter("r", "%hd", r);
    traceInputParameter("q", "%hd", q);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord4s(target, s, t, r, q);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord4sv(GLenum target, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4sv)
    traceGL_lookupNativeAddress("glMultiTexCoord4sv", (void **) &traceGL_Native.glMultiTexCoord4sv);

  traceThis = traceEnabled("glMultiTexCoord4sv");

  if (!traceGL_Native.glMultiTexCoord4sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4sv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%hd[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord4sv(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glLoadTransposeMatrixf(const GLfloat *m)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLoadTransposeMatrixf)
    traceGL_lookupNativeAddress("glLoadTransposeMatrixf", (void **) &traceGL_Native.glLoadTransposeMatrixf);

  traceThis = traceEnabled("glLoadTransposeMatrixf");

  if (!traceGL_Native.glLoadTransposeMatrixf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLoadTransposeMatrixf");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("m", "%f[%d]", m, 16);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glLoadTransposeMatrixf(m);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glLoadTransposeMatrixd(const GLdouble *m)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLoadTransposeMatrixd)
    traceGL_lookupNativeAddress("glLoadTransposeMatrixd", (void **) &traceGL_Native.glLoadTransposeMatrixd);

  traceThis = traceEnabled("glLoadTransposeMatrixd");

  if (!traceGL_Native.glLoadTransposeMatrixd)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLoadTransposeMatrixd");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("m", "%lf[%d]", m, 16);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glLoadTransposeMatrixd(m);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultTransposeMatrixf(const GLfloat *m)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultTransposeMatrixf)
    traceGL_lookupNativeAddress("glMultTransposeMatrixf", (void **) &traceGL_Native.glMultTransposeMatrixf);

  traceThis = traceEnabled("glMultTransposeMatrixf");

  if (!traceGL_Native.glMultTransposeMatrixf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultTransposeMatrixf");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("m", "%f[%d]", m, 16);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultTransposeMatrixf(m);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultTransposeMatrixd(const GLdouble *m)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultTransposeMatrixd)
    traceGL_lookupNativeAddress("glMultTransposeMatrixd", (void **) &traceGL_Native.glMultTransposeMatrixd);

  traceThis = traceEnabled("glMultTransposeMatrixd");

  if (!traceGL_Native.glMultTransposeMatrixd)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultTransposeMatrixd");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("m", "%lf[%d]", m, 16);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultTransposeMatrixd(m);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendFuncSeparate)
    traceGL_lookupNativeAddress("glBlendFuncSeparate", (void **) &traceGL_Native.glBlendFuncSeparate);

  traceThis = traceEnabled("glBlendFuncSeparate");

  if (!traceGL_Native.glBlendFuncSeparate)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendFuncSeparate");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("sfactorRGB", "%u", sfactorRGB);
    traceInputParameter("dfactorRGB", "%u", dfactorRGB);
    traceInputParameter("sfactorAlpha", "%u", sfactorAlpha);
    traceInputParameter("dfactorAlpha", "%u", dfactorAlpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiDrawArrays)
    traceGL_lookupNativeAddress("glMultiDrawArrays", (void **) &traceGL_Native.glMultiDrawArrays);

  traceThis = traceEnabled("glMultiDrawArrays");

  if (!traceGL_Native.glMultiDrawArrays)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiDrawArrays");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("first", "%d[%d]", first, primcount);
    traceInputParameter("count", "%d[%d]", count, primcount);
    traceInputParameter("primcount", "%d", primcount);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiDrawArrays(mode, first, count, primcount);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiDrawElements)
    traceGL_lookupNativeAddress("glMultiDrawElements", (void **) &traceGL_Native.glMultiDrawElements);

  traceThis = traceEnabled("glMultiDrawElements");

  if (!traceGL_Native.glMultiDrawElements)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiDrawElements");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("count", "%d[%d]", count, primcount);
    traceInputParameter("type", "%u", type);
    traceInputParameter("primcount", "%d", primcount);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiDrawElements(mode, count, type, indices, primcount);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPointParameterf(GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPointParameterf)
    traceGL_lookupNativeAddress("glPointParameterf", (void **) &traceGL_Native.glPointParameterf);

  traceThis = traceEnabled("glPointParameterf");

  if (!traceGL_Native.glPointParameterf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPointParameterf");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPointParameterf(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPointParameterfv(GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPointParameterfv)
    traceGL_lookupNativeAddress("glPointParameterfv", (void **) &traceGL_Native.glPointParameterfv);

  traceThis = traceEnabled("glPointParameterfv");

  if (!traceGL_Native.glPointParameterfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPointParameterfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPointParameterfv(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPointParameteri(GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPointParameteri)
    traceGL_lookupNativeAddress("glPointParameteri", (void **) &traceGL_Native.glPointParameteri);

  traceThis = traceEnabled("glPointParameteri");

  if (!traceGL_Native.glPointParameteri)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPointParameteri");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPointParameteri(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPointParameteriv(GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPointParameteriv)
    traceGL_lookupNativeAddress("glPointParameteriv", (void **) &traceGL_Native.glPointParameteriv);

  traceThis = traceEnabled("glPointParameteriv");

  if (!traceGL_Native.glPointParameteriv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPointParameteriv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPointParameteriv(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFogCoordf(GLfloat coord)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoordf)
    traceGL_lookupNativeAddress("glFogCoordf", (void **) &traceGL_Native.glFogCoordf);

  traceThis = traceEnabled("glFogCoordf");

  if (!traceGL_Native.glFogCoordf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoordf");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("coord", "%f", coord);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFogCoordf(coord);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFogCoordfv(const GLfloat *coord)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoordfv)
    traceGL_lookupNativeAddress("glFogCoordfv", (void **) &traceGL_Native.glFogCoordfv);

  traceThis = traceEnabled("glFogCoordfv");

  if (!traceGL_Native.glFogCoordfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoordfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("coord", "%f[%d]", coord, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFogCoordfv(coord);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFogCoordd(GLdouble coord)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoordd)
    traceGL_lookupNativeAddress("glFogCoordd", (void **) &traceGL_Native.glFogCoordd);

  traceThis = traceEnabled("glFogCoordd");

  if (!traceGL_Native.glFogCoordd)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoordd");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("coord", "%lf", coord);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFogCoordd(coord);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFogCoorddv(const GLdouble *coord)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoorddv)
    traceGL_lookupNativeAddress("glFogCoorddv", (void **) &traceGL_Native.glFogCoorddv);

  traceThis = traceEnabled("glFogCoorddv");

  if (!traceGL_Native.glFogCoorddv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoorddv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("coord", "%lf[%d]", coord, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFogCoorddv(coord);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFogCoordPointer(GLenum type, GLsizei stride, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoordPointer)
    traceGL_lookupNativeAddress("glFogCoordPointer", (void **) &traceGL_Native.glFogCoordPointer);

  traceThis = traceEnabled("glFogCoordPointer");

  if (!traceGL_Native.glFogCoordPointer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoordPointer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFogCoordPointer(type, stride, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3b)
    traceGL_lookupNativeAddress("glSecondaryColor3b", (void **) &traceGL_Native.glSecondaryColor3b);

  traceThis = traceEnabled("glSecondaryColor3b");

  if (!traceGL_Native.glSecondaryColor3b)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3b");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%d", (int) red);
    traceInputParameter("green", "%d", (int) green);
    traceInputParameter("blue", "%d", (int) blue);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3b(red, green, blue);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3bv(const GLbyte *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3bv)
    traceGL_lookupNativeAddress("glSecondaryColor3bv", (void **) &traceGL_Native.glSecondaryColor3bv);

  traceThis = traceEnabled("glSecondaryColor3bv");

  if (!traceGL_Native.glSecondaryColor3bv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3bv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%c[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3bv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3d)
    traceGL_lookupNativeAddress("glSecondaryColor3d", (void **) &traceGL_Native.glSecondaryColor3d);

  traceThis = traceEnabled("glSecondaryColor3d");

  if (!traceGL_Native.glSecondaryColor3d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%lf", red);
    traceInputParameter("green", "%lf", green);
    traceInputParameter("blue", "%lf", blue);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3d(red, green, blue);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3dv(const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3dv)
    traceGL_lookupNativeAddress("glSecondaryColor3dv", (void **) &traceGL_Native.glSecondaryColor3dv);

  traceThis = traceEnabled("glSecondaryColor3dv");

  if (!traceGL_Native.glSecondaryColor3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%lf[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3dv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3f)
    traceGL_lookupNativeAddress("glSecondaryColor3f", (void **) &traceGL_Native.glSecondaryColor3f);

  traceThis = traceEnabled("glSecondaryColor3f");

  if (!traceGL_Native.glSecondaryColor3f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%f", red);
    traceInputParameter("green", "%f", green);
    traceInputParameter("blue", "%f", blue);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3f(red, green, blue);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3fv(const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3fv)
    traceGL_lookupNativeAddress("glSecondaryColor3fv", (void **) &traceGL_Native.glSecondaryColor3fv);

  traceThis = traceEnabled("glSecondaryColor3fv");

  if (!traceGL_Native.glSecondaryColor3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3fv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3i(GLint red, GLint green, GLint blue)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3i)
    traceGL_lookupNativeAddress("glSecondaryColor3i", (void **) &traceGL_Native.glSecondaryColor3i);

  traceThis = traceEnabled("glSecondaryColor3i");

  if (!traceGL_Native.glSecondaryColor3i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%d", red);
    traceInputParameter("green", "%d", green);
    traceInputParameter("blue", "%d", blue);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3i(red, green, blue);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3iv(const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3iv)
    traceGL_lookupNativeAddress("glSecondaryColor3iv", (void **) &traceGL_Native.glSecondaryColor3iv);

  traceThis = traceEnabled("glSecondaryColor3iv");

  if (!traceGL_Native.glSecondaryColor3iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%d[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3iv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3s(GLshort red, GLshort green, GLshort blue)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3s)
    traceGL_lookupNativeAddress("glSecondaryColor3s", (void **) &traceGL_Native.glSecondaryColor3s);

  traceThis = traceEnabled("glSecondaryColor3s");

  if (!traceGL_Native.glSecondaryColor3s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3s");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%hd", red);
    traceInputParameter("green", "%hd", green);
    traceInputParameter("blue", "%hd", blue);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3s(red, green, blue);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3sv(const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3sv)
    traceGL_lookupNativeAddress("glSecondaryColor3sv", (void **) &traceGL_Native.glSecondaryColor3sv);

  traceThis = traceEnabled("glSecondaryColor3sv");

  if (!traceGL_Native.glSecondaryColor3sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3sv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hd[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3sv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3ub)
    traceGL_lookupNativeAddress("glSecondaryColor3ub", (void **) &traceGL_Native.glSecondaryColor3ub);

  traceThis = traceEnabled("glSecondaryColor3ub");

  if (!traceGL_Native.glSecondaryColor3ub)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3ub");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%u", (unsigned int) red);
    traceInputParameter("green", "%u", (unsigned int) green);
    traceInputParameter("blue", "%u", (unsigned int) blue);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3ub(red, green, blue);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3ubv(const GLubyte *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3ubv)
    traceGL_lookupNativeAddress("glSecondaryColor3ubv", (void **) &traceGL_Native.glSecondaryColor3ubv);

  traceThis = traceEnabled("glSecondaryColor3ubv");

  if (!traceGL_Native.glSecondaryColor3ubv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3ubv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%c[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3ubv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3ui)
    traceGL_lookupNativeAddress("glSecondaryColor3ui", (void **) &traceGL_Native.glSecondaryColor3ui);

  traceThis = traceEnabled("glSecondaryColor3ui");

  if (!traceGL_Native.glSecondaryColor3ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%u", red);
    traceInputParameter("green", "%u", green);
    traceInputParameter("blue", "%u", blue);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3ui(red, green, blue);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3uiv(const GLuint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3uiv)
    traceGL_lookupNativeAddress("glSecondaryColor3uiv", (void **) &traceGL_Native.glSecondaryColor3uiv);

  traceThis = traceEnabled("glSecondaryColor3uiv");

  if (!traceGL_Native.glSecondaryColor3uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%u[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3uiv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3us(GLushort red, GLushort green, GLushort blue)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3us)
    traceGL_lookupNativeAddress("glSecondaryColor3us", (void **) &traceGL_Native.glSecondaryColor3us);

  traceThis = traceEnabled("glSecondaryColor3us");

  if (!traceGL_Native.glSecondaryColor3us)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3us");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%hu", red);
    traceInputParameter("green", "%hu", green);
    traceInputParameter("blue", "%hu", blue);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3us(red, green, blue);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3usv(const GLushort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3usv)
    traceGL_lookupNativeAddress("glSecondaryColor3usv", (void **) &traceGL_Native.glSecondaryColor3usv);

  traceThis = traceEnabled("glSecondaryColor3usv");

  if (!traceGL_Native.glSecondaryColor3usv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3usv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hu[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3usv(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColorPointer)
    traceGL_lookupNativeAddress("glSecondaryColorPointer", (void **) &traceGL_Native.glSecondaryColorPointer);

  traceThis = traceEnabled("glSecondaryColorPointer");

  if (!traceGL_Native.glSecondaryColorPointer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColorPointer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColorPointer(size, type, stride, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos2d(GLdouble x, GLdouble y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2d)
    traceGL_lookupNativeAddress("glWindowPos2d", (void **) &traceGL_Native.glWindowPos2d);

  traceThis = traceEnabled("glWindowPos2d");

  if (!traceGL_Native.glWindowPos2d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos2d(x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos2dv(const GLdouble *p)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2dv)
    traceGL_lookupNativeAddress("glWindowPos2dv", (void **) &traceGL_Native.glWindowPos2dv);

  traceThis = traceEnabled("glWindowPos2dv");

  if (!traceGL_Native.glWindowPos2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("p", "%lf[%d]", p, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos2dv(p);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos2f(GLfloat x, GLfloat y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2f)
    traceGL_lookupNativeAddress("glWindowPos2f", (void **) &traceGL_Native.glWindowPos2f);

  traceThis = traceEnabled("glWindowPos2f");

  if (!traceGL_Native.glWindowPos2f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos2f(x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos2fv(const GLfloat *p)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2fv)
    traceGL_lookupNativeAddress("glWindowPos2fv", (void **) &traceGL_Native.glWindowPos2fv);

  traceThis = traceEnabled("glWindowPos2fv");

  if (!traceGL_Native.glWindowPos2fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("p", "%f[%d]", p, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos2fv(p);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos2i(GLint x, GLint y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2i)
    traceGL_lookupNativeAddress("glWindowPos2i", (void **) &traceGL_Native.glWindowPos2i);

  traceThis = traceEnabled("glWindowPos2i");

  if (!traceGL_Native.glWindowPos2i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos2i(x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos2iv(const GLint *p)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2iv)
    traceGL_lookupNativeAddress("glWindowPos2iv", (void **) &traceGL_Native.glWindowPos2iv);

  traceThis = traceEnabled("glWindowPos2iv");

  if (!traceGL_Native.glWindowPos2iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("p", "%d[%d]", p, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos2iv(p);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos2s(GLshort x, GLshort y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2s)
    traceGL_lookupNativeAddress("glWindowPos2s", (void **) &traceGL_Native.glWindowPos2s);

  traceThis = traceEnabled("glWindowPos2s");

  if (!traceGL_Native.glWindowPos2s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2s");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%hd", x);
    traceInputParameter("y", "%hd", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos2s(x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos2sv(const GLshort *p)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2sv)
    traceGL_lookupNativeAddress("glWindowPos2sv", (void **) &traceGL_Native.glWindowPos2sv);

  traceThis = traceEnabled("glWindowPos2sv");

  if (!traceGL_Native.glWindowPos2sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2sv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("p", "%hd[%d]", p, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos2sv(p);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos3d(GLdouble x, GLdouble y, GLdouble z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3d)
    traceGL_lookupNativeAddress("glWindowPos3d", (void **) &traceGL_Native.glWindowPos3d);

  traceThis = traceEnabled("glWindowPos3d");

  if (!traceGL_Native.glWindowPos3d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos3d(x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos3dv(const GLdouble *p)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3dv)
    traceGL_lookupNativeAddress("glWindowPos3dv", (void **) &traceGL_Native.glWindowPos3dv);

  traceThis = traceEnabled("glWindowPos3dv");

  if (!traceGL_Native.glWindowPos3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("p", "%lf[%d]", p, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos3dv(p);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos3f(GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3f)
    traceGL_lookupNativeAddress("glWindowPos3f", (void **) &traceGL_Native.glWindowPos3f);

  traceThis = traceEnabled("glWindowPos3f");

  if (!traceGL_Native.glWindowPos3f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos3f(x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos3fv(const GLfloat *p)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3fv)
    traceGL_lookupNativeAddress("glWindowPos3fv", (void **) &traceGL_Native.glWindowPos3fv);

  traceThis = traceEnabled("glWindowPos3fv");

  if (!traceGL_Native.glWindowPos3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("p", "%f[%d]", p, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos3fv(p);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos3i(GLint x, GLint y, GLint z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3i)
    traceGL_lookupNativeAddress("glWindowPos3i", (void **) &traceGL_Native.glWindowPos3i);

  traceThis = traceEnabled("glWindowPos3i");

  if (!traceGL_Native.glWindowPos3i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("z", "%d", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos3i(x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos3iv(const GLint *p)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3iv)
    traceGL_lookupNativeAddress("glWindowPos3iv", (void **) &traceGL_Native.glWindowPos3iv);

  traceThis = traceEnabled("glWindowPos3iv");

  if (!traceGL_Native.glWindowPos3iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("p", "%d[%d]", p, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos3iv(p);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos3s(GLshort x, GLshort y, GLshort z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3s)
    traceGL_lookupNativeAddress("glWindowPos3s", (void **) &traceGL_Native.glWindowPos3s);

  traceThis = traceEnabled("glWindowPos3s");

  if (!traceGL_Native.glWindowPos3s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3s");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%hd", x);
    traceInputParameter("y", "%hd", y);
    traceInputParameter("z", "%hd", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos3s(x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos3sv(const GLshort *p)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3sv)
    traceGL_lookupNativeAddress("glWindowPos3sv", (void **) &traceGL_Native.glWindowPos3sv);

  traceThis = traceEnabled("glWindowPos3sv");

  if (!traceGL_Native.glWindowPos3sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3sv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("p", "%hd[%d]", p, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos3sv(p);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenQueries(GLsizei n, GLuint *ids)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenQueries)
    traceGL_lookupNativeAddress("glGenQueries", (void **) &traceGL_Native.glGenQueries);

  traceThis = traceEnabled("glGenQueries");

  if (!traceGL_Native.glGenQueries)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenQueries");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenQueries(n, ids);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("ids", "%u[%d]", ids, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteQueries(GLsizei n, const GLuint *ids)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteQueries)
    traceGL_lookupNativeAddress("glDeleteQueries", (void **) &traceGL_Native.glDeleteQueries);

  traceThis = traceEnabled("glDeleteQueries");

  if (!traceGL_Native.glDeleteQueries)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteQueries");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("ids", "%u[%d]", ids, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteQueries(n, ids);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsQuery(GLuint id)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsQuery)
    traceGL_lookupNativeAddress("glIsQuery", (void **) &traceGL_Native.glIsQuery);

  traceThis = traceEnabled("glIsQuery");

  if (!traceGL_Native.glIsQuery)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsQuery");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsQuery(id);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBeginQuery(GLenum target, GLuint id)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBeginQuery)
    traceGL_lookupNativeAddress("glBeginQuery", (void **) &traceGL_Native.glBeginQuery);

  traceThis = traceEnabled("glBeginQuery");

  if (!traceGL_Native.glBeginQuery)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBeginQuery");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBeginQuery(target, id);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEndQuery(GLenum target)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndQuery)
    traceGL_lookupNativeAddress("glEndQuery", (void **) &traceGL_Native.glEndQuery);

  traceThis = traceEnabled("glEndQuery");

  if (!traceGL_Native.glEndQuery)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEndQuery");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEndQuery(target);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetQueryiv(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetQueryiv)
    traceGL_lookupNativeAddress("glGetQueryiv", (void **) &traceGL_Native.glGetQueryiv);

  traceThis = traceEnabled("glGetQueryiv");

  if (!traceGL_Native.glGetQueryiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetQueryiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetQueryiv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetQueryObjectiv)
    traceGL_lookupNativeAddress("glGetQueryObjectiv", (void **) &traceGL_Native.glGetQueryObjectiv);

  traceThis = traceEnabled("glGetQueryObjectiv");

  if (!traceGL_Native.glGetQueryObjectiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetQueryObjectiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetQueryObjectiv(id, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetQueryObjectuiv)
    traceGL_lookupNativeAddress("glGetQueryObjectuiv", (void **) &traceGL_Native.glGetQueryObjectuiv);

  traceThis = traceEnabled("glGetQueryObjectuiv");

  if (!traceGL_Native.glGetQueryObjectuiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetQueryObjectuiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetQueryObjectuiv(id, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBindBuffer(GLenum target, GLuint buffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindBuffer)
    traceGL_lookupNativeAddress("glBindBuffer", (void **) &traceGL_Native.glBindBuffer);

  traceThis = traceEnabled("glBindBuffer");

  if (!traceGL_Native.glBindBuffer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindBuffer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("buffer", "%u", buffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindBuffer(target, buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteBuffers(GLsizei n, const GLuint *buffers)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteBuffers)
    traceGL_lookupNativeAddress("glDeleteBuffers", (void **) &traceGL_Native.glDeleteBuffers);

  traceThis = traceEnabled("glDeleteBuffers");

  if (!traceGL_Native.glDeleteBuffers)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteBuffers");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("buffers", "%u[%d]", buffers, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteBuffers(n, buffers);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenBuffers(GLsizei n, GLuint *buffers)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenBuffers)
    traceGL_lookupNativeAddress("glGenBuffers", (void **) &traceGL_Native.glGenBuffers);

  traceThis = traceEnabled("glGenBuffers");

  if (!traceGL_Native.glGenBuffers)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenBuffers");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenBuffers(n, buffers);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("buffers", "%u[%d]", buffers, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsBuffer(GLuint buffer)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsBuffer)
    traceGL_lookupNativeAddress("glIsBuffer", (void **) &traceGL_Native.glIsBuffer);

  traceThis = traceEnabled("glIsBuffer");

  if (!traceGL_Native.glIsBuffer)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsBuffer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buffer", "%u", buffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsBuffer(buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBufferData)
    traceGL_lookupNativeAddress("glBufferData", (void **) &traceGL_Native.glBufferData);

  traceThis = traceEnabled("glBufferData");

  if (!traceGL_Native.glBufferData)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBufferData");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("size", "%z", size);
    traceInputParameter("data", "%p", data);
    traceInputParameter("usage", "%u", usage);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBufferData(target, size, data, usage);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBufferSubData)
    traceGL_lookupNativeAddress("glBufferSubData", (void **) &traceGL_Native.glBufferSubData);

  traceThis = traceEnabled("glBufferSubData");

  if (!traceGL_Native.glBufferSubData)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBufferSubData");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("offset", "%z", offset);
    traceInputParameter("size", "%z", size);
    traceInputParameter("data", "%p", data);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBufferSubData(target, offset, size, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetBufferSubData)
    traceGL_lookupNativeAddress("glGetBufferSubData", (void **) &traceGL_Native.glGetBufferSubData);

  traceThis = traceEnabled("glGetBufferSubData");

  if (!traceGL_Native.glGetBufferSubData)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetBufferSubData");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("offset", "%z", offset);
    traceInputParameter("size", "%z", size);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetBufferSubData(target, offset, size, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("data", "%p", data);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLvoid *GLAPIENTRY
glMapBuffer(GLenum target, GLenum access)
{
  GLvoid *ret = NULL;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapBuffer)
    traceGL_lookupNativeAddress("glMapBuffer", (void **) &traceGL_Native.glMapBuffer);

  traceThis = traceEnabled("glMapBuffer");

  if (!traceGL_Native.glMapBuffer)
    return NULL;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapBuffer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("access", "%u", access);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glMapBuffer(target, access);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%p", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLboolean GLAPIENTRY
glUnmapBuffer(GLenum target)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUnmapBuffer)
    traceGL_lookupNativeAddress("glUnmapBuffer", (void **) &traceGL_Native.glUnmapBuffer);

  traceThis = traceEnabled("glUnmapBuffer");

  if (!traceGL_Native.glUnmapBuffer)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUnmapBuffer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glUnmapBuffer(target);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetBufferParameteriv)
    traceGL_lookupNativeAddress("glGetBufferParameteriv", (void **) &traceGL_Native.glGetBufferParameteriv);

  traceThis = traceEnabled("glGetBufferParameteriv");

  if (!traceGL_Native.glGetBufferParameteriv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetBufferParameteriv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetBufferParameteriv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetBufferPointerv(GLenum target, GLenum pname, GLvoid **params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetBufferPointerv)
    traceGL_lookupNativeAddress("glGetBufferPointerv", (void **) &traceGL_Native.glGetBufferPointerv);

  traceThis = traceEnabled("glGetBufferPointerv");

  if (!traceGL_Native.glGetBufferPointerv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetBufferPointerv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetBufferPointerv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendEquationSeparate)
    traceGL_lookupNativeAddress("glBlendEquationSeparate", (void **) &traceGL_Native.glBlendEquationSeparate);

  traceThis = traceEnabled("glBlendEquationSeparate");

  if (!traceGL_Native.glBlendEquationSeparate)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendEquationSeparate");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("modeRGB", "%u", modeRGB);
    traceInputParameter("modeAlpha", "%u", modeAlpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBlendEquationSeparate(modeRGB, modeAlpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawBuffers(GLsizei n, const GLenum *bufs)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawBuffers)
    traceGL_lookupNativeAddress("glDrawBuffers", (void **) &traceGL_Native.glDrawBuffers);

  traceThis = traceEnabled("glDrawBuffers");

  if (!traceGL_Native.glDrawBuffers)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawBuffers");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("bufs", "%u[%d]", bufs, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawBuffers(n, bufs);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glStencilOpSeparate)
    traceGL_lookupNativeAddress("glStencilOpSeparate", (void **) &traceGL_Native.glStencilOpSeparate);

  traceThis = traceEnabled("glStencilOpSeparate");

  if (!traceGL_Native.glStencilOpSeparate)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glStencilOpSeparate");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("face", "%u", face);
    traceInputParameter("fail", "%u", fail);
    traceInputParameter("zfail", "%u", zfail);
    traceInputParameter("zpass", "%u", zpass);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glStencilOpSeparate(face, fail, zfail, zpass);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glStencilFuncSeparate)
    traceGL_lookupNativeAddress("glStencilFuncSeparate", (void **) &traceGL_Native.glStencilFuncSeparate);

  traceThis = traceEnabled("glStencilFuncSeparate");

  if (!traceGL_Native.glStencilFuncSeparate)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glStencilFuncSeparate");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("face", "%u", face);
    traceInputParameter("func", "%u", func);
    traceInputParameter("ref", "%d", ref);
    traceInputParameter("mask", "%u", mask);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glStencilFuncSeparate(face, func, ref, mask);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glStencilMaskSeparate(GLenum face, GLuint mask)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glStencilMaskSeparate)
    traceGL_lookupNativeAddress("glStencilMaskSeparate", (void **) &traceGL_Native.glStencilMaskSeparate);

  traceThis = traceEnabled("glStencilMaskSeparate");

  if (!traceGL_Native.glStencilMaskSeparate)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glStencilMaskSeparate");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("face", "%u", face);
    traceInputParameter("mask", "%u", mask);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glStencilMaskSeparate(face, mask);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glAttachShader(GLuint program, GLuint shader)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glAttachShader)
    traceGL_lookupNativeAddress("glAttachShader", (void **) &traceGL_Native.glAttachShader);

  traceThis = traceEnabled("glAttachShader");

  if (!traceGL_Native.glAttachShader)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glAttachShader");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("shader", "%u", shader);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glAttachShader(program, shader);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBindAttribLocation(GLuint program, GLuint index, const GLchar *name)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindAttribLocation)
    traceGL_lookupNativeAddress("glBindAttribLocation", (void **) &traceGL_Native.glBindAttribLocation);

  traceThis = traceEnabled("glBindAttribLocation");

  if (!traceGL_Native.glBindAttribLocation)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindAttribLocation");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("index", "%u", index);
    traceInputParameter("name", "%s", name);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindAttribLocation(program, index, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompileShader(GLuint shader)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompileShader)
    traceGL_lookupNativeAddress("glCompileShader", (void **) &traceGL_Native.glCompileShader);

  traceThis = traceEnabled("glCompileShader");

  if (!traceGL_Native.glCompileShader)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompileShader");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("shader", "%u", shader);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompileShader(shader);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLuint GLAPIENTRY
glCreateProgram()
{
  GLuint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCreateProgram)
    traceGL_lookupNativeAddress("glCreateProgram", (void **) &traceGL_Native.glCreateProgram);

  traceThis = traceEnabled("glCreateProgram");

  if (!traceGL_Native.glCreateProgram)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCreateProgram");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glCreateProgram();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLuint GLAPIENTRY
glCreateShader(GLenum type)
{
  GLuint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCreateShader)
    traceGL_lookupNativeAddress("glCreateShader", (void **) &traceGL_Native.glCreateShader);

  traceThis = traceEnabled("glCreateShader");

  if (!traceGL_Native.glCreateShader)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCreateShader");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glCreateShader(type);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glDeleteProgram(GLuint program)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteProgram)
    traceGL_lookupNativeAddress("glDeleteProgram", (void **) &traceGL_Native.glDeleteProgram);

  traceThis = traceEnabled("glDeleteProgram");

  if (!traceGL_Native.glDeleteProgram)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteProgram");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteProgram(program);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteShader(GLuint shader)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteShader)
    traceGL_lookupNativeAddress("glDeleteShader", (void **) &traceGL_Native.glDeleteShader);

  traceThis = traceEnabled("glDeleteShader");

  if (!traceGL_Native.glDeleteShader)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteShader");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("shader", "%u", shader);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteShader(shader);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDetachShader(GLuint program, GLuint shader)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDetachShader)
    traceGL_lookupNativeAddress("glDetachShader", (void **) &traceGL_Native.glDetachShader);

  traceThis = traceEnabled("glDetachShader");

  if (!traceGL_Native.glDetachShader)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDetachShader");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("shader", "%u", shader);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDetachShader(program, shader);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDisableVertexAttribArray(GLuint index)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDisableVertexAttribArray)
    traceGL_lookupNativeAddress("glDisableVertexAttribArray", (void **) &traceGL_Native.glDisableVertexAttribArray);

  traceThis = traceEnabled("glDisableVertexAttribArray");

  if (!traceGL_Native.glDisableVertexAttribArray)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDisableVertexAttribArray");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDisableVertexAttribArray(index);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEnableVertexAttribArray(GLuint index)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEnableVertexAttribArray)
    traceGL_lookupNativeAddress("glEnableVertexAttribArray", (void **) &traceGL_Native.glEnableVertexAttribArray);

  traceThis = traceEnabled("glEnableVertexAttribArray");

  if (!traceGL_Native.glEnableVertexAttribArray)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEnableVertexAttribArray");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEnableVertexAttribArray(index);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetActiveAttrib)
    traceGL_lookupNativeAddress("glGetActiveAttrib", (void **) &traceGL_Native.glGetActiveAttrib);

  traceThis = traceEnabled("glGetActiveAttrib");

  if (!traceGL_Native.glGetActiveAttrib)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetActiveAttrib");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("index", "%u", index);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetActiveAttrib(program, index, bufSize, length, size, type, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("length", "%d[%d]", length, 1);
    traceOutputParameter("size", "%d[%d]", size, 1);
    traceOutputParameter("type", "%u[%d]", type, 1);
    traceOutputParameter("name", "%s", name);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetActiveUniform)
    traceGL_lookupNativeAddress("glGetActiveUniform", (void **) &traceGL_Native.glGetActiveUniform);

  traceThis = traceEnabled("glGetActiveUniform");

  if (!traceGL_Native.glGetActiveUniform)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetActiveUniform");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("index", "%u", index);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetActiveUniform(program, index, bufSize, length, size, type, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("length", "%d[%d]", length, 1);
    traceOutputParameter("size", "%d[%d]", size, 1);
    traceOutputParameter("type", "%u[%d]", type, 1);
    traceOutputParameter("name", "%s", name);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetAttachedShaders)
    traceGL_lookupNativeAddress("glGetAttachedShaders", (void **) &traceGL_Native.glGetAttachedShaders);

  traceThis = traceEnabled("glGetAttachedShaders");

  if (!traceGL_Native.glGetAttachedShaders)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetAttachedShaders");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("maxCount", "%d", maxCount);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetAttachedShaders(program, maxCount, count, shaders);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("count", "%d[%d]", count, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLint GLAPIENTRY
glGetAttribLocation(GLuint program, const GLchar *name)
{
  GLint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetAttribLocation)
    traceGL_lookupNativeAddress("glGetAttribLocation", (void **) &traceGL_Native.glGetAttribLocation);

  traceThis = traceEnabled("glGetAttribLocation");

  if (!traceGL_Native.glGetAttribLocation)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetAttribLocation");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("name", "%s", name);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGetAttribLocation(program, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%d", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetProgramiv(GLuint program, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramiv)
    traceGL_lookupNativeAddress("glGetProgramiv", (void **) &traceGL_Native.glGetProgramiv);

  traceThis = traceEnabled("glGetProgramiv");

  if (!traceGL_Native.glGetProgramiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetProgramiv(program, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramInfoLog)
    traceGL_lookupNativeAddress("glGetProgramInfoLog", (void **) &traceGL_Native.glGetProgramInfoLog);

  traceThis = traceEnabled("glGetProgramInfoLog");

  if (!traceGL_Native.glGetProgramInfoLog)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramInfoLog");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetProgramInfoLog(program, bufSize, length, infoLog);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("length", "%d[%d]", length, 1);
    traceOutputParameter("infoLog", "%s", infoLog);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetShaderiv(GLuint shader, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetShaderiv)
    traceGL_lookupNativeAddress("glGetShaderiv", (void **) &traceGL_Native.glGetShaderiv);

  traceThis = traceEnabled("glGetShaderiv");

  if (!traceGL_Native.glGetShaderiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetShaderiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("shader", "%u", shader);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetShaderiv(shader, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetShaderInfoLog)
    traceGL_lookupNativeAddress("glGetShaderInfoLog", (void **) &traceGL_Native.glGetShaderInfoLog);

  traceThis = traceEnabled("glGetShaderInfoLog");

  if (!traceGL_Native.glGetShaderInfoLog)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetShaderInfoLog");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("shader", "%u", shader);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetShaderInfoLog(shader, bufSize, length, infoLog);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("length", "%d[%d]", length, 1);
    traceOutputParameter("infoLog", "%s", infoLog);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetShaderSource)
    traceGL_lookupNativeAddress("glGetShaderSource", (void **) &traceGL_Native.glGetShaderSource);

  traceThis = traceEnabled("glGetShaderSource");

  if (!traceGL_Native.glGetShaderSource)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetShaderSource");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("shader", "%u", shader);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetShaderSource(shader, bufSize, length, source);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("length", "%d[%d]", length, 1);
    traceOutputParameter("source", "%s", source);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLint GLAPIENTRY
glGetUniformLocation(GLuint program, const GLchar *name)
{
  GLint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformLocation)
    traceGL_lookupNativeAddress("glGetUniformLocation", (void **) &traceGL_Native.glGetUniformLocation);

  traceThis = traceEnabled("glGetUniformLocation");

  if (!traceGL_Native.glGetUniformLocation)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformLocation");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("name", "%s", name);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGetUniformLocation(program, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%d", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetUniformfv(GLuint program, GLint location, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformfv)
    traceGL_lookupNativeAddress("glGetUniformfv", (void **) &traceGL_Native.glGetUniformfv);

  traceThis = traceEnabled("glGetUniformfv");

  if (!traceGL_Native.glGetUniformfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetUniformfv(program, location, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetUniformiv(GLuint program, GLint location, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformiv)
    traceGL_lookupNativeAddress("glGetUniformiv", (void **) &traceGL_Native.glGetUniformiv);

  traceThis = traceEnabled("glGetUniformiv");

  if (!traceGL_Native.glGetUniformiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetUniformiv(program, location, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribdv)
    traceGL_lookupNativeAddress("glGetVertexAttribdv", (void **) &traceGL_Native.glGetVertexAttribdv);

  traceThis = traceEnabled("glGetVertexAttribdv");

  if (!traceGL_Native.glGetVertexAttribdv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribdv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVertexAttribdv(index, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%lf[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribfv)
    traceGL_lookupNativeAddress("glGetVertexAttribfv", (void **) &traceGL_Native.glGetVertexAttribfv);

  traceThis = traceEnabled("glGetVertexAttribfv");

  if (!traceGL_Native.glGetVertexAttribfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVertexAttribfv(index, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%f[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribiv)
    traceGL_lookupNativeAddress("glGetVertexAttribiv", (void **) &traceGL_Native.glGetVertexAttribiv);

  traceThis = traceEnabled("glGetVertexAttribiv");

  if (!traceGL_Native.glGetVertexAttribiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVertexAttribiv(index, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%d[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid **pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribPointerv)
    traceGL_lookupNativeAddress("glGetVertexAttribPointerv", (void **) &traceGL_Native.glGetVertexAttribPointerv);

  traceThis = traceEnabled("glGetVertexAttribPointerv");

  if (!traceGL_Native.glGetVertexAttribPointerv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribPointerv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVertexAttribPointerv(index, pname, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsProgram(GLuint program)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsProgram)
    traceGL_lookupNativeAddress("glIsProgram", (void **) &traceGL_Native.glIsProgram);

  traceThis = traceEnabled("glIsProgram");

  if (!traceGL_Native.glIsProgram)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsProgram");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsProgram(program);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLboolean GLAPIENTRY
glIsShader(GLuint shader)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsShader)
    traceGL_lookupNativeAddress("glIsShader", (void **) &traceGL_Native.glIsShader);

  traceThis = traceEnabled("glIsShader");

  if (!traceGL_Native.glIsShader)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsShader");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("shader", "%u", shader);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsShader(shader);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glLinkProgram(GLuint program)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLinkProgram)
    traceGL_lookupNativeAddress("glLinkProgram", (void **) &traceGL_Native.glLinkProgram);

  traceThis = traceEnabled("glLinkProgram");

  if (!traceGL_Native.glLinkProgram)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLinkProgram");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glLinkProgram(program);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glShaderSource(GLuint shader, GLsizei count, const GLchar **string, const GLint *length)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glShaderSource)
    traceGL_lookupNativeAddress("glShaderSource", (void **) &traceGL_Native.glShaderSource);

  traceThis = traceEnabled("glShaderSource");

  if (!traceGL_Native.glShaderSource)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glShaderSource");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("shader", "%u", shader);
    traceInputParameter("count", "%d", count);
    traceInputParameter("string", "%s[%ld]", string, (traceGL_helperGLShaderSourceStringSize ? traceGL_helperGLShaderSourceStringSize(count,length) : 0));
    traceInputParameter("length", "%d[%ld]", length, (traceGL_helperGLShaderSourceLengthSize ? traceGL_helperGLShaderSourceLengthSize(count,length) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glShaderSource(shader, count, string, length);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUseProgram(GLuint program)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUseProgram)
    traceGL_lookupNativeAddress("glUseProgram", (void **) &traceGL_Native.glUseProgram);

  traceThis = traceEnabled("glUseProgram");

  if (!traceGL_Native.glUseProgram)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUseProgram");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUseProgram(program);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform1f(GLint location, GLfloat v0)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1f)
    traceGL_lookupNativeAddress("glUniform1f", (void **) &traceGL_Native.glUniform1f);

  traceThis = traceEnabled("glUniform1f");

  if (!traceGL_Native.glUniform1f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%f", v0);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform1f(location, v0);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform2f(GLint location, GLfloat v0, GLfloat v1)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2f)
    traceGL_lookupNativeAddress("glUniform2f", (void **) &traceGL_Native.glUniform2f);

  traceThis = traceEnabled("glUniform2f");

  if (!traceGL_Native.glUniform2f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%f", v0);
    traceInputParameter("v1", "%f", v1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform2f(location, v0, v1);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3f)
    traceGL_lookupNativeAddress("glUniform3f", (void **) &traceGL_Native.glUniform3f);

  traceThis = traceEnabled("glUniform3f");

  if (!traceGL_Native.glUniform3f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%f", v0);
    traceInputParameter("v1", "%f", v1);
    traceInputParameter("v2", "%f", v2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform3f(location, v0, v1, v2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4f)
    traceGL_lookupNativeAddress("glUniform4f", (void **) &traceGL_Native.glUniform4f);

  traceThis = traceEnabled("glUniform4f");

  if (!traceGL_Native.glUniform4f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%f", v0);
    traceInputParameter("v1", "%f", v1);
    traceInputParameter("v2", "%f", v2);
    traceInputParameter("v3", "%f", v3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform4f(location, v0, v1, v2, v3);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform1i(GLint location, GLint v0)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1i)
    traceGL_lookupNativeAddress("glUniform1i", (void **) &traceGL_Native.glUniform1i);

  traceThis = traceEnabled("glUniform1i");

  if (!traceGL_Native.glUniform1i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%d", v0);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform1i(location, v0);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform2i(GLint location, GLint v0, GLint v1)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2i)
    traceGL_lookupNativeAddress("glUniform2i", (void **) &traceGL_Native.glUniform2i);

  traceThis = traceEnabled("glUniform2i");

  if (!traceGL_Native.glUniform2i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%d", v0);
    traceInputParameter("v1", "%d", v1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform2i(location, v0, v1);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform3i(GLint location, GLint v0, GLint v1, GLint v2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3i)
    traceGL_lookupNativeAddress("glUniform3i", (void **) &traceGL_Native.glUniform3i);

  traceThis = traceEnabled("glUniform3i");

  if (!traceGL_Native.glUniform3i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%d", v0);
    traceInputParameter("v1", "%d", v1);
    traceInputParameter("v2", "%d", v2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform3i(location, v0, v1, v2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4i)
    traceGL_lookupNativeAddress("glUniform4i", (void **) &traceGL_Native.glUniform4i);

  traceThis = traceEnabled("glUniform4i");

  if (!traceGL_Native.glUniform4i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%d", v0);
    traceInputParameter("v1", "%d", v1);
    traceInputParameter("v2", "%d", v2);
    traceInputParameter("v3", "%d", v3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform4i(location, v0, v1, v2, v3);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform1fv(GLint location, GLsizei count, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1fv)
    traceGL_lookupNativeAddress("glUniform1fv", (void **) &traceGL_Native.glUniform1fv);

  traceThis = traceEnabled("glUniform1fv");

  if (!traceGL_Native.glUniform1fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform1fv(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform2fv(GLint location, GLsizei count, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2fv)
    traceGL_lookupNativeAddress("glUniform2fv", (void **) &traceGL_Native.glUniform2fv);

  traceThis = traceEnabled("glUniform2fv");

  if (!traceGL_Native.glUniform2fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform2fv(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform3fv(GLint location, GLsizei count, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3fv)
    traceGL_lookupNativeAddress("glUniform3fv", (void **) &traceGL_Native.glUniform3fv);

  traceThis = traceEnabled("glUniform3fv");

  if (!traceGL_Native.glUniform3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform3fv(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform4fv(GLint location, GLsizei count, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4fv)
    traceGL_lookupNativeAddress("glUniform4fv", (void **) &traceGL_Native.glUniform4fv);

  traceThis = traceEnabled("glUniform4fv");

  if (!traceGL_Native.glUniform4fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform4fv(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform1iv(GLint location, GLsizei count, const GLint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1iv)
    traceGL_lookupNativeAddress("glUniform1iv", (void **) &traceGL_Native.glUniform1iv);

  traceThis = traceEnabled("glUniform1iv");

  if (!traceGL_Native.glUniform1iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform1iv(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform2iv(GLint location, GLsizei count, const GLint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2iv)
    traceGL_lookupNativeAddress("glUniform2iv", (void **) &traceGL_Native.glUniform2iv);

  traceThis = traceEnabled("glUniform2iv");

  if (!traceGL_Native.glUniform2iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform2iv(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform3iv(GLint location, GLsizei count, const GLint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3iv)
    traceGL_lookupNativeAddress("glUniform3iv", (void **) &traceGL_Native.glUniform3iv);

  traceThis = traceEnabled("glUniform3iv");

  if (!traceGL_Native.glUniform3iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform3iv(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform4iv(GLint location, GLsizei count, const GLint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4iv)
    traceGL_lookupNativeAddress("glUniform4iv", (void **) &traceGL_Native.glUniform4iv);

  traceThis = traceEnabled("glUniform4iv");

  if (!traceGL_Native.glUniform4iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform4iv(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix2fv)
    traceGL_lookupNativeAddress("glUniformMatrix2fv", (void **) &traceGL_Native.glUniformMatrix2fv);

  traceThis = traceEnabled("glUniformMatrix2fv");

  if (!traceGL_Native.glUniformMatrix2fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix2fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniformMatrix2fv(location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix3fv)
    traceGL_lookupNativeAddress("glUniformMatrix3fv", (void **) &traceGL_Native.glUniformMatrix3fv);

  traceThis = traceEnabled("glUniformMatrix3fv");

  if (!traceGL_Native.glUniformMatrix3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix3fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniformMatrix3fv(location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix4fv)
    traceGL_lookupNativeAddress("glUniformMatrix4fv", (void **) &traceGL_Native.glUniformMatrix4fv);

  traceThis = traceEnabled("glUniformMatrix4fv");

  if (!traceGL_Native.glUniformMatrix4fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix4fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniformMatrix4fv(location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glValidateProgram(GLuint program)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glValidateProgram)
    traceGL_lookupNativeAddress("glValidateProgram", (void **) &traceGL_Native.glValidateProgram);

  traceThis = traceEnabled("glValidateProgram");

  if (!traceGL_Native.glValidateProgram)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glValidateProgram");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glValidateProgram(program);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib1d(GLuint index, GLdouble x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1d)
    traceGL_lookupNativeAddress("glVertexAttrib1d", (void **) &traceGL_Native.glVertexAttrib1d);

  traceThis = traceEnabled("glVertexAttrib1d");

  if (!traceGL_Native.glVertexAttrib1d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%lf", x);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib1d(index, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib1dv(GLuint index, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1dv)
    traceGL_lookupNativeAddress("glVertexAttrib1dv", (void **) &traceGL_Native.glVertexAttrib1dv);

  traceThis = traceEnabled("glVertexAttrib1dv");

  if (!traceGL_Native.glVertexAttrib1dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%lf[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib1dv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib1f(GLuint index, GLfloat x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1f)
    traceGL_lookupNativeAddress("glVertexAttrib1f", (void **) &traceGL_Native.glVertexAttrib1f);

  traceThis = traceEnabled("glVertexAttrib1f");

  if (!traceGL_Native.glVertexAttrib1f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%f", x);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib1f(index, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib1fv(GLuint index, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1fv)
    traceGL_lookupNativeAddress("glVertexAttrib1fv", (void **) &traceGL_Native.glVertexAttrib1fv);

  traceThis = traceEnabled("glVertexAttrib1fv");

  if (!traceGL_Native.glVertexAttrib1fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%f[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib1fv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib1s(GLuint index, GLshort x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1s)
    traceGL_lookupNativeAddress("glVertexAttrib1s", (void **) &traceGL_Native.glVertexAttrib1s);

  traceThis = traceEnabled("glVertexAttrib1s");

  if (!traceGL_Native.glVertexAttrib1s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1s");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%hd", x);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib1s(index, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib1sv(GLuint index, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1sv)
    traceGL_lookupNativeAddress("glVertexAttrib1sv", (void **) &traceGL_Native.glVertexAttrib1sv);

  traceThis = traceEnabled("glVertexAttrib1sv");

  if (!traceGL_Native.glVertexAttrib1sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1sv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%hd[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib1sv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2d)
    traceGL_lookupNativeAddress("glVertexAttrib2d", (void **) &traceGL_Native.glVertexAttrib2d);

  traceThis = traceEnabled("glVertexAttrib2d");

  if (!traceGL_Native.glVertexAttrib2d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib2d(index, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib2dv(GLuint index, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2dv)
    traceGL_lookupNativeAddress("glVertexAttrib2dv", (void **) &traceGL_Native.glVertexAttrib2dv);

  traceThis = traceEnabled("glVertexAttrib2dv");

  if (!traceGL_Native.glVertexAttrib2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%lf[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib2dv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2f)
    traceGL_lookupNativeAddress("glVertexAttrib2f", (void **) &traceGL_Native.glVertexAttrib2f);

  traceThis = traceEnabled("glVertexAttrib2f");

  if (!traceGL_Native.glVertexAttrib2f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib2f(index, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib2fv(GLuint index, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2fv)
    traceGL_lookupNativeAddress("glVertexAttrib2fv", (void **) &traceGL_Native.glVertexAttrib2fv);

  traceThis = traceEnabled("glVertexAttrib2fv");

  if (!traceGL_Native.glVertexAttrib2fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%f[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib2fv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib2s(GLuint index, GLshort x, GLshort y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2s)
    traceGL_lookupNativeAddress("glVertexAttrib2s", (void **) &traceGL_Native.glVertexAttrib2s);

  traceThis = traceEnabled("glVertexAttrib2s");

  if (!traceGL_Native.glVertexAttrib2s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2s");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%hd", x);
    traceInputParameter("y", "%hd", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib2s(index, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib2sv(GLuint index, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2sv)
    traceGL_lookupNativeAddress("glVertexAttrib2sv", (void **) &traceGL_Native.glVertexAttrib2sv);

  traceThis = traceEnabled("glVertexAttrib2sv");

  if (!traceGL_Native.glVertexAttrib2sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2sv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%hd[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib2sv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3d)
    traceGL_lookupNativeAddress("glVertexAttrib3d", (void **) &traceGL_Native.glVertexAttrib3d);

  traceThis = traceEnabled("glVertexAttrib3d");

  if (!traceGL_Native.glVertexAttrib3d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib3d(index, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib3dv(GLuint index, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3dv)
    traceGL_lookupNativeAddress("glVertexAttrib3dv", (void **) &traceGL_Native.glVertexAttrib3dv);

  traceThis = traceEnabled("glVertexAttrib3dv");

  if (!traceGL_Native.glVertexAttrib3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%lf[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib3dv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3f)
    traceGL_lookupNativeAddress("glVertexAttrib3f", (void **) &traceGL_Native.glVertexAttrib3f);

  traceThis = traceEnabled("glVertexAttrib3f");

  if (!traceGL_Native.glVertexAttrib3f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib3f(index, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib3fv(GLuint index, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3fv)
    traceGL_lookupNativeAddress("glVertexAttrib3fv", (void **) &traceGL_Native.glVertexAttrib3fv);

  traceThis = traceEnabled("glVertexAttrib3fv");

  if (!traceGL_Native.glVertexAttrib3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib3fv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3s)
    traceGL_lookupNativeAddress("glVertexAttrib3s", (void **) &traceGL_Native.glVertexAttrib3s);

  traceThis = traceEnabled("glVertexAttrib3s");

  if (!traceGL_Native.glVertexAttrib3s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3s");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%hd", x);
    traceInputParameter("y", "%hd", y);
    traceInputParameter("z", "%hd", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib3s(index, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib3sv(GLuint index, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3sv)
    traceGL_lookupNativeAddress("glVertexAttrib3sv", (void **) &traceGL_Native.glVertexAttrib3sv);

  traceThis = traceEnabled("glVertexAttrib3sv");

  if (!traceGL_Native.glVertexAttrib3sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3sv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%hd[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib3sv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4Nbv(GLuint index, const GLbyte *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4Nbv)
    traceGL_lookupNativeAddress("glVertexAttrib4Nbv", (void **) &traceGL_Native.glVertexAttrib4Nbv);

  traceThis = traceEnabled("glVertexAttrib4Nbv");

  if (!traceGL_Native.glVertexAttrib4Nbv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4Nbv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%c[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4Nbv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4Niv(GLuint index, const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4Niv)
    traceGL_lookupNativeAddress("glVertexAttrib4Niv", (void **) &traceGL_Native.glVertexAttrib4Niv);

  traceThis = traceEnabled("glVertexAttrib4Niv");

  if (!traceGL_Native.glVertexAttrib4Niv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4Niv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%d[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4Niv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4Nsv(GLuint index, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4Nsv)
    traceGL_lookupNativeAddress("glVertexAttrib4Nsv", (void **) &traceGL_Native.glVertexAttrib4Nsv);

  traceThis = traceEnabled("glVertexAttrib4Nsv");

  if (!traceGL_Native.glVertexAttrib4Nsv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4Nsv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%hd[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4Nsv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4Nub)
    traceGL_lookupNativeAddress("glVertexAttrib4Nub", (void **) &traceGL_Native.glVertexAttrib4Nub);

  traceThis = traceEnabled("glVertexAttrib4Nub");

  if (!traceGL_Native.glVertexAttrib4Nub)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4Nub");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%u", (unsigned int) x);
    traceInputParameter("y", "%u", (unsigned int) y);
    traceInputParameter("z", "%u", (unsigned int) z);
    traceInputParameter("w", "%u", (unsigned int) w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4Nub(index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4Nubv(GLuint index, const GLubyte *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4Nubv)
    traceGL_lookupNativeAddress("glVertexAttrib4Nubv", (void **) &traceGL_Native.glVertexAttrib4Nubv);

  traceThis = traceEnabled("glVertexAttrib4Nubv");

  if (!traceGL_Native.glVertexAttrib4Nubv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4Nubv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%c[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4Nubv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4Nuiv(GLuint index, const GLuint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4Nuiv)
    traceGL_lookupNativeAddress("glVertexAttrib4Nuiv", (void **) &traceGL_Native.glVertexAttrib4Nuiv);

  traceThis = traceEnabled("glVertexAttrib4Nuiv");

  if (!traceGL_Native.glVertexAttrib4Nuiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4Nuiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%u[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4Nuiv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4Nusv(GLuint index, const GLushort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4Nusv)
    traceGL_lookupNativeAddress("glVertexAttrib4Nusv", (void **) &traceGL_Native.glVertexAttrib4Nusv);

  traceThis = traceEnabled("glVertexAttrib4Nusv");

  if (!traceGL_Native.glVertexAttrib4Nusv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4Nusv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%hu[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4Nusv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4bv(GLuint index, const GLbyte *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4bv)
    traceGL_lookupNativeAddress("glVertexAttrib4bv", (void **) &traceGL_Native.glVertexAttrib4bv);

  traceThis = traceEnabled("glVertexAttrib4bv");

  if (!traceGL_Native.glVertexAttrib4bv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4bv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%c[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4bv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4d)
    traceGL_lookupNativeAddress("glVertexAttrib4d", (void **) &traceGL_Native.glVertexAttrib4d);

  traceThis = traceEnabled("glVertexAttrib4d");

  if (!traceGL_Native.glVertexAttrib4d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);
    traceInputParameter("w", "%lf", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4d(index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4dv(GLuint index, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4dv)
    traceGL_lookupNativeAddress("glVertexAttrib4dv", (void **) &traceGL_Native.glVertexAttrib4dv);

  traceThis = traceEnabled("glVertexAttrib4dv");

  if (!traceGL_Native.glVertexAttrib4dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%lf[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4dv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4f)
    traceGL_lookupNativeAddress("glVertexAttrib4f", (void **) &traceGL_Native.glVertexAttrib4f);

  traceThis = traceEnabled("glVertexAttrib4f");

  if (!traceGL_Native.glVertexAttrib4f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);
    traceInputParameter("w", "%f", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4f(index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4fv(GLuint index, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4fv)
    traceGL_lookupNativeAddress("glVertexAttrib4fv", (void **) &traceGL_Native.glVertexAttrib4fv);

  traceThis = traceEnabled("glVertexAttrib4fv");

  if (!traceGL_Native.glVertexAttrib4fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%f[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4fv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4iv(GLuint index, const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4iv)
    traceGL_lookupNativeAddress("glVertexAttrib4iv", (void **) &traceGL_Native.glVertexAttrib4iv);

  traceThis = traceEnabled("glVertexAttrib4iv");

  if (!traceGL_Native.glVertexAttrib4iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%d[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4iv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4s)
    traceGL_lookupNativeAddress("glVertexAttrib4s", (void **) &traceGL_Native.glVertexAttrib4s);

  traceThis = traceEnabled("glVertexAttrib4s");

  if (!traceGL_Native.glVertexAttrib4s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4s");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%hd", x);
    traceInputParameter("y", "%hd", y);
    traceInputParameter("z", "%hd", z);
    traceInputParameter("w", "%hd", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4s(index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4sv(GLuint index, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4sv)
    traceGL_lookupNativeAddress("glVertexAttrib4sv", (void **) &traceGL_Native.glVertexAttrib4sv);

  traceThis = traceEnabled("glVertexAttrib4sv");

  if (!traceGL_Native.glVertexAttrib4sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4sv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%hd[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4sv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4ubv(GLuint index, const GLubyte *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4ubv)
    traceGL_lookupNativeAddress("glVertexAttrib4ubv", (void **) &traceGL_Native.glVertexAttrib4ubv);

  traceThis = traceEnabled("glVertexAttrib4ubv");

  if (!traceGL_Native.glVertexAttrib4ubv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4ubv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%c[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4ubv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4uiv(GLuint index, const GLuint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4uiv)
    traceGL_lookupNativeAddress("glVertexAttrib4uiv", (void **) &traceGL_Native.glVertexAttrib4uiv);

  traceThis = traceEnabled("glVertexAttrib4uiv");

  if (!traceGL_Native.glVertexAttrib4uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%u[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4uiv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4usv(GLuint index, const GLushort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4usv)
    traceGL_lookupNativeAddress("glVertexAttrib4usv", (void **) &traceGL_Native.glVertexAttrib4usv);

  traceThis = traceEnabled("glVertexAttrib4usv");

  if (!traceGL_Native.glVertexAttrib4usv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4usv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%hu[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4usv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribPointer)
    traceGL_lookupNativeAddress("glVertexAttribPointer", (void **) &traceGL_Native.glVertexAttribPointer);

  traceThis = traceEnabled("glVertexAttribPointer");

  if (!traceGL_Native.glVertexAttribPointer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribPointer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("normalized", "%u", (unsigned int) normalized);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribPointer(index, size, type, normalized, stride, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix2x3fv)
    traceGL_lookupNativeAddress("glUniformMatrix2x3fv", (void **) &traceGL_Native.glUniformMatrix2x3fv);

  traceThis = traceEnabled("glUniformMatrix2x3fv");

  if (!traceGL_Native.glUniformMatrix2x3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix2x3fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%f[%d]", value, 6);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniformMatrix2x3fv(location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix3x2fv)
    traceGL_lookupNativeAddress("glUniformMatrix3x2fv", (void **) &traceGL_Native.glUniformMatrix3x2fv);

  traceThis = traceEnabled("glUniformMatrix3x2fv");

  if (!traceGL_Native.glUniformMatrix3x2fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix3x2fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%f[%d]", value, 6);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniformMatrix3x2fv(location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix2x4fv)
    traceGL_lookupNativeAddress("glUniformMatrix2x4fv", (void **) &traceGL_Native.glUniformMatrix2x4fv);

  traceThis = traceEnabled("glUniformMatrix2x4fv");

  if (!traceGL_Native.glUniformMatrix2x4fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix2x4fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%f[%d]", value, 8);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniformMatrix2x4fv(location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix4x2fv)
    traceGL_lookupNativeAddress("glUniformMatrix4x2fv", (void **) &traceGL_Native.glUniformMatrix4x2fv);

  traceThis = traceEnabled("glUniformMatrix4x2fv");

  if (!traceGL_Native.glUniformMatrix4x2fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix4x2fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%f[%d]", value, 8);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniformMatrix4x2fv(location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix3x4fv)
    traceGL_lookupNativeAddress("glUniformMatrix3x4fv", (void **) &traceGL_Native.glUniformMatrix3x4fv);

  traceThis = traceEnabled("glUniformMatrix3x4fv");

  if (!traceGL_Native.glUniformMatrix3x4fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix3x4fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%f[%d]", value, 12);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniformMatrix3x4fv(location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix4x3fv)
    traceGL_lookupNativeAddress("glUniformMatrix4x3fv", (void **) &traceGL_Native.glUniformMatrix4x3fv);

  traceThis = traceEnabled("glUniformMatrix4x3fv");

  if (!traceGL_Native.glUniformMatrix4x3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix4x3fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%f[%d]", value, 12);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniformMatrix4x3fv(location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorMaski)
    traceGL_lookupNativeAddress("glColorMaski", (void **) &traceGL_Native.glColorMaski);

  traceThis = traceEnabled("glColorMaski");

  if (!traceGL_Native.glColorMaski)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorMaski");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("r", "%u", (unsigned int) r);
    traceInputParameter("g", "%u", (unsigned int) g);
    traceInputParameter("b", "%u", (unsigned int) b);
    traceInputParameter("a", "%u", (unsigned int) a);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColorMaski(index, r, g, b, a);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetBooleani_v(GLenum target, GLuint index, GLboolean *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetBooleani_v)
    traceGL_lookupNativeAddress("glGetBooleani_v", (void **) &traceGL_Native.glGetBooleani_v);

  traceThis = traceEnabled("glGetBooleani_v");

  if (!traceGL_Native.glGetBooleani_v)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetBooleani_v");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetBooleani_v(target, index, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetIntegeri_v(GLenum target, GLuint index, GLint *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetIntegeri_v)
    traceGL_lookupNativeAddress("glGetIntegeri_v", (void **) &traceGL_Native.glGetIntegeri_v);

  traceThis = traceEnabled("glGetIntegeri_v");

  if (!traceGL_Native.glGetIntegeri_v)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetIntegeri_v");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetIntegeri_v(target, index, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEnablei(GLenum cap, GLuint index)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEnablei)
    traceGL_lookupNativeAddress("glEnablei", (void **) &traceGL_Native.glEnablei);

  traceThis = traceEnabled("glEnablei");

  if (!traceGL_Native.glEnablei)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEnablei");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("cap", "%u", cap);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEnablei(cap, index);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDisablei(GLenum cap, GLuint index)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDisablei)
    traceGL_lookupNativeAddress("glDisablei", (void **) &traceGL_Native.glDisablei);

  traceThis = traceEnabled("glDisablei");

  if (!traceGL_Native.glDisablei)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDisablei");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("cap", "%u", cap);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDisablei(cap, index);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsEnabledi(GLenum target, GLuint index)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsEnabledi)
    traceGL_lookupNativeAddress("glIsEnabledi", (void **) &traceGL_Native.glIsEnabledi);

  traceThis = traceEnabled("glIsEnabledi");

  if (!traceGL_Native.glIsEnabledi)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsEnabledi");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsEnabledi(target, index);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBeginTransformFeedback(GLenum primitiveMode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBeginTransformFeedback)
    traceGL_lookupNativeAddress("glBeginTransformFeedback", (void **) &traceGL_Native.glBeginTransformFeedback);

  traceThis = traceEnabled("glBeginTransformFeedback");

  if (!traceGL_Native.glBeginTransformFeedback)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBeginTransformFeedback");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("primitiveMode", "%u", primitiveMode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBeginTransformFeedback(primitiveMode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEndTransformFeedback()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndTransformFeedback)
    traceGL_lookupNativeAddress("glEndTransformFeedback", (void **) &traceGL_Native.glEndTransformFeedback);

  traceThis = traceEnabled("glEndTransformFeedback");

  if (!traceGL_Native.glEndTransformFeedback)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEndTransformFeedback");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEndTransformFeedback();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindBufferRange)
    traceGL_lookupNativeAddress("glBindBufferRange", (void **) &traceGL_Native.glBindBufferRange);

  traceThis = traceEnabled("glBindBufferRange");

  if (!traceGL_Native.glBindBufferRange)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindBufferRange");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("offset", "%z", offset);
    traceInputParameter("size", "%z", size);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindBufferRange(target, index, buffer, offset, size);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBindBufferBase(GLenum target, GLuint index, GLuint buffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindBufferBase)
    traceGL_lookupNativeAddress("glBindBufferBase", (void **) &traceGL_Native.glBindBufferBase);

  traceThis = traceEnabled("glBindBufferBase");

  if (!traceGL_Native.glBindBufferBase)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindBufferBase");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("buffer", "%u", buffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindBufferBase(target, index, buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar **varyings, GLenum bufferMode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTransformFeedbackVaryings)
    traceGL_lookupNativeAddress("glTransformFeedbackVaryings", (void **) &traceGL_Native.glTransformFeedbackVaryings);

  traceThis = traceEnabled("glTransformFeedbackVaryings");

  if (!traceGL_Native.glTransformFeedbackVaryings)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTransformFeedbackVaryings");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("count", "%d", count);
    traceInputParameter("bufferMode", "%u", bufferMode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTransformFeedbackVaryings(program, count, varyings, bufferMode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTransformFeedbackVarying)
    traceGL_lookupNativeAddress("glGetTransformFeedbackVarying", (void **) &traceGL_Native.glGetTransformFeedbackVarying);

  traceThis = traceEnabled("glGetTransformFeedbackVarying");

  if (!traceGL_Native.glGetTransformFeedbackVarying)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTransformFeedbackVarying");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("index", "%u", index);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTransformFeedbackVarying(program, index, bufSize, length, size, type, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("length", "%d[%d]", length, 1);
    traceOutputParameter("size", "%d[%d]", size, 1);
    traceOutputParameter("type", "%u[%d]", type, 1);
    traceOutputParameter("name", "%c[%d]", name, bufSize);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glClampColor(GLenum target, GLenum clamp)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClampColor)
    traceGL_lookupNativeAddress("glClampColor", (void **) &traceGL_Native.glClampColor);

  traceThis = traceEnabled("glClampColor");

  if (!traceGL_Native.glClampColor)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClampColor");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("clamp", "%u", clamp);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glClampColor(target, clamp);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBeginConditionalRender(GLuint id, GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBeginConditionalRender)
    traceGL_lookupNativeAddress("glBeginConditionalRender", (void **) &traceGL_Native.glBeginConditionalRender);

  traceThis = traceEnabled("glBeginConditionalRender");

  if (!traceGL_Native.glBeginConditionalRender)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBeginConditionalRender");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBeginConditionalRender(id, mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEndConditionalRender()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndConditionalRender)
    traceGL_lookupNativeAddress("glEndConditionalRender", (void **) &traceGL_Native.glEndConditionalRender);

  traceThis = traceEnabled("glEndConditionalRender");

  if (!traceGL_Native.glEndConditionalRender)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEndConditionalRender");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEndConditionalRender();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribIPointer)
    traceGL_lookupNativeAddress("glVertexAttribIPointer", (void **) &traceGL_Native.glVertexAttribIPointer);

  traceThis = traceEnabled("glVertexAttribIPointer");

  if (!traceGL_Native.glVertexAttribIPointer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribIPointer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribIPointer(index, size, type, stride, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribIiv)
    traceGL_lookupNativeAddress("glGetVertexAttribIiv", (void **) &traceGL_Native.glGetVertexAttribIiv);

  traceThis = traceEnabled("glGetVertexAttribIiv");

  if (!traceGL_Native.glGetVertexAttribIiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribIiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVertexAttribIiv(index, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%d[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribIuiv)
    traceGL_lookupNativeAddress("glGetVertexAttribIuiv", (void **) &traceGL_Native.glGetVertexAttribIuiv);

  traceThis = traceEnabled("glGetVertexAttribIuiv");

  if (!traceGL_Native.glGetVertexAttribIuiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribIuiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVertexAttribIuiv(index, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%u[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI1i(GLuint index, GLint x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI1i)
    traceGL_lookupNativeAddress("glVertexAttribI1i", (void **) &traceGL_Native.glVertexAttribI1i);

  traceThis = traceEnabled("glVertexAttribI1i");

  if (!traceGL_Native.glVertexAttribI1i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI1i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%d", x);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI1i(index, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI2i(GLuint index, GLint x, GLint y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI2i)
    traceGL_lookupNativeAddress("glVertexAttribI2i", (void **) &traceGL_Native.glVertexAttribI2i);

  traceThis = traceEnabled("glVertexAttribI2i");

  if (!traceGL_Native.glVertexAttribI2i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI2i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI2i(index, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI3i)
    traceGL_lookupNativeAddress("glVertexAttribI3i", (void **) &traceGL_Native.glVertexAttribI3i);

  traceThis = traceEnabled("glVertexAttribI3i");

  if (!traceGL_Native.glVertexAttribI3i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI3i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("z", "%d", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI3i(index, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4i)
    traceGL_lookupNativeAddress("glVertexAttribI4i", (void **) &traceGL_Native.glVertexAttribI4i);

  traceThis = traceEnabled("glVertexAttribI4i");

  if (!traceGL_Native.glVertexAttribI4i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("z", "%d", z);
    traceInputParameter("w", "%d", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI4i(index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI1ui(GLuint index, GLuint x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI1ui)
    traceGL_lookupNativeAddress("glVertexAttribI1ui", (void **) &traceGL_Native.glVertexAttribI1ui);

  traceThis = traceEnabled("glVertexAttribI1ui");

  if (!traceGL_Native.glVertexAttribI1ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI1ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%u", x);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI1ui(index, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI2ui(GLuint index, GLuint x, GLuint y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI2ui)
    traceGL_lookupNativeAddress("glVertexAttribI2ui", (void **) &traceGL_Native.glVertexAttribI2ui);

  traceThis = traceEnabled("glVertexAttribI2ui");

  if (!traceGL_Native.glVertexAttribI2ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI2ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%u", x);
    traceInputParameter("y", "%u", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI2ui(index, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI3ui)
    traceGL_lookupNativeAddress("glVertexAttribI3ui", (void **) &traceGL_Native.glVertexAttribI3ui);

  traceThis = traceEnabled("glVertexAttribI3ui");

  if (!traceGL_Native.glVertexAttribI3ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI3ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%u", x);
    traceInputParameter("y", "%u", y);
    traceInputParameter("z", "%u", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI3ui(index, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4ui)
    traceGL_lookupNativeAddress("glVertexAttribI4ui", (void **) &traceGL_Native.glVertexAttribI4ui);

  traceThis = traceEnabled("glVertexAttribI4ui");

  if (!traceGL_Native.glVertexAttribI4ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%u", x);
    traceInputParameter("y", "%u", y);
    traceInputParameter("z", "%u", z);
    traceInputParameter("w", "%u", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI4ui(index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI1iv(GLuint index, const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI1iv)
    traceGL_lookupNativeAddress("glVertexAttribI1iv", (void **) &traceGL_Native.glVertexAttribI1iv);

  traceThis = traceEnabled("glVertexAttribI1iv");

  if (!traceGL_Native.glVertexAttribI1iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI1iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%d[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI1iv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI2iv(GLuint index, const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI2iv)
    traceGL_lookupNativeAddress("glVertexAttribI2iv", (void **) &traceGL_Native.glVertexAttribI2iv);

  traceThis = traceEnabled("glVertexAttribI2iv");

  if (!traceGL_Native.glVertexAttribI2iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI2iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%d[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI2iv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI3iv(GLuint index, const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI3iv)
    traceGL_lookupNativeAddress("glVertexAttribI3iv", (void **) &traceGL_Native.glVertexAttribI3iv);

  traceThis = traceEnabled("glVertexAttribI3iv");

  if (!traceGL_Native.glVertexAttribI3iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI3iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%d[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI3iv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI4iv(GLuint index, const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4iv)
    traceGL_lookupNativeAddress("glVertexAttribI4iv", (void **) &traceGL_Native.glVertexAttribI4iv);

  traceThis = traceEnabled("glVertexAttribI4iv");

  if (!traceGL_Native.glVertexAttribI4iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%d[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI4iv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI1uiv(GLuint index, const GLuint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI1uiv)
    traceGL_lookupNativeAddress("glVertexAttribI1uiv", (void **) &traceGL_Native.glVertexAttribI1uiv);

  traceThis = traceEnabled("glVertexAttribI1uiv");

  if (!traceGL_Native.glVertexAttribI1uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI1uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%u[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI1uiv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI2uiv(GLuint index, const GLuint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI2uiv)
    traceGL_lookupNativeAddress("glVertexAttribI2uiv", (void **) &traceGL_Native.glVertexAttribI2uiv);

  traceThis = traceEnabled("glVertexAttribI2uiv");

  if (!traceGL_Native.glVertexAttribI2uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI2uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%u[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI2uiv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI3uiv(GLuint index, const GLuint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI3uiv)
    traceGL_lookupNativeAddress("glVertexAttribI3uiv", (void **) &traceGL_Native.glVertexAttribI3uiv);

  traceThis = traceEnabled("glVertexAttribI3uiv");

  if (!traceGL_Native.glVertexAttribI3uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI3uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%u[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI3uiv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI4uiv(GLuint index, const GLuint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4uiv)
    traceGL_lookupNativeAddress("glVertexAttribI4uiv", (void **) &traceGL_Native.glVertexAttribI4uiv);

  traceThis = traceEnabled("glVertexAttribI4uiv");

  if (!traceGL_Native.glVertexAttribI4uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%u[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI4uiv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI4bv(GLuint index, const GLbyte *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4bv)
    traceGL_lookupNativeAddress("glVertexAttribI4bv", (void **) &traceGL_Native.glVertexAttribI4bv);

  traceThis = traceEnabled("glVertexAttribI4bv");

  if (!traceGL_Native.glVertexAttribI4bv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4bv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%c[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI4bv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI4sv(GLuint index, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4sv)
    traceGL_lookupNativeAddress("glVertexAttribI4sv", (void **) &traceGL_Native.glVertexAttribI4sv);

  traceThis = traceEnabled("glVertexAttribI4sv");

  if (!traceGL_Native.glVertexAttribI4sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4sv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%hd[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI4sv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI4ubv(GLuint index, const GLubyte *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4ubv)
    traceGL_lookupNativeAddress("glVertexAttribI4ubv", (void **) &traceGL_Native.glVertexAttribI4ubv);

  traceThis = traceEnabled("glVertexAttribI4ubv");

  if (!traceGL_Native.glVertexAttribI4ubv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4ubv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%c[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI4ubv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI4usv(GLuint index, const GLushort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4usv)
    traceGL_lookupNativeAddress("glVertexAttribI4usv", (void **) &traceGL_Native.glVertexAttribI4usv);

  traceThis = traceEnabled("glVertexAttribI4usv");

  if (!traceGL_Native.glVertexAttribI4usv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4usv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%hu[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI4usv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetUniformuiv(GLuint program, GLint location, GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformuiv)
    traceGL_lookupNativeAddress("glGetUniformuiv", (void **) &traceGL_Native.glGetUniformuiv);

  traceThis = traceEnabled("glGetUniformuiv");

  if (!traceGL_Native.glGetUniformuiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformuiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetUniformuiv(program, location, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindFragDataLocation)
    traceGL_lookupNativeAddress("glBindFragDataLocation", (void **) &traceGL_Native.glBindFragDataLocation);

  traceThis = traceEnabled("glBindFragDataLocation");

  if (!traceGL_Native.glBindFragDataLocation)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindFragDataLocation");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("color", "%u", color);
    traceInputParameter("name", "%s", name);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindFragDataLocation(program, color, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLint GLAPIENTRY
glGetFragDataLocation(GLuint program, const GLchar *name)
{
  GLint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFragDataLocation)
    traceGL_lookupNativeAddress("glGetFragDataLocation", (void **) &traceGL_Native.glGetFragDataLocation);

  traceThis = traceEnabled("glGetFragDataLocation");

  if (!traceGL_Native.glGetFragDataLocation)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFragDataLocation");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("name", "%s", name);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGetFragDataLocation(program, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%d", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glUniform1ui(GLint location, GLuint v0)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1ui)
    traceGL_lookupNativeAddress("glUniform1ui", (void **) &traceGL_Native.glUniform1ui);

  traceThis = traceEnabled("glUniform1ui");

  if (!traceGL_Native.glUniform1ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%u", v0);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform1ui(location, v0);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform2ui(GLint location, GLuint v0, GLuint v1)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2ui)
    traceGL_lookupNativeAddress("glUniform2ui", (void **) &traceGL_Native.glUniform2ui);

  traceThis = traceEnabled("glUniform2ui");

  if (!traceGL_Native.glUniform2ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%u", v0);
    traceInputParameter("v1", "%u", v1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform2ui(location, v0, v1);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3ui)
    traceGL_lookupNativeAddress("glUniform3ui", (void **) &traceGL_Native.glUniform3ui);

  traceThis = traceEnabled("glUniform3ui");

  if (!traceGL_Native.glUniform3ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%u", v0);
    traceInputParameter("v1", "%u", v1);
    traceInputParameter("v2", "%u", v2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform3ui(location, v0, v1, v2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4ui)
    traceGL_lookupNativeAddress("glUniform4ui", (void **) &traceGL_Native.glUniform4ui);

  traceThis = traceEnabled("glUniform4ui");

  if (!traceGL_Native.glUniform4ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%u", v0);
    traceInputParameter("v1", "%u", v1);
    traceInputParameter("v2", "%u", v2);
    traceInputParameter("v3", "%u", v3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform4ui(location, v0, v1, v2, v3);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform1uiv(GLint location, GLsizei count, const GLuint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1uiv)
    traceGL_lookupNativeAddress("glUniform1uiv", (void **) &traceGL_Native.glUniform1uiv);

  traceThis = traceEnabled("glUniform1uiv");

  if (!traceGL_Native.glUniform1uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%u[%d]", value, count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform1uiv(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform2uiv(GLint location, GLsizei count, const GLuint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2uiv)
    traceGL_lookupNativeAddress("glUniform2uiv", (void **) &traceGL_Native.glUniform2uiv);

  traceThis = traceEnabled("glUniform2uiv");

  if (!traceGL_Native.glUniform2uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%u[%d]", value, count * 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform2uiv(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform3uiv(GLint location, GLsizei count, const GLuint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3uiv)
    traceGL_lookupNativeAddress("glUniform3uiv", (void **) &traceGL_Native.glUniform3uiv);

  traceThis = traceEnabled("glUniform3uiv");

  if (!traceGL_Native.glUniform3uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%u[%d]", value, count * 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform3uiv(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform4uiv(GLint location, GLsizei count, const GLuint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4uiv)
    traceGL_lookupNativeAddress("glUniform4uiv", (void **) &traceGL_Native.glUniform4uiv);

  traceThis = traceEnabled("glUniform4uiv");

  if (!traceGL_Native.glUniform4uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%u[%d]", value, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform4uiv(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexParameterIiv(GLenum target, GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexParameterIiv)
    traceGL_lookupNativeAddress("glTexParameterIiv", (void **) &traceGL_Native.glTexParameterIiv);

  traceThis = traceEnabled("glTexParameterIiv");

  if (!traceGL_Native.glTexParameterIiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexParameterIiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexParameterIiv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexParameterIuiv)
    traceGL_lookupNativeAddress("glTexParameterIuiv", (void **) &traceGL_Native.glTexParameterIuiv);

  traceThis = traceEnabled("glTexParameterIuiv");

  if (!traceGL_Native.glTexParameterIuiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexParameterIuiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexParameterIuiv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTexParameterIiv)
    traceGL_lookupNativeAddress("glGetTexParameterIiv", (void **) &traceGL_Native.glGetTexParameterIiv);

  traceThis = traceEnabled("glGetTexParameterIiv");

  if (!traceGL_Native.glGetTexParameterIiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTexParameterIiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTexParameterIiv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTexParameterIuiv)
    traceGL_lookupNativeAddress("glGetTexParameterIuiv", (void **) &traceGL_Native.glGetTexParameterIuiv);

  traceThis = traceEnabled("glGetTexParameterIuiv");

  if (!traceGL_Native.glGetTexParameterIuiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTexParameterIuiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTexParameterIuiv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClearBufferiv)
    traceGL_lookupNativeAddress("glClearBufferiv", (void **) &traceGL_Native.glClearBufferiv);

  traceThis = traceEnabled("glClearBufferiv");

  if (!traceGL_Native.glClearBufferiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClearBufferiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("drawbuffer", "%d", drawbuffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glClearBufferiv(buffer, drawbuffer, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClearBufferuiv)
    traceGL_lookupNativeAddress("glClearBufferuiv", (void **) &traceGL_Native.glClearBufferuiv);

  traceThis = traceEnabled("glClearBufferuiv");

  if (!traceGL_Native.glClearBufferuiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClearBufferuiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("drawbuffer", "%d", drawbuffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glClearBufferuiv(buffer, drawbuffer, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClearBufferfv)
    traceGL_lookupNativeAddress("glClearBufferfv", (void **) &traceGL_Native.glClearBufferfv);

  traceThis = traceEnabled("glClearBufferfv");

  if (!traceGL_Native.glClearBufferfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClearBufferfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("drawbuffer", "%d", drawbuffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glClearBufferfv(buffer, drawbuffer, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClearBufferfi)
    traceGL_lookupNativeAddress("glClearBufferfi", (void **) &traceGL_Native.glClearBufferfi);

  traceThis = traceEnabled("glClearBufferfi");

  if (!traceGL_Native.glClearBufferfi)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClearBufferfi");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("drawbuffer", "%d", drawbuffer);
    traceInputParameter("depth", "%f", depth);
    traceInputParameter("stencil", "%d", stencil);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glClearBufferfi(buffer, drawbuffer, depth, stencil);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT const GLubyte *GLAPIENTRY
glGetStringi(GLenum name, GLuint index)
{
  const GLubyte *ret = NULL;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetStringi)
    traceGL_lookupNativeAddress("glGetStringi", (void **) &traceGL_Native.glGetStringi);

  traceThis = traceEnabled("glGetStringi");

  if (!traceGL_Native.glGetStringi)
    return NULL;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetStringi");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("name", "%u", name);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGetStringi(name, index);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%s", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glDrawArraysInstanced(GLenum mode, GLint start, GLsizei count, GLsizei primcount)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawArraysInstanced)
    traceGL_lookupNativeAddress("glDrawArraysInstanced", (void **) &traceGL_Native.glDrawArraysInstanced);

  traceThis = traceEnabled("glDrawArraysInstanced");

  if (!traceGL_Native.glDrawArraysInstanced)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawArraysInstanced");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("start", "%d", start);
    traceInputParameter("count", "%d", count);
    traceInputParameter("primcount", "%d", primcount);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawArraysInstanced(mode, start, count, primcount);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawElementsInstanced)
    traceGL_lookupNativeAddress("glDrawElementsInstanced", (void **) &traceGL_Native.glDrawElementsInstanced);

  traceThis = traceEnabled("glDrawElementsInstanced");

  if (!traceGL_Native.glDrawElementsInstanced)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawElementsInstanced");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("count", "%d", count);
    traceInputParameter("type", "%u", type);
    traceInputParameter("indices", "%p", indices);
    traceInputParameter("primcount", "%d", primcount);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawElementsInstanced(mode, count, type, indices, primcount);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexBuffer)
    traceGL_lookupNativeAddress("glTexBuffer", (void **) &traceGL_Native.glTexBuffer);

  traceThis = traceEnabled("glTexBuffer");

  if (!traceGL_Native.glTexBuffer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexBuffer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("buffer", "%u", buffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexBuffer(target, internalformat, buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPrimitiveRestartIndex(GLuint index)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPrimitiveRestartIndex)
    traceGL_lookupNativeAddress("glPrimitiveRestartIndex", (void **) &traceGL_Native.glPrimitiveRestartIndex);

  traceThis = traceEnabled("glPrimitiveRestartIndex");

  if (!traceGL_Native.glPrimitiveRestartIndex)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPrimitiveRestartIndex");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPrimitiveRestartIndex(index);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetInteger64i_v)
    traceGL_lookupNativeAddress("glGetInteger64i_v", (void **) &traceGL_Native.glGetInteger64i_v);

  traceThis = traceEnabled("glGetInteger64i_v");

  if (!traceGL_Native.glGetInteger64i_v)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetInteger64i_v");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetInteger64i_v(target, index, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetBufferParameteri64v)
    traceGL_lookupNativeAddress("glGetBufferParameteri64v", (void **) &traceGL_Native.glGetBufferParameteri64v);

  traceThis = traceEnabled("glGetBufferParameteri64v");

  if (!traceGL_Native.glGetBufferParameteri64v)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetBufferParameteri64v");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetBufferParameteri64v(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTexture)
    traceGL_lookupNativeAddress("glFramebufferTexture", (void **) &traceGL_Native.glFramebufferTexture);

  traceThis = traceEnabled("glFramebufferTexture");

  if (!traceGL_Native.glFramebufferTexture)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTexture");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("texture", "%u", texture);
    traceInputParameter("level", "%d", level);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFramebufferTexture(target, attachment, texture, level);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFramebufferTextureFace(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTextureFace)
    traceGL_lookupNativeAddress("glFramebufferTextureFace", (void **) &traceGL_Native.glFramebufferTextureFace);

  traceThis = traceEnabled("glFramebufferTextureFace");

  if (!traceGL_Native.glFramebufferTextureFace)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTextureFace");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("texture", "%u", texture);
    traceInputParameter("level", "%d", level);
    traceInputParameter("face", "%u", face);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFramebufferTextureFace(target, attachment, texture, level, face);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenSamplers(GLsizei count, GLuint *samplers)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenSamplers)
    traceGL_lookupNativeAddress("glGenSamplers", (void **) &traceGL_Native.glGenSamplers);

  traceThis = traceEnabled("glGenSamplers");

  if (!traceGL_Native.glGenSamplers)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenSamplers");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenSamplers(count, samplers);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("samplers", "%u[%d]", samplers, count);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteSamplers(GLsizei count, const GLuint *samplers)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteSamplers)
    traceGL_lookupNativeAddress("glDeleteSamplers", (void **) &traceGL_Native.glDeleteSamplers);

  traceThis = traceEnabled("glDeleteSamplers");

  if (!traceGL_Native.glDeleteSamplers)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteSamplers");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("count", "%d", count);
    traceInputParameter("samplers", "%u[%d]", samplers, count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteSamplers(count, samplers);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsSampler(GLuint sampler)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsSampler)
    traceGL_lookupNativeAddress("glIsSampler", (void **) &traceGL_Native.glIsSampler);

  traceThis = traceEnabled("glIsSampler");

  if (!traceGL_Native.glIsSampler)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsSampler");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("sampler", "%u", sampler);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsSampler(sampler);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBindSampler(GLuint unit, GLuint sampler)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindSampler)
    traceGL_lookupNativeAddress("glBindSampler", (void **) &traceGL_Native.glBindSampler);

  traceThis = traceEnabled("glBindSampler");

  if (!traceGL_Native.glBindSampler)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindSampler");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("unit", "%u", unit);
    traceInputParameter("sampler", "%u", sampler);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindSampler(unit, sampler);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSamplerParameteri(GLuint sampler, GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSamplerParameteri)
    traceGL_lookupNativeAddress("glSamplerParameteri", (void **) &traceGL_Native.glSamplerParameteri);

  traceThis = traceEnabled("glSamplerParameteri");

  if (!traceGL_Native.glSamplerParameteri)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSamplerParameteri");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("sampler", "%u", sampler);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSamplerParameteri(sampler, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSamplerParameterf)
    traceGL_lookupNativeAddress("glSamplerParameterf", (void **) &traceGL_Native.glSamplerParameterf);

  traceThis = traceEnabled("glSamplerParameterf");

  if (!traceGL_Native.glSamplerParameterf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSamplerParameterf");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("sampler", "%u", sampler);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSamplerParameterf(sampler, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSamplerParameteriv)
    traceGL_lookupNativeAddress("glSamplerParameteriv", (void **) &traceGL_Native.glSamplerParameteriv);

  traceThis = traceEnabled("glSamplerParameteriv");

  if (!traceGL_Native.glSamplerParameteriv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSamplerParameteriv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("sampler", "%u", sampler);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSamplerParameteriv(sampler, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSamplerParameterfv)
    traceGL_lookupNativeAddress("glSamplerParameterfv", (void **) &traceGL_Native.glSamplerParameterfv);

  traceThis = traceEnabled("glSamplerParameterfv");

  if (!traceGL_Native.glSamplerParameterfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSamplerParameterfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("sampler", "%u", sampler);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSamplerParameterfv(sampler, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSamplerParameterIiv)
    traceGL_lookupNativeAddress("glSamplerParameterIiv", (void **) &traceGL_Native.glSamplerParameterIiv);

  traceThis = traceEnabled("glSamplerParameterIiv");

  if (!traceGL_Native.glSamplerParameterIiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSamplerParameterIiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("sampler", "%u", sampler);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSamplerParameterIiv(sampler, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSamplerParameterIuiv)
    traceGL_lookupNativeAddress("glSamplerParameterIuiv", (void **) &traceGL_Native.glSamplerParameterIuiv);

  traceThis = traceEnabled("glSamplerParameterIuiv");

  if (!traceGL_Native.glSamplerParameterIuiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSamplerParameterIuiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("sampler", "%u", sampler);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSamplerParameterIuiv(sampler, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetSamplerParameteriv)
    traceGL_lookupNativeAddress("glGetSamplerParameteriv", (void **) &traceGL_Native.glGetSamplerParameteriv);

  traceThis = traceEnabled("glGetSamplerParameteriv");

  if (!traceGL_Native.glGetSamplerParameteriv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetSamplerParameteriv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("sampler", "%u", sampler);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetSamplerParameteriv(sampler, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetSamplerParameterfv)
    traceGL_lookupNativeAddress("glGetSamplerParameterfv", (void **) &traceGL_Native.glGetSamplerParameterfv);

  traceThis = traceEnabled("glGetSamplerParameterfv");

  if (!traceGL_Native.glGetSamplerParameterfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetSamplerParameterfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("sampler", "%u", sampler);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetSamplerParameterfv(sampler, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetSamplerParameterIiv)
    traceGL_lookupNativeAddress("glGetSamplerParameterIiv", (void **) &traceGL_Native.glGetSamplerParameterIiv);

  traceThis = traceEnabled("glGetSamplerParameterIiv");

  if (!traceGL_Native.glGetSamplerParameterIiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetSamplerParameterIiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("sampler", "%u", sampler);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetSamplerParameterIiv(sampler, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetSamplerParameterIuiv)
    traceGL_lookupNativeAddress("glGetSamplerParameterIuiv", (void **) &traceGL_Native.glGetSamplerParameterIuiv);

  traceThis = traceEnabled("glGetSamplerParameterIuiv");

  if (!traceGL_Native.glGetSamplerParameterIuiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetSamplerParameterIuiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("sampler", "%u", sampler);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetSamplerParameterIuiv(sampler, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBindFragDataLocationIndexed(GLuint program, GLuint color, GLuint index, const GLchar *name)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindFragDataLocationIndexed)
    traceGL_lookupNativeAddress("glBindFragDataLocationIndexed", (void **) &traceGL_Native.glBindFragDataLocationIndexed);

  traceThis = traceEnabled("glBindFragDataLocationIndexed");

  if (!traceGL_Native.glBindFragDataLocationIndexed)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindFragDataLocationIndexed");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("color", "%u", color);
    traceInputParameter("index", "%u", index);
    traceInputParameter("name", "%s", name);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindFragDataLocationIndexed(program, color, index, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLint GLAPIENTRY
glGetFragDataIndex(GLuint program, const GLchar *name)
{
  GLint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFragDataIndex)
    traceGL_lookupNativeAddress("glGetFragDataIndex", (void **) &traceGL_Native.glGetFragDataIndex);

  traceThis = traceEnabled("glGetFragDataIndex");

  if (!traceGL_Native.glGetFragDataIndex)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFragDataIndex");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("name", "%s", name);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGetFragDataIndex(program, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%d", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetQueryObjecti64v)
    traceGL_lookupNativeAddress("glGetQueryObjecti64v", (void **) &traceGL_Native.glGetQueryObjecti64v);

  traceThis = traceEnabled("glGetQueryObjecti64v");

  if (!traceGL_Native.glGetQueryObjecti64v)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetQueryObjecti64v");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetQueryObjecti64v(id, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetQueryObjectui64v)
    traceGL_lookupNativeAddress("glGetQueryObjectui64v", (void **) &traceGL_Native.glGetQueryObjectui64v);

  traceThis = traceEnabled("glGetQueryObjectui64v");

  if (!traceGL_Native.glGetQueryObjectui64v)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetQueryObjectui64v");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetQueryObjectui64v(id, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glQueryCounter(GLuint id, GLenum target)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glQueryCounter)
    traceGL_lookupNativeAddress("glQueryCounter", (void **) &traceGL_Native.glQueryCounter);

  traceThis = traceEnabled("glQueryCounter");

  if (!traceGL_Native.glQueryCounter)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glQueryCounter");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glQueryCounter(id, target);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribDivisor(GLuint index, GLuint divisor)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribDivisor)
    traceGL_lookupNativeAddress("glVertexAttribDivisor", (void **) &traceGL_Native.glVertexAttribDivisor);

  traceThis = traceEnabled("glVertexAttribDivisor");

  if (!traceGL_Native.glVertexAttribDivisor)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribDivisor");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("divisor", "%u", divisor);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribDivisor(index, divisor);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexP2ui(GLenum type, GLuint coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexP2ui)
    traceGL_lookupNativeAddress("glVertexP2ui", (void **) &traceGL_Native.glVertexP2ui);

  traceThis = traceEnabled("glVertexP2ui");

  if (!traceGL_Native.glVertexP2ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexP2ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("coords", "%u", coords);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexP2ui(type, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexP2uiv(GLenum type, const GLuint *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexP2uiv)
    traceGL_lookupNativeAddress("glVertexP2uiv", (void **) &traceGL_Native.glVertexP2uiv);

  traceThis = traceEnabled("glVertexP2uiv");

  if (!traceGL_Native.glVertexP2uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexP2uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("coords", "%u[%d]", coords, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexP2uiv(type, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexP3ui(GLenum type, GLuint coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexP3ui)
    traceGL_lookupNativeAddress("glVertexP3ui", (void **) &traceGL_Native.glVertexP3ui);

  traceThis = traceEnabled("glVertexP3ui");

  if (!traceGL_Native.glVertexP3ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexP3ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("coords", "%u", coords);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexP3ui(type, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexP3uiv(GLenum type, const GLuint *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexP3uiv)
    traceGL_lookupNativeAddress("glVertexP3uiv", (void **) &traceGL_Native.glVertexP3uiv);

  traceThis = traceEnabled("glVertexP3uiv");

  if (!traceGL_Native.glVertexP3uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexP3uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("coords", "%u[%d]", coords, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexP3uiv(type, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexP4ui(GLenum type, GLuint coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexP4ui)
    traceGL_lookupNativeAddress("glVertexP4ui", (void **) &traceGL_Native.glVertexP4ui);

  traceThis = traceEnabled("glVertexP4ui");

  if (!traceGL_Native.glVertexP4ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexP4ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("coords", "%u", coords);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexP4ui(type, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexP4uiv(GLenum type, const GLuint *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexP4uiv)
    traceGL_lookupNativeAddress("glVertexP4uiv", (void **) &traceGL_Native.glVertexP4uiv);

  traceThis = traceEnabled("glVertexP4uiv");

  if (!traceGL_Native.glVertexP4uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexP4uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("coords", "%u[%d]", coords, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexP4uiv(type, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoordP1ui(GLenum type, GLuint coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoordP1ui)
    traceGL_lookupNativeAddress("glTexCoordP1ui", (void **) &traceGL_Native.glTexCoordP1ui);

  traceThis = traceEnabled("glTexCoordP1ui");

  if (!traceGL_Native.glTexCoordP1ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoordP1ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("coords", "%u", coords);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoordP1ui(type, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoordP1uiv(GLenum type, const GLuint *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoordP1uiv)
    traceGL_lookupNativeAddress("glTexCoordP1uiv", (void **) &traceGL_Native.glTexCoordP1uiv);

  traceThis = traceEnabled("glTexCoordP1uiv");

  if (!traceGL_Native.glTexCoordP1uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoordP1uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("coords", "%u[%d]", coords, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoordP1uiv(type, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoordP2ui(GLenum type, GLuint coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoordP2ui)
    traceGL_lookupNativeAddress("glTexCoordP2ui", (void **) &traceGL_Native.glTexCoordP2ui);

  traceThis = traceEnabled("glTexCoordP2ui");

  if (!traceGL_Native.glTexCoordP2ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoordP2ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("coords", "%u", coords);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoordP2ui(type, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoordP2uiv(GLenum type, const GLuint *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoordP2uiv)
    traceGL_lookupNativeAddress("glTexCoordP2uiv", (void **) &traceGL_Native.glTexCoordP2uiv);

  traceThis = traceEnabled("glTexCoordP2uiv");

  if (!traceGL_Native.glTexCoordP2uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoordP2uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("coords", "%u[%d]", coords, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoordP2uiv(type, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoordP3ui(GLenum type, GLuint coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoordP3ui)
    traceGL_lookupNativeAddress("glTexCoordP3ui", (void **) &traceGL_Native.glTexCoordP3ui);

  traceThis = traceEnabled("glTexCoordP3ui");

  if (!traceGL_Native.glTexCoordP3ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoordP3ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("coords", "%u", coords);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoordP3ui(type, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoordP3uiv(GLenum type, const GLuint *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoordP3uiv)
    traceGL_lookupNativeAddress("glTexCoordP3uiv", (void **) &traceGL_Native.glTexCoordP3uiv);

  traceThis = traceEnabled("glTexCoordP3uiv");

  if (!traceGL_Native.glTexCoordP3uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoordP3uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("coords", "%u[%d]", coords, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoordP3uiv(type, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoordP4ui(GLenum type, GLuint coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoordP4ui)
    traceGL_lookupNativeAddress("glTexCoordP4ui", (void **) &traceGL_Native.glTexCoordP4ui);

  traceThis = traceEnabled("glTexCoordP4ui");

  if (!traceGL_Native.glTexCoordP4ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoordP4ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("coords", "%u", coords);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoordP4ui(type, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoordP4uiv(GLenum type, const GLuint *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoordP4uiv)
    traceGL_lookupNativeAddress("glTexCoordP4uiv", (void **) &traceGL_Native.glTexCoordP4uiv);

  traceThis = traceEnabled("glTexCoordP4uiv");

  if (!traceGL_Native.glTexCoordP4uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoordP4uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("coords", "%u[%d]", coords, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoordP4uiv(type, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoordP1ui(GLenum target, GLenum type, GLuint coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoordP1ui)
    traceGL_lookupNativeAddress("glMultiTexCoordP1ui", (void **) &traceGL_Native.glMultiTexCoordP1ui);

  traceThis = traceEnabled("glMultiTexCoordP1ui");

  if (!traceGL_Native.glMultiTexCoordP1ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoordP1ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("type", "%u", type);
    traceInputParameter("coords", "%u", coords);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoordP1ui(target, type, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoordP1uiv(GLenum target, GLenum type, const GLuint *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoordP1uiv)
    traceGL_lookupNativeAddress("glMultiTexCoordP1uiv", (void **) &traceGL_Native.glMultiTexCoordP1uiv);

  traceThis = traceEnabled("glMultiTexCoordP1uiv");

  if (!traceGL_Native.glMultiTexCoordP1uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoordP1uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("type", "%u", type);
    traceInputParameter("coords", "%u[%d]", coords, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoordP1uiv(target, type, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoordP2ui(GLenum target, GLenum type, GLuint coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoordP2ui)
    traceGL_lookupNativeAddress("glMultiTexCoordP2ui", (void **) &traceGL_Native.glMultiTexCoordP2ui);

  traceThis = traceEnabled("glMultiTexCoordP2ui");

  if (!traceGL_Native.glMultiTexCoordP2ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoordP2ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("type", "%u", type);
    traceInputParameter("coords", "%u", coords);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoordP2ui(target, type, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoordP2uiv(GLenum target, GLenum type, const GLuint *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoordP2uiv)
    traceGL_lookupNativeAddress("glMultiTexCoordP2uiv", (void **) &traceGL_Native.glMultiTexCoordP2uiv);

  traceThis = traceEnabled("glMultiTexCoordP2uiv");

  if (!traceGL_Native.glMultiTexCoordP2uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoordP2uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("type", "%u", type);
    traceInputParameter("coords", "%u[%d]", coords, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoordP2uiv(target, type, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoordP3ui(GLenum target, GLenum type, GLuint coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoordP3ui)
    traceGL_lookupNativeAddress("glMultiTexCoordP3ui", (void **) &traceGL_Native.glMultiTexCoordP3ui);

  traceThis = traceEnabled("glMultiTexCoordP3ui");

  if (!traceGL_Native.glMultiTexCoordP3ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoordP3ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("type", "%u", type);
    traceInputParameter("coords", "%u", coords);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoordP3ui(target, type, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoordP3uiv(GLenum target, GLenum type, const GLuint *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoordP3uiv)
    traceGL_lookupNativeAddress("glMultiTexCoordP3uiv", (void **) &traceGL_Native.glMultiTexCoordP3uiv);

  traceThis = traceEnabled("glMultiTexCoordP3uiv");

  if (!traceGL_Native.glMultiTexCoordP3uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoordP3uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("type", "%u", type);
    traceInputParameter("coords", "%u[%d]", coords, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoordP3uiv(target, type, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoordP4ui(GLenum target, GLenum type, GLuint coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoordP4ui)
    traceGL_lookupNativeAddress("glMultiTexCoordP4ui", (void **) &traceGL_Native.glMultiTexCoordP4ui);

  traceThis = traceEnabled("glMultiTexCoordP4ui");

  if (!traceGL_Native.glMultiTexCoordP4ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoordP4ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("type", "%u", type);
    traceInputParameter("coords", "%u", coords);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoordP4ui(target, type, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoordP4uiv(GLenum target, GLenum type, const GLuint *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoordP4uiv)
    traceGL_lookupNativeAddress("glMultiTexCoordP4uiv", (void **) &traceGL_Native.glMultiTexCoordP4uiv);

  traceThis = traceEnabled("glMultiTexCoordP4uiv");

  if (!traceGL_Native.glMultiTexCoordP4uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoordP4uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("type", "%u", type);
    traceInputParameter("coords", "%u[%d]", coords, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoordP4uiv(target, type, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormalP3ui(GLenum type, GLuint coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalP3ui)
    traceGL_lookupNativeAddress("glNormalP3ui", (void **) &traceGL_Native.glNormalP3ui);

  traceThis = traceEnabled("glNormalP3ui");

  if (!traceGL_Native.glNormalP3ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalP3ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("coords", "%u", coords);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormalP3ui(type, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormalP3uiv(GLenum type, const GLuint *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalP3uiv)
    traceGL_lookupNativeAddress("glNormalP3uiv", (void **) &traceGL_Native.glNormalP3uiv);

  traceThis = traceEnabled("glNormalP3uiv");

  if (!traceGL_Native.glNormalP3uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalP3uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("coords", "%u[%d]", coords, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormalP3uiv(type, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColorP3ui(GLenum type, GLuint color)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorP3ui)
    traceGL_lookupNativeAddress("glColorP3ui", (void **) &traceGL_Native.glColorP3ui);

  traceThis = traceEnabled("glColorP3ui");

  if (!traceGL_Native.glColorP3ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorP3ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("color", "%u", color);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColorP3ui(type, color);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColorP3uiv(GLenum type, const GLuint *color)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorP3uiv)
    traceGL_lookupNativeAddress("glColorP3uiv", (void **) &traceGL_Native.glColorP3uiv);

  traceThis = traceEnabled("glColorP3uiv");

  if (!traceGL_Native.glColorP3uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorP3uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("color", "%u[%d]", color, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColorP3uiv(type, color);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColorP4ui(GLenum type, GLuint color)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorP4ui)
    traceGL_lookupNativeAddress("glColorP4ui", (void **) &traceGL_Native.glColorP4ui);

  traceThis = traceEnabled("glColorP4ui");

  if (!traceGL_Native.glColorP4ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorP4ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("color", "%u", color);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColorP4ui(type, color);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColorP4uiv(GLenum type, const GLuint *color)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorP4uiv)
    traceGL_lookupNativeAddress("glColorP4uiv", (void **) &traceGL_Native.glColorP4uiv);

  traceThis = traceEnabled("glColorP4uiv");

  if (!traceGL_Native.glColorP4uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorP4uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("color", "%u[%d]", color, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColorP4uiv(type, color);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColorP3ui(GLenum type, GLuint color)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColorP3ui)
    traceGL_lookupNativeAddress("glSecondaryColorP3ui", (void **) &traceGL_Native.glSecondaryColorP3ui);

  traceThis = traceEnabled("glSecondaryColorP3ui");

  if (!traceGL_Native.glSecondaryColorP3ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColorP3ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("color", "%u", color);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColorP3ui(type, color);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColorP3uiv(GLenum type, const GLuint *color)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColorP3uiv)
    traceGL_lookupNativeAddress("glSecondaryColorP3uiv", (void **) &traceGL_Native.glSecondaryColorP3uiv);

  traceThis = traceEnabled("glSecondaryColorP3uiv");

  if (!traceGL_Native.glSecondaryColorP3uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColorP3uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("color", "%u[%d]", color, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColorP3uiv(type, color);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribP1ui)
    traceGL_lookupNativeAddress("glVertexAttribP1ui", (void **) &traceGL_Native.glVertexAttribP1ui);

  traceThis = traceEnabled("glVertexAttribP1ui");

  if (!traceGL_Native.glVertexAttribP1ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribP1ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("type", "%u", type);
    traceInputParameter("normalized", "%u", (unsigned int) normalized);
    traceInputParameter("value", "%u", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribP1ui(index, type, normalized, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribP1uiv)
    traceGL_lookupNativeAddress("glVertexAttribP1uiv", (void **) &traceGL_Native.glVertexAttribP1uiv);

  traceThis = traceEnabled("glVertexAttribP1uiv");

  if (!traceGL_Native.glVertexAttribP1uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribP1uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("type", "%u", type);
    traceInputParameter("normalized", "%u", (unsigned int) normalized);
    traceInputParameter("value", "%u[%d]", value, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribP1uiv(index, type, normalized, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribP2ui)
    traceGL_lookupNativeAddress("glVertexAttribP2ui", (void **) &traceGL_Native.glVertexAttribP2ui);

  traceThis = traceEnabled("glVertexAttribP2ui");

  if (!traceGL_Native.glVertexAttribP2ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribP2ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("type", "%u", type);
    traceInputParameter("normalized", "%u", (unsigned int) normalized);
    traceInputParameter("value", "%u", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribP2ui(index, type, normalized, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribP2uiv)
    traceGL_lookupNativeAddress("glVertexAttribP2uiv", (void **) &traceGL_Native.glVertexAttribP2uiv);

  traceThis = traceEnabled("glVertexAttribP2uiv");

  if (!traceGL_Native.glVertexAttribP2uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribP2uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("type", "%u", type);
    traceInputParameter("normalized", "%u", (unsigned int) normalized);
    traceInputParameter("value", "%u[%d]", value, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribP2uiv(index, type, normalized, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribP3ui)
    traceGL_lookupNativeAddress("glVertexAttribP3ui", (void **) &traceGL_Native.glVertexAttribP3ui);

  traceThis = traceEnabled("glVertexAttribP3ui");

  if (!traceGL_Native.glVertexAttribP3ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribP3ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("type", "%u", type);
    traceInputParameter("normalized", "%u", (unsigned int) normalized);
    traceInputParameter("value", "%u", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribP3ui(index, type, normalized, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribP3uiv)
    traceGL_lookupNativeAddress("glVertexAttribP3uiv", (void **) &traceGL_Native.glVertexAttribP3uiv);

  traceThis = traceEnabled("glVertexAttribP3uiv");

  if (!traceGL_Native.glVertexAttribP3uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribP3uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("type", "%u", type);
    traceInputParameter("normalized", "%u", (unsigned int) normalized);
    traceInputParameter("value", "%u[%d]", value, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribP3uiv(index, type, normalized, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribP4ui)
    traceGL_lookupNativeAddress("glVertexAttribP4ui", (void **) &traceGL_Native.glVertexAttribP4ui);

  traceThis = traceEnabled("glVertexAttribP4ui");

  if (!traceGL_Native.glVertexAttribP4ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribP4ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("type", "%u", type);
    traceInputParameter("normalized", "%u", (unsigned int) normalized);
    traceInputParameter("value", "%u", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribP4ui(index, type, normalized, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribP4uiv)
    traceGL_lookupNativeAddress("glVertexAttribP4uiv", (void **) &traceGL_Native.glVertexAttribP4uiv);

  traceThis = traceEnabled("glVertexAttribP4uiv");

  if (!traceGL_Native.glVertexAttribP4uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribP4uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("type", "%u", type);
    traceInputParameter("normalized", "%u", (unsigned int) normalized);
    traceInputParameter("value", "%u[%d]", value, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribP4uiv(index, type, normalized, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBlendEquationi(GLuint buf, GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendEquationi)
    traceGL_lookupNativeAddress("glBlendEquationi", (void **) &traceGL_Native.glBlendEquationi);

  traceThis = traceEnabled("glBlendEquationi");

  if (!traceGL_Native.glBlendEquationi)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendEquationi");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buf", "%u", buf);
    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBlendEquationi(buf, mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendEquationSeparatei)
    traceGL_lookupNativeAddress("glBlendEquationSeparatei", (void **) &traceGL_Native.glBlendEquationSeparatei);

  traceThis = traceEnabled("glBlendEquationSeparatei");

  if (!traceGL_Native.glBlendEquationSeparatei)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendEquationSeparatei");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buf", "%u", buf);
    traceInputParameter("modeRGB", "%u", modeRGB);
    traceInputParameter("modeAlpha", "%u", modeAlpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBlendEquationSeparatei(buf, modeRGB, modeAlpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBlendFunci(GLuint buf, GLenum src, GLenum dst)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendFunci)
    traceGL_lookupNativeAddress("glBlendFunci", (void **) &traceGL_Native.glBlendFunci);

  traceThis = traceEnabled("glBlendFunci");

  if (!traceGL_Native.glBlendFunci)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendFunci");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buf", "%u", buf);
    traceInputParameter("src", "%u", src);
    traceInputParameter("dst", "%u", dst);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBlendFunci(buf, src, dst);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendFuncSeparatei)
    traceGL_lookupNativeAddress("glBlendFuncSeparatei", (void **) &traceGL_Native.glBlendFuncSeparatei);

  traceThis = traceEnabled("glBlendFuncSeparatei");

  if (!traceGL_Native.glBlendFuncSeparatei)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendFuncSeparatei");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buf", "%u", buf);
    traceInputParameter("srcRGB", "%u", srcRGB);
    traceInputParameter("dstRGB", "%u", dstRGB);
    traceInputParameter("srcAlpha", "%u", srcAlpha);
    traceInputParameter("dstAlpha", "%u", dstAlpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawArraysIndirect(GLenum mode, const GLvoid *indirect)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawArraysIndirect)
    traceGL_lookupNativeAddress("glDrawArraysIndirect", (void **) &traceGL_Native.glDrawArraysIndirect);

  traceThis = traceEnabled("glDrawArraysIndirect");

  if (!traceGL_Native.glDrawArraysIndirect)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawArraysIndirect");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("indirect", "%p", indirect);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawArraysIndirect(mode, indirect);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawElementsIndirect)
    traceGL_lookupNativeAddress("glDrawElementsIndirect", (void **) &traceGL_Native.glDrawElementsIndirect);

  traceThis = traceEnabled("glDrawElementsIndirect");

  if (!traceGL_Native.glDrawElementsIndirect)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawElementsIndirect");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("type", "%u", type);
    traceInputParameter("indirect", "%p", indirect);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawElementsIndirect(mode, type, indirect);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform1d(GLint location, GLdouble x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1d)
    traceGL_lookupNativeAddress("glUniform1d", (void **) &traceGL_Native.glUniform1d);

  traceThis = traceEnabled("glUniform1d");

  if (!traceGL_Native.glUniform1d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("x", "%lf", x);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform1d(location, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform2d(GLint location, GLdouble x, GLdouble y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2d)
    traceGL_lookupNativeAddress("glUniform2d", (void **) &traceGL_Native.glUniform2d);

  traceThis = traceEnabled("glUniform2d");

  if (!traceGL_Native.glUniform2d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform2d(location, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3d)
    traceGL_lookupNativeAddress("glUniform3d", (void **) &traceGL_Native.glUniform3d);

  traceThis = traceEnabled("glUniform3d");

  if (!traceGL_Native.glUniform3d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform3d(location, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4d)
    traceGL_lookupNativeAddress("glUniform4d", (void **) &traceGL_Native.glUniform4d);

  traceThis = traceEnabled("glUniform4d");

  if (!traceGL_Native.glUniform4d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);
    traceInputParameter("w", "%lf", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform4d(location, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform1dv(GLint location, GLsizei count, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1dv)
    traceGL_lookupNativeAddress("glUniform1dv", (void **) &traceGL_Native.glUniform1dv);

  traceThis = traceEnabled("glUniform1dv");

  if (!traceGL_Native.glUniform1dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%lf[%d]", value, count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform1dv(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform2dv(GLint location, GLsizei count, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2dv)
    traceGL_lookupNativeAddress("glUniform2dv", (void **) &traceGL_Native.glUniform2dv);

  traceThis = traceEnabled("glUniform2dv");

  if (!traceGL_Native.glUniform2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%lf[%d]", value, count * 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform2dv(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform3dv(GLint location, GLsizei count, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3dv)
    traceGL_lookupNativeAddress("glUniform3dv", (void **) &traceGL_Native.glUniform3dv);

  traceThis = traceEnabled("glUniform3dv");

  if (!traceGL_Native.glUniform3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%lf[%d]", value, count * 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform3dv(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform4dv(GLint location, GLsizei count, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4dv)
    traceGL_lookupNativeAddress("glUniform4dv", (void **) &traceGL_Native.glUniform4dv);

  traceThis = traceEnabled("glUniform4dv");

  if (!traceGL_Native.glUniform4dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%lf[%d]", value, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform4dv(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix2dv)
    traceGL_lookupNativeAddress("glUniformMatrix2dv", (void **) &traceGL_Native.glUniformMatrix2dv);

  traceThis = traceEnabled("glUniformMatrix2dv");

  if (!traceGL_Native.glUniformMatrix2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix2dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniformMatrix2dv(location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix3dv)
    traceGL_lookupNativeAddress("glUniformMatrix3dv", (void **) &traceGL_Native.glUniformMatrix3dv);

  traceThis = traceEnabled("glUniformMatrix3dv");

  if (!traceGL_Native.glUniformMatrix3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix3dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 9);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniformMatrix3dv(location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix4dv)
    traceGL_lookupNativeAddress("glUniformMatrix4dv", (void **) &traceGL_Native.glUniformMatrix4dv);

  traceThis = traceEnabled("glUniformMatrix4dv");

  if (!traceGL_Native.glUniformMatrix4dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix4dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 16);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniformMatrix4dv(location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix2x3dv)
    traceGL_lookupNativeAddress("glUniformMatrix2x3dv", (void **) &traceGL_Native.glUniformMatrix2x3dv);

  traceThis = traceEnabled("glUniformMatrix2x3dv");

  if (!traceGL_Native.glUniformMatrix2x3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix2x3dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 6);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniformMatrix2x3dv(location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix2x4dv)
    traceGL_lookupNativeAddress("glUniformMatrix2x4dv", (void **) &traceGL_Native.glUniformMatrix2x4dv);

  traceThis = traceEnabled("glUniformMatrix2x4dv");

  if (!traceGL_Native.glUniformMatrix2x4dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix2x4dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 8);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniformMatrix2x4dv(location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix3x2dv)
    traceGL_lookupNativeAddress("glUniformMatrix3x2dv", (void **) &traceGL_Native.glUniformMatrix3x2dv);

  traceThis = traceEnabled("glUniformMatrix3x2dv");

  if (!traceGL_Native.glUniformMatrix3x2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix3x2dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 6);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniformMatrix3x2dv(location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix3x4dv)
    traceGL_lookupNativeAddress("glUniformMatrix3x4dv", (void **) &traceGL_Native.glUniformMatrix3x4dv);

  traceThis = traceEnabled("glUniformMatrix3x4dv");

  if (!traceGL_Native.glUniformMatrix3x4dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix3x4dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 12);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniformMatrix3x4dv(location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix4x2dv)
    traceGL_lookupNativeAddress("glUniformMatrix4x2dv", (void **) &traceGL_Native.glUniformMatrix4x2dv);

  traceThis = traceEnabled("glUniformMatrix4x2dv");

  if (!traceGL_Native.glUniformMatrix4x2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix4x2dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 8);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniformMatrix4x2dv(location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix4x3dv)
    traceGL_lookupNativeAddress("glUniformMatrix4x3dv", (void **) &traceGL_Native.glUniformMatrix4x3dv);

  traceThis = traceEnabled("glUniformMatrix4x3dv");

  if (!traceGL_Native.glUniformMatrix4x3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix4x3dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 12);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniformMatrix4x3dv(location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetUniformdv(GLuint program, GLint location, GLdouble *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformdv)
    traceGL_lookupNativeAddress("glGetUniformdv", (void **) &traceGL_Native.glGetUniformdv);

  traceThis = traceEnabled("glGetUniformdv");

  if (!traceGL_Native.glGetUniformdv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformdv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetUniformdv(program, location, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMinSampleShading(GLclampf value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMinSampleShading)
    traceGL_lookupNativeAddress("glMinSampleShading", (void **) &traceGL_Native.glMinSampleShading);

  traceThis = traceEnabled("glMinSampleShading");

  if (!traceGL_Native.glMinSampleShading)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMinSampleShading");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("value", "%f", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMinSampleShading(value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPatchParameteri(GLenum pname, GLint value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPatchParameteri)
    traceGL_lookupNativeAddress("glPatchParameteri", (void **) &traceGL_Native.glPatchParameteri);

  traceThis = traceEnabled("glPatchParameteri");

  if (!traceGL_Native.glPatchParameteri)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPatchParameteri");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("value", "%d", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPatchParameteri(pname, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPatchParameterfv(GLenum pname, const GLfloat *values)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPatchParameterfv)
    traceGL_lookupNativeAddress("glPatchParameterfv", (void **) &traceGL_Native.glPatchParameterfv);

  traceThis = traceEnabled("glPatchParameterfv");

  if (!traceGL_Native.glPatchParameterfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPatchParameterfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPatchParameterfv(pname, values);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenTransformFeedbacks(GLsizei n, GLuint *ids)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenTransformFeedbacks)
    traceGL_lookupNativeAddress("glGenTransformFeedbacks", (void **) &traceGL_Native.glGenTransformFeedbacks);

  traceThis = traceEnabled("glGenTransformFeedbacks");

  if (!traceGL_Native.glGenTransformFeedbacks)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenTransformFeedbacks");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenTransformFeedbacks(n, ids);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("ids", "%u[%d]", ids, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteTransformFeedbacks)
    traceGL_lookupNativeAddress("glDeleteTransformFeedbacks", (void **) &traceGL_Native.glDeleteTransformFeedbacks);

  traceThis = traceEnabled("glDeleteTransformFeedbacks");

  if (!traceGL_Native.glDeleteTransformFeedbacks)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteTransformFeedbacks");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("ids", "%u[%d]", ids, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteTransformFeedbacks(n, ids);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBindTransformFeedback(GLenum target, GLuint id)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindTransformFeedback)
    traceGL_lookupNativeAddress("glBindTransformFeedback", (void **) &traceGL_Native.glBindTransformFeedback);

  traceThis = traceEnabled("glBindTransformFeedback");

  if (!traceGL_Native.glBindTransformFeedback)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindTransformFeedback");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindTransformFeedback(target, id);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsTransformFeedback(GLuint id)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsTransformFeedback)
    traceGL_lookupNativeAddress("glIsTransformFeedback", (void **) &traceGL_Native.glIsTransformFeedback);

  traceThis = traceEnabled("glIsTransformFeedback");

  if (!traceGL_Native.glIsTransformFeedback)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsTransformFeedback");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsTransformFeedback(id);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glPauseTransformFeedback()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPauseTransformFeedback)
    traceGL_lookupNativeAddress("glPauseTransformFeedback", (void **) &traceGL_Native.glPauseTransformFeedback);

  traceThis = traceEnabled("glPauseTransformFeedback");

  if (!traceGL_Native.glPauseTransformFeedback)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPauseTransformFeedback");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPauseTransformFeedback();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glResumeTransformFeedback()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glResumeTransformFeedback)
    traceGL_lookupNativeAddress("glResumeTransformFeedback", (void **) &traceGL_Native.glResumeTransformFeedback);

  traceThis = traceEnabled("glResumeTransformFeedback");

  if (!traceGL_Native.glResumeTransformFeedback)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glResumeTransformFeedback");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glResumeTransformFeedback();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawTransformFeedback(GLenum mode, GLuint name)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawTransformFeedback)
    traceGL_lookupNativeAddress("glDrawTransformFeedback", (void **) &traceGL_Native.glDrawTransformFeedback);

  traceThis = traceEnabled("glDrawTransformFeedback");

  if (!traceGL_Native.glDrawTransformFeedback)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawTransformFeedback");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("name", "%u", name);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawTransformFeedback(mode, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawTransformFeedbackStream)
    traceGL_lookupNativeAddress("glDrawTransformFeedbackStream", (void **) &traceGL_Native.glDrawTransformFeedbackStream);

  traceThis = traceEnabled("glDrawTransformFeedbackStream");

  if (!traceGL_Native.glDrawTransformFeedbackStream)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawTransformFeedbackStream");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("id", "%u", id);
    traceInputParameter("stream", "%u", stream);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawTransformFeedbackStream(mode, id, stream);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBeginQueryIndexed(GLenum target, GLuint index, GLuint id)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBeginQueryIndexed)
    traceGL_lookupNativeAddress("glBeginQueryIndexed", (void **) &traceGL_Native.glBeginQueryIndexed);

  traceThis = traceEnabled("glBeginQueryIndexed");

  if (!traceGL_Native.glBeginQueryIndexed)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBeginQueryIndexed");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBeginQueryIndexed(target, index, id);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEndQueryIndexed(GLenum target, GLuint index)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndQueryIndexed)
    traceGL_lookupNativeAddress("glEndQueryIndexed", (void **) &traceGL_Native.glEndQueryIndexed);

  traceThis = traceEnabled("glEndQueryIndexed");

  if (!traceGL_Native.glEndQueryIndexed)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEndQueryIndexed");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEndQueryIndexed(target, index);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetQueryIndexediv)
    traceGL_lookupNativeAddress("glGetQueryIndexediv", (void **) &traceGL_Native.glGetQueryIndexediv);

  traceThis = traceEnabled("glGetQueryIndexediv");

  if (!traceGL_Native.glGetQueryIndexediv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetQueryIndexediv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetQueryIndexediv(target, index, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLint GLAPIENTRY
glGetSubroutineUniformLocation(GLuint program, GLenum shaderType, const GLchar *name)
{
  GLint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetSubroutineUniformLocation)
    traceGL_lookupNativeAddress("glGetSubroutineUniformLocation", (void **) &traceGL_Native.glGetSubroutineUniformLocation);

  traceThis = traceEnabled("glGetSubroutineUniformLocation");

  if (!traceGL_Native.glGetSubroutineUniformLocation)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetSubroutineUniformLocation");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("shaderType", "%u", shaderType);
    traceInputParameter("name", "%s", name);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGetSubroutineUniformLocation(program, shaderType, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%d", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLuint GLAPIENTRY
glGetSubroutineIndex(GLuint program, GLenum shaderType, const GLchar *name)
{
  GLuint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetSubroutineIndex)
    traceGL_lookupNativeAddress("glGetSubroutineIndex", (void **) &traceGL_Native.glGetSubroutineIndex);

  traceThis = traceEnabled("glGetSubroutineIndex");

  if (!traceGL_Native.glGetSubroutineIndex)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetSubroutineIndex");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("shaderType", "%u", shaderType);
    traceInputParameter("name", "%s", name);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGetSubroutineIndex(program, shaderType, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetActiveSubroutineUniformiv(GLuint program, GLenum shaderType, GLuint index, GLenum pname, GLint *values)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetActiveSubroutineUniformiv)
    traceGL_lookupNativeAddress("glGetActiveSubroutineUniformiv", (void **) &traceGL_Native.glGetActiveSubroutineUniformiv);

  traceThis = traceEnabled("glGetActiveSubroutineUniformiv");

  if (!traceGL_Native.glGetActiveSubroutineUniformiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetActiveSubroutineUniformiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("shaderType", "%u", shaderType);
    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetActiveSubroutineUniformiv(program, shaderType, index, pname, values);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetActiveSubroutineUniformName(GLuint program, GLenum shaderType, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetActiveSubroutineUniformName)
    traceGL_lookupNativeAddress("glGetActiveSubroutineUniformName", (void **) &traceGL_Native.glGetActiveSubroutineUniformName);

  traceThis = traceEnabled("glGetActiveSubroutineUniformName");

  if (!traceGL_Native.glGetActiveSubroutineUniformName)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetActiveSubroutineUniformName");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("shaderType", "%u", shaderType);
    traceInputParameter("index", "%u", index);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetActiveSubroutineUniformName(program, shaderType, index, bufSize, length, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("length", "%d[%d]", length, 1);
    traceOutputParameter("name", "%s", name);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetActiveSubroutineName(GLuint program, GLenum shaderType, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetActiveSubroutineName)
    traceGL_lookupNativeAddress("glGetActiveSubroutineName", (void **) &traceGL_Native.glGetActiveSubroutineName);

  traceThis = traceEnabled("glGetActiveSubroutineName");

  if (!traceGL_Native.glGetActiveSubroutineName)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetActiveSubroutineName");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("shaderType", "%u", shaderType);
    traceInputParameter("index", "%u", index);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetActiveSubroutineName(program, shaderType, index, bufSize, length, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("length", "%d[%d]", length, 1);
    traceOutputParameter("name", "%s", name);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformSubroutinesuiv(GLenum shaderType, GLsizei count, const GLuint *indices)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformSubroutinesuiv)
    traceGL_lookupNativeAddress("glUniformSubroutinesuiv", (void **) &traceGL_Native.glUniformSubroutinesuiv);

  traceThis = traceEnabled("glUniformSubroutinesuiv");

  if (!traceGL_Native.glUniformSubroutinesuiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformSubroutinesuiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("shaderType", "%u", shaderType);
    traceInputParameter("count", "%d", count);
    traceInputParameter("indices", "%u[%d]", indices, count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniformSubroutinesuiv(shaderType, count, indices);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetUniformSubroutineuiv(GLenum shaderType, GLint location, GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformSubroutineuiv)
    traceGL_lookupNativeAddress("glGetUniformSubroutineuiv", (void **) &traceGL_Native.glGetUniformSubroutineuiv);

  traceThis = traceEnabled("glGetUniformSubroutineuiv");

  if (!traceGL_Native.glGetUniformSubroutineuiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformSubroutineuiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("shaderType", "%u", shaderType);
    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetUniformSubroutineuiv(shaderType, location, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%u[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramStageiv(GLuint program, GLenum shaderType, GLenum pname, GLint *values)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramStageiv)
    traceGL_lookupNativeAddress("glGetProgramStageiv", (void **) &traceGL_Native.glGetProgramStageiv);

  traceThis = traceEnabled("glGetProgramStageiv");

  if (!traceGL_Native.glGetProgramStageiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramStageiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("shaderType", "%u", shaderType);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetProgramStageiv(program, shaderType, pname, values);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("values", "%d[%d]", values, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL1d(GLuint index, GLdouble x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL1d)
    traceGL_lookupNativeAddress("glVertexAttribL1d", (void **) &traceGL_Native.glVertexAttribL1d);

  traceThis = traceEnabled("glVertexAttribL1d");

  if (!traceGL_Native.glVertexAttribL1d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL1d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%lf", x);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL1d(index, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL2d)
    traceGL_lookupNativeAddress("glVertexAttribL2d", (void **) &traceGL_Native.glVertexAttribL2d);

  traceThis = traceEnabled("glVertexAttribL2d");

  if (!traceGL_Native.glVertexAttribL2d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL2d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL2d(index, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL3d)
    traceGL_lookupNativeAddress("glVertexAttribL3d", (void **) &traceGL_Native.glVertexAttribL3d);

  traceThis = traceEnabled("glVertexAttribL3d");

  if (!traceGL_Native.glVertexAttribL3d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL3d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL3d(index, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL4d)
    traceGL_lookupNativeAddress("glVertexAttribL4d", (void **) &traceGL_Native.glVertexAttribL4d);

  traceThis = traceEnabled("glVertexAttribL4d");

  if (!traceGL_Native.glVertexAttribL4d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL4d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);
    traceInputParameter("w", "%lf", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL4d(index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL1dv(GLuint index, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL1dv)
    traceGL_lookupNativeAddress("glVertexAttribL1dv", (void **) &traceGL_Native.glVertexAttribL1dv);

  traceThis = traceEnabled("glVertexAttribL1dv");

  if (!traceGL_Native.glVertexAttribL1dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL1dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%lf[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL1dv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL2dv(GLuint index, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL2dv)
    traceGL_lookupNativeAddress("glVertexAttribL2dv", (void **) &traceGL_Native.glVertexAttribL2dv);

  traceThis = traceEnabled("glVertexAttribL2dv");

  if (!traceGL_Native.glVertexAttribL2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL2dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%lf[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL2dv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL3dv(GLuint index, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL3dv)
    traceGL_lookupNativeAddress("glVertexAttribL3dv", (void **) &traceGL_Native.glVertexAttribL3dv);

  traceThis = traceEnabled("glVertexAttribL3dv");

  if (!traceGL_Native.glVertexAttribL3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL3dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%lf[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL3dv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL4dv(GLuint index, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL4dv)
    traceGL_lookupNativeAddress("glVertexAttribL4dv", (void **) &traceGL_Native.glVertexAttribL4dv);

  traceThis = traceEnabled("glVertexAttribL4dv");

  if (!traceGL_Native.glVertexAttribL4dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL4dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%lf[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL4dv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribLPointer)
    traceGL_lookupNativeAddress("glVertexAttribLPointer", (void **) &traceGL_Native.glVertexAttribLPointer);

  traceThis = traceEnabled("glVertexAttribLPointer");

  if (!traceGL_Native.glVertexAttribLPointer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribLPointer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribLPointer(index, size, type, stride, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribLdv)
    traceGL_lookupNativeAddress("glGetVertexAttribLdv", (void **) &traceGL_Native.glGetVertexAttribLdv);

  traceThis = traceEnabled("glGetVertexAttribLdv");

  if (!traceGL_Native.glGetVertexAttribLdv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribLdv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVertexAttribLdv(index, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%lf[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReleaseShaderCompiler()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReleaseShaderCompiler)
    traceGL_lookupNativeAddress("glReleaseShaderCompiler", (void **) &traceGL_Native.glReleaseShaderCompiler);

  traceThis = traceEnabled("glReleaseShaderCompiler");

  if (!traceGL_Native.glReleaseShaderCompiler)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReleaseShaderCompiler");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReleaseShaderCompiler();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glShaderBinary)
    traceGL_lookupNativeAddress("glShaderBinary", (void **) &traceGL_Native.glShaderBinary);

  traceThis = traceEnabled("glShaderBinary");

  if (!traceGL_Native.glShaderBinary)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glShaderBinary");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("count", "%d", count);
    traceInputParameter("shaders", "%u[%d]", shaders, count);
    traceInputParameter("binaryformat", "%u", binaryformat);
    traceInputParameter("length", "%d", length);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glShaderBinary(count, shaders, binaryformat, binary, length);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetShaderPrecisionFormat)
    traceGL_lookupNativeAddress("glGetShaderPrecisionFormat", (void **) &traceGL_Native.glGetShaderPrecisionFormat);

  traceThis = traceEnabled("glGetShaderPrecisionFormat");

  if (!traceGL_Native.glGetShaderPrecisionFormat)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetShaderPrecisionFormat");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("shadertype", "%u", shadertype);
    traceInputParameter("precisiontype", "%u", precisiontype);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("range", "%d[%d]", range, 2);
    traceOutputParameter("precision", "%d[%d]", precision, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDepthRangef(GLclampf zNear, GLclampf zFar)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDepthRangef)
    traceGL_lookupNativeAddress("glDepthRangef", (void **) &traceGL_Native.glDepthRangef);

  traceThis = traceEnabled("glDepthRangef");

  if (!traceGL_Native.glDepthRangef)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDepthRangef");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("zNear", "%f", zNear);
    traceInputParameter("zFar", "%f", zFar);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDepthRangef(zNear, zFar);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glClearDepthf(GLclampf depth)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClearDepthf)
    traceGL_lookupNativeAddress("glClearDepthf", (void **) &traceGL_Native.glClearDepthf);

  traceThis = traceEnabled("glClearDepthf");

  if (!traceGL_Native.glClearDepthf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClearDepthf");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("depth", "%f", depth);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glClearDepthf(depth);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramBinary)
    traceGL_lookupNativeAddress("glGetProgramBinary", (void **) &traceGL_Native.glGetProgramBinary);

  traceThis = traceEnabled("glGetProgramBinary");

  if (!traceGL_Native.glGetProgramBinary)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramBinary");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetProgramBinary(program, bufSize, length, binaryFormat, binary);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("length", "%d[%d]", length, 1);
    traceOutputParameter("binaryFormat", "%u[%d]", binaryFormat, 1);
    traceOutputParameter("binary", "%p", binary);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramBinary(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramBinary)
    traceGL_lookupNativeAddress("glProgramBinary", (void **) &traceGL_Native.glProgramBinary);

  traceThis = traceEnabled("glProgramBinary");

  if (!traceGL_Native.glProgramBinary)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramBinary");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("binaryFormat", "%u", binaryFormat);
    traceInputParameter("length", "%d", length);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramBinary(program, binaryFormat, binary, length);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramParameteri(GLuint program, GLenum pname, GLint value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramParameteri)
    traceGL_lookupNativeAddress("glProgramParameteri", (void **) &traceGL_Native.glProgramParameteri);

  traceThis = traceEnabled("glProgramParameteri");

  if (!traceGL_Native.glProgramParameteri)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramParameteri");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("value", "%d", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramParameteri(program, pname, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glViewportArrayv(GLuint first, GLsizei count, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glViewportArrayv)
    traceGL_lookupNativeAddress("glViewportArrayv", (void **) &traceGL_Native.glViewportArrayv);

  traceThis = traceEnabled("glViewportArrayv");

  if (!traceGL_Native.glViewportArrayv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glViewportArrayv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("first", "%u", first);
    traceInputParameter("count", "%d", count);
    traceInputParameter("v", "%f[%d]", v, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glViewportArrayv(first, count, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glViewportIndexedf)
    traceGL_lookupNativeAddress("glViewportIndexedf", (void **) &traceGL_Native.glViewportIndexedf);

  traceThis = traceEnabled("glViewportIndexedf");

  if (!traceGL_Native.glViewportIndexedf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glViewportIndexedf");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("w", "%f", w);
    traceInputParameter("h", "%f", h);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glViewportIndexedf(index, x, y, w, h);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glViewportIndexedfv(GLuint index, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glViewportIndexedfv)
    traceGL_lookupNativeAddress("glViewportIndexedfv", (void **) &traceGL_Native.glViewportIndexedfv);

  traceThis = traceEnabled("glViewportIndexedfv");

  if (!traceGL_Native.glViewportIndexedfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glViewportIndexedfv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%f[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glViewportIndexedfv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glScissorArrayv(GLuint first, GLsizei count, const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glScissorArrayv)
    traceGL_lookupNativeAddress("glScissorArrayv", (void **) &traceGL_Native.glScissorArrayv);

  traceThis = traceEnabled("glScissorArrayv");

  if (!traceGL_Native.glScissorArrayv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glScissorArrayv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("first", "%u", first);
    traceInputParameter("count", "%d", count);
    traceInputParameter("v", "%d[%d]", v, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glScissorArrayv(first, count, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glScissorIndexed(GLuint index, GLint left, GLint bottom, GLint width, GLint height)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glScissorIndexed)
    traceGL_lookupNativeAddress("glScissorIndexed", (void **) &traceGL_Native.glScissorIndexed);

  traceThis = traceEnabled("glScissorIndexed");

  if (!traceGL_Native.glScissorIndexed)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glScissorIndexed");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("left", "%d", left);
    traceInputParameter("bottom", "%d", bottom);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glScissorIndexed(index, left, bottom, width, height);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glScissorIndexedv(GLuint index, const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glScissorIndexedv)
    traceGL_lookupNativeAddress("glScissorIndexedv", (void **) &traceGL_Native.glScissorIndexedv);

  traceThis = traceEnabled("glScissorIndexedv");

  if (!traceGL_Native.glScissorIndexedv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glScissorIndexedv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%d[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glScissorIndexedv(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDepthRangeArrayv(GLuint first, GLsizei count, const GLclampd *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDepthRangeArrayv)
    traceGL_lookupNativeAddress("glDepthRangeArrayv", (void **) &traceGL_Native.glDepthRangeArrayv);

  traceThis = traceEnabled("glDepthRangeArrayv");

  if (!traceGL_Native.glDepthRangeArrayv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDepthRangeArrayv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("first", "%u", first);
    traceInputParameter("count", "%d", count);
    traceInputParameter("v", "%lf[%d]", v, count * 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDepthRangeArrayv(first, count, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDepthRangeIndexed(GLuint index, GLclampd n, GLclampd f)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDepthRangeIndexed)
    traceGL_lookupNativeAddress("glDepthRangeIndexed", (void **) &traceGL_Native.glDepthRangeIndexed);

  traceThis = traceEnabled("glDepthRangeIndexed");

  if (!traceGL_Native.glDepthRangeIndexed)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDepthRangeIndexed");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("n", "%lf", n);
    traceInputParameter("f", "%lf", f);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDepthRangeIndexed(index, n, f);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetFloati_v(GLenum target, GLuint index, GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFloati_v)
    traceGL_lookupNativeAddress("glGetFloati_v", (void **) &traceGL_Native.glGetFloati_v);

  traceThis = traceEnabled("glGetFloati_v");

  if (!traceGL_Native.glGetFloati_v)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFloati_v");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetFloati_v(target, index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetDoublei_v(GLenum target, GLuint index, GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetDoublei_v)
    traceGL_lookupNativeAddress("glGetDoublei_v", (void **) &traceGL_Native.glGetDoublei_v);

  traceThis = traceEnabled("glGetDoublei_v");

  if (!traceGL_Native.glGetDoublei_v)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetDoublei_v");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetDoublei_v(target, index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glActiveShaderProgram(GLuint pipeline, GLuint program)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glActiveShaderProgram)
    traceGL_lookupNativeAddress("glActiveShaderProgram", (void **) &traceGL_Native.glActiveShaderProgram);

  traceThis = traceEnabled("glActiveShaderProgram");

  if (!traceGL_Native.glActiveShaderProgram)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glActiveShaderProgram");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pipeline", "%u", pipeline);
    traceInputParameter("program", "%u", program);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glActiveShaderProgram(pipeline, program);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUseProgramStages)
    traceGL_lookupNativeAddress("glUseProgramStages", (void **) &traceGL_Native.glUseProgramStages);

  traceThis = traceEnabled("glUseProgramStages");

  if (!traceGL_Native.glUseProgramStages)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUseProgramStages");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pipeline", "%u", pipeline);
    traceInputParameter("stages", "%u", stages);
    traceInputParameter("program", "%u", program);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUseProgramStages(pipeline, stages, program);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLuint GLAPIENTRY
glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar **strings)
{
  GLuint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCreateShaderProgramv)
    traceGL_lookupNativeAddress("glCreateShaderProgramv", (void **) &traceGL_Native.glCreateShaderProgramv);

  traceThis = traceEnabled("glCreateShaderProgramv");

  if (!traceGL_Native.glCreateShaderProgramv)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCreateShaderProgramv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glCreateShaderProgramv(type, count, strings);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBindProgramPipeline(GLuint pipeline)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindProgramPipeline)
    traceGL_lookupNativeAddress("glBindProgramPipeline", (void **) &traceGL_Native.glBindProgramPipeline);

  traceThis = traceEnabled("glBindProgramPipeline");

  if (!traceGL_Native.glBindProgramPipeline)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindProgramPipeline");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pipeline", "%u", pipeline);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindProgramPipeline(pipeline);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteProgramPipelines)
    traceGL_lookupNativeAddress("glDeleteProgramPipelines", (void **) &traceGL_Native.glDeleteProgramPipelines);

  traceThis = traceEnabled("glDeleteProgramPipelines");

  if (!traceGL_Native.glDeleteProgramPipelines)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteProgramPipelines");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("pipelines", "%u[%d]", pipelines, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteProgramPipelines(n, pipelines);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenProgramPipelines(GLsizei n, GLuint *pipelines)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenProgramPipelines)
    traceGL_lookupNativeAddress("glGenProgramPipelines", (void **) &traceGL_Native.glGenProgramPipelines);

  traceThis = traceEnabled("glGenProgramPipelines");

  if (!traceGL_Native.glGenProgramPipelines)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenProgramPipelines");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenProgramPipelines(n, pipelines);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("pipelines", "%u[%d]", pipelines, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsProgramPipeline(GLuint pipeline)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsProgramPipeline)
    traceGL_lookupNativeAddress("glIsProgramPipeline", (void **) &traceGL_Native.glIsProgramPipeline);

  traceThis = traceEnabled("glIsProgramPipeline");

  if (!traceGL_Native.glIsProgramPipeline)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsProgramPipeline");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pipeline", "%u", pipeline);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsProgramPipeline(pipeline);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramPipelineiv)
    traceGL_lookupNativeAddress("glGetProgramPipelineiv", (void **) &traceGL_Native.glGetProgramPipelineiv);

  traceThis = traceEnabled("glGetProgramPipelineiv");

  if (!traceGL_Native.glGetProgramPipelineiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramPipelineiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pipeline", "%u", pipeline);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetProgramPipelineiv(pipeline, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glValidateProgramPipeline(GLuint pipeline)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glValidateProgramPipeline)
    traceGL_lookupNativeAddress("glValidateProgramPipeline", (void **) &traceGL_Native.glValidateProgramPipeline);

  traceThis = traceEnabled("glValidateProgramPipeline");

  if (!traceGL_Native.glValidateProgramPipeline)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glValidateProgramPipeline");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pipeline", "%u", pipeline);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glValidateProgramPipeline(pipeline);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramPipelineInfoLog)
    traceGL_lookupNativeAddress("glGetProgramPipelineInfoLog", (void **) &traceGL_Native.glGetProgramPipelineInfoLog);

  traceThis = traceEnabled("glGetProgramPipelineInfoLog");

  if (!traceGL_Native.glGetProgramPipelineInfoLog)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramPipelineInfoLog");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pipeline", "%u", pipeline);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("length", "%d[%d]", length, 1);
    traceOutputParameter("infoLog", "%s", infoLog);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform1f(GLuint program, GLint location, GLfloat v0)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1f)
    traceGL_lookupNativeAddress("glProgramUniform1f", (void **) &traceGL_Native.glProgramUniform1f);

  traceThis = traceEnabled("glProgramUniform1f");

  if (!traceGL_Native.glProgramUniform1f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%f", v0);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform1f(program, location, v0);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2f)
    traceGL_lookupNativeAddress("glProgramUniform2f", (void **) &traceGL_Native.glProgramUniform2f);

  traceThis = traceEnabled("glProgramUniform2f");

  if (!traceGL_Native.glProgramUniform2f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%f", v0);
    traceInputParameter("v1", "%f", v1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform2f(program, location, v0, v1);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3f)
    traceGL_lookupNativeAddress("glProgramUniform3f", (void **) &traceGL_Native.glProgramUniform3f);

  traceThis = traceEnabled("glProgramUniform3f");

  if (!traceGL_Native.glProgramUniform3f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%f", v0);
    traceInputParameter("v1", "%f", v1);
    traceInputParameter("v2", "%f", v2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform3f(program, location, v0, v1, v2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4f)
    traceGL_lookupNativeAddress("glProgramUniform4f", (void **) &traceGL_Native.glProgramUniform4f);

  traceThis = traceEnabled("glProgramUniform4f");

  if (!traceGL_Native.glProgramUniform4f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4f");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%f", v0);
    traceInputParameter("v1", "%f", v1);
    traceInputParameter("v2", "%f", v2);
    traceInputParameter("v3", "%f", v3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform4f(program, location, v0, v1, v2, v3);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform1i(GLuint program, GLint location, GLint v0)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1i)
    traceGL_lookupNativeAddress("glProgramUniform1i", (void **) &traceGL_Native.glProgramUniform1i);

  traceThis = traceEnabled("glProgramUniform1i");

  if (!traceGL_Native.glProgramUniform1i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%d", v0);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform1i(program, location, v0);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2i)
    traceGL_lookupNativeAddress("glProgramUniform2i", (void **) &traceGL_Native.glProgramUniform2i);

  traceThis = traceEnabled("glProgramUniform2i");

  if (!traceGL_Native.glProgramUniform2i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%d", v0);
    traceInputParameter("v1", "%d", v1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform2i(program, location, v0, v1);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3i)
    traceGL_lookupNativeAddress("glProgramUniform3i", (void **) &traceGL_Native.glProgramUniform3i);

  traceThis = traceEnabled("glProgramUniform3i");

  if (!traceGL_Native.glProgramUniform3i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%d", v0);
    traceInputParameter("v1", "%d", v1);
    traceInputParameter("v2", "%d", v2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform3i(program, location, v0, v1, v2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4i)
    traceGL_lookupNativeAddress("glProgramUniform4i", (void **) &traceGL_Native.glProgramUniform4i);

  traceThis = traceEnabled("glProgramUniform4i");

  if (!traceGL_Native.glProgramUniform4i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4i");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%d", v0);
    traceInputParameter("v1", "%d", v1);
    traceInputParameter("v2", "%d", v2);
    traceInputParameter("v3", "%d", v3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform4i(program, location, v0, v1, v2, v3);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1fv)
    traceGL_lookupNativeAddress("glProgramUniform1fv", (void **) &traceGL_Native.glProgramUniform1fv);

  traceThis = traceEnabled("glProgramUniform1fv");

  if (!traceGL_Native.glProgramUniform1fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%f[%d]", value, count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform1fv(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2fv)
    traceGL_lookupNativeAddress("glProgramUniform2fv", (void **) &traceGL_Native.glProgramUniform2fv);

  traceThis = traceEnabled("glProgramUniform2fv");

  if (!traceGL_Native.glProgramUniform2fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%f[%d]", value, count * 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform2fv(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3fv)
    traceGL_lookupNativeAddress("glProgramUniform3fv", (void **) &traceGL_Native.glProgramUniform3fv);

  traceThis = traceEnabled("glProgramUniform3fv");

  if (!traceGL_Native.glProgramUniform3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%f[%d]", value, count * 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform3fv(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4fv)
    traceGL_lookupNativeAddress("glProgramUniform4fv", (void **) &traceGL_Native.glProgramUniform4fv);

  traceThis = traceEnabled("glProgramUniform4fv");

  if (!traceGL_Native.glProgramUniform4fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%f[%d]", value, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform4fv(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1iv)
    traceGL_lookupNativeAddress("glProgramUniform1iv", (void **) &traceGL_Native.glProgramUniform1iv);

  traceThis = traceEnabled("glProgramUniform1iv");

  if (!traceGL_Native.glProgramUniform1iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%d[%d]", value, count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform1iv(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2iv)
    traceGL_lookupNativeAddress("glProgramUniform2iv", (void **) &traceGL_Native.glProgramUniform2iv);

  traceThis = traceEnabled("glProgramUniform2iv");

  if (!traceGL_Native.glProgramUniform2iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%d[%d]", value, count * 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform2iv(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3iv)
    traceGL_lookupNativeAddress("glProgramUniform3iv", (void **) &traceGL_Native.glProgramUniform3iv);

  traceThis = traceEnabled("glProgramUniform3iv");

  if (!traceGL_Native.glProgramUniform3iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%d[%d]", value, count * 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform3iv(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4iv)
    traceGL_lookupNativeAddress("glProgramUniform4iv", (void **) &traceGL_Native.glProgramUniform4iv);

  traceThis = traceEnabled("glProgramUniform4iv");

  if (!traceGL_Native.glProgramUniform4iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4iv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%d[%d]", value, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform4iv(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix2fv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix2fv", (void **) &traceGL_Native.glProgramUniformMatrix2fv);

  traceThis = traceEnabled("glProgramUniformMatrix2fv");

  if (!traceGL_Native.glProgramUniformMatrix2fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix2fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%f[%d]", value, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix2fv(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix3fv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix3fv", (void **) &traceGL_Native.glProgramUniformMatrix3fv);

  traceThis = traceEnabled("glProgramUniformMatrix3fv");

  if (!traceGL_Native.glProgramUniformMatrix3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix3fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%f[%d]", value, count * 9);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix3fv(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix4fv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix4fv", (void **) &traceGL_Native.glProgramUniformMatrix4fv);

  traceThis = traceEnabled("glProgramUniformMatrix4fv");

  if (!traceGL_Native.glProgramUniformMatrix4fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix4fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%f[%d]", value, count * 16);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix4fv(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix2x3fv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix2x3fv", (void **) &traceGL_Native.glProgramUniformMatrix2x3fv);

  traceThis = traceEnabled("glProgramUniformMatrix2x3fv");

  if (!traceGL_Native.glProgramUniformMatrix2x3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix2x3fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%f[%d]", value, count * 6);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix2x3fv(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix3x2fv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix3x2fv", (void **) &traceGL_Native.glProgramUniformMatrix3x2fv);

  traceThis = traceEnabled("glProgramUniformMatrix3x2fv");

  if (!traceGL_Native.glProgramUniformMatrix3x2fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix3x2fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%f[%d]", value, count * 6);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix3x2fv(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix2x4fv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix2x4fv", (void **) &traceGL_Native.glProgramUniformMatrix2x4fv);

  traceThis = traceEnabled("glProgramUniformMatrix2x4fv");

  if (!traceGL_Native.glProgramUniformMatrix2x4fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix2x4fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%f[%d]", value, count * 8);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix2x4fv(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix4x2fv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix4x2fv", (void **) &traceGL_Native.glProgramUniformMatrix4x2fv);

  traceThis = traceEnabled("glProgramUniformMatrix4x2fv");

  if (!traceGL_Native.glProgramUniformMatrix4x2fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix4x2fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%f[%d]", value, count * 8);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix4x2fv(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix3x4fv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix3x4fv", (void **) &traceGL_Native.glProgramUniformMatrix3x4fv);

  traceThis = traceEnabled("glProgramUniformMatrix3x4fv");

  if (!traceGL_Native.glProgramUniformMatrix3x4fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix3x4fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%f[%d]", value, count * 12);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix3x4fv(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix4x3fv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix4x3fv", (void **) &traceGL_Native.glProgramUniformMatrix4x3fv);

  traceThis = traceEnabled("glProgramUniformMatrix4x3fv");

  if (!traceGL_Native.glProgramUniformMatrix4x3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix4x3fv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%f[%d]", value, count * 12);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix4x3fv(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform1ui(GLuint program, GLint location, GLuint v0)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1ui)
    traceGL_lookupNativeAddress("glProgramUniform1ui", (void **) &traceGL_Native.glProgramUniform1ui);

  traceThis = traceEnabled("glProgramUniform1ui");

  if (!traceGL_Native.glProgramUniform1ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%u", v0);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform1ui(program, location, v0);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2ui)
    traceGL_lookupNativeAddress("glProgramUniform2ui", (void **) &traceGL_Native.glProgramUniform2ui);

  traceThis = traceEnabled("glProgramUniform2ui");

  if (!traceGL_Native.glProgramUniform2ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%u", v0);
    traceInputParameter("v1", "%u", v1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform2ui(program, location, v0, v1);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3ui)
    traceGL_lookupNativeAddress("glProgramUniform3ui", (void **) &traceGL_Native.glProgramUniform3ui);

  traceThis = traceEnabled("glProgramUniform3ui");

  if (!traceGL_Native.glProgramUniform3ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%u", v0);
    traceInputParameter("v1", "%u", v1);
    traceInputParameter("v2", "%u", v2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform3ui(program, location, v0, v1, v2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4ui)
    traceGL_lookupNativeAddress("glProgramUniform4ui", (void **) &traceGL_Native.glProgramUniform4ui);

  traceThis = traceEnabled("glProgramUniform4ui");

  if (!traceGL_Native.glProgramUniform4ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4ui");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%u", v0);
    traceInputParameter("v1", "%u", v1);
    traceInputParameter("v2", "%u", v2);
    traceInputParameter("v3", "%u", v3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform4ui(program, location, v0, v1, v2, v3);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1uiv)
    traceGL_lookupNativeAddress("glProgramUniform1uiv", (void **) &traceGL_Native.glProgramUniform1uiv);

  traceThis = traceEnabled("glProgramUniform1uiv");

  if (!traceGL_Native.glProgramUniform1uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%u[%d]", value, count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform1uiv(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2uiv)
    traceGL_lookupNativeAddress("glProgramUniform2uiv", (void **) &traceGL_Native.glProgramUniform2uiv);

  traceThis = traceEnabled("glProgramUniform2uiv");

  if (!traceGL_Native.glProgramUniform2uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%u[%d]", value, count * 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform2uiv(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3uiv)
    traceGL_lookupNativeAddress("glProgramUniform3uiv", (void **) &traceGL_Native.glProgramUniform3uiv);

  traceThis = traceEnabled("glProgramUniform3uiv");

  if (!traceGL_Native.glProgramUniform3uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%u[%d]", value, count * 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform3uiv(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4uiv)
    traceGL_lookupNativeAddress("glProgramUniform4uiv", (void **) &traceGL_Native.glProgramUniform4uiv);

  traceThis = traceEnabled("glProgramUniform4uiv");

  if (!traceGL_Native.glProgramUniform4uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4uiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%u[%d]", value, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform4uiv(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform1d(GLuint program, GLint location, GLdouble x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1d)
    traceGL_lookupNativeAddress("glProgramUniform1d", (void **) &traceGL_Native.glProgramUniform1d);

  traceThis = traceEnabled("glProgramUniform1d");

  if (!traceGL_Native.glProgramUniform1d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("x", "%lf", x);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform1d(program, location, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform2d(GLuint program, GLint location, GLdouble x, GLdouble y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2d)
    traceGL_lookupNativeAddress("glProgramUniform2d", (void **) &traceGL_Native.glProgramUniform2d);

  traceThis = traceEnabled("glProgramUniform2d");

  if (!traceGL_Native.glProgramUniform2d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform2d(program, location, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform3d(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3d)
    traceGL_lookupNativeAddress("glProgramUniform3d", (void **) &traceGL_Native.glProgramUniform3d);

  traceThis = traceEnabled("glProgramUniform3d");

  if (!traceGL_Native.glProgramUniform3d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform3d(program, location, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform4d(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4d)
    traceGL_lookupNativeAddress("glProgramUniform4d", (void **) &traceGL_Native.glProgramUniform4d);

  traceThis = traceEnabled("glProgramUniform4d");

  if (!traceGL_Native.glProgramUniform4d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4d");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);
    traceInputParameter("w", "%lf", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform4d(program, location, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1dv)
    traceGL_lookupNativeAddress("glProgramUniform1dv", (void **) &traceGL_Native.glProgramUniform1dv);

  traceThis = traceEnabled("glProgramUniform1dv");

  if (!traceGL_Native.glProgramUniform1dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%lf[%d]", value, count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform1dv(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform2dv(GLuint program, GLint location, GLsizei count, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2dv)
    traceGL_lookupNativeAddress("glProgramUniform2dv", (void **) &traceGL_Native.glProgramUniform2dv);

  traceThis = traceEnabled("glProgramUniform2dv");

  if (!traceGL_Native.glProgramUniform2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%lf[%d]", value, count * 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform2dv(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform3dv(GLuint program, GLint location, GLsizei count, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3dv)
    traceGL_lookupNativeAddress("glProgramUniform3dv", (void **) &traceGL_Native.glProgramUniform3dv);

  traceThis = traceEnabled("glProgramUniform3dv");

  if (!traceGL_Native.glProgramUniform3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%lf[%d]", value, count * 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform3dv(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4dv)
    traceGL_lookupNativeAddress("glProgramUniform4dv", (void **) &traceGL_Native.glProgramUniform4dv);

  traceThis = traceEnabled("glProgramUniform4dv");

  if (!traceGL_Native.glProgramUniform4dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%lf[%d]", value, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform4dv(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix2dv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix2dv", (void **) &traceGL_Native.glProgramUniformMatrix2dv);

  traceThis = traceEnabled("glProgramUniformMatrix2dv");

  if (!traceGL_Native.glProgramUniformMatrix2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix2dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix2dv(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix3dv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix3dv", (void **) &traceGL_Native.glProgramUniformMatrix3dv);

  traceThis = traceEnabled("glProgramUniformMatrix3dv");

  if (!traceGL_Native.glProgramUniformMatrix3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix3dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 9);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix3dv(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix4dv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix4dv", (void **) &traceGL_Native.glProgramUniformMatrix4dv);

  traceThis = traceEnabled("glProgramUniformMatrix4dv");

  if (!traceGL_Native.glProgramUniformMatrix4dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix4dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 16);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix4dv(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix2x3dv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix2x3dv", (void **) &traceGL_Native.glProgramUniformMatrix2x3dv);

  traceThis = traceEnabled("glProgramUniformMatrix2x3dv");

  if (!traceGL_Native.glProgramUniformMatrix2x3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix2x3dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 6);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix2x3dv(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix2x4dv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix2x4dv", (void **) &traceGL_Native.glProgramUniformMatrix2x4dv);

  traceThis = traceEnabled("glProgramUniformMatrix2x4dv");

  if (!traceGL_Native.glProgramUniformMatrix2x4dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix2x4dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 8);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix2x4dv(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix3x2dv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix3x2dv", (void **) &traceGL_Native.glProgramUniformMatrix3x2dv);

  traceThis = traceEnabled("glProgramUniformMatrix3x2dv");

  if (!traceGL_Native.glProgramUniformMatrix3x2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix3x2dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 6);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix3x2dv(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix3x4dv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix3x4dv", (void **) &traceGL_Native.glProgramUniformMatrix3x4dv);

  traceThis = traceEnabled("glProgramUniformMatrix3x4dv");

  if (!traceGL_Native.glProgramUniformMatrix3x4dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix3x4dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 12);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix3x4dv(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix4x2dv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix4x2dv", (void **) &traceGL_Native.glProgramUniformMatrix4x2dv);

  traceThis = traceEnabled("glProgramUniformMatrix4x2dv");

  if (!traceGL_Native.glProgramUniformMatrix4x2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix4x2dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 8);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix4x2dv(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix4x3dv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix4x3dv", (void **) &traceGL_Native.glProgramUniformMatrix4x3dv);

  traceThis = traceEnabled("glProgramUniformMatrix4x3dv");

  if (!traceGL_Native.glProgramUniformMatrix4x3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix4x3dv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 12);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix4x3dv(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glActiveTextureARB(GLenum texture)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glActiveTextureARB)
    traceGL_lookupNativeAddress("glActiveTextureARB", (void **) &traceGL_Native.glActiveTextureARB);

  traceThis = traceEnabled("glActiveTextureARB");

  if (!traceGL_Native.glActiveTextureARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glActiveTextureARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glActiveTextureARB(texture);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glClientActiveTextureARB(GLenum texture)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClientActiveTextureARB)
    traceGL_lookupNativeAddress("glClientActiveTextureARB", (void **) &traceGL_Native.glClientActiveTextureARB);

  traceThis = traceEnabled("glClientActiveTextureARB");

  if (!traceGL_Native.glClientActiveTextureARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClientActiveTextureARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glClientActiveTextureARB(texture);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord1dARB(GLenum target, GLdouble s)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1dARB)
    traceGL_lookupNativeAddress("glMultiTexCoord1dARB", (void **) &traceGL_Native.glMultiTexCoord1dARB);

  traceThis = traceEnabled("glMultiTexCoord1dARB");

  if (!traceGL_Native.glMultiTexCoord1dARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1dARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%lf", s);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord1dARB(target, s);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord1dvARB(GLenum target, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1dvARB)
    traceGL_lookupNativeAddress("glMultiTexCoord1dvARB", (void **) &traceGL_Native.glMultiTexCoord1dvARB);

  traceThis = traceEnabled("glMultiTexCoord1dvARB");

  if (!traceGL_Native.glMultiTexCoord1dvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1dvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%lf[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord1dvARB(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord1fARB(GLenum target, GLfloat s)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1fARB)
    traceGL_lookupNativeAddress("glMultiTexCoord1fARB", (void **) &traceGL_Native.glMultiTexCoord1fARB);

  traceThis = traceEnabled("glMultiTexCoord1fARB");

  if (!traceGL_Native.glMultiTexCoord1fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1fARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%f", s);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord1fARB(target, s);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord1fvARB(GLenum target, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1fvARB)
    traceGL_lookupNativeAddress("glMultiTexCoord1fvARB", (void **) &traceGL_Native.glMultiTexCoord1fvARB);

  traceThis = traceEnabled("glMultiTexCoord1fvARB");

  if (!traceGL_Native.glMultiTexCoord1fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1fvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%f[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord1fvARB(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord1iARB(GLenum target, GLint s)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1iARB)
    traceGL_lookupNativeAddress("glMultiTexCoord1iARB", (void **) &traceGL_Native.glMultiTexCoord1iARB);

  traceThis = traceEnabled("glMultiTexCoord1iARB");

  if (!traceGL_Native.glMultiTexCoord1iARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1iARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%d", s);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord1iARB(target, s);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord1ivARB(GLenum target, const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1ivARB)
    traceGL_lookupNativeAddress("glMultiTexCoord1ivARB", (void **) &traceGL_Native.glMultiTexCoord1ivARB);

  traceThis = traceEnabled("glMultiTexCoord1ivARB");

  if (!traceGL_Native.glMultiTexCoord1ivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1ivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%d[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord1ivARB(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord1sARB(GLenum target, GLshort s)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1sARB)
    traceGL_lookupNativeAddress("glMultiTexCoord1sARB", (void **) &traceGL_Native.glMultiTexCoord1sARB);

  traceThis = traceEnabled("glMultiTexCoord1sARB");

  if (!traceGL_Native.glMultiTexCoord1sARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1sARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%hd", s);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord1sARB(target, s);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord1svARB(GLenum target, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1svARB)
    traceGL_lookupNativeAddress("glMultiTexCoord1svARB", (void **) &traceGL_Native.glMultiTexCoord1svARB);

  traceThis = traceEnabled("glMultiTexCoord1svARB");

  if (!traceGL_Native.glMultiTexCoord1svARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1svARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%hd[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord1svARB(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2dARB)
    traceGL_lookupNativeAddress("glMultiTexCoord2dARB", (void **) &traceGL_Native.glMultiTexCoord2dARB);

  traceThis = traceEnabled("glMultiTexCoord2dARB");

  if (!traceGL_Native.glMultiTexCoord2dARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2dARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%lf", s);
    traceInputParameter("t", "%lf", t);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord2dARB(target, s, t);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord2dvARB(GLenum target, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2dvARB)
    traceGL_lookupNativeAddress("glMultiTexCoord2dvARB", (void **) &traceGL_Native.glMultiTexCoord2dvARB);

  traceThis = traceEnabled("glMultiTexCoord2dvARB");

  if (!traceGL_Native.glMultiTexCoord2dvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2dvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%lf[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord2dvARB(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord2fARB(GLenum target, GLfloat s, GLfloat t)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2fARB)
    traceGL_lookupNativeAddress("glMultiTexCoord2fARB", (void **) &traceGL_Native.glMultiTexCoord2fARB);

  traceThis = traceEnabled("glMultiTexCoord2fARB");

  if (!traceGL_Native.glMultiTexCoord2fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2fARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%f", s);
    traceInputParameter("t", "%f", t);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord2fARB(target, s, t);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord2fvARB(GLenum target, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2fvARB)
    traceGL_lookupNativeAddress("glMultiTexCoord2fvARB", (void **) &traceGL_Native.glMultiTexCoord2fvARB);

  traceThis = traceEnabled("glMultiTexCoord2fvARB");

  if (!traceGL_Native.glMultiTexCoord2fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2fvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%f[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord2fvARB(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord2iARB(GLenum target, GLint s, GLint t)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2iARB)
    traceGL_lookupNativeAddress("glMultiTexCoord2iARB", (void **) &traceGL_Native.glMultiTexCoord2iARB);

  traceThis = traceEnabled("glMultiTexCoord2iARB");

  if (!traceGL_Native.glMultiTexCoord2iARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2iARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%d", s);
    traceInputParameter("t", "%d", t);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord2iARB(target, s, t);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord2ivARB(GLenum target, const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2ivARB)
    traceGL_lookupNativeAddress("glMultiTexCoord2ivARB", (void **) &traceGL_Native.glMultiTexCoord2ivARB);

  traceThis = traceEnabled("glMultiTexCoord2ivARB");

  if (!traceGL_Native.glMultiTexCoord2ivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2ivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%d[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord2ivARB(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord2sARB(GLenum target, GLshort s, GLshort t)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2sARB)
    traceGL_lookupNativeAddress("glMultiTexCoord2sARB", (void **) &traceGL_Native.glMultiTexCoord2sARB);

  traceThis = traceEnabled("glMultiTexCoord2sARB");

  if (!traceGL_Native.glMultiTexCoord2sARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2sARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%hd", s);
    traceInputParameter("t", "%hd", t);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord2sARB(target, s, t);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord2svARB(GLenum target, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2svARB)
    traceGL_lookupNativeAddress("glMultiTexCoord2svARB", (void **) &traceGL_Native.glMultiTexCoord2svARB);

  traceThis = traceEnabled("glMultiTexCoord2svARB");

  if (!traceGL_Native.glMultiTexCoord2svARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2svARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%hd[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord2svARB(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3dARB)
    traceGL_lookupNativeAddress("glMultiTexCoord3dARB", (void **) &traceGL_Native.glMultiTexCoord3dARB);

  traceThis = traceEnabled("glMultiTexCoord3dARB");

  if (!traceGL_Native.glMultiTexCoord3dARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3dARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%lf", s);
    traceInputParameter("t", "%lf", t);
    traceInputParameter("r", "%lf", r);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord3dARB(target, s, t, r);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord3dvARB(GLenum target, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3dvARB)
    traceGL_lookupNativeAddress("glMultiTexCoord3dvARB", (void **) &traceGL_Native.glMultiTexCoord3dvARB);

  traceThis = traceEnabled("glMultiTexCoord3dvARB");

  if (!traceGL_Native.glMultiTexCoord3dvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3dvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%lf[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord3dvARB(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord3fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3fARB)
    traceGL_lookupNativeAddress("glMultiTexCoord3fARB", (void **) &traceGL_Native.glMultiTexCoord3fARB);

  traceThis = traceEnabled("glMultiTexCoord3fARB");

  if (!traceGL_Native.glMultiTexCoord3fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3fARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%f", s);
    traceInputParameter("t", "%f", t);
    traceInputParameter("r", "%f", r);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord3fARB(target, s, t, r);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord3fvARB(GLenum target, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3fvARB)
    traceGL_lookupNativeAddress("glMultiTexCoord3fvARB", (void **) &traceGL_Native.glMultiTexCoord3fvARB);

  traceThis = traceEnabled("glMultiTexCoord3fvARB");

  if (!traceGL_Native.glMultiTexCoord3fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3fvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord3fvARB(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3iARB)
    traceGL_lookupNativeAddress("glMultiTexCoord3iARB", (void **) &traceGL_Native.glMultiTexCoord3iARB);

  traceThis = traceEnabled("glMultiTexCoord3iARB");

  if (!traceGL_Native.glMultiTexCoord3iARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3iARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%d", s);
    traceInputParameter("t", "%d", t);
    traceInputParameter("r", "%d", r);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord3iARB(target, s, t, r);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord3ivARB(GLenum target, const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3ivARB)
    traceGL_lookupNativeAddress("glMultiTexCoord3ivARB", (void **) &traceGL_Native.glMultiTexCoord3ivARB);

  traceThis = traceEnabled("glMultiTexCoord3ivARB");

  if (!traceGL_Native.glMultiTexCoord3ivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3ivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%d[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord3ivARB(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3sARB)
    traceGL_lookupNativeAddress("glMultiTexCoord3sARB", (void **) &traceGL_Native.glMultiTexCoord3sARB);

  traceThis = traceEnabled("glMultiTexCoord3sARB");

  if (!traceGL_Native.glMultiTexCoord3sARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3sARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%hd", s);
    traceInputParameter("t", "%hd", t);
    traceInputParameter("r", "%hd", r);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord3sARB(target, s, t, r);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord3svARB(GLenum target, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3svARB)
    traceGL_lookupNativeAddress("glMultiTexCoord3svARB", (void **) &traceGL_Native.glMultiTexCoord3svARB);

  traceThis = traceEnabled("glMultiTexCoord3svARB");

  if (!traceGL_Native.glMultiTexCoord3svARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3svARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%hd[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord3svARB(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4dARB)
    traceGL_lookupNativeAddress("glMultiTexCoord4dARB", (void **) &traceGL_Native.glMultiTexCoord4dARB);

  traceThis = traceEnabled("glMultiTexCoord4dARB");

  if (!traceGL_Native.glMultiTexCoord4dARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4dARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%lf", s);
    traceInputParameter("t", "%lf", t);
    traceInputParameter("r", "%lf", r);
    traceInputParameter("q", "%lf", q);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord4dARB(target, s, t, r, q);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord4dvARB(GLenum target, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4dvARB)
    traceGL_lookupNativeAddress("glMultiTexCoord4dvARB", (void **) &traceGL_Native.glMultiTexCoord4dvARB);

  traceThis = traceEnabled("glMultiTexCoord4dvARB");

  if (!traceGL_Native.glMultiTexCoord4dvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4dvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%lf[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord4dvARB(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord4fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4fARB)
    traceGL_lookupNativeAddress("glMultiTexCoord4fARB", (void **) &traceGL_Native.glMultiTexCoord4fARB);

  traceThis = traceEnabled("glMultiTexCoord4fARB");

  if (!traceGL_Native.glMultiTexCoord4fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4fARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%f", s);
    traceInputParameter("t", "%f", t);
    traceInputParameter("r", "%f", r);
    traceInputParameter("q", "%f", q);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord4fARB(target, s, t, r, q);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord4fvARB(GLenum target, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4fvARB)
    traceGL_lookupNativeAddress("glMultiTexCoord4fvARB", (void **) &traceGL_Native.glMultiTexCoord4fvARB);

  traceThis = traceEnabled("glMultiTexCoord4fvARB");

  if (!traceGL_Native.glMultiTexCoord4fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4fvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%f[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord4fvARB(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4iARB)
    traceGL_lookupNativeAddress("glMultiTexCoord4iARB", (void **) &traceGL_Native.glMultiTexCoord4iARB);

  traceThis = traceEnabled("glMultiTexCoord4iARB");

  if (!traceGL_Native.glMultiTexCoord4iARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4iARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%d", s);
    traceInputParameter("t", "%d", t);
    traceInputParameter("r", "%d", r);
    traceInputParameter("q", "%d", q);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord4iARB(target, s, t, r, q);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord4ivARB(GLenum target, const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4ivARB)
    traceGL_lookupNativeAddress("glMultiTexCoord4ivARB", (void **) &traceGL_Native.glMultiTexCoord4ivARB);

  traceThis = traceEnabled("glMultiTexCoord4ivARB");

  if (!traceGL_Native.glMultiTexCoord4ivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4ivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%d[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord4ivARB(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4sARB)
    traceGL_lookupNativeAddress("glMultiTexCoord4sARB", (void **) &traceGL_Native.glMultiTexCoord4sARB);

  traceThis = traceEnabled("glMultiTexCoord4sARB");

  if (!traceGL_Native.glMultiTexCoord4sARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4sARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%hd", s);
    traceInputParameter("t", "%hd", t);
    traceInputParameter("r", "%hd", r);
    traceInputParameter("q", "%hd", q);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord4sARB(target, s, t, r, q);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord4svARB(GLenum target, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4svARB)
    traceGL_lookupNativeAddress("glMultiTexCoord4svARB", (void **) &traceGL_Native.glMultiTexCoord4svARB);

  traceThis = traceEnabled("glMultiTexCoord4svARB");

  if (!traceGL_Native.glMultiTexCoord4svARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4svARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%hd[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord4svARB(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glLoadTransposeMatrixfARB(const GLfloat *m)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLoadTransposeMatrixfARB)
    traceGL_lookupNativeAddress("glLoadTransposeMatrixfARB", (void **) &traceGL_Native.glLoadTransposeMatrixfARB);

  traceThis = traceEnabled("glLoadTransposeMatrixfARB");

  if (!traceGL_Native.glLoadTransposeMatrixfARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLoadTransposeMatrixfARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("m", "%f[%d]", m, 16);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glLoadTransposeMatrixfARB(m);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glLoadTransposeMatrixdARB(const GLdouble *m)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLoadTransposeMatrixdARB)
    traceGL_lookupNativeAddress("glLoadTransposeMatrixdARB", (void **) &traceGL_Native.glLoadTransposeMatrixdARB);

  traceThis = traceEnabled("glLoadTransposeMatrixdARB");

  if (!traceGL_Native.glLoadTransposeMatrixdARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLoadTransposeMatrixdARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("m", "%lf[%d]", m, 16);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glLoadTransposeMatrixdARB(m);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultTransposeMatrixfARB(const GLfloat *m)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultTransposeMatrixfARB)
    traceGL_lookupNativeAddress("glMultTransposeMatrixfARB", (void **) &traceGL_Native.glMultTransposeMatrixfARB);

  traceThis = traceEnabled("glMultTransposeMatrixfARB");

  if (!traceGL_Native.glMultTransposeMatrixfARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultTransposeMatrixfARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("m", "%f[%d]", m, 16);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultTransposeMatrixfARB(m);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultTransposeMatrixdARB(const GLdouble *m)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultTransposeMatrixdARB)
    traceGL_lookupNativeAddress("glMultTransposeMatrixdARB", (void **) &traceGL_Native.glMultTransposeMatrixdARB);

  traceThis = traceEnabled("glMultTransposeMatrixdARB");

  if (!traceGL_Native.glMultTransposeMatrixdARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultTransposeMatrixdARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("m", "%lf[%d]", m, 16);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultTransposeMatrixdARB(m);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSampleCoverageARB(GLclampf value, GLboolean invert)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSampleCoverageARB)
    traceGL_lookupNativeAddress("glSampleCoverageARB", (void **) &traceGL_Native.glSampleCoverageARB);

  traceThis = traceEnabled("glSampleCoverageARB");

  if (!traceGL_Native.glSampleCoverageARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSampleCoverageARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("value", "%f", value);
    traceInputParameter("invert", "%u", (unsigned int) invert);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSampleCoverageARB(value, invert);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompressedTexImage3DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTexImage3DARB)
    traceGL_lookupNativeAddress("glCompressedTexImage3DARB", (void **) &traceGL_Native.glCompressedTexImage3DARB);

  traceThis = traceEnabled("glCompressedTexImage3DARB");

  if (!traceGL_Native.glCompressedTexImage3DARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTexImage3DARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("depth", "%d", depth);
    traceInputParameter("border", "%d", border);
    traceInputParameter("imageSize", "%d", imageSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompressedTexImage3DARB(target, level, internalformat, width, height, depth, border, imageSize, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompressedTexImage2DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTexImage2DARB)
    traceGL_lookupNativeAddress("glCompressedTexImage2DARB", (void **) &traceGL_Native.glCompressedTexImage2DARB);

  traceThis = traceEnabled("glCompressedTexImage2DARB");

  if (!traceGL_Native.glCompressedTexImage2DARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTexImage2DARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("border", "%d", border);
    traceInputParameter("imageSize", "%d", imageSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompressedTexImage2DARB(target, level, internalformat, width, height, border, imageSize, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompressedTexImage1DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTexImage1DARB)
    traceGL_lookupNativeAddress("glCompressedTexImage1DARB", (void **) &traceGL_Native.glCompressedTexImage1DARB);

  traceThis = traceEnabled("glCompressedTexImage1DARB");

  if (!traceGL_Native.glCompressedTexImage1DARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTexImage1DARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("border", "%d", border);
    traceInputParameter("imageSize", "%d", imageSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompressedTexImage1DARB(target, level, internalformat, width, border, imageSize, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompressedTexSubImage3DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTexSubImage3DARB)
    traceGL_lookupNativeAddress("glCompressedTexSubImage3DARB", (void **) &traceGL_Native.glCompressedTexSubImage3DARB);

  traceThis = traceEnabled("glCompressedTexSubImage3DARB");

  if (!traceGL_Native.glCompressedTexSubImage3DARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTexSubImage3DARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("yoffset", "%d", yoffset);
    traceInputParameter("zoffset", "%d", zoffset);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("depth", "%d", depth);
    traceInputParameter("format", "%u", format);
    traceInputParameter("imageSize", "%d", imageSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompressedTexSubImage3DARB(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompressedTexSubImage2DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTexSubImage2DARB)
    traceGL_lookupNativeAddress("glCompressedTexSubImage2DARB", (void **) &traceGL_Native.glCompressedTexSubImage2DARB);

  traceThis = traceEnabled("glCompressedTexSubImage2DARB");

  if (!traceGL_Native.glCompressedTexSubImage2DARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTexSubImage2DARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("yoffset", "%d", yoffset);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("format", "%u", format);
    traceInputParameter("imageSize", "%d", imageSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompressedTexSubImage2DARB(target, level, xoffset, yoffset, width, height, format, imageSize, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompressedTexSubImage1DARB(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTexSubImage1DARB)
    traceGL_lookupNativeAddress("glCompressedTexSubImage1DARB", (void **) &traceGL_Native.glCompressedTexSubImage1DARB);

  traceThis = traceEnabled("glCompressedTexSubImage1DARB");

  if (!traceGL_Native.glCompressedTexSubImage1DARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTexSubImage1DARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("width", "%d", width);
    traceInputParameter("format", "%u", format);
    traceInputParameter("imageSize", "%d", imageSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompressedTexSubImage1DARB(target, level, xoffset, width, format, imageSize, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetCompressedTexImageARB(GLenum target, GLint lod, GLvoid *img)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetCompressedTexImageARB)
    traceGL_lookupNativeAddress("glGetCompressedTexImageARB", (void **) &traceGL_Native.glGetCompressedTexImageARB);

  traceThis = traceEnabled("glGetCompressedTexImageARB");

  if (!traceGL_Native.glGetCompressedTexImageARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetCompressedTexImageARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("lod", "%d", lod);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetCompressedTexImageARB(target, lod, img);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("img", "%p", img);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPointParameterfARB(GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPointParameterfARB)
    traceGL_lookupNativeAddress("glPointParameterfARB", (void **) &traceGL_Native.glPointParameterfARB);

  traceThis = traceEnabled("glPointParameterfARB");

  if (!traceGL_Native.glPointParameterfARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPointParameterfARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPointParameterfARB(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPointParameterfvARB(GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPointParameterfvARB)
    traceGL_lookupNativeAddress("glPointParameterfvARB", (void **) &traceGL_Native.glPointParameterfvARB);

  traceThis = traceEnabled("glPointParameterfvARB");

  if (!traceGL_Native.glPointParameterfvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPointParameterfvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPointParameterfvARB(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWeightbvARB(GLint size, const GLbyte *weights)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWeightbvARB)
    traceGL_lookupNativeAddress("glWeightbvARB", (void **) &traceGL_Native.glWeightbvARB);

  traceThis = traceEnabled("glWeightbvARB");

  if (!traceGL_Native.glWeightbvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWeightbvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("weights", "%s", weights);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWeightbvARB(size, weights);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWeightsvARB(GLint size, const GLshort *weights)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWeightsvARB)
    traceGL_lookupNativeAddress("glWeightsvARB", (void **) &traceGL_Native.glWeightsvARB);

  traceThis = traceEnabled("glWeightsvARB");

  if (!traceGL_Native.glWeightsvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWeightsvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWeightsvARB(size, weights);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWeightivARB(GLint size, const GLint *weights)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWeightivARB)
    traceGL_lookupNativeAddress("glWeightivARB", (void **) &traceGL_Native.glWeightivARB);

  traceThis = traceEnabled("glWeightivARB");

  if (!traceGL_Native.glWeightivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWeightivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWeightivARB(size, weights);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWeightfvARB(GLint size, const GLfloat *weights)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWeightfvARB)
    traceGL_lookupNativeAddress("glWeightfvARB", (void **) &traceGL_Native.glWeightfvARB);

  traceThis = traceEnabled("glWeightfvARB");

  if (!traceGL_Native.glWeightfvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWeightfvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWeightfvARB(size, weights);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWeightdvARB(GLint size, const GLdouble *weights)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWeightdvARB)
    traceGL_lookupNativeAddress("glWeightdvARB", (void **) &traceGL_Native.glWeightdvARB);

  traceThis = traceEnabled("glWeightdvARB");

  if (!traceGL_Native.glWeightdvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWeightdvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWeightdvARB(size, weights);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWeightubvARB(GLint size, const GLubyte *weights)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWeightubvARB)
    traceGL_lookupNativeAddress("glWeightubvARB", (void **) &traceGL_Native.glWeightubvARB);

  traceThis = traceEnabled("glWeightubvARB");

  if (!traceGL_Native.glWeightubvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWeightubvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("weights", "%s", weights);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWeightubvARB(size, weights);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWeightusvARB(GLint size, const GLushort *weights)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWeightusvARB)
    traceGL_lookupNativeAddress("glWeightusvARB", (void **) &traceGL_Native.glWeightusvARB);

  traceThis = traceEnabled("glWeightusvARB");

  if (!traceGL_Native.glWeightusvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWeightusvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWeightusvARB(size, weights);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWeightuivARB(GLint size, const GLuint *weights)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWeightuivARB)
    traceGL_lookupNativeAddress("glWeightuivARB", (void **) &traceGL_Native.glWeightuivARB);

  traceThis = traceEnabled("glWeightuivARB");

  if (!traceGL_Native.glWeightuivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWeightuivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWeightuivARB(size, weights);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWeightPointerARB(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWeightPointerARB)
    traceGL_lookupNativeAddress("glWeightPointerARB", (void **) &traceGL_Native.glWeightPointerARB);

  traceThis = traceEnabled("glWeightPointerARB");

  if (!traceGL_Native.glWeightPointerARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWeightPointerARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWeightPointerARB(size, type, stride, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexBlendARB(GLint count)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexBlendARB)
    traceGL_lookupNativeAddress("glVertexBlendARB", (void **) &traceGL_Native.glVertexBlendARB);

  traceThis = traceEnabled("glVertexBlendARB");

  if (!traceGL_Native.glVertexBlendARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexBlendARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexBlendARB(count);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCurrentPaletteMatrixARB(GLint index)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCurrentPaletteMatrixARB)
    traceGL_lookupNativeAddress("glCurrentPaletteMatrixARB", (void **) &traceGL_Native.glCurrentPaletteMatrixARB);

  traceThis = traceEnabled("glCurrentPaletteMatrixARB");

  if (!traceGL_Native.glCurrentPaletteMatrixARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCurrentPaletteMatrixARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%d", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCurrentPaletteMatrixARB(index);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMatrixIndexubvARB(GLint size, const GLubyte *indices)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixIndexubvARB)
    traceGL_lookupNativeAddress("glMatrixIndexubvARB", (void **) &traceGL_Native.glMatrixIndexubvARB);

  traceThis = traceEnabled("glMatrixIndexubvARB");

  if (!traceGL_Native.glMatrixIndexubvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixIndexubvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("indices", "%s", indices);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMatrixIndexubvARB(size, indices);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMatrixIndexusvARB(GLint size, const GLushort *indices)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixIndexusvARB)
    traceGL_lookupNativeAddress("glMatrixIndexusvARB", (void **) &traceGL_Native.glMatrixIndexusvARB);

  traceThis = traceEnabled("glMatrixIndexusvARB");

  if (!traceGL_Native.glMatrixIndexusvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixIndexusvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMatrixIndexusvARB(size, indices);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMatrixIndexuivARB(GLint size, const GLuint *indices)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixIndexuivARB)
    traceGL_lookupNativeAddress("glMatrixIndexuivARB", (void **) &traceGL_Native.glMatrixIndexuivARB);

  traceThis = traceEnabled("glMatrixIndexuivARB");

  if (!traceGL_Native.glMatrixIndexuivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixIndexuivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMatrixIndexuivARB(size, indices);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMatrixIndexPointerARB(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixIndexPointerARB)
    traceGL_lookupNativeAddress("glMatrixIndexPointerARB", (void **) &traceGL_Native.glMatrixIndexPointerARB);

  traceThis = traceEnabled("glMatrixIndexPointerARB");

  if (!traceGL_Native.glMatrixIndexPointerARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixIndexPointerARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMatrixIndexPointerARB(size, type, stride, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos2dARB(GLdouble x, GLdouble y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2dARB)
    traceGL_lookupNativeAddress("glWindowPos2dARB", (void **) &traceGL_Native.glWindowPos2dARB);

  traceThis = traceEnabled("glWindowPos2dARB");

  if (!traceGL_Native.glWindowPos2dARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2dARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos2dARB(x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos2dvARB(const GLdouble *p)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2dvARB)
    traceGL_lookupNativeAddress("glWindowPos2dvARB", (void **) &traceGL_Native.glWindowPos2dvARB);

  traceThis = traceEnabled("glWindowPos2dvARB");

  if (!traceGL_Native.glWindowPos2dvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2dvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("p", "%lf[%d]", p, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos2dvARB(p);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos2fARB(GLfloat x, GLfloat y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2fARB)
    traceGL_lookupNativeAddress("glWindowPos2fARB", (void **) &traceGL_Native.glWindowPos2fARB);

  traceThis = traceEnabled("glWindowPos2fARB");

  if (!traceGL_Native.glWindowPos2fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2fARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos2fARB(x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos2fvARB(const GLfloat *p)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2fvARB)
    traceGL_lookupNativeAddress("glWindowPos2fvARB", (void **) &traceGL_Native.glWindowPos2fvARB);

  traceThis = traceEnabled("glWindowPos2fvARB");

  if (!traceGL_Native.glWindowPos2fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2fvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("p", "%f[%d]", p, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos2fvARB(p);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos2iARB(GLint x, GLint y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2iARB)
    traceGL_lookupNativeAddress("glWindowPos2iARB", (void **) &traceGL_Native.glWindowPos2iARB);

  traceThis = traceEnabled("glWindowPos2iARB");

  if (!traceGL_Native.glWindowPos2iARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2iARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos2iARB(x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos2ivARB(const GLint *p)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2ivARB)
    traceGL_lookupNativeAddress("glWindowPos2ivARB", (void **) &traceGL_Native.glWindowPos2ivARB);

  traceThis = traceEnabled("glWindowPos2ivARB");

  if (!traceGL_Native.glWindowPos2ivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2ivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("p", "%d[%d]", p, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos2ivARB(p);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos2sARB(GLshort x, GLshort y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2sARB)
    traceGL_lookupNativeAddress("glWindowPos2sARB", (void **) &traceGL_Native.glWindowPos2sARB);

  traceThis = traceEnabled("glWindowPos2sARB");

  if (!traceGL_Native.glWindowPos2sARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2sARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%hd", x);
    traceInputParameter("y", "%hd", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos2sARB(x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos2svARB(const GLshort *p)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2svARB)
    traceGL_lookupNativeAddress("glWindowPos2svARB", (void **) &traceGL_Native.glWindowPos2svARB);

  traceThis = traceEnabled("glWindowPos2svARB");

  if (!traceGL_Native.glWindowPos2svARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2svARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("p", "%hd[%d]", p, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos2svARB(p);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos3dARB(GLdouble x, GLdouble y, GLdouble z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3dARB)
    traceGL_lookupNativeAddress("glWindowPos3dARB", (void **) &traceGL_Native.glWindowPos3dARB);

  traceThis = traceEnabled("glWindowPos3dARB");

  if (!traceGL_Native.glWindowPos3dARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3dARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos3dARB(x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos3dvARB(const GLdouble *p)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3dvARB)
    traceGL_lookupNativeAddress("glWindowPos3dvARB", (void **) &traceGL_Native.glWindowPos3dvARB);

  traceThis = traceEnabled("glWindowPos3dvARB");

  if (!traceGL_Native.glWindowPos3dvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3dvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("p", "%lf[%d]", p, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos3dvARB(p);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos3fARB(GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3fARB)
    traceGL_lookupNativeAddress("glWindowPos3fARB", (void **) &traceGL_Native.glWindowPos3fARB);

  traceThis = traceEnabled("glWindowPos3fARB");

  if (!traceGL_Native.glWindowPos3fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3fARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos3fARB(x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos3fvARB(const GLfloat *p)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3fvARB)
    traceGL_lookupNativeAddress("glWindowPos3fvARB", (void **) &traceGL_Native.glWindowPos3fvARB);

  traceThis = traceEnabled("glWindowPos3fvARB");

  if (!traceGL_Native.glWindowPos3fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3fvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("p", "%f[%d]", p, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos3fvARB(p);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos3iARB(GLint x, GLint y, GLint z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3iARB)
    traceGL_lookupNativeAddress("glWindowPos3iARB", (void **) &traceGL_Native.glWindowPos3iARB);

  traceThis = traceEnabled("glWindowPos3iARB");

  if (!traceGL_Native.glWindowPos3iARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3iARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("z", "%d", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos3iARB(x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos3ivARB(const GLint *p)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3ivARB)
    traceGL_lookupNativeAddress("glWindowPos3ivARB", (void **) &traceGL_Native.glWindowPos3ivARB);

  traceThis = traceEnabled("glWindowPos3ivARB");

  if (!traceGL_Native.glWindowPos3ivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3ivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("p", "%d[%d]", p, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos3ivARB(p);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos3sARB(GLshort x, GLshort y, GLshort z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3sARB)
    traceGL_lookupNativeAddress("glWindowPos3sARB", (void **) &traceGL_Native.glWindowPos3sARB);

  traceThis = traceEnabled("glWindowPos3sARB");

  if (!traceGL_Native.glWindowPos3sARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3sARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%hd", x);
    traceInputParameter("y", "%hd", y);
    traceInputParameter("z", "%hd", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos3sARB(x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos3svARB(const GLshort *p)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3svARB)
    traceGL_lookupNativeAddress("glWindowPos3svARB", (void **) &traceGL_Native.glWindowPos3svARB);

  traceThis = traceEnabled("glWindowPos3svARB");

  if (!traceGL_Native.glWindowPos3svARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3svARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("p", "%hd[%d]", p, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos3svARB(p);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib1dARB(GLuint index, GLdouble x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1dARB)
    traceGL_lookupNativeAddress("glVertexAttrib1dARB", (void **) &traceGL_Native.glVertexAttrib1dARB);

  traceThis = traceEnabled("glVertexAttrib1dARB");

  if (!traceGL_Native.glVertexAttrib1dARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1dARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%lf", x);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib1dARB(index, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib1dvARB(GLuint index, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1dvARB)
    traceGL_lookupNativeAddress("glVertexAttrib1dvARB", (void **) &traceGL_Native.glVertexAttrib1dvARB);

  traceThis = traceEnabled("glVertexAttrib1dvARB");

  if (!traceGL_Native.glVertexAttrib1dvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1dvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%lf[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib1dvARB(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib1fARB(GLuint index, GLfloat x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1fARB)
    traceGL_lookupNativeAddress("glVertexAttrib1fARB", (void **) &traceGL_Native.glVertexAttrib1fARB);

  traceThis = traceEnabled("glVertexAttrib1fARB");

  if (!traceGL_Native.glVertexAttrib1fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1fARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%f", x);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib1fARB(index, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib1fvARB(GLuint index, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1fvARB)
    traceGL_lookupNativeAddress("glVertexAttrib1fvARB", (void **) &traceGL_Native.glVertexAttrib1fvARB);

  traceThis = traceEnabled("glVertexAttrib1fvARB");

  if (!traceGL_Native.glVertexAttrib1fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1fvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%f[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib1fvARB(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib1sARB(GLuint index, GLshort x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1sARB)
    traceGL_lookupNativeAddress("glVertexAttrib1sARB", (void **) &traceGL_Native.glVertexAttrib1sARB);

  traceThis = traceEnabled("glVertexAttrib1sARB");

  if (!traceGL_Native.glVertexAttrib1sARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1sARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%hd", x);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib1sARB(index, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib1svARB(GLuint index, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1svARB)
    traceGL_lookupNativeAddress("glVertexAttrib1svARB", (void **) &traceGL_Native.glVertexAttrib1svARB);

  traceThis = traceEnabled("glVertexAttrib1svARB");

  if (!traceGL_Native.glVertexAttrib1svARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1svARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%hd[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib1svARB(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib2dARB(GLuint index, GLdouble x, GLdouble y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2dARB)
    traceGL_lookupNativeAddress("glVertexAttrib2dARB", (void **) &traceGL_Native.glVertexAttrib2dARB);

  traceThis = traceEnabled("glVertexAttrib2dARB");

  if (!traceGL_Native.glVertexAttrib2dARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2dARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib2dARB(index, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib2dvARB(GLuint index, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2dvARB)
    traceGL_lookupNativeAddress("glVertexAttrib2dvARB", (void **) &traceGL_Native.glVertexAttrib2dvARB);

  traceThis = traceEnabled("glVertexAttrib2dvARB");

  if (!traceGL_Native.glVertexAttrib2dvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2dvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%lf[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib2dvARB(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib2fARB(GLuint index, GLfloat x, GLfloat y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2fARB)
    traceGL_lookupNativeAddress("glVertexAttrib2fARB", (void **) &traceGL_Native.glVertexAttrib2fARB);

  traceThis = traceEnabled("glVertexAttrib2fARB");

  if (!traceGL_Native.glVertexAttrib2fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2fARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib2fARB(index, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib2fvARB(GLuint index, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2fvARB)
    traceGL_lookupNativeAddress("glVertexAttrib2fvARB", (void **) &traceGL_Native.glVertexAttrib2fvARB);

  traceThis = traceEnabled("glVertexAttrib2fvARB");

  if (!traceGL_Native.glVertexAttrib2fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2fvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%f[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib2fvARB(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib2sARB(GLuint index, GLshort x, GLshort y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2sARB)
    traceGL_lookupNativeAddress("glVertexAttrib2sARB", (void **) &traceGL_Native.glVertexAttrib2sARB);

  traceThis = traceEnabled("glVertexAttrib2sARB");

  if (!traceGL_Native.glVertexAttrib2sARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2sARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%hd", x);
    traceInputParameter("y", "%hd", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib2sARB(index, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib2svARB(GLuint index, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2svARB)
    traceGL_lookupNativeAddress("glVertexAttrib2svARB", (void **) &traceGL_Native.glVertexAttrib2svARB);

  traceThis = traceEnabled("glVertexAttrib2svARB");

  if (!traceGL_Native.glVertexAttrib2svARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2svARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%hd[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib2svARB(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib3dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3dARB)
    traceGL_lookupNativeAddress("glVertexAttrib3dARB", (void **) &traceGL_Native.glVertexAttrib3dARB);

  traceThis = traceEnabled("glVertexAttrib3dARB");

  if (!traceGL_Native.glVertexAttrib3dARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3dARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib3dARB(index, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib3dvARB(GLuint index, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3dvARB)
    traceGL_lookupNativeAddress("glVertexAttrib3dvARB", (void **) &traceGL_Native.glVertexAttrib3dvARB);

  traceThis = traceEnabled("glVertexAttrib3dvARB");

  if (!traceGL_Native.glVertexAttrib3dvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3dvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%lf[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib3dvARB(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib3fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3fARB)
    traceGL_lookupNativeAddress("glVertexAttrib3fARB", (void **) &traceGL_Native.glVertexAttrib3fARB);

  traceThis = traceEnabled("glVertexAttrib3fARB");

  if (!traceGL_Native.glVertexAttrib3fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3fARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib3fARB(index, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib3fvARB(GLuint index, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3fvARB)
    traceGL_lookupNativeAddress("glVertexAttrib3fvARB", (void **) &traceGL_Native.glVertexAttrib3fvARB);

  traceThis = traceEnabled("glVertexAttrib3fvARB");

  if (!traceGL_Native.glVertexAttrib3fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3fvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib3fvARB(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib3sARB(GLuint index, GLshort x, GLshort y, GLshort z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3sARB)
    traceGL_lookupNativeAddress("glVertexAttrib3sARB", (void **) &traceGL_Native.glVertexAttrib3sARB);

  traceThis = traceEnabled("glVertexAttrib3sARB");

  if (!traceGL_Native.glVertexAttrib3sARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3sARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%hd", x);
    traceInputParameter("y", "%hd", y);
    traceInputParameter("z", "%hd", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib3sARB(index, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib3svARB(GLuint index, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3svARB)
    traceGL_lookupNativeAddress("glVertexAttrib3svARB", (void **) &traceGL_Native.glVertexAttrib3svARB);

  traceThis = traceEnabled("glVertexAttrib3svARB");

  if (!traceGL_Native.glVertexAttrib3svARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3svARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%hd[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib3svARB(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4NbvARB(GLuint index, const GLbyte *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4NbvARB)
    traceGL_lookupNativeAddress("glVertexAttrib4NbvARB", (void **) &traceGL_Native.glVertexAttrib4NbvARB);

  traceThis = traceEnabled("glVertexAttrib4NbvARB");

  if (!traceGL_Native.glVertexAttrib4NbvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4NbvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%c[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4NbvARB(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4NivARB(GLuint index, const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4NivARB)
    traceGL_lookupNativeAddress("glVertexAttrib4NivARB", (void **) &traceGL_Native.glVertexAttrib4NivARB);

  traceThis = traceEnabled("glVertexAttrib4NivARB");

  if (!traceGL_Native.glVertexAttrib4NivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4NivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%d[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4NivARB(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4NsvARB(GLuint index, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4NsvARB)
    traceGL_lookupNativeAddress("glVertexAttrib4NsvARB", (void **) &traceGL_Native.glVertexAttrib4NsvARB);

  traceThis = traceEnabled("glVertexAttrib4NsvARB");

  if (!traceGL_Native.glVertexAttrib4NsvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4NsvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%hd[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4NsvARB(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4NubARB(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4NubARB)
    traceGL_lookupNativeAddress("glVertexAttrib4NubARB", (void **) &traceGL_Native.glVertexAttrib4NubARB);

  traceThis = traceEnabled("glVertexAttrib4NubARB");

  if (!traceGL_Native.glVertexAttrib4NubARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4NubARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%u", (unsigned int) x);
    traceInputParameter("y", "%u", (unsigned int) y);
    traceInputParameter("z", "%u", (unsigned int) z);
    traceInputParameter("w", "%u", (unsigned int) w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4NubARB(index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4NubvARB(GLuint index, const GLubyte *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4NubvARB)
    traceGL_lookupNativeAddress("glVertexAttrib4NubvARB", (void **) &traceGL_Native.glVertexAttrib4NubvARB);

  traceThis = traceEnabled("glVertexAttrib4NubvARB");

  if (!traceGL_Native.glVertexAttrib4NubvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4NubvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%c[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4NubvARB(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4NuivARB(GLuint index, const GLuint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4NuivARB)
    traceGL_lookupNativeAddress("glVertexAttrib4NuivARB", (void **) &traceGL_Native.glVertexAttrib4NuivARB);

  traceThis = traceEnabled("glVertexAttrib4NuivARB");

  if (!traceGL_Native.glVertexAttrib4NuivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4NuivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%u[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4NuivARB(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4NusvARB(GLuint index, const GLushort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4NusvARB)
    traceGL_lookupNativeAddress("glVertexAttrib4NusvARB", (void **) &traceGL_Native.glVertexAttrib4NusvARB);

  traceThis = traceEnabled("glVertexAttrib4NusvARB");

  if (!traceGL_Native.glVertexAttrib4NusvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4NusvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%hu[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4NusvARB(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4bvARB(GLuint index, const GLbyte *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4bvARB)
    traceGL_lookupNativeAddress("glVertexAttrib4bvARB", (void **) &traceGL_Native.glVertexAttrib4bvARB);

  traceThis = traceEnabled("glVertexAttrib4bvARB");

  if (!traceGL_Native.glVertexAttrib4bvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4bvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%c[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4bvARB(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4dARB)
    traceGL_lookupNativeAddress("glVertexAttrib4dARB", (void **) &traceGL_Native.glVertexAttrib4dARB);

  traceThis = traceEnabled("glVertexAttrib4dARB");

  if (!traceGL_Native.glVertexAttrib4dARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4dARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);
    traceInputParameter("w", "%lf", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4dARB(index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4dvARB(GLuint index, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4dvARB)
    traceGL_lookupNativeAddress("glVertexAttrib4dvARB", (void **) &traceGL_Native.glVertexAttrib4dvARB);

  traceThis = traceEnabled("glVertexAttrib4dvARB");

  if (!traceGL_Native.glVertexAttrib4dvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4dvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%lf[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4dvARB(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4fARB)
    traceGL_lookupNativeAddress("glVertexAttrib4fARB", (void **) &traceGL_Native.glVertexAttrib4fARB);

  traceThis = traceEnabled("glVertexAttrib4fARB");

  if (!traceGL_Native.glVertexAttrib4fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4fARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);
    traceInputParameter("w", "%f", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4fARB(index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4fvARB(GLuint index, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4fvARB)
    traceGL_lookupNativeAddress("glVertexAttrib4fvARB", (void **) &traceGL_Native.glVertexAttrib4fvARB);

  traceThis = traceEnabled("glVertexAttrib4fvARB");

  if (!traceGL_Native.glVertexAttrib4fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4fvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%f[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4fvARB(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4ivARB(GLuint index, const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4ivARB)
    traceGL_lookupNativeAddress("glVertexAttrib4ivARB", (void **) &traceGL_Native.glVertexAttrib4ivARB);

  traceThis = traceEnabled("glVertexAttrib4ivARB");

  if (!traceGL_Native.glVertexAttrib4ivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4ivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%d[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4ivARB(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4sARB(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4sARB)
    traceGL_lookupNativeAddress("glVertexAttrib4sARB", (void **) &traceGL_Native.glVertexAttrib4sARB);

  traceThis = traceEnabled("glVertexAttrib4sARB");

  if (!traceGL_Native.glVertexAttrib4sARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4sARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%hd", x);
    traceInputParameter("y", "%hd", y);
    traceInputParameter("z", "%hd", z);
    traceInputParameter("w", "%hd", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4sARB(index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4svARB(GLuint index, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4svARB)
    traceGL_lookupNativeAddress("glVertexAttrib4svARB", (void **) &traceGL_Native.glVertexAttrib4svARB);

  traceThis = traceEnabled("glVertexAttrib4svARB");

  if (!traceGL_Native.glVertexAttrib4svARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4svARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%hd[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4svARB(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4ubvARB(GLuint index, const GLubyte *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4ubvARB)
    traceGL_lookupNativeAddress("glVertexAttrib4ubvARB", (void **) &traceGL_Native.glVertexAttrib4ubvARB);

  traceThis = traceEnabled("glVertexAttrib4ubvARB");

  if (!traceGL_Native.glVertexAttrib4ubvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4ubvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%c[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4ubvARB(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4uivARB(GLuint index, const GLuint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4uivARB)
    traceGL_lookupNativeAddress("glVertexAttrib4uivARB", (void **) &traceGL_Native.glVertexAttrib4uivARB);

  traceThis = traceEnabled("glVertexAttrib4uivARB");

  if (!traceGL_Native.glVertexAttrib4uivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4uivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%u[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4uivARB(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4usvARB(GLuint index, const GLushort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4usvARB)
    traceGL_lookupNativeAddress("glVertexAttrib4usvARB", (void **) &traceGL_Native.glVertexAttrib4usvARB);

  traceThis = traceEnabled("glVertexAttrib4usvARB");

  if (!traceGL_Native.glVertexAttrib4usvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4usvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%hu[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4usvARB(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribPointerARB(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribPointerARB)
    traceGL_lookupNativeAddress("glVertexAttribPointerARB", (void **) &traceGL_Native.glVertexAttribPointerARB);

  traceThis = traceEnabled("glVertexAttribPointerARB");

  if (!traceGL_Native.glVertexAttribPointerARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribPointerARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("normalized", "%u", (unsigned int) normalized);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribPointerARB(index, size, type, normalized, stride, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEnableVertexAttribArrayARB(GLuint index)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEnableVertexAttribArrayARB)
    traceGL_lookupNativeAddress("glEnableVertexAttribArrayARB", (void **) &traceGL_Native.glEnableVertexAttribArrayARB);

  traceThis = traceEnabled("glEnableVertexAttribArrayARB");

  if (!traceGL_Native.glEnableVertexAttribArrayARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEnableVertexAttribArrayARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEnableVertexAttribArrayARB(index);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDisableVertexAttribArrayARB(GLuint index)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDisableVertexAttribArrayARB)
    traceGL_lookupNativeAddress("glDisableVertexAttribArrayARB", (void **) &traceGL_Native.glDisableVertexAttribArrayARB);

  traceThis = traceEnabled("glDisableVertexAttribArrayARB");

  if (!traceGL_Native.glDisableVertexAttribArrayARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDisableVertexAttribArrayARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDisableVertexAttribArrayARB(index);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramStringARB(GLenum target, GLenum format, GLsizei len, const GLvoid *string)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramStringARB)
    traceGL_lookupNativeAddress("glProgramStringARB", (void **) &traceGL_Native.glProgramStringARB);

  traceThis = traceEnabled("glProgramStringARB");

  if (!traceGL_Native.glProgramStringARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramStringARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("format", "%u", format);
    traceInputParameter("len", "%d", len);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramStringARB(target, format, len, string);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBindProgramARB(GLenum target, GLuint program)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindProgramARB)
    traceGL_lookupNativeAddress("glBindProgramARB", (void **) &traceGL_Native.glBindProgramARB);

  traceThis = traceEnabled("glBindProgramARB");

  if (!traceGL_Native.glBindProgramARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindProgramARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("program", "%u", program);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindProgramARB(target, program);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteProgramsARB(GLsizei n, const GLuint *programs)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteProgramsARB)
    traceGL_lookupNativeAddress("glDeleteProgramsARB", (void **) &traceGL_Native.glDeleteProgramsARB);

  traceThis = traceEnabled("glDeleteProgramsARB");

  if (!traceGL_Native.glDeleteProgramsARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteProgramsARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("programs", "%u[%d]", programs, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteProgramsARB(n, programs);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenProgramsARB(GLsizei n, GLuint *programs)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenProgramsARB)
    traceGL_lookupNativeAddress("glGenProgramsARB", (void **) &traceGL_Native.glGenProgramsARB);

  traceThis = traceEnabled("glGenProgramsARB");

  if (!traceGL_Native.glGenProgramsARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenProgramsARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenProgramsARB(n, programs);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("programs", "%u[%d]", programs, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramEnvParameter4dARB(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramEnvParameter4dARB)
    traceGL_lookupNativeAddress("glProgramEnvParameter4dARB", (void **) &traceGL_Native.glProgramEnvParameter4dARB);

  traceThis = traceEnabled("glProgramEnvParameter4dARB");

  if (!traceGL_Native.glProgramEnvParameter4dARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramEnvParameter4dARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);
    traceInputParameter("w", "%lf", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramEnvParameter4dARB(target, index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramEnvParameter4dvARB(GLenum target, GLuint index, const GLdouble *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramEnvParameter4dvARB)
    traceGL_lookupNativeAddress("glProgramEnvParameter4dvARB", (void **) &traceGL_Native.glProgramEnvParameter4dvARB);

  traceThis = traceEnabled("glProgramEnvParameter4dvARB");

  if (!traceGL_Native.glProgramEnvParameter4dvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramEnvParameter4dvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("params", "%lf[%d]", params, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramEnvParameter4dvARB(target, index, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramEnvParameter4fARB(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramEnvParameter4fARB)
    traceGL_lookupNativeAddress("glProgramEnvParameter4fARB", (void **) &traceGL_Native.glProgramEnvParameter4fARB);

  traceThis = traceEnabled("glProgramEnvParameter4fARB");

  if (!traceGL_Native.glProgramEnvParameter4fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramEnvParameter4fARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);
    traceInputParameter("w", "%f", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramEnvParameter4fARB(target, index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramEnvParameter4fvARB(GLenum target, GLuint index, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramEnvParameter4fvARB)
    traceGL_lookupNativeAddress("glProgramEnvParameter4fvARB", (void **) &traceGL_Native.glProgramEnvParameter4fvARB);

  traceThis = traceEnabled("glProgramEnvParameter4fvARB");

  if (!traceGL_Native.glProgramEnvParameter4fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramEnvParameter4fvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("params", "%f[%d]", params, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramEnvParameter4fvARB(target, index, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramLocalParameter4dARB(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramLocalParameter4dARB)
    traceGL_lookupNativeAddress("glProgramLocalParameter4dARB", (void **) &traceGL_Native.glProgramLocalParameter4dARB);

  traceThis = traceEnabled("glProgramLocalParameter4dARB");

  if (!traceGL_Native.glProgramLocalParameter4dARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramLocalParameter4dARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);
    traceInputParameter("w", "%lf", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramLocalParameter4dARB(target, index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramLocalParameter4dvARB(GLenum target, GLuint index, const GLdouble *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramLocalParameter4dvARB)
    traceGL_lookupNativeAddress("glProgramLocalParameter4dvARB", (void **) &traceGL_Native.glProgramLocalParameter4dvARB);

  traceThis = traceEnabled("glProgramLocalParameter4dvARB");

  if (!traceGL_Native.glProgramLocalParameter4dvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramLocalParameter4dvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("params", "%lf[%d]", params, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramLocalParameter4dvARB(target, index, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramLocalParameter4fARB(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramLocalParameter4fARB)
    traceGL_lookupNativeAddress("glProgramLocalParameter4fARB", (void **) &traceGL_Native.glProgramLocalParameter4fARB);

  traceThis = traceEnabled("glProgramLocalParameter4fARB");

  if (!traceGL_Native.glProgramLocalParameter4fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramLocalParameter4fARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);
    traceInputParameter("w", "%f", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramLocalParameter4fARB(target, index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramLocalParameter4fvARB(GLenum target, GLuint index, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramLocalParameter4fvARB)
    traceGL_lookupNativeAddress("glProgramLocalParameter4fvARB", (void **) &traceGL_Native.glProgramLocalParameter4fvARB);

  traceThis = traceEnabled("glProgramLocalParameter4fvARB");

  if (!traceGL_Native.glProgramLocalParameter4fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramLocalParameter4fvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("params", "%f[%d]", params, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramLocalParameter4fvARB(target, index, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramEnvParameterdvARB(GLenum target, GLuint index, GLdouble *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramEnvParameterdvARB)
    traceGL_lookupNativeAddress("glGetProgramEnvParameterdvARB", (void **) &traceGL_Native.glGetProgramEnvParameterdvARB);

  traceThis = traceEnabled("glGetProgramEnvParameterdvARB");

  if (!traceGL_Native.glGetProgramEnvParameterdvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramEnvParameterdvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetProgramEnvParameterdvARB(target, index, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%lf[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramEnvParameterfvARB(GLenum target, GLuint index, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramEnvParameterfvARB)
    traceGL_lookupNativeAddress("glGetProgramEnvParameterfvARB", (void **) &traceGL_Native.glGetProgramEnvParameterfvARB);

  traceThis = traceEnabled("glGetProgramEnvParameterfvARB");

  if (!traceGL_Native.glGetProgramEnvParameterfvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramEnvParameterfvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetProgramEnvParameterfvARB(target, index, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%f[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramLocalParameterdvARB(GLenum target, GLuint index, GLdouble *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramLocalParameterdvARB)
    traceGL_lookupNativeAddress("glGetProgramLocalParameterdvARB", (void **) &traceGL_Native.glGetProgramLocalParameterdvARB);

  traceThis = traceEnabled("glGetProgramLocalParameterdvARB");

  if (!traceGL_Native.glGetProgramLocalParameterdvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramLocalParameterdvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetProgramLocalParameterdvARB(target, index, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%lf[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramLocalParameterfvARB(GLenum target, GLuint index, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramLocalParameterfvARB)
    traceGL_lookupNativeAddress("glGetProgramLocalParameterfvARB", (void **) &traceGL_Native.glGetProgramLocalParameterfvARB);

  traceThis = traceEnabled("glGetProgramLocalParameterfvARB");

  if (!traceGL_Native.glGetProgramLocalParameterfvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramLocalParameterfvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetProgramLocalParameterfvARB(target, index, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%f[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramivARB(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramivARB)
    traceGL_lookupNativeAddress("glGetProgramivARB", (void **) &traceGL_Native.glGetProgramivARB);

  traceThis = traceEnabled("glGetProgramivARB");

  if (!traceGL_Native.glGetProgramivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetProgramivARB(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%d[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramStringARB(GLenum target, GLenum pname, GLvoid *string)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramStringARB)
    traceGL_lookupNativeAddress("glGetProgramStringARB", (void **) &traceGL_Native.glGetProgramStringARB);

  traceThis = traceEnabled("glGetProgramStringARB");

  if (!traceGL_Native.glGetProgramStringARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramStringARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetProgramStringARB(target, pname, string);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("string", "%p", string);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribdvARB(GLuint index, GLenum pname, GLdouble *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribdvARB)
    traceGL_lookupNativeAddress("glGetVertexAttribdvARB", (void **) &traceGL_Native.glGetVertexAttribdvARB);

  traceThis = traceEnabled("glGetVertexAttribdvARB");

  if (!traceGL_Native.glGetVertexAttribdvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribdvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVertexAttribdvARB(index, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%lf[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribfvARB(GLuint index, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribfvARB)
    traceGL_lookupNativeAddress("glGetVertexAttribfvARB", (void **) &traceGL_Native.glGetVertexAttribfvARB);

  traceThis = traceEnabled("glGetVertexAttribfvARB");

  if (!traceGL_Native.glGetVertexAttribfvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribfvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVertexAttribfvARB(index, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%f[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribivARB(GLuint index, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribivARB)
    traceGL_lookupNativeAddress("glGetVertexAttribivARB", (void **) &traceGL_Native.glGetVertexAttribivARB);

  traceThis = traceEnabled("glGetVertexAttribivARB");

  if (!traceGL_Native.glGetVertexAttribivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVertexAttribivARB(index, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%d[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribPointervARB(GLuint index, GLenum pname, GLvoid **pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribPointervARB)
    traceGL_lookupNativeAddress("glGetVertexAttribPointervARB", (void **) &traceGL_Native.glGetVertexAttribPointervARB);

  traceThis = traceEnabled("glGetVertexAttribPointervARB");

  if (!traceGL_Native.glGetVertexAttribPointervARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribPointervARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVertexAttribPointervARB(index, pname, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsProgramARB(GLuint program)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsProgramARB)
    traceGL_lookupNativeAddress("glIsProgramARB", (void **) &traceGL_Native.glIsProgramARB);

  traceThis = traceEnabled("glIsProgramARB");

  if (!traceGL_Native.glIsProgramARB)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsProgramARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsProgramARB(program);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBindBufferARB(GLenum target, GLuint buffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindBufferARB)
    traceGL_lookupNativeAddress("glBindBufferARB", (void **) &traceGL_Native.glBindBufferARB);

  traceThis = traceEnabled("glBindBufferARB");

  if (!traceGL_Native.glBindBufferARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindBufferARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("buffer", "%u", buffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindBufferARB(target, buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteBuffersARB(GLsizei n, const GLuint *buffers)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteBuffersARB)
    traceGL_lookupNativeAddress("glDeleteBuffersARB", (void **) &traceGL_Native.glDeleteBuffersARB);

  traceThis = traceEnabled("glDeleteBuffersARB");

  if (!traceGL_Native.glDeleteBuffersARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteBuffersARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("buffers", "%u[%d]", buffers, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteBuffersARB(n, buffers);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenBuffersARB(GLsizei n, GLuint *buffers)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenBuffersARB)
    traceGL_lookupNativeAddress("glGenBuffersARB", (void **) &traceGL_Native.glGenBuffersARB);

  traceThis = traceEnabled("glGenBuffersARB");

  if (!traceGL_Native.glGenBuffersARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenBuffersARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenBuffersARB(n, buffers);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("buffers", "%u[%d]", buffers, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsBufferARB(GLuint buffer)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsBufferARB)
    traceGL_lookupNativeAddress("glIsBufferARB", (void **) &traceGL_Native.glIsBufferARB);

  traceThis = traceEnabled("glIsBufferARB");

  if (!traceGL_Native.glIsBufferARB)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsBufferARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buffer", "%u", buffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsBufferARB(buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBufferDataARB(GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBufferDataARB)
    traceGL_lookupNativeAddress("glBufferDataARB", (void **) &traceGL_Native.glBufferDataARB);

  traceThis = traceEnabled("glBufferDataARB");

  if (!traceGL_Native.glBufferDataARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBufferDataARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("size", "%z", size);
    traceInputParameter("data", "%p", data);
    traceInputParameter("usage", "%u", usage);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBufferDataARB(target, size, data, usage);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBufferSubDataARB)
    traceGL_lookupNativeAddress("glBufferSubDataARB", (void **) &traceGL_Native.glBufferSubDataARB);

  traceThis = traceEnabled("glBufferSubDataARB");

  if (!traceGL_Native.glBufferSubDataARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBufferSubDataARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("offset", "%z", offset);
    traceInputParameter("size", "%z", size);
    traceInputParameter("data", "%p", data);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBufferSubDataARB(target, offset, size, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetBufferSubDataARB)
    traceGL_lookupNativeAddress("glGetBufferSubDataARB", (void **) &traceGL_Native.glGetBufferSubDataARB);

  traceThis = traceEnabled("glGetBufferSubDataARB");

  if (!traceGL_Native.glGetBufferSubDataARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetBufferSubDataARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("offset", "%z", offset);
    traceInputParameter("size", "%z", size);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetBufferSubDataARB(target, offset, size, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("data", "%p", data);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLvoid *GLAPIENTRY
glMapBufferARB(GLenum target, GLenum access)
{
  GLvoid *ret = NULL;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapBufferARB)
    traceGL_lookupNativeAddress("glMapBufferARB", (void **) &traceGL_Native.glMapBufferARB);

  traceThis = traceEnabled("glMapBufferARB");

  if (!traceGL_Native.glMapBufferARB)
    return NULL;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapBufferARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("access", "%u", access);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glMapBufferARB(target, access);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%p", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLboolean GLAPIENTRY
glUnmapBufferARB(GLenum target)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUnmapBufferARB)
    traceGL_lookupNativeAddress("glUnmapBufferARB", (void **) &traceGL_Native.glUnmapBufferARB);

  traceThis = traceEnabled("glUnmapBufferARB");

  if (!traceGL_Native.glUnmapBufferARB)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUnmapBufferARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glUnmapBufferARB(target);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetBufferParameterivARB(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetBufferParameterivARB)
    traceGL_lookupNativeAddress("glGetBufferParameterivARB", (void **) &traceGL_Native.glGetBufferParameterivARB);

  traceThis = traceEnabled("glGetBufferParameterivARB");

  if (!traceGL_Native.glGetBufferParameterivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetBufferParameterivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetBufferParameterivARB(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetBufferPointervARB(GLenum target, GLenum pname, GLvoid **params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetBufferPointervARB)
    traceGL_lookupNativeAddress("glGetBufferPointervARB", (void **) &traceGL_Native.glGetBufferPointervARB);

  traceThis = traceEnabled("glGetBufferPointervARB");

  if (!traceGL_Native.glGetBufferPointervARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetBufferPointervARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetBufferPointervARB(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenQueriesARB(GLsizei n, GLuint *ids)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenQueriesARB)
    traceGL_lookupNativeAddress("glGenQueriesARB", (void **) &traceGL_Native.glGenQueriesARB);

  traceThis = traceEnabled("glGenQueriesARB");

  if (!traceGL_Native.glGenQueriesARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenQueriesARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenQueriesARB(n, ids);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("ids", "%u[%d]", ids, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteQueriesARB(GLsizei n, const GLuint *ids)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteQueriesARB)
    traceGL_lookupNativeAddress("glDeleteQueriesARB", (void **) &traceGL_Native.glDeleteQueriesARB);

  traceThis = traceEnabled("glDeleteQueriesARB");

  if (!traceGL_Native.glDeleteQueriesARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteQueriesARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("ids", "%u[%d]", ids, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteQueriesARB(n, ids);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsQueryARB(GLuint id)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsQueryARB)
    traceGL_lookupNativeAddress("glIsQueryARB", (void **) &traceGL_Native.glIsQueryARB);

  traceThis = traceEnabled("glIsQueryARB");

  if (!traceGL_Native.glIsQueryARB)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsQueryARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsQueryARB(id);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBeginQueryARB(GLenum target, GLuint id)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBeginQueryARB)
    traceGL_lookupNativeAddress("glBeginQueryARB", (void **) &traceGL_Native.glBeginQueryARB);

  traceThis = traceEnabled("glBeginQueryARB");

  if (!traceGL_Native.glBeginQueryARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBeginQueryARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBeginQueryARB(target, id);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEndQueryARB(GLenum target)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndQueryARB)
    traceGL_lookupNativeAddress("glEndQueryARB", (void **) &traceGL_Native.glEndQueryARB);

  traceThis = traceEnabled("glEndQueryARB");

  if (!traceGL_Native.glEndQueryARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEndQueryARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEndQueryARB(target);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetQueryivARB(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetQueryivARB)
    traceGL_lookupNativeAddress("glGetQueryivARB", (void **) &traceGL_Native.glGetQueryivARB);

  traceThis = traceEnabled("glGetQueryivARB");

  if (!traceGL_Native.glGetQueryivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetQueryivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetQueryivARB(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetQueryObjectivARB(GLuint id, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetQueryObjectivARB)
    traceGL_lookupNativeAddress("glGetQueryObjectivARB", (void **) &traceGL_Native.glGetQueryObjectivARB);

  traceThis = traceEnabled("glGetQueryObjectivARB");

  if (!traceGL_Native.glGetQueryObjectivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetQueryObjectivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetQueryObjectivARB(id, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetQueryObjectuivARB(GLuint id, GLenum pname, GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetQueryObjectuivARB)
    traceGL_lookupNativeAddress("glGetQueryObjectuivARB", (void **) &traceGL_Native.glGetQueryObjectuivARB);

  traceThis = traceEnabled("glGetQueryObjectuivARB");

  if (!traceGL_Native.glGetQueryObjectuivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetQueryObjectuivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetQueryObjectuivARB(id, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteObjectARB(GLhandleARB obj)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteObjectARB)
    traceGL_lookupNativeAddress("glDeleteObjectARB", (void **) &traceGL_Native.glDeleteObjectARB);

  traceThis = traceEnabled("glDeleteObjectARB");

  if (!traceGL_Native.glDeleteObjectARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteObjectARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("obj", "%u", obj);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteObjectARB(obj);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLhandleARB GLAPIENTRY
glGetHandleARB(GLenum pname)
{
  GLhandleARB ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetHandleARB)
    traceGL_lookupNativeAddress("glGetHandleARB", (void **) &traceGL_Native.glGetHandleARB);

  traceThis = traceEnabled("glGetHandleARB");

  if (!traceGL_Native.glGetHandleARB)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetHandleARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGetHandleARB(pname);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glDetachObjectARB(GLhandleARB containerObj, GLhandleARB attachedObj)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDetachObjectARB)
    traceGL_lookupNativeAddress("glDetachObjectARB", (void **) &traceGL_Native.glDetachObjectARB);

  traceThis = traceEnabled("glDetachObjectARB");

  if (!traceGL_Native.glDetachObjectARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDetachObjectARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("containerObj", "%u", containerObj);
    traceInputParameter("attachedObj", "%u", attachedObj);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDetachObjectARB(containerObj, attachedObj);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLhandleARB GLAPIENTRY
glCreateShaderObjectARB(GLenum shaderType)
{
  GLhandleARB ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCreateShaderObjectARB)
    traceGL_lookupNativeAddress("glCreateShaderObjectARB", (void **) &traceGL_Native.glCreateShaderObjectARB);

  traceThis = traceEnabled("glCreateShaderObjectARB");

  if (!traceGL_Native.glCreateShaderObjectARB)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCreateShaderObjectARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("shaderType", "%u", shaderType);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glCreateShaderObjectARB(shaderType);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glShaderSourceARB(GLhandleARB shaderObj, GLsizei count, const GLcharARB **string, const GLint *length)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glShaderSourceARB)
    traceGL_lookupNativeAddress("glShaderSourceARB", (void **) &traceGL_Native.glShaderSourceARB);

  traceThis = traceEnabled("glShaderSourceARB");

  if (!traceGL_Native.glShaderSourceARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glShaderSourceARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("shaderObj", "%u", shaderObj);
    traceInputParameter("count", "%d", count);
    traceInputParameter("string", "%s[%ld]", string, (traceGL_helperGLShaderSourceLengthSize ? traceGL_helperGLShaderSourceLengthSize(count,length) : 0));
    traceInputParameter("length", "%d[%ld]", length, (traceGL_helperGLShaderSourceLengthSize ? traceGL_helperGLShaderSourceLengthSize(count,length) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glShaderSourceARB(shaderObj, count, string, length);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompileShaderARB(GLhandleARB shaderObj)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompileShaderARB)
    traceGL_lookupNativeAddress("glCompileShaderARB", (void **) &traceGL_Native.glCompileShaderARB);

  traceThis = traceEnabled("glCompileShaderARB");

  if (!traceGL_Native.glCompileShaderARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompileShaderARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("shaderObj", "%u", shaderObj);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompileShaderARB(shaderObj);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLhandleARB GLAPIENTRY
glCreateProgramObjectARB()
{
  GLhandleARB ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCreateProgramObjectARB)
    traceGL_lookupNativeAddress("glCreateProgramObjectARB", (void **) &traceGL_Native.glCreateProgramObjectARB);

  traceThis = traceEnabled("glCreateProgramObjectARB");

  if (!traceGL_Native.glCreateProgramObjectARB)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCreateProgramObjectARB");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glCreateProgramObjectARB();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glAttachObjectARB(GLhandleARB containerObj, GLhandleARB attachedObj)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glAttachObjectARB)
    traceGL_lookupNativeAddress("glAttachObjectARB", (void **) &traceGL_Native.glAttachObjectARB);

  traceThis = traceEnabled("glAttachObjectARB");

  if (!traceGL_Native.glAttachObjectARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glAttachObjectARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("containerObj", "%u", containerObj);
    traceInputParameter("attachedObj", "%u", attachedObj);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glAttachObjectARB(containerObj, attachedObj);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glLinkProgramARB(GLhandleARB programObj)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLinkProgramARB)
    traceGL_lookupNativeAddress("glLinkProgramARB", (void **) &traceGL_Native.glLinkProgramARB);

  traceThis = traceEnabled("glLinkProgramARB");

  if (!traceGL_Native.glLinkProgramARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLinkProgramARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("programObj", "%u", programObj);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glLinkProgramARB(programObj);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUseProgramObjectARB(GLhandleARB programObj)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUseProgramObjectARB)
    traceGL_lookupNativeAddress("glUseProgramObjectARB", (void **) &traceGL_Native.glUseProgramObjectARB);

  traceThis = traceEnabled("glUseProgramObjectARB");

  if (!traceGL_Native.glUseProgramObjectARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUseProgramObjectARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("programObj", "%u", programObj);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUseProgramObjectARB(programObj);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glValidateProgramARB(GLhandleARB programObj)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glValidateProgramARB)
    traceGL_lookupNativeAddress("glValidateProgramARB", (void **) &traceGL_Native.glValidateProgramARB);

  traceThis = traceEnabled("glValidateProgramARB");

  if (!traceGL_Native.glValidateProgramARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glValidateProgramARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("programObj", "%u", programObj);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glValidateProgramARB(programObj);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform1fARB(GLint location, GLfloat v0)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1fARB)
    traceGL_lookupNativeAddress("glUniform1fARB", (void **) &traceGL_Native.glUniform1fARB);

  traceThis = traceEnabled("glUniform1fARB");

  if (!traceGL_Native.glUniform1fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1fARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%f", v0);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform1fARB(location, v0);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform2fARB(GLint location, GLfloat v0, GLfloat v1)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2fARB)
    traceGL_lookupNativeAddress("glUniform2fARB", (void **) &traceGL_Native.glUniform2fARB);

  traceThis = traceEnabled("glUniform2fARB");

  if (!traceGL_Native.glUniform2fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2fARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%f", v0);
    traceInputParameter("v1", "%f", v1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform2fARB(location, v0, v1);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform3fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3fARB)
    traceGL_lookupNativeAddress("glUniform3fARB", (void **) &traceGL_Native.glUniform3fARB);

  traceThis = traceEnabled("glUniform3fARB");

  if (!traceGL_Native.glUniform3fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3fARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%f", v0);
    traceInputParameter("v1", "%f", v1);
    traceInputParameter("v2", "%f", v2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform3fARB(location, v0, v1, v2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform4fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4fARB)
    traceGL_lookupNativeAddress("glUniform4fARB", (void **) &traceGL_Native.glUniform4fARB);

  traceThis = traceEnabled("glUniform4fARB");

  if (!traceGL_Native.glUniform4fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4fARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%f", v0);
    traceInputParameter("v1", "%f", v1);
    traceInputParameter("v2", "%f", v2);
    traceInputParameter("v3", "%f", v3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform4fARB(location, v0, v1, v2, v3);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform1iARB(GLint location, GLint v0)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1iARB)
    traceGL_lookupNativeAddress("glUniform1iARB", (void **) &traceGL_Native.glUniform1iARB);

  traceThis = traceEnabled("glUniform1iARB");

  if (!traceGL_Native.glUniform1iARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1iARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%d", v0);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform1iARB(location, v0);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform2iARB(GLint location, GLint v0, GLint v1)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2iARB)
    traceGL_lookupNativeAddress("glUniform2iARB", (void **) &traceGL_Native.glUniform2iARB);

  traceThis = traceEnabled("glUniform2iARB");

  if (!traceGL_Native.glUniform2iARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2iARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%d", v0);
    traceInputParameter("v1", "%d", v1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform2iARB(location, v0, v1);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform3iARB(GLint location, GLint v0, GLint v1, GLint v2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3iARB)
    traceGL_lookupNativeAddress("glUniform3iARB", (void **) &traceGL_Native.glUniform3iARB);

  traceThis = traceEnabled("glUniform3iARB");

  if (!traceGL_Native.glUniform3iARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3iARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%d", v0);
    traceInputParameter("v1", "%d", v1);
    traceInputParameter("v2", "%d", v2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform3iARB(location, v0, v1, v2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform4iARB(GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4iARB)
    traceGL_lookupNativeAddress("glUniform4iARB", (void **) &traceGL_Native.glUniform4iARB);

  traceThis = traceEnabled("glUniform4iARB");

  if (!traceGL_Native.glUniform4iARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4iARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%d", v0);
    traceInputParameter("v1", "%d", v1);
    traceInputParameter("v2", "%d", v2);
    traceInputParameter("v3", "%d", v3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform4iARB(location, v0, v1, v2, v3);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform1fvARB(GLint location, GLsizei count, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1fvARB)
    traceGL_lookupNativeAddress("glUniform1fvARB", (void **) &traceGL_Native.glUniform1fvARB);

  traceThis = traceEnabled("glUniform1fvARB");

  if (!traceGL_Native.glUniform1fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1fvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform1fvARB(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform2fvARB(GLint location, GLsizei count, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2fvARB)
    traceGL_lookupNativeAddress("glUniform2fvARB", (void **) &traceGL_Native.glUniform2fvARB);

  traceThis = traceEnabled("glUniform2fvARB");

  if (!traceGL_Native.glUniform2fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2fvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform2fvARB(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform3fvARB(GLint location, GLsizei count, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3fvARB)
    traceGL_lookupNativeAddress("glUniform3fvARB", (void **) &traceGL_Native.glUniform3fvARB);

  traceThis = traceEnabled("glUniform3fvARB");

  if (!traceGL_Native.glUniform3fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3fvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform3fvARB(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform4fvARB(GLint location, GLsizei count, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4fvARB)
    traceGL_lookupNativeAddress("glUniform4fvARB", (void **) &traceGL_Native.glUniform4fvARB);

  traceThis = traceEnabled("glUniform4fvARB");

  if (!traceGL_Native.glUniform4fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4fvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform4fvARB(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform1ivARB(GLint location, GLsizei count, const GLint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1ivARB)
    traceGL_lookupNativeAddress("glUniform1ivARB", (void **) &traceGL_Native.glUniform1ivARB);

  traceThis = traceEnabled("glUniform1ivARB");

  if (!traceGL_Native.glUniform1ivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1ivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform1ivARB(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform2ivARB(GLint location, GLsizei count, const GLint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2ivARB)
    traceGL_lookupNativeAddress("glUniform2ivARB", (void **) &traceGL_Native.glUniform2ivARB);

  traceThis = traceEnabled("glUniform2ivARB");

  if (!traceGL_Native.glUniform2ivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2ivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform2ivARB(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform3ivARB(GLint location, GLsizei count, const GLint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3ivARB)
    traceGL_lookupNativeAddress("glUniform3ivARB", (void **) &traceGL_Native.glUniform3ivARB);

  traceThis = traceEnabled("glUniform3ivARB");

  if (!traceGL_Native.glUniform3ivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3ivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform3ivARB(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform4ivARB(GLint location, GLsizei count, const GLint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4ivARB)
    traceGL_lookupNativeAddress("glUniform4ivARB", (void **) &traceGL_Native.glUniform4ivARB);

  traceThis = traceEnabled("glUniform4ivARB");

  if (!traceGL_Native.glUniform4ivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4ivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform4ivARB(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformMatrix2fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix2fvARB)
    traceGL_lookupNativeAddress("glUniformMatrix2fvARB", (void **) &traceGL_Native.glUniformMatrix2fvARB);

  traceThis = traceEnabled("glUniformMatrix2fvARB");

  if (!traceGL_Native.glUniformMatrix2fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix2fvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniformMatrix2fvARB(location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformMatrix3fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix3fvARB)
    traceGL_lookupNativeAddress("glUniformMatrix3fvARB", (void **) &traceGL_Native.glUniformMatrix3fvARB);

  traceThis = traceEnabled("glUniformMatrix3fvARB");

  if (!traceGL_Native.glUniformMatrix3fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix3fvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniformMatrix3fvARB(location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformMatrix4fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix4fvARB)
    traceGL_lookupNativeAddress("glUniformMatrix4fvARB", (void **) &traceGL_Native.glUniformMatrix4fvARB);

  traceThis = traceEnabled("glUniformMatrix4fvARB");

  if (!traceGL_Native.glUniformMatrix4fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix4fvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniformMatrix4fvARB(location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetObjectParameterfvARB(GLhandleARB obj, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetObjectParameterfvARB)
    traceGL_lookupNativeAddress("glGetObjectParameterfvARB", (void **) &traceGL_Native.glGetObjectParameterfvARB);

  traceThis = traceEnabled("glGetObjectParameterfvARB");

  if (!traceGL_Native.glGetObjectParameterfvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetObjectParameterfvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("obj", "%u", obj);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetObjectParameterfvARB(obj, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetObjectParameterivARB(GLhandleARB obj, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetObjectParameterivARB)
    traceGL_lookupNativeAddress("glGetObjectParameterivARB", (void **) &traceGL_Native.glGetObjectParameterivARB);

  traceThis = traceEnabled("glGetObjectParameterivARB");

  if (!traceGL_Native.glGetObjectParameterivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetObjectParameterivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("obj", "%u", obj);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetObjectParameterivARB(obj, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetInfoLogARB(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetInfoLogARB)
    traceGL_lookupNativeAddress("glGetInfoLogARB", (void **) &traceGL_Native.glGetInfoLogARB);

  traceThis = traceEnabled("glGetInfoLogARB");

  if (!traceGL_Native.glGetInfoLogARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetInfoLogARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("obj", "%u", obj);
    traceInputParameter("maxLength", "%d", maxLength);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetInfoLogARB(obj, maxLength, length, infoLog);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("length", "%d[%d]", length, 1);
    traceOutputParameter("infoLog", "%s", infoLog);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetAttachedObjectsARB(GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetAttachedObjectsARB)
    traceGL_lookupNativeAddress("glGetAttachedObjectsARB", (void **) &traceGL_Native.glGetAttachedObjectsARB);

  traceThis = traceEnabled("glGetAttachedObjectsARB");

  if (!traceGL_Native.glGetAttachedObjectsARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetAttachedObjectsARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("containerObj", "%u", containerObj);
    traceInputParameter("maxCount", "%d", maxCount);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetAttachedObjectsARB(containerObj, maxCount, count, obj);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("count", "%d[%d]", count, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLint GLAPIENTRY
glGetUniformLocationARB(GLhandleARB programObj, const GLcharARB *name)
{
  GLint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformLocationARB)
    traceGL_lookupNativeAddress("glGetUniformLocationARB", (void **) &traceGL_Native.glGetUniformLocationARB);

  traceThis = traceEnabled("glGetUniformLocationARB");

  if (!traceGL_Native.glGetUniformLocationARB)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformLocationARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("programObj", "%u", programObj);
    traceInputParameter("name", "%s", name);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGetUniformLocationARB(programObj, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%d", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetActiveUniformARB)
    traceGL_lookupNativeAddress("glGetActiveUniformARB", (void **) &traceGL_Native.glGetActiveUniformARB);

  traceThis = traceEnabled("glGetActiveUniformARB");

  if (!traceGL_Native.glGetActiveUniformARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetActiveUniformARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("programObj", "%u", programObj);
    traceInputParameter("index", "%u", index);
    traceInputParameter("maxLength", "%d", maxLength);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetActiveUniformARB(programObj, index, maxLength, length, size, type, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("length", "%d[%d]", length, 1);
    traceOutputParameter("size", "%d[%d]", size, 1);
    traceOutputParameter("type", "%u[%d]", type, 1);
    traceOutputParameter("name", "%s", name);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetUniformfvARB(GLhandleARB programObj, GLint location, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformfvARB)
    traceGL_lookupNativeAddress("glGetUniformfvARB", (void **) &traceGL_Native.glGetUniformfvARB);

  traceThis = traceEnabled("glGetUniformfvARB");

  if (!traceGL_Native.glGetUniformfvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformfvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("programObj", "%u", programObj);
    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetUniformfvARB(programObj, location, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetUniformivARB(GLhandleARB programObj, GLint location, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformivARB)
    traceGL_lookupNativeAddress("glGetUniformivARB", (void **) &traceGL_Native.glGetUniformivARB);

  traceThis = traceEnabled("glGetUniformivARB");

  if (!traceGL_Native.glGetUniformivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("programObj", "%u", programObj);
    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetUniformivARB(programObj, location, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetShaderSourceARB(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetShaderSourceARB)
    traceGL_lookupNativeAddress("glGetShaderSourceARB", (void **) &traceGL_Native.glGetShaderSourceARB);

  traceThis = traceEnabled("glGetShaderSourceARB");

  if (!traceGL_Native.glGetShaderSourceARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetShaderSourceARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("obj", "%u", obj);
    traceInputParameter("maxLength", "%d", maxLength);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetShaderSourceARB(obj, maxLength, length, source);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("length", "%d[%d]", length, 1);
    traceOutputParameter("source", "%s", source);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBindAttribLocationARB(GLhandleARB programObj, GLuint index, const GLcharARB *name)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindAttribLocationARB)
    traceGL_lookupNativeAddress("glBindAttribLocationARB", (void **) &traceGL_Native.glBindAttribLocationARB);

  traceThis = traceEnabled("glBindAttribLocationARB");

  if (!traceGL_Native.glBindAttribLocationARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindAttribLocationARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("programObj", "%u", programObj);
    traceInputParameter("index", "%u", index);
    traceInputParameter("name", "%s", name);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindAttribLocationARB(programObj, index, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetActiveAttribARB)
    traceGL_lookupNativeAddress("glGetActiveAttribARB", (void **) &traceGL_Native.glGetActiveAttribARB);

  traceThis = traceEnabled("glGetActiveAttribARB");

  if (!traceGL_Native.glGetActiveAttribARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetActiveAttribARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("programObj", "%u", programObj);
    traceInputParameter("index", "%u", index);
    traceInputParameter("maxLength", "%d", maxLength);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetActiveAttribARB(programObj, index, maxLength, length, size, type, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("length", "%d[%d]", length, 1);
    traceOutputParameter("size", "%d[%d]", size, 1);
    traceOutputParameter("type", "%u[%d]", type, 1);
    traceOutputParameter("name", "%s", name);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLint GLAPIENTRY
glGetAttribLocationARB(GLhandleARB programObj, const GLcharARB *name)
{
  GLint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetAttribLocationARB)
    traceGL_lookupNativeAddress("glGetAttribLocationARB", (void **) &traceGL_Native.glGetAttribLocationARB);

  traceThis = traceEnabled("glGetAttribLocationARB");

  if (!traceGL_Native.glGetAttribLocationARB)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetAttribLocationARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("programObj", "%u", programObj);
    traceInputParameter("name", "%s", name);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGetAttribLocationARB(programObj, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%d", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glDrawBuffersARB(GLsizei n, const GLenum *bufs)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawBuffersARB)
    traceGL_lookupNativeAddress("glDrawBuffersARB", (void **) &traceGL_Native.glDrawBuffersARB);

  traceThis = traceEnabled("glDrawBuffersARB");

  if (!traceGL_Native.glDrawBuffersARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawBuffersARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("bufs", "%u[%d]", bufs, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawBuffersARB(n, bufs);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glClampColorARB(GLenum target, GLenum clamp)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClampColorARB)
    traceGL_lookupNativeAddress("glClampColorARB", (void **) &traceGL_Native.glClampColorARB);

  traceThis = traceEnabled("glClampColorARB");

  if (!traceGL_Native.glClampColorARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClampColorARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("clamp", "%u", clamp);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glClampColorARB(target, clamp);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawArraysInstancedARB(GLenum mode, GLint start, GLsizei count, GLsizei primcount)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawArraysInstancedARB)
    traceGL_lookupNativeAddress("glDrawArraysInstancedARB", (void **) &traceGL_Native.glDrawArraysInstancedARB);

  traceThis = traceEnabled("glDrawArraysInstancedARB");

  if (!traceGL_Native.glDrawArraysInstancedARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawArraysInstancedARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("start", "%d", start);
    traceInputParameter("count", "%d", count);
    traceInputParameter("primcount", "%d", primcount);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawArraysInstancedARB(mode, start, count, primcount);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawElementsInstancedARB(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawElementsInstancedARB)
    traceGL_lookupNativeAddress("glDrawElementsInstancedARB", (void **) &traceGL_Native.glDrawElementsInstancedARB);

  traceThis = traceEnabled("glDrawElementsInstancedARB");

  if (!traceGL_Native.glDrawElementsInstancedARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawElementsInstancedARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("count", "%d", count);
    traceInputParameter("type", "%u", type);
    traceInputParameter("indices", "%p", indices);
    traceInputParameter("primcount", "%d", primcount);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawElementsInstancedARB(mode, count, type, indices, primcount);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsRenderbuffer(GLuint renderbuffer)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsRenderbuffer)
    traceGL_lookupNativeAddress("glIsRenderbuffer", (void **) &traceGL_Native.glIsRenderbuffer);

  traceThis = traceEnabled("glIsRenderbuffer");

  if (!traceGL_Native.glIsRenderbuffer)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsRenderbuffer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("renderbuffer", "%u", renderbuffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsRenderbuffer(renderbuffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBindRenderbuffer(GLenum target, GLuint renderbuffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindRenderbuffer)
    traceGL_lookupNativeAddress("glBindRenderbuffer", (void **) &traceGL_Native.glBindRenderbuffer);

  traceThis = traceEnabled("glBindRenderbuffer");

  if (!traceGL_Native.glBindRenderbuffer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindRenderbuffer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("renderbuffer", "%u", renderbuffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindRenderbuffer(target, renderbuffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteRenderbuffers)
    traceGL_lookupNativeAddress("glDeleteRenderbuffers", (void **) &traceGL_Native.glDeleteRenderbuffers);

  traceThis = traceEnabled("glDeleteRenderbuffers");

  if (!traceGL_Native.glDeleteRenderbuffers)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteRenderbuffers");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("renderbuffers", "%u[%d]", renderbuffers, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteRenderbuffers(n, renderbuffers);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenRenderbuffers(GLsizei n, GLuint *renderbuffers)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenRenderbuffers)
    traceGL_lookupNativeAddress("glGenRenderbuffers", (void **) &traceGL_Native.glGenRenderbuffers);

  traceThis = traceEnabled("glGenRenderbuffers");

  if (!traceGL_Native.glGenRenderbuffers)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenRenderbuffers");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenRenderbuffers(n, renderbuffers);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("renderbuffers", "%u[%d]", renderbuffers, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRenderbufferStorage)
    traceGL_lookupNativeAddress("glRenderbufferStorage", (void **) &traceGL_Native.glRenderbufferStorage);

  traceThis = traceEnabled("glRenderbufferStorage");

  if (!traceGL_Native.glRenderbufferStorage)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRenderbufferStorage");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRenderbufferStorage(target, internalformat, width, height);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetRenderbufferParameteriv)
    traceGL_lookupNativeAddress("glGetRenderbufferParameteriv", (void **) &traceGL_Native.glGetRenderbufferParameteriv);

  traceThis = traceEnabled("glGetRenderbufferParameteriv");

  if (!traceGL_Native.glGetRenderbufferParameteriv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetRenderbufferParameteriv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetRenderbufferParameteriv(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsFramebuffer(GLuint framebuffer)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsFramebuffer)
    traceGL_lookupNativeAddress("glIsFramebuffer", (void **) &traceGL_Native.glIsFramebuffer);

  traceThis = traceEnabled("glIsFramebuffer");

  if (!traceGL_Native.glIsFramebuffer)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsFramebuffer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("framebuffer", "%u", framebuffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsFramebuffer(framebuffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBindFramebuffer(GLenum target, GLuint framebuffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindFramebuffer)
    traceGL_lookupNativeAddress("glBindFramebuffer", (void **) &traceGL_Native.glBindFramebuffer);

  traceThis = traceEnabled("glBindFramebuffer");

  if (!traceGL_Native.glBindFramebuffer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindFramebuffer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("framebuffer", "%u", framebuffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindFramebuffer(target, framebuffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteFramebuffers)
    traceGL_lookupNativeAddress("glDeleteFramebuffers", (void **) &traceGL_Native.glDeleteFramebuffers);

  traceThis = traceEnabled("glDeleteFramebuffers");

  if (!traceGL_Native.glDeleteFramebuffers)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteFramebuffers");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("framebuffers", "%u[%d]", framebuffers, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteFramebuffers(n, framebuffers);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenFramebuffers(GLsizei n, GLuint *framebuffers)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenFramebuffers)
    traceGL_lookupNativeAddress("glGenFramebuffers", (void **) &traceGL_Native.glGenFramebuffers);

  traceThis = traceEnabled("glGenFramebuffers");

  if (!traceGL_Native.glGenFramebuffers)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenFramebuffers");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenFramebuffers(n, framebuffers);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("framebuffers", "%u[%d]", framebuffers, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLenum GLAPIENTRY
glCheckFramebufferStatus(GLenum target)
{
  GLenum ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCheckFramebufferStatus)
    traceGL_lookupNativeAddress("glCheckFramebufferStatus", (void **) &traceGL_Native.glCheckFramebufferStatus);

  traceThis = traceEnabled("glCheckFramebufferStatus");

  if (!traceGL_Native.glCheckFramebufferStatus)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCheckFramebufferStatus");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glCheckFramebufferStatus(target);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTexture1D)
    traceGL_lookupNativeAddress("glFramebufferTexture1D", (void **) &traceGL_Native.glFramebufferTexture1D);

  traceThis = traceEnabled("glFramebufferTexture1D");

  if (!traceGL_Native.glFramebufferTexture1D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTexture1D");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("textarget", "%u", textarget);
    traceInputParameter("texture", "%u", texture);
    traceInputParameter("level", "%d", level);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFramebufferTexture1D(target, attachment, textarget, texture, level);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTexture2D)
    traceGL_lookupNativeAddress("glFramebufferTexture2D", (void **) &traceGL_Native.glFramebufferTexture2D);

  traceThis = traceEnabled("glFramebufferTexture2D");

  if (!traceGL_Native.glFramebufferTexture2D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTexture2D");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("textarget", "%u", textarget);
    traceInputParameter("texture", "%u", texture);
    traceInputParameter("level", "%d", level);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFramebufferTexture2D(target, attachment, textarget, texture, level);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTexture3D)
    traceGL_lookupNativeAddress("glFramebufferTexture3D", (void **) &traceGL_Native.glFramebufferTexture3D);

  traceThis = traceEnabled("glFramebufferTexture3D");

  if (!traceGL_Native.glFramebufferTexture3D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTexture3D");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("textarget", "%u", textarget);
    traceInputParameter("texture", "%u", texture);
    traceInputParameter("level", "%d", level);
    traceInputParameter("zoffset", "%d", zoffset);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFramebufferTexture3D(target, attachment, textarget, texture, level, zoffset);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferRenderbuffer)
    traceGL_lookupNativeAddress("glFramebufferRenderbuffer", (void **) &traceGL_Native.glFramebufferRenderbuffer);

  traceThis = traceEnabled("glFramebufferRenderbuffer");

  if (!traceGL_Native.glFramebufferRenderbuffer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferRenderbuffer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("renderbuffertarget", "%u", renderbuffertarget);
    traceInputParameter("renderbuffer", "%u", renderbuffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFramebufferAttachmentParameteriv)
    traceGL_lookupNativeAddress("glGetFramebufferAttachmentParameteriv", (void **) &traceGL_Native.glGetFramebufferAttachmentParameteriv);

  traceThis = traceEnabled("glGetFramebufferAttachmentParameteriv");

  if (!traceGL_Native.glGetFramebufferAttachmentParameteriv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFramebufferAttachmentParameteriv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetFramebufferAttachmentParameteriv(target, attachment, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenerateMipmap(GLenum target)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenerateMipmap)
    traceGL_lookupNativeAddress("glGenerateMipmap", (void **) &traceGL_Native.glGenerateMipmap);

  traceThis = traceEnabled("glGenerateMipmap");

  if (!traceGL_Native.glGenerateMipmap)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenerateMipmap");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenerateMipmap(target);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlitFramebuffer)
    traceGL_lookupNativeAddress("glBlitFramebuffer", (void **) &traceGL_Native.glBlitFramebuffer);

  traceThis = traceEnabled("glBlitFramebuffer");

  if (!traceGL_Native.glBlitFramebuffer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlitFramebuffer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("srcX0", "%d", srcX0);
    traceInputParameter("srcY0", "%d", srcY0);
    traceInputParameter("srcX1", "%d", srcX1);
    traceInputParameter("srcY1", "%d", srcY1);
    traceInputParameter("dstX0", "%d", dstX0);
    traceInputParameter("dstY0", "%d", dstY0);
    traceInputParameter("dstX1", "%d", dstX1);
    traceInputParameter("dstY1", "%d", dstY1);
    traceInputParameter("mask", "%u", mask);
    traceInputParameter("filter", "%u", filter);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRenderbufferStorageMultisample)
    traceGL_lookupNativeAddress("glRenderbufferStorageMultisample", (void **) &traceGL_Native.glRenderbufferStorageMultisample);

  traceThis = traceEnabled("glRenderbufferStorageMultisample");

  if (!traceGL_Native.glRenderbufferStorageMultisample)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRenderbufferStorageMultisample");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("samples", "%d", samples);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRenderbufferStorageMultisample(target, samples, internalformat, width, height);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTextureLayer)
    traceGL_lookupNativeAddress("glFramebufferTextureLayer", (void **) &traceGL_Native.glFramebufferTextureLayer);

  traceThis = traceEnabled("glFramebufferTextureLayer");

  if (!traceGL_Native.glFramebufferTextureLayer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTextureLayer");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("texture", "%u", texture);
    traceInputParameter("level", "%d", level);
    traceInputParameter("layer", "%d", layer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFramebufferTextureLayer(target, attachment, texture, level, layer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramParameteriARB(GLuint program, GLenum pname, GLint value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramParameteriARB)
    traceGL_lookupNativeAddress("glProgramParameteriARB", (void **) &traceGL_Native.glProgramParameteriARB);

  traceThis = traceEnabled("glProgramParameteriARB");

  if (!traceGL_Native.glProgramParameteriARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramParameteriARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("value", "%d", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramParameteriARB(program, pname, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFramebufferTextureARB(GLenum target, GLenum attachment, GLuint texture, GLint level)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTextureARB)
    traceGL_lookupNativeAddress("glFramebufferTextureARB", (void **) &traceGL_Native.glFramebufferTextureARB);

  traceThis = traceEnabled("glFramebufferTextureARB");

  if (!traceGL_Native.glFramebufferTextureARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTextureARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("texture", "%u", texture);
    traceInputParameter("level", "%d", level);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFramebufferTextureARB(target, attachment, texture, level);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFramebufferTextureLayerARB(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTextureLayerARB)
    traceGL_lookupNativeAddress("glFramebufferTextureLayerARB", (void **) &traceGL_Native.glFramebufferTextureLayerARB);

  traceThis = traceEnabled("glFramebufferTextureLayerARB");

  if (!traceGL_Native.glFramebufferTextureLayerARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTextureLayerARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("texture", "%u", texture);
    traceInputParameter("level", "%d", level);
    traceInputParameter("layer", "%d", layer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFramebufferTextureLayerARB(target, attachment, texture, level, layer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFramebufferTextureFaceARB(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTextureFaceARB)
    traceGL_lookupNativeAddress("glFramebufferTextureFaceARB", (void **) &traceGL_Native.glFramebufferTextureFaceARB);

  traceThis = traceEnabled("glFramebufferTextureFaceARB");

  if (!traceGL_Native.glFramebufferTextureFaceARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTextureFaceARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("texture", "%u", texture);
    traceInputParameter("level", "%d", level);
    traceInputParameter("face", "%u", face);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFramebufferTextureFaceARB(target, attachment, texture, level, face);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribDivisorARB(GLuint index, GLuint divisor)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribDivisorARB)
    traceGL_lookupNativeAddress("glVertexAttribDivisorARB", (void **) &traceGL_Native.glVertexAttribDivisorARB);

  traceThis = traceEnabled("glVertexAttribDivisorARB");

  if (!traceGL_Native.glVertexAttribDivisorARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribDivisorARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("divisor", "%u", divisor);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribDivisorARB(index, divisor);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLvoid *GLAPIENTRY
glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
{
  GLvoid *ret = NULL;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapBufferRange)
    traceGL_lookupNativeAddress("glMapBufferRange", (void **) &traceGL_Native.glMapBufferRange);

  traceThis = traceEnabled("glMapBufferRange");

  if (!traceGL_Native.glMapBufferRange)
    return NULL;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapBufferRange");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("offset", "%z", offset);
    traceInputParameter("length", "%z", length);
    traceInputParameter("access", "%u", access);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glMapBufferRange(target, offset, length, access);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%p", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFlushMappedBufferRange)
    traceGL_lookupNativeAddress("glFlushMappedBufferRange", (void **) &traceGL_Native.glFlushMappedBufferRange);

  traceThis = traceEnabled("glFlushMappedBufferRange");

  if (!traceGL_Native.glFlushMappedBufferRange)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFlushMappedBufferRange");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("offset", "%z", offset);
    traceInputParameter("length", "%z", length);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFlushMappedBufferRange(target, offset, length);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexBufferARB(GLenum target, GLenum internalformat, GLuint buffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexBufferARB)
    traceGL_lookupNativeAddress("glTexBufferARB", (void **) &traceGL_Native.glTexBufferARB);

  traceThis = traceEnabled("glTexBufferARB");

  if (!traceGL_Native.glTexBufferARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexBufferARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("buffer", "%u", buffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexBufferARB(target, internalformat, buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBindVertexArray(GLuint array)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindVertexArray)
    traceGL_lookupNativeAddress("glBindVertexArray", (void **) &traceGL_Native.glBindVertexArray);

  traceThis = traceEnabled("glBindVertexArray");

  if (!traceGL_Native.glBindVertexArray)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindVertexArray");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("array", "%u", array);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindVertexArray(array);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteVertexArrays(GLsizei n, const GLuint *arrays)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteVertexArrays)
    traceGL_lookupNativeAddress("glDeleteVertexArrays", (void **) &traceGL_Native.glDeleteVertexArrays);

  traceThis = traceEnabled("glDeleteVertexArrays");

  if (!traceGL_Native.glDeleteVertexArrays)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteVertexArrays");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("arrays", "%u[%d]", arrays, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteVertexArrays(n, arrays);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenVertexArrays(GLsizei n, GLuint *arrays)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenVertexArrays)
    traceGL_lookupNativeAddress("glGenVertexArrays", (void **) &traceGL_Native.glGenVertexArrays);

  traceThis = traceEnabled("glGenVertexArrays");

  if (!traceGL_Native.glGenVertexArrays)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenVertexArrays");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenVertexArrays(n, arrays);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("arrays", "%u[%d]", arrays, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsVertexArray(GLuint array)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsVertexArray)
    traceGL_lookupNativeAddress("glIsVertexArray", (void **) &traceGL_Native.glIsVertexArray);

  traceThis = traceEnabled("glIsVertexArray");

  if (!traceGL_Native.glIsVertexArray)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsVertexArray");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("array", "%u", array);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsVertexArray(array);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar **uniformNames, GLuint *uniformIndices)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformIndices)
    traceGL_lookupNativeAddress("glGetUniformIndices", (void **) &traceGL_Native.glGetUniformIndices);

  traceThis = traceEnabled("glGetUniformIndices");

  if (!traceGL_Native.glGetUniformIndices)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformIndices");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("uniformCount", "%d", uniformCount);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetUniformIndices(program, uniformCount, uniformNames, uniformIndices);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetActiveUniformsiv)
    traceGL_lookupNativeAddress("glGetActiveUniformsiv", (void **) &traceGL_Native.glGetActiveUniformsiv);

  traceThis = traceEnabled("glGetActiveUniformsiv");

  if (!traceGL_Native.glGetActiveUniformsiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetActiveUniformsiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("uniformCount", "%d", uniformCount);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetActiveUniformName)
    traceGL_lookupNativeAddress("glGetActiveUniformName", (void **) &traceGL_Native.glGetActiveUniformName);

  traceThis = traceEnabled("glGetActiveUniformName");

  if (!traceGL_Native.glGetActiveUniformName)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetActiveUniformName");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("uniformIndex", "%u", uniformIndex);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetActiveUniformName(program, uniformIndex, bufSize, length, uniformName);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("length", "%d[%d]", length, 1);
    traceOutputParameter("uniformName", "%s", uniformName);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLuint GLAPIENTRY
glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName)
{
  GLuint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformBlockIndex)
    traceGL_lookupNativeAddress("glGetUniformBlockIndex", (void **) &traceGL_Native.glGetUniformBlockIndex);

  traceThis = traceEnabled("glGetUniformBlockIndex");

  if (!traceGL_Native.glGetUniformBlockIndex)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformBlockIndex");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("uniformBlockName", "%s", uniformBlockName);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGetUniformBlockIndex(program, uniformBlockName);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetActiveUniformBlockiv)
    traceGL_lookupNativeAddress("glGetActiveUniformBlockiv", (void **) &traceGL_Native.glGetActiveUniformBlockiv);

  traceThis = traceEnabled("glGetActiveUniformBlockiv");

  if (!traceGL_Native.glGetActiveUniformBlockiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetActiveUniformBlockiv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("uniformBlockIndex", "%u", uniformBlockIndex);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetActiveUniformBlockiv(program, uniformBlockIndex, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetActiveUniformBlockName)
    traceGL_lookupNativeAddress("glGetActiveUniformBlockName", (void **) &traceGL_Native.glGetActiveUniformBlockName);

  traceThis = traceEnabled("glGetActiveUniformBlockName");

  if (!traceGL_Native.glGetActiveUniformBlockName)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetActiveUniformBlockName");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("uniformBlockIndex", "%u", uniformBlockIndex);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("length", "%d[%d]", length, 1);
    traceOutputParameter("uniformBlockName", "%s", uniformBlockName);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformBlockBinding)
    traceGL_lookupNativeAddress("glUniformBlockBinding", (void **) &traceGL_Native.glUniformBlockBinding);

  traceThis = traceEnabled("glUniformBlockBinding");

  if (!traceGL_Native.glUniformBlockBinding)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformBlockBinding");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("uniformBlockIndex", "%u", uniformBlockIndex);
    traceInputParameter("uniformBlockBinding", "%u", uniformBlockBinding);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyBufferSubData)
    traceGL_lookupNativeAddress("glCopyBufferSubData", (void **) &traceGL_Native.glCopyBufferSubData);

  traceThis = traceEnabled("glCopyBufferSubData");

  if (!traceGL_Native.glCopyBufferSubData)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyBufferSubData");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("readTarget", "%u", readTarget);
    traceInputParameter("writeTarget", "%u", writeTarget);
    traceInputParameter("readOffset", "%z", readOffset);
    traceInputParameter("writeOffset", "%z", writeOffset);
    traceInputParameter("size", "%z", size);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawElementsBaseVertex)
    traceGL_lookupNativeAddress("glDrawElementsBaseVertex", (void **) &traceGL_Native.glDrawElementsBaseVertex);

  traceThis = traceEnabled("glDrawElementsBaseVertex");

  if (!traceGL_Native.glDrawElementsBaseVertex)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawElementsBaseVertex");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("count", "%d", count);
    traceInputParameter("type", "%u", type);
    traceInputParameter("indices", "%p", indices);
    traceInputParameter("basevertex", "%d", basevertex);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawElementsBaseVertex(mode, count, type, indices, basevertex);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawRangeElementsBaseVertex)
    traceGL_lookupNativeAddress("glDrawRangeElementsBaseVertex", (void **) &traceGL_Native.glDrawRangeElementsBaseVertex);

  traceThis = traceEnabled("glDrawRangeElementsBaseVertex");

  if (!traceGL_Native.glDrawRangeElementsBaseVertex)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawRangeElementsBaseVertex");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("start", "%u", start);
    traceInputParameter("end", "%u", end);
    traceInputParameter("count", "%d", count);
    traceInputParameter("type", "%u", type);
    traceInputParameter("indices", "%p", indices);
    traceInputParameter("basevertex", "%d", basevertex);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawElementsInstancedBaseVertex)
    traceGL_lookupNativeAddress("glDrawElementsInstancedBaseVertex", (void **) &traceGL_Native.glDrawElementsInstancedBaseVertex);

  traceThis = traceEnabled("glDrawElementsInstancedBaseVertex");

  if (!traceGL_Native.glDrawElementsInstancedBaseVertex)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawElementsInstancedBaseVertex");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("count", "%d", count);
    traceInputParameter("type", "%u", type);
    traceInputParameter("indices", "%p", indices);
    traceInputParameter("primcount", "%d", primcount);
    traceInputParameter("basevertex", "%d", basevertex);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawElementsInstancedBaseVertex(mode, count, type, indices, primcount, basevertex);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount, const GLint *basevertex)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiDrawElementsBaseVertex)
    traceGL_lookupNativeAddress("glMultiDrawElementsBaseVertex", (void **) &traceGL_Native.glMultiDrawElementsBaseVertex);

  traceThis = traceEnabled("glMultiDrawElementsBaseVertex");

  if (!traceGL_Native.glMultiDrawElementsBaseVertex)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiDrawElementsBaseVertex");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("count", "%d[%d]", count, primcount);
    traceInputParameter("type", "%u", type);
    traceInputParameter("primcount", "%d", primcount);
    traceInputParameter("basevertex", "%d[%d]", basevertex, primcount);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiDrawElementsBaseVertex(mode, count, type, indices, primcount, basevertex);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProvokingVertex(GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProvokingVertex)
    traceGL_lookupNativeAddress("glProvokingVertex", (void **) &traceGL_Native.glProvokingVertex);

  traceThis = traceEnabled("glProvokingVertex");

  if (!traceGL_Native.glProvokingVertex)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProvokingVertex");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProvokingVertex(mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLsync GLAPIENTRY
glFenceSync(GLenum condition, GLbitfield flags)
{
  GLsync ret = (GLsync) 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFenceSync)
    traceGL_lookupNativeAddress("glFenceSync", (void **) &traceGL_Native.glFenceSync);

  traceThis = traceEnabled("glFenceSync");

  if (!traceGL_Native.glFenceSync)
    return (GLsync) 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFenceSync");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("condition", "%u", condition);
    traceInputParameter("flags", "%u", flags);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glFenceSync(condition, flags);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLboolean GLAPIENTRY
glIsSync(GLsync sync)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsSync)
    traceGL_lookupNativeAddress("glIsSync", (void **) &traceGL_Native.glIsSync);

  traceThis = traceEnabled("glIsSync");

  if (!traceGL_Native.glIsSync)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsSync");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("sync", "%p", sync);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsSync(sync);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glDeleteSync(GLsync sync)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteSync)
    traceGL_lookupNativeAddress("glDeleteSync", (void **) &traceGL_Native.glDeleteSync);

  traceThis = traceEnabled("glDeleteSync");

  if (!traceGL_Native.glDeleteSync)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteSync");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("sync", "%p", sync);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteSync(sync);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLenum GLAPIENTRY
glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
{
  GLenum ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClientWaitSync)
    traceGL_lookupNativeAddress("glClientWaitSync", (void **) &traceGL_Native.glClientWaitSync);

  traceThis = traceEnabled("glClientWaitSync");

  if (!traceGL_Native.glClientWaitSync)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClientWaitSync");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("sync", "%p", sync);
    traceInputParameter("flags", "%u", flags);
    traceInputParameter("timeout", "%lld", timeout);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glClientWaitSync(sync, flags, timeout);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWaitSync)
    traceGL_lookupNativeAddress("glWaitSync", (void **) &traceGL_Native.glWaitSync);

  traceThis = traceEnabled("glWaitSync");

  if (!traceGL_Native.glWaitSync)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWaitSync");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("sync", "%p", sync);
    traceInputParameter("flags", "%u", flags);
    traceInputParameter("timeout", "%lld", timeout);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWaitSync(sync, flags, timeout);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetInteger64v(GLenum pname, GLint64 *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetInteger64v)
    traceGL_lookupNativeAddress("glGetInteger64v", (void **) &traceGL_Native.glGetInteger64v);

  traceThis = traceEnabled("glGetInteger64v");

  if (!traceGL_Native.glGetInteger64v)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetInteger64v");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetInteger64v(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetSynciv)
    traceGL_lookupNativeAddress("glGetSynciv", (void **) &traceGL_Native.glGetSynciv);

  traceThis = traceEnabled("glGetSynciv");

  if (!traceGL_Native.glGetSynciv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetSynciv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("sync", "%p", sync);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetSynciv(sync, pname, bufSize, length, values);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("length", "%d[%d]", length, 1);
    traceOutputParameter("values", "%d[%d]", values, bufSize);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexImage2DMultisample)
    traceGL_lookupNativeAddress("glTexImage2DMultisample", (void **) &traceGL_Native.glTexImage2DMultisample);

  traceThis = traceEnabled("glTexImage2DMultisample");

  if (!traceGL_Native.glTexImage2DMultisample)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexImage2DMultisample");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("samples", "%d", samples);
    traceInputParameter("internalformat", "%d", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("fixedsamplelocations", "%u", (unsigned int) fixedsamplelocations);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexImage3DMultisample)
    traceGL_lookupNativeAddress("glTexImage3DMultisample", (void **) &traceGL_Native.glTexImage3DMultisample);

  traceThis = traceEnabled("glTexImage3DMultisample");

  if (!traceGL_Native.glTexImage3DMultisample)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexImage3DMultisample");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("samples", "%d", samples);
    traceInputParameter("internalformat", "%d", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("depth", "%d", depth);
    traceInputParameter("fixedsamplelocations", "%u", (unsigned int) fixedsamplelocations);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultisamplefv)
    traceGL_lookupNativeAddress("glGetMultisamplefv", (void **) &traceGL_Native.glGetMultisamplefv);

  traceThis = traceEnabled("glGetMultisamplefv");

  if (!traceGL_Native.glGetMultisamplefv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultisamplefv");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMultisamplefv(pname, index, val);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSampleMaski(GLuint index, GLbitfield mask)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSampleMaski)
    traceGL_lookupNativeAddress("glSampleMaski", (void **) &traceGL_Native.glSampleMaski);

  traceThis = traceEnabled("glSampleMaski");

  if (!traceGL_Native.glSampleMaski)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSampleMaski");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("mask", "%u", mask);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSampleMaski(index, mask);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBlendEquationiARB(GLuint buf, GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendEquationiARB)
    traceGL_lookupNativeAddress("glBlendEquationiARB", (void **) &traceGL_Native.glBlendEquationiARB);

  traceThis = traceEnabled("glBlendEquationiARB");

  if (!traceGL_Native.glBlendEquationiARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendEquationiARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buf", "%u", buf);
    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBlendEquationiARB(buf, mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBlendEquationSeparateiARB(GLuint buf, GLenum modeRGB, GLenum modeAlpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendEquationSeparateiARB)
    traceGL_lookupNativeAddress("glBlendEquationSeparateiARB", (void **) &traceGL_Native.glBlendEquationSeparateiARB);

  traceThis = traceEnabled("glBlendEquationSeparateiARB");

  if (!traceGL_Native.glBlendEquationSeparateiARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendEquationSeparateiARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buf", "%u", buf);
    traceInputParameter("modeRGB", "%u", modeRGB);
    traceInputParameter("modeAlpha", "%u", modeAlpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBlendEquationSeparateiARB(buf, modeRGB, modeAlpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBlendFunciARB(GLuint buf, GLenum src, GLenum dst)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendFunciARB)
    traceGL_lookupNativeAddress("glBlendFunciARB", (void **) &traceGL_Native.glBlendFunciARB);

  traceThis = traceEnabled("glBlendFunciARB");

  if (!traceGL_Native.glBlendFunciARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendFunciARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buf", "%u", buf);
    traceInputParameter("src", "%u", src);
    traceInputParameter("dst", "%u", dst);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBlendFunciARB(buf, src, dst);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBlendFuncSeparateiARB(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendFuncSeparateiARB)
    traceGL_lookupNativeAddress("glBlendFuncSeparateiARB", (void **) &traceGL_Native.glBlendFuncSeparateiARB);

  traceThis = traceEnabled("glBlendFuncSeparateiARB");

  if (!traceGL_Native.glBlendFuncSeparateiARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendFuncSeparateiARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buf", "%u", buf);
    traceInputParameter("srcRGB", "%u", srcRGB);
    traceInputParameter("dstRGB", "%u", dstRGB);
    traceInputParameter("srcAlpha", "%u", srcAlpha);
    traceInputParameter("dstAlpha", "%u", dstAlpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBlendFuncSeparateiARB(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMinSampleShadingARB(GLclampf value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMinSampleShadingARB)
    traceGL_lookupNativeAddress("glMinSampleShadingARB", (void **) &traceGL_Native.glMinSampleShadingARB);

  traceThis = traceEnabled("glMinSampleShadingARB");

  if (!traceGL_Native.glMinSampleShadingARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMinSampleShadingARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("value", "%f", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMinSampleShadingARB(value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNamedStringARB(GLenum type, GLint namelen, const GLchar *name, GLint stringlen, const GLchar *string)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedStringARB)
    traceGL_lookupNativeAddress("glNamedStringARB", (void **) &traceGL_Native.glNamedStringARB);

  traceThis = traceEnabled("glNamedStringARB");

  if (!traceGL_Native.glNamedStringARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedStringARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("namelen", "%d", namelen);
    traceInputParameter("name", "%c[%ld]", name, (traceGL_helperGLNamedStringSize ? traceGL_helperGLNamedStringSize(namelen, name) : 0));
    traceInputParameter("stringlen", "%d", stringlen);
    traceInputParameter("string", "%c[%ld]", string, (traceGL_helperGLNamedStringSize ? traceGL_helperGLNamedStringSize(stringlen, string) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNamedStringARB(type, namelen, name, stringlen, string);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteNamedStringARB(GLint namelen, const GLchar *name)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteNamedStringARB)
    traceGL_lookupNativeAddress("glDeleteNamedStringARB", (void **) &traceGL_Native.glDeleteNamedStringARB);

  traceThis = traceEnabled("glDeleteNamedStringARB");

  if (!traceGL_Native.glDeleteNamedStringARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteNamedStringARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("namelen", "%d", namelen);
    traceInputParameter("name", "%c[%ld]", name, (traceGL_helperGLNamedStringSize ? traceGL_helperGLNamedStringSize(namelen, name) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteNamedStringARB(namelen, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompileShaderIncludeARB(GLuint shader, GLsizei count, const GLchar **path, const GLint *length)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompileShaderIncludeARB)
    traceGL_lookupNativeAddress("glCompileShaderIncludeARB", (void **) &traceGL_Native.glCompileShaderIncludeARB);

  traceThis = traceEnabled("glCompileShaderIncludeARB");

  if (!traceGL_Native.glCompileShaderIncludeARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompileShaderIncludeARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("shader", "%u", shader);
    traceInputParameter("count", "%d", count);
    traceInputParameter("length", "%d[%d]", length, count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompileShaderIncludeARB(shader, count, path, length);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsNamedStringARB(GLint namelen, const GLchar *name)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsNamedStringARB)
    traceGL_lookupNativeAddress("glIsNamedStringARB", (void **) &traceGL_Native.glIsNamedStringARB);

  traceThis = traceEnabled("glIsNamedStringARB");

  if (!traceGL_Native.glIsNamedStringARB)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsNamedStringARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("namelen", "%d", namelen);
    traceInputParameter("name", "%c[%ld]", name, (traceGL_helperGLNamedStringSize ? traceGL_helperGLNamedStringSize(namelen, name) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsNamedStringARB(namelen, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetNamedStringARB(GLint namelen, const GLchar *name, GLsizei bufSize, GLint *stringlen, GLchar *string)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedStringARB)
    traceGL_lookupNativeAddress("glGetNamedStringARB", (void **) &traceGL_Native.glGetNamedStringARB);

  traceThis = traceEnabled("glGetNamedStringARB");

  if (!traceGL_Native.glGetNamedStringARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedStringARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("namelen", "%d", namelen);
    traceInputParameter("name", "%c[%ld]", name, (traceGL_helperGLNamedStringSize ? traceGL_helperGLNamedStringSize(namelen, name) : 0));
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetNamedStringARB(namelen, name, bufSize, stringlen, string);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("stringlen", "%d[%d]", stringlen, 1);
    traceOutputParameter("string", "%s", string);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetNamedStringivARB(GLint namelen, const GLchar *name, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedStringivARB)
    traceGL_lookupNativeAddress("glGetNamedStringivARB", (void **) &traceGL_Native.glGetNamedStringivARB);

  traceThis = traceEnabled("glGetNamedStringivARB");

  if (!traceGL_Native.glGetNamedStringivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedStringivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("namelen", "%d", namelen);
    traceInputParameter("name", "%c[%ld]", name, (traceGL_helperGLNamedStringSize ? traceGL_helperGLNamedStringSize(namelen, name) : 0));
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetNamedStringivARB(namelen, name, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%d[%ld]", params, (traceGL_helperGLNamedStringParamsSize ? traceGL_helperGLNamedStringParamsSize(pname) : 0));

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDebugMessageControlARB(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDebugMessageControlARB)
    traceGL_lookupNativeAddress("glDebugMessageControlARB", (void **) &traceGL_Native.glDebugMessageControlARB);

  traceThis = traceEnabled("glDebugMessageControlARB");

  if (!traceGL_Native.glDebugMessageControlARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDebugMessageControlARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("source", "%u", source);
    traceInputParameter("type", "%u", type);
    traceInputParameter("severity", "%u", severity);
    traceInputParameter("count", "%d", count);
    traceInputParameter("ids", "%u[%d]", ids, count);
    traceInputParameter("enabled", "%u", (unsigned int) enabled);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDebugMessageControlARB(source, type, severity, count, ids, enabled);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDebugMessageInsertARB(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDebugMessageInsertARB)
    traceGL_lookupNativeAddress("glDebugMessageInsertARB", (void **) &traceGL_Native.glDebugMessageInsertARB);

  traceThis = traceEnabled("glDebugMessageInsertARB");

  if (!traceGL_Native.glDebugMessageInsertARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDebugMessageInsertARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("source", "%u", source);
    traceInputParameter("type", "%u", type);
    traceInputParameter("id", "%u", id);
    traceInputParameter("severity", "%u", severity);
    traceInputParameter("length", "%d", length);
    traceInputParameter("buf", "%s", buf);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDebugMessageInsertARB(source, type, id, severity, length, buf);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDebugMessageCallbackARB(GLDEBUGPROCARB callback, GLvoid *userParam)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDebugMessageCallbackARB)
    traceGL_lookupNativeAddress("glDebugMessageCallbackARB", (void **) &traceGL_Native.glDebugMessageCallbackARB);

  traceThis = traceEnabled("glDebugMessageCallbackARB");

  if (!traceGL_Native.glDebugMessageCallbackARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDebugMessageCallbackARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("userParam", "%p", userParam);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDebugMessageCallbackARB(callback, userParam);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLuint GLAPIENTRY
glGetDebugMessageLogARB(GLuint count, GLsizei logsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog)
{
  GLuint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetDebugMessageLogARB)
    traceGL_lookupNativeAddress("glGetDebugMessageLogARB", (void **) &traceGL_Native.glGetDebugMessageLogARB);

  traceThis = traceEnabled("glGetDebugMessageLogARB");

  if (!traceGL_Native.glGetDebugMessageLogARB)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetDebugMessageLogARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("count", "%u", count);
    traceInputParameter("logsize", "%d", logsize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGetDebugMessageLogARB(count, logsize, sources, types, ids, severities, lengths, messageLog);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("sources", "%u[%d]", sources, ret);
    traceOutputParameter("types", "%u[%d]", types, ret);
    traceOutputParameter("ids", "%u[%d]", ids, ret);
    traceOutputParameter("severities", "%u[%d]", severities, ret);
    traceOutputParameter("lengths", "%d[%d]", lengths, ret);
    traceOutputParameter("messageLog", "%s", messageLog);
    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLenum GLAPIENTRY
glGetGraphicsResetStatusARB()
{
  GLenum ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetGraphicsResetStatusARB)
    traceGL_lookupNativeAddress("glGetGraphicsResetStatusARB", (void **) &traceGL_Native.glGetGraphicsResetStatusARB);

  traceThis = traceEnabled("glGetGraphicsResetStatusARB");

  if (!traceGL_Native.glGetGraphicsResetStatusARB)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetGraphicsResetStatusARB");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGetGraphicsResetStatusARB();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetnMapdvARB(GLenum target, GLenum query, GLsizei bufSize, GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnMapdvARB)
    traceGL_lookupNativeAddress("glGetnMapdvARB", (void **) &traceGL_Native.glGetnMapdvARB);

  traceThis = traceEnabled("glGetnMapdvARB");

  if (!traceGL_Native.glGetnMapdvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnMapdvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("query", "%u", query);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetnMapdvARB(target, query, bufSize, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetnMapfvARB(GLenum target, GLenum query, GLsizei bufSize, GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnMapfvARB)
    traceGL_lookupNativeAddress("glGetnMapfvARB", (void **) &traceGL_Native.glGetnMapfvARB);

  traceThis = traceEnabled("glGetnMapfvARB");

  if (!traceGL_Native.glGetnMapfvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnMapfvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("query", "%u", query);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetnMapfvARB(target, query, bufSize, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetnMapivARB(GLenum target, GLenum query, GLsizei bufSize, GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnMapivARB)
    traceGL_lookupNativeAddress("glGetnMapivARB", (void **) &traceGL_Native.glGetnMapivARB);

  traceThis = traceEnabled("glGetnMapivARB");

  if (!traceGL_Native.glGetnMapivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnMapivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("query", "%u", query);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetnMapivARB(target, query, bufSize, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetnPixelMapfvARB(GLenum map, GLsizei bufSize, GLfloat *values)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnPixelMapfvARB)
    traceGL_lookupNativeAddress("glGetnPixelMapfvARB", (void **) &traceGL_Native.glGetnPixelMapfvARB);

  traceThis = traceEnabled("glGetnPixelMapfvARB");

  if (!traceGL_Native.glGetnPixelMapfvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnPixelMapfvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("map", "%u", map);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetnPixelMapfvARB(map, bufSize, values);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetnPixelMapuivARB(GLenum map, GLsizei bufSize, GLuint *values)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnPixelMapuivARB)
    traceGL_lookupNativeAddress("glGetnPixelMapuivARB", (void **) &traceGL_Native.glGetnPixelMapuivARB);

  traceThis = traceEnabled("glGetnPixelMapuivARB");

  if (!traceGL_Native.glGetnPixelMapuivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnPixelMapuivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("map", "%u", map);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetnPixelMapuivARB(map, bufSize, values);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetnPixelMapusvARB(GLenum map, GLsizei bufSize, GLushort *values)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnPixelMapusvARB)
    traceGL_lookupNativeAddress("glGetnPixelMapusvARB", (void **) &traceGL_Native.glGetnPixelMapusvARB);

  traceThis = traceEnabled("glGetnPixelMapusvARB");

  if (!traceGL_Native.glGetnPixelMapusvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnPixelMapusvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("map", "%u", map);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetnPixelMapusvARB(map, bufSize, values);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetnPolygonStippleARB(GLsizei bufSize, GLubyte *mask)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnPolygonStippleARB)
    traceGL_lookupNativeAddress("glGetnPolygonStippleARB", (void **) &traceGL_Native.glGetnPolygonStippleARB);

  traceThis = traceEnabled("glGetnPolygonStippleARB");

  if (!traceGL_Native.glGetnPolygonStippleARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnPolygonStippleARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetnPolygonStippleARB(bufSize, mask);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetnTexImageARB(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnTexImageARB)
    traceGL_lookupNativeAddress("glGetnTexImageARB", (void **) &traceGL_Native.glGetnTexImageARB);

  traceThis = traceEnabled("glGetnTexImageARB");

  if (!traceGL_Native.glGetnTexImageARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnTexImageARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetnTexImageARB(target, level, format, type, bufSize, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("pixels", "%p", pixels);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReadnPixelsARB(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReadnPixelsARB)
    traceGL_lookupNativeAddress("glReadnPixelsARB", (void **) &traceGL_Native.glReadnPixelsARB);

  traceThis = traceEnabled("glReadnPixelsARB");

  if (!traceGL_Native.glReadnPixelsARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReadnPixelsARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReadnPixelsARB(x, y, width, height, format, type, bufSize, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("pixels", "%p", pixels);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetnColorTableARB(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *table)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnColorTableARB)
    traceGL_lookupNativeAddress("glGetnColorTableARB", (void **) &traceGL_Native.glGetnColorTableARB);

  traceThis = traceEnabled("glGetnColorTableARB");

  if (!traceGL_Native.glGetnColorTableARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnColorTableARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetnColorTableARB(target, format, type, bufSize, table);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("table", "%p", table);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetnConvolutionFilterARB(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *image)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnConvolutionFilterARB)
    traceGL_lookupNativeAddress("glGetnConvolutionFilterARB", (void **) &traceGL_Native.glGetnConvolutionFilterARB);

  traceThis = traceEnabled("glGetnConvolutionFilterARB");

  if (!traceGL_Native.glGetnConvolutionFilterARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnConvolutionFilterARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetnConvolutionFilterARB(target, format, type, bufSize, image);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("image", "%p", image);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetnSeparableFilterARB(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid *row, GLsizei columnBufSize, GLvoid *column, GLvoid *span)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnSeparableFilterARB)
    traceGL_lookupNativeAddress("glGetnSeparableFilterARB", (void **) &traceGL_Native.glGetnSeparableFilterARB);

  traceThis = traceEnabled("glGetnSeparableFilterARB");

  if (!traceGL_Native.glGetnSeparableFilterARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnSeparableFilterARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("rowBufSize", "%d", rowBufSize);
    traceInputParameter("columnBufSize", "%d", columnBufSize);
    traceInputParameter("span", "%p", span);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetnSeparableFilterARB(target, format, type, rowBufSize, row, columnBufSize, column, span);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("row", "%p", row);
    traceOutputParameter("column", "%p", column);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetnHistogramARB(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnHistogramARB)
    traceGL_lookupNativeAddress("glGetnHistogramARB", (void **) &traceGL_Native.glGetnHistogramARB);

  traceThis = traceEnabled("glGetnHistogramARB");

  if (!traceGL_Native.glGetnHistogramARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnHistogramARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("reset", "%u", (unsigned int) reset);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetnHistogramARB(target, reset, format, type, bufSize, values);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("values", "%p", values);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetnMinmaxARB(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnMinmaxARB)
    traceGL_lookupNativeAddress("glGetnMinmaxARB", (void **) &traceGL_Native.glGetnMinmaxARB);

  traceThis = traceEnabled("glGetnMinmaxARB");

  if (!traceGL_Native.glGetnMinmaxARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnMinmaxARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("reset", "%u", (unsigned int) reset);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetnMinmaxARB(target, reset, format, type, bufSize, values);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("values", "%p", values);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetnCompressedTexImageARB(GLenum target, GLint lod, GLsizei bufSize, GLvoid *img)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnCompressedTexImageARB)
    traceGL_lookupNativeAddress("glGetnCompressedTexImageARB", (void **) &traceGL_Native.glGetnCompressedTexImageARB);

  traceThis = traceEnabled("glGetnCompressedTexImageARB");

  if (!traceGL_Native.glGetnCompressedTexImageARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnCompressedTexImageARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("lod", "%d", lod);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetnCompressedTexImageARB(target, lod, bufSize, img);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("img", "%p", img);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetnUniformfvARB(GLuint program, GLint location, GLsizei bufSize, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnUniformfvARB)
    traceGL_lookupNativeAddress("glGetnUniformfvARB", (void **) &traceGL_Native.glGetnUniformfvARB);

  traceThis = traceEnabled("glGetnUniformfvARB");

  if (!traceGL_Native.glGetnUniformfvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnUniformfvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetnUniformfvARB(program, location, bufSize, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetnUniformivARB(GLuint program, GLint location, GLsizei bufSize, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnUniformivARB)
    traceGL_lookupNativeAddress("glGetnUniformivARB", (void **) &traceGL_Native.glGetnUniformivARB);

  traceThis = traceEnabled("glGetnUniformivARB");

  if (!traceGL_Native.glGetnUniformivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnUniformivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetnUniformivARB(program, location, bufSize, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetnUniformuivARB(GLuint program, GLint location, GLsizei bufSize, GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnUniformuivARB)
    traceGL_lookupNativeAddress("glGetnUniformuivARB", (void **) &traceGL_Native.glGetnUniformuivARB);

  traceThis = traceEnabled("glGetnUniformuivARB");

  if (!traceGL_Native.glGetnUniformuivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnUniformuivARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetnUniformuivARB(program, location, bufSize, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetnUniformdvARB(GLuint program, GLint location, GLsizei bufSize, GLdouble *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnUniformdvARB)
    traceGL_lookupNativeAddress("glGetnUniformdvARB", (void **) &traceGL_Native.glGetnUniformdvARB);

  traceThis = traceEnabled("glGetnUniformdvARB");

  if (!traceGL_Native.glGetnUniformdvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnUniformdvARB");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetnUniformdvARB(program, location, bufSize, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBlendColorEXT(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendColorEXT)
    traceGL_lookupNativeAddress("glBlendColorEXT", (void **) &traceGL_Native.glBlendColorEXT);

  traceThis = traceEnabled("glBlendColorEXT");

  if (!traceGL_Native.glBlendColorEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendColorEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%f", red);
    traceInputParameter("green", "%f", green);
    traceInputParameter("blue", "%f", blue);
    traceInputParameter("alpha", "%f", alpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBlendColorEXT(red, green, blue, alpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPolygonOffsetEXT(GLfloat factor, GLfloat bias)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPolygonOffsetEXT)
    traceGL_lookupNativeAddress("glPolygonOffsetEXT", (void **) &traceGL_Native.glPolygonOffsetEXT);

  traceThis = traceEnabled("glPolygonOffsetEXT");

  if (!traceGL_Native.glPolygonOffsetEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPolygonOffsetEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("factor", "%f", factor);
    traceInputParameter("bias", "%f", bias);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPolygonOffsetEXT(factor, bias);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexImage3DEXT(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexImage3DEXT)
    traceGL_lookupNativeAddress("glTexImage3DEXT", (void **) &traceGL_Native.glTexImage3DEXT);

  traceThis = traceEnabled("glTexImage3DEXT");

  if (!traceGL_Native.glTexImage3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexImage3DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("depth", "%d", depth);
    traceInputParameter("border", "%d", border);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("pixels", "%c[%ld]", pixels, (traceGL_helperGLPixelImageSize ? traceGL_helperGLPixelImageSize(width, height, depth, format, type, 0, target) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexImage3DEXT(target, level, internalformat, width, height, depth, border, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexSubImage3DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexSubImage3DEXT)
    traceGL_lookupNativeAddress("glTexSubImage3DEXT", (void **) &traceGL_Native.glTexSubImage3DEXT);

  traceThis = traceEnabled("glTexSubImage3DEXT");

  if (!traceGL_Native.glTexSubImage3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexSubImage3DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("yoffset", "%d", yoffset);
    traceInputParameter("zoffset", "%d", zoffset);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("depth", "%d", depth);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("pixels", "%c[%ld]", pixels, (traceGL_helperGLPixelImageSize ? traceGL_helperGLPixelImageSize(width, height, depth, format, type, 0, target) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexSubImage3DEXT(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTexFilterFuncSGIS(GLenum target, GLenum filter, GLfloat *weights)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTexFilterFuncSGIS)
    traceGL_lookupNativeAddress("glGetTexFilterFuncSGIS", (void **) &traceGL_Native.glGetTexFilterFuncSGIS);

  traceThis = traceEnabled("glGetTexFilterFuncSGIS");

  if (!traceGL_Native.glGetTexFilterFuncSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTexFilterFuncSGIS");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("filter", "%u", filter);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTexFilterFuncSGIS(target, filter, weights);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexFilterFuncSGIS(GLenum target, GLenum filter, GLsizei n, const GLfloat *weights)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexFilterFuncSGIS)
    traceGL_lookupNativeAddress("glTexFilterFuncSGIS", (void **) &traceGL_Native.glTexFilterFuncSGIS);

  traceThis = traceEnabled("glTexFilterFuncSGIS");

  if (!traceGL_Native.glTexFilterFuncSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexFilterFuncSGIS");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("filter", "%u", filter);
    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexFilterFuncSGIS(target, filter, n, weights);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexSubImage1DEXT(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexSubImage1DEXT)
    traceGL_lookupNativeAddress("glTexSubImage1DEXT", (void **) &traceGL_Native.glTexSubImage1DEXT);

  traceThis = traceEnabled("glTexSubImage1DEXT");

  if (!traceGL_Native.glTexSubImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexSubImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("width", "%d", width);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("pixels", "%c[%ld]", pixels, (traceGL_helperGLPixelImageSize ? traceGL_helperGLPixelImageSize(width, 0, 0, format, type, 0, target) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexSubImage1DEXT(target, level, xoffset, width, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexSubImage2DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexSubImage2DEXT)
    traceGL_lookupNativeAddress("glTexSubImage2DEXT", (void **) &traceGL_Native.glTexSubImage2DEXT);

  traceThis = traceEnabled("glTexSubImage2DEXT");

  if (!traceGL_Native.glTexSubImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexSubImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("yoffset", "%d", yoffset);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("pixels", "%c[%ld]", pixels, (traceGL_helperGLPixelImageSize ? traceGL_helperGLPixelImageSize(width, height, 0, format, type, 0, target) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexSubImage2DEXT(target, level, xoffset, yoffset, width, height, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyTexImage1DEXT(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyTexImage1DEXT)
    traceGL_lookupNativeAddress("glCopyTexImage1DEXT", (void **) &traceGL_Native.glCopyTexImage1DEXT);

  traceThis = traceEnabled("glCopyTexImage1DEXT");

  if (!traceGL_Native.glCopyTexImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyTexImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);
    traceInputParameter("border", "%d", border);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyTexImage1DEXT(target, level, internalformat, x, y, width, border);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyTexImage2DEXT(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyTexImage2DEXT)
    traceGL_lookupNativeAddress("glCopyTexImage2DEXT", (void **) &traceGL_Native.glCopyTexImage2DEXT);

  traceThis = traceEnabled("glCopyTexImage2DEXT");

  if (!traceGL_Native.glCopyTexImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyTexImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("border", "%d", border);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyTexImage2DEXT(target, level, internalformat, x, y, width, height, border);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyTexSubImage1DEXT(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyTexSubImage1DEXT)
    traceGL_lookupNativeAddress("glCopyTexSubImage1DEXT", (void **) &traceGL_Native.glCopyTexSubImage1DEXT);

  traceThis = traceEnabled("glCopyTexSubImage1DEXT");

  if (!traceGL_Native.glCopyTexSubImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyTexSubImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyTexSubImage1DEXT(target, level, xoffset, x, y, width);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyTexSubImage2DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyTexSubImage2DEXT)
    traceGL_lookupNativeAddress("glCopyTexSubImage2DEXT", (void **) &traceGL_Native.glCopyTexSubImage2DEXT);

  traceThis = traceEnabled("glCopyTexSubImage2DEXT");

  if (!traceGL_Native.glCopyTexSubImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyTexSubImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("yoffset", "%d", yoffset);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyTexSubImage2DEXT(target, level, xoffset, yoffset, x, y, width, height);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyTexSubImage3DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyTexSubImage3DEXT)
    traceGL_lookupNativeAddress("glCopyTexSubImage3DEXT", (void **) &traceGL_Native.glCopyTexSubImage3DEXT);

  traceThis = traceEnabled("glCopyTexSubImage3DEXT");

  if (!traceGL_Native.glCopyTexSubImage3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyTexSubImage3DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("yoffset", "%d", yoffset);
    traceInputParameter("zoffset", "%d", zoffset);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyTexSubImage3DEXT(target, level, xoffset, yoffset, zoffset, x, y, width, height);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetHistogramEXT(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetHistogramEXT)
    traceGL_lookupNativeAddress("glGetHistogramEXT", (void **) &traceGL_Native.glGetHistogramEXT);

  traceThis = traceEnabled("glGetHistogramEXT");

  if (!traceGL_Native.glGetHistogramEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetHistogramEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("reset", "%u", (unsigned int) reset);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetHistogramEXT(target, reset, format, type, values);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("values", "%p", values);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetHistogramParameterfvEXT(GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetHistogramParameterfvEXT)
    traceGL_lookupNativeAddress("glGetHistogramParameterfvEXT", (void **) &traceGL_Native.glGetHistogramParameterfvEXT);

  traceThis = traceEnabled("glGetHistogramParameterfvEXT");

  if (!traceGL_Native.glGetHistogramParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetHistogramParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetHistogramParameterfvEXT(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetHistogramParameterivEXT(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetHistogramParameterivEXT)
    traceGL_lookupNativeAddress("glGetHistogramParameterivEXT", (void **) &traceGL_Native.glGetHistogramParameterivEXT);

  traceThis = traceEnabled("glGetHistogramParameterivEXT");

  if (!traceGL_Native.glGetHistogramParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetHistogramParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetHistogramParameterivEXT(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMinmaxEXT(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMinmaxEXT)
    traceGL_lookupNativeAddress("glGetMinmaxEXT", (void **) &traceGL_Native.glGetMinmaxEXT);

  traceThis = traceEnabled("glGetMinmaxEXT");

  if (!traceGL_Native.glGetMinmaxEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMinmaxEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("reset", "%u", (unsigned int) reset);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMinmaxEXT(target, reset, format, type, values);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("values", "%p", values);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMinmaxParameterfvEXT(GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMinmaxParameterfvEXT)
    traceGL_lookupNativeAddress("glGetMinmaxParameterfvEXT", (void **) &traceGL_Native.glGetMinmaxParameterfvEXT);

  traceThis = traceEnabled("glGetMinmaxParameterfvEXT");

  if (!traceGL_Native.glGetMinmaxParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMinmaxParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMinmaxParameterfvEXT(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMinmaxParameterivEXT(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMinmaxParameterivEXT)
    traceGL_lookupNativeAddress("glGetMinmaxParameterivEXT", (void **) &traceGL_Native.glGetMinmaxParameterivEXT);

  traceThis = traceEnabled("glGetMinmaxParameterivEXT");

  if (!traceGL_Native.glGetMinmaxParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMinmaxParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMinmaxParameterivEXT(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glHistogramEXT(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glHistogramEXT)
    traceGL_lookupNativeAddress("glHistogramEXT", (void **) &traceGL_Native.glHistogramEXT);

  traceThis = traceEnabled("glHistogramEXT");

  if (!traceGL_Native.glHistogramEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glHistogramEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("width", "%d", width);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("sink", "%u", (unsigned int) sink);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glHistogramEXT(target, width, internalformat, sink);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMinmaxEXT(GLenum target, GLenum internalformat, GLboolean sink)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMinmaxEXT)
    traceGL_lookupNativeAddress("glMinmaxEXT", (void **) &traceGL_Native.glMinmaxEXT);

  traceThis = traceEnabled("glMinmaxEXT");

  if (!traceGL_Native.glMinmaxEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMinmaxEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("sink", "%u", (unsigned int) sink);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMinmaxEXT(target, internalformat, sink);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glResetHistogramEXT(GLenum target)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glResetHistogramEXT)
    traceGL_lookupNativeAddress("glResetHistogramEXT", (void **) &traceGL_Native.glResetHistogramEXT);

  traceThis = traceEnabled("glResetHistogramEXT");

  if (!traceGL_Native.glResetHistogramEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glResetHistogramEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glResetHistogramEXT(target);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glResetMinmaxEXT(GLenum target)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glResetMinmaxEXT)
    traceGL_lookupNativeAddress("glResetMinmaxEXT", (void **) &traceGL_Native.glResetMinmaxEXT);

  traceThis = traceEnabled("glResetMinmaxEXT");

  if (!traceGL_Native.glResetMinmaxEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glResetMinmaxEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glResetMinmaxEXT(target);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glConvolutionFilter1DEXT(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glConvolutionFilter1DEXT)
    traceGL_lookupNativeAddress("glConvolutionFilter1DEXT", (void **) &traceGL_Native.glConvolutionFilter1DEXT);

  traceThis = traceEnabled("glConvolutionFilter1DEXT");

  if (!traceGL_Native.glConvolutionFilter1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glConvolutionFilter1DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("image", "%p", image);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glConvolutionFilter1DEXT(target, internalformat, width, format, type, image);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glConvolutionFilter2DEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glConvolutionFilter2DEXT)
    traceGL_lookupNativeAddress("glConvolutionFilter2DEXT", (void **) &traceGL_Native.glConvolutionFilter2DEXT);

  traceThis = traceEnabled("glConvolutionFilter2DEXT");

  if (!traceGL_Native.glConvolutionFilter2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glConvolutionFilter2DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("image", "%p", image);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glConvolutionFilter2DEXT(target, internalformat, width, height, format, type, image);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glConvolutionParameterfEXT(GLenum target, GLenum pname, GLfloat params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glConvolutionParameterfEXT)
    traceGL_lookupNativeAddress("glConvolutionParameterfEXT", (void **) &traceGL_Native.glConvolutionParameterfEXT);

  traceThis = traceEnabled("glConvolutionParameterfEXT");

  if (!traceGL_Native.glConvolutionParameterfEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glConvolutionParameterfEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("params", "%f", params);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glConvolutionParameterfEXT(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glConvolutionParameterfvEXT(GLenum target, GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glConvolutionParameterfvEXT)
    traceGL_lookupNativeAddress("glConvolutionParameterfvEXT", (void **) &traceGL_Native.glConvolutionParameterfvEXT);

  traceThis = traceEnabled("glConvolutionParameterfvEXT");

  if (!traceGL_Native.glConvolutionParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glConvolutionParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glConvolutionParameterfvEXT(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glConvolutionParameteriEXT(GLenum target, GLenum pname, GLint params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glConvolutionParameteriEXT)
    traceGL_lookupNativeAddress("glConvolutionParameteriEXT", (void **) &traceGL_Native.glConvolutionParameteriEXT);

  traceThis = traceEnabled("glConvolutionParameteriEXT");

  if (!traceGL_Native.glConvolutionParameteriEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glConvolutionParameteriEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("params", "%d", params);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glConvolutionParameteriEXT(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glConvolutionParameterivEXT(GLenum target, GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glConvolutionParameterivEXT)
    traceGL_lookupNativeAddress("glConvolutionParameterivEXT", (void **) &traceGL_Native.glConvolutionParameterivEXT);

  traceThis = traceEnabled("glConvolutionParameterivEXT");

  if (!traceGL_Native.glConvolutionParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glConvolutionParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glConvolutionParameterivEXT(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyConvolutionFilter1DEXT(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyConvolutionFilter1DEXT)
    traceGL_lookupNativeAddress("glCopyConvolutionFilter1DEXT", (void **) &traceGL_Native.glCopyConvolutionFilter1DEXT);

  traceThis = traceEnabled("glCopyConvolutionFilter1DEXT");

  if (!traceGL_Native.glCopyConvolutionFilter1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyConvolutionFilter1DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyConvolutionFilter1DEXT(target, internalformat, x, y, width);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyConvolutionFilter2DEXT(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyConvolutionFilter2DEXT)
    traceGL_lookupNativeAddress("glCopyConvolutionFilter2DEXT", (void **) &traceGL_Native.glCopyConvolutionFilter2DEXT);

  traceThis = traceEnabled("glCopyConvolutionFilter2DEXT");

  if (!traceGL_Native.glCopyConvolutionFilter2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyConvolutionFilter2DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyConvolutionFilter2DEXT(target, internalformat, x, y, width, height);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetConvolutionFilterEXT(GLenum target, GLenum format, GLenum type, GLvoid *image)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetConvolutionFilterEXT)
    traceGL_lookupNativeAddress("glGetConvolutionFilterEXT", (void **) &traceGL_Native.glGetConvolutionFilterEXT);

  traceThis = traceEnabled("glGetConvolutionFilterEXT");

  if (!traceGL_Native.glGetConvolutionFilterEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetConvolutionFilterEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetConvolutionFilterEXT(target, format, type, image);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("image", "%p", image);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetConvolutionParameterfvEXT(GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetConvolutionParameterfvEXT)
    traceGL_lookupNativeAddress("glGetConvolutionParameterfvEXT", (void **) &traceGL_Native.glGetConvolutionParameterfvEXT);

  traceThis = traceEnabled("glGetConvolutionParameterfvEXT");

  if (!traceGL_Native.glGetConvolutionParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetConvolutionParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetConvolutionParameterfvEXT(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetConvolutionParameterivEXT(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetConvolutionParameterivEXT)
    traceGL_lookupNativeAddress("glGetConvolutionParameterivEXT", (void **) &traceGL_Native.glGetConvolutionParameterivEXT);

  traceThis = traceEnabled("glGetConvolutionParameterivEXT");

  if (!traceGL_Native.glGetConvolutionParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetConvolutionParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetConvolutionParameterivEXT(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetSeparableFilterEXT(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetSeparableFilterEXT)
    traceGL_lookupNativeAddress("glGetSeparableFilterEXT", (void **) &traceGL_Native.glGetSeparableFilterEXT);

  traceThis = traceEnabled("glGetSeparableFilterEXT");

  if (!traceGL_Native.glGetSeparableFilterEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetSeparableFilterEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetSeparableFilterEXT(target, format, type, row, column, span);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("row", "%p", row);
    traceOutputParameter("column", "%p", column);
    traceOutputParameter("span", "%p", span);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSeparableFilter2DEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSeparableFilter2DEXT)
    traceGL_lookupNativeAddress("glSeparableFilter2DEXT", (void **) &traceGL_Native.glSeparableFilter2DEXT);

  traceThis = traceEnabled("glSeparableFilter2DEXT");

  if (!traceGL_Native.glSeparableFilter2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSeparableFilter2DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("row", "%p", row);
    traceInputParameter("column", "%p", column);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSeparableFilter2DEXT(target, internalformat, width, height, format, type, row, column);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColorTableSGI(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorTableSGI)
    traceGL_lookupNativeAddress("glColorTableSGI", (void **) &traceGL_Native.glColorTableSGI);

  traceThis = traceEnabled("glColorTableSGI");

  if (!traceGL_Native.glColorTableSGI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorTableSGI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("table", "%p", table);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColorTableSGI(target, internalformat, width, format, type, table);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColorTableParameterfvSGI(GLenum target, GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorTableParameterfvSGI)
    traceGL_lookupNativeAddress("glColorTableParameterfvSGI", (void **) &traceGL_Native.glColorTableParameterfvSGI);

  traceThis = traceEnabled("glColorTableParameterfvSGI");

  if (!traceGL_Native.glColorTableParameterfvSGI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorTableParameterfvSGI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColorTableParameterfvSGI(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColorTableParameterivSGI(GLenum target, GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorTableParameterivSGI)
    traceGL_lookupNativeAddress("glColorTableParameterivSGI", (void **) &traceGL_Native.glColorTableParameterivSGI);

  traceThis = traceEnabled("glColorTableParameterivSGI");

  if (!traceGL_Native.glColorTableParameterivSGI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorTableParameterivSGI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColorTableParameterivSGI(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyColorTableSGI(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyColorTableSGI)
    traceGL_lookupNativeAddress("glCopyColorTableSGI", (void **) &traceGL_Native.glCopyColorTableSGI);

  traceThis = traceEnabled("glCopyColorTableSGI");

  if (!traceGL_Native.glCopyColorTableSGI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyColorTableSGI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyColorTableSGI(target, internalformat, x, y, width);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetColorTableSGI(GLenum target, GLenum format, GLenum type, GLvoid *table)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetColorTableSGI)
    traceGL_lookupNativeAddress("glGetColorTableSGI", (void **) &traceGL_Native.glGetColorTableSGI);

  traceThis = traceEnabled("glGetColorTableSGI");

  if (!traceGL_Native.glGetColorTableSGI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetColorTableSGI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetColorTableSGI(target, format, type, table);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("table", "%p", table);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetColorTableParameterfvSGI(GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetColorTableParameterfvSGI)
    traceGL_lookupNativeAddress("glGetColorTableParameterfvSGI", (void **) &traceGL_Native.glGetColorTableParameterfvSGI);

  traceThis = traceEnabled("glGetColorTableParameterfvSGI");

  if (!traceGL_Native.glGetColorTableParameterfvSGI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetColorTableParameterfvSGI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetColorTableParameterfvSGI(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetColorTableParameterivSGI(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetColorTableParameterivSGI)
    traceGL_lookupNativeAddress("glGetColorTableParameterivSGI", (void **) &traceGL_Native.glGetColorTableParameterivSGI);

  traceThis = traceEnabled("glGetColorTableParameterivSGI");

  if (!traceGL_Native.glGetColorTableParameterivSGI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetColorTableParameterivSGI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetColorTableParameterivSGI(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPixelTexGenSGIX(GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelTexGenSGIX)
    traceGL_lookupNativeAddress("glPixelTexGenSGIX", (void **) &traceGL_Native.glPixelTexGenSGIX);

  traceThis = traceEnabled("glPixelTexGenSGIX");

  if (!traceGL_Native.glPixelTexGenSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelTexGenSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPixelTexGenSGIX(mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPixelTexGenParameteriSGIS(GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelTexGenParameteriSGIS)
    traceGL_lookupNativeAddress("glPixelTexGenParameteriSGIS", (void **) &traceGL_Native.glPixelTexGenParameteriSGIS);

  traceThis = traceEnabled("glPixelTexGenParameteriSGIS");

  if (!traceGL_Native.glPixelTexGenParameteriSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelTexGenParameteriSGIS");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPixelTexGenParameteriSGIS(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPixelTexGenParameterivSGIS(GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelTexGenParameterivSGIS)
    traceGL_lookupNativeAddress("glPixelTexGenParameterivSGIS", (void **) &traceGL_Native.glPixelTexGenParameterivSGIS);

  traceThis = traceEnabled("glPixelTexGenParameterivSGIS");

  if (!traceGL_Native.glPixelTexGenParameterivSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelTexGenParameterivSGIS");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPixelTexGenParameterivSGIS(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPixelTexGenParameterfSGIS(GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelTexGenParameterfSGIS)
    traceGL_lookupNativeAddress("glPixelTexGenParameterfSGIS", (void **) &traceGL_Native.glPixelTexGenParameterfSGIS);

  traceThis = traceEnabled("glPixelTexGenParameterfSGIS");

  if (!traceGL_Native.glPixelTexGenParameterfSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelTexGenParameterfSGIS");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPixelTexGenParameterfSGIS(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPixelTexGenParameterfvSGIS(GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelTexGenParameterfvSGIS)
    traceGL_lookupNativeAddress("glPixelTexGenParameterfvSGIS", (void **) &traceGL_Native.glPixelTexGenParameterfvSGIS);

  traceThis = traceEnabled("glPixelTexGenParameterfvSGIS");

  if (!traceGL_Native.glPixelTexGenParameterfvSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelTexGenParameterfvSGIS");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPixelTexGenParameterfvSGIS(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetPixelTexGenParameterivSGIS(GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetPixelTexGenParameterivSGIS)
    traceGL_lookupNativeAddress("glGetPixelTexGenParameterivSGIS", (void **) &traceGL_Native.glGetPixelTexGenParameterivSGIS);

  traceThis = traceEnabled("glGetPixelTexGenParameterivSGIS");

  if (!traceGL_Native.glGetPixelTexGenParameterivSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetPixelTexGenParameterivSGIS");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetPixelTexGenParameterivSGIS(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetPixelTexGenParameterfvSGIS(GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetPixelTexGenParameterfvSGIS)
    traceGL_lookupNativeAddress("glGetPixelTexGenParameterfvSGIS", (void **) &traceGL_Native.glGetPixelTexGenParameterfvSGIS);

  traceThis = traceEnabled("glGetPixelTexGenParameterfvSGIS");

  if (!traceGL_Native.glGetPixelTexGenParameterfvSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetPixelTexGenParameterfvSGIS");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetPixelTexGenParameterfvSGIS(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexImage4DSGIS(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexImage4DSGIS)
    traceGL_lookupNativeAddress("glTexImage4DSGIS", (void **) &traceGL_Native.glTexImage4DSGIS);

  traceThis = traceEnabled("glTexImage4DSGIS");

  if (!traceGL_Native.glTexImage4DSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexImage4DSGIS");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("depth", "%d", depth);
    traceInputParameter("size4d", "%d", size4d);
    traceInputParameter("border", "%d", border);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("pixels", "%p", pixels);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexImage4DSGIS(target, level, internalformat, width, height, depth, size4d, border, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexSubImage4DSGIS(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexSubImage4DSGIS)
    traceGL_lookupNativeAddress("glTexSubImage4DSGIS", (void **) &traceGL_Native.glTexSubImage4DSGIS);

  traceThis = traceEnabled("glTexSubImage4DSGIS");

  if (!traceGL_Native.glTexSubImage4DSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexSubImage4DSGIS");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("yoffset", "%d", yoffset);
    traceInputParameter("zoffset", "%d", zoffset);
    traceInputParameter("woffset", "%d", woffset);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("depth", "%d", depth);
    traceInputParameter("size4d", "%d", size4d);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("pixels", "%p", pixels);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexSubImage4DSGIS(target, level, xoffset, yoffset, zoffset, woffset, width, height, depth, size4d, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glAreTexturesResidentEXT(GLsizei n, const GLuint *textures, GLboolean *residences)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glAreTexturesResidentEXT)
    traceGL_lookupNativeAddress("glAreTexturesResidentEXT", (void **) &traceGL_Native.glAreTexturesResidentEXT);

  traceThis = traceEnabled("glAreTexturesResidentEXT");

  if (!traceGL_Native.glAreTexturesResidentEXT)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glAreTexturesResidentEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("textures", "%u[%d]", textures, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glAreTexturesResidentEXT(n, textures, residences);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("residences", "%c[%d]", residences, n);
    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBindTextureEXT(GLenum target, GLuint texture)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindTextureEXT)
    traceGL_lookupNativeAddress("glBindTextureEXT", (void **) &traceGL_Native.glBindTextureEXT);

  traceThis = traceEnabled("glBindTextureEXT");

  if (!traceGL_Native.glBindTextureEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindTextureEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("texture", "%u", texture);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindTextureEXT(target, texture);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteTexturesEXT(GLsizei n, const GLuint *textures)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteTexturesEXT)
    traceGL_lookupNativeAddress("glDeleteTexturesEXT", (void **) &traceGL_Native.glDeleteTexturesEXT);

  traceThis = traceEnabled("glDeleteTexturesEXT");

  if (!traceGL_Native.glDeleteTexturesEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteTexturesEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("textures", "%u[%d]", textures, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteTexturesEXT(n, textures);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenTexturesEXT(GLsizei n, GLuint *textures)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenTexturesEXT)
    traceGL_lookupNativeAddress("glGenTexturesEXT", (void **) &traceGL_Native.glGenTexturesEXT);

  traceThis = traceEnabled("glGenTexturesEXT");

  if (!traceGL_Native.glGenTexturesEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenTexturesEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenTexturesEXT(n, textures);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("textures", "%u[%d]", textures, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsTextureEXT(GLuint texture)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsTextureEXT)
    traceGL_lookupNativeAddress("glIsTextureEXT", (void **) &traceGL_Native.glIsTextureEXT);

  traceThis = traceEnabled("glIsTextureEXT");

  if (!traceGL_Native.glIsTextureEXT)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsTextureEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsTextureEXT(texture);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glPrioritizeTexturesEXT(GLsizei n, const GLuint *textures, const GLclampf *priorities)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPrioritizeTexturesEXT)
    traceGL_lookupNativeAddress("glPrioritizeTexturesEXT", (void **) &traceGL_Native.glPrioritizeTexturesEXT);

  traceThis = traceEnabled("glPrioritizeTexturesEXT");

  if (!traceGL_Native.glPrioritizeTexturesEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPrioritizeTexturesEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("textures", "%u[%d]", textures, n);
    traceInputParameter("priorities", "%f[%d]", priorities, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPrioritizeTexturesEXT(n, textures, priorities);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDetailTexFuncSGIS(GLenum target, GLsizei n, const GLfloat *points)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDetailTexFuncSGIS)
    traceGL_lookupNativeAddress("glDetailTexFuncSGIS", (void **) &traceGL_Native.glDetailTexFuncSGIS);

  traceThis = traceEnabled("glDetailTexFuncSGIS");

  if (!traceGL_Native.glDetailTexFuncSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDetailTexFuncSGIS");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDetailTexFuncSGIS(target, n, points);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetDetailTexFuncSGIS(GLenum target, GLfloat *points)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetDetailTexFuncSGIS)
    traceGL_lookupNativeAddress("glGetDetailTexFuncSGIS", (void **) &traceGL_Native.glGetDetailTexFuncSGIS);

  traceThis = traceEnabled("glGetDetailTexFuncSGIS");

  if (!traceGL_Native.glGetDetailTexFuncSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetDetailTexFuncSGIS");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetDetailTexFuncSGIS(target, points);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSharpenTexFuncSGIS(GLenum target, GLsizei n, const GLfloat *points)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSharpenTexFuncSGIS)
    traceGL_lookupNativeAddress("glSharpenTexFuncSGIS", (void **) &traceGL_Native.glSharpenTexFuncSGIS);

  traceThis = traceEnabled("glSharpenTexFuncSGIS");

  if (!traceGL_Native.glSharpenTexFuncSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSharpenTexFuncSGIS");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSharpenTexFuncSGIS(target, n, points);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetSharpenTexFuncSGIS(GLenum target, GLfloat *points)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetSharpenTexFuncSGIS)
    traceGL_lookupNativeAddress("glGetSharpenTexFuncSGIS", (void **) &traceGL_Native.glGetSharpenTexFuncSGIS);

  traceThis = traceEnabled("glGetSharpenTexFuncSGIS");

  if (!traceGL_Native.glGetSharpenTexFuncSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetSharpenTexFuncSGIS");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetSharpenTexFuncSGIS(target, points);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSampleMaskSGIS(GLclampf value, GLboolean invert)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSampleMaskSGIS)
    traceGL_lookupNativeAddress("glSampleMaskSGIS", (void **) &traceGL_Native.glSampleMaskSGIS);

  traceThis = traceEnabled("glSampleMaskSGIS");

  if (!traceGL_Native.glSampleMaskSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSampleMaskSGIS");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("value", "%f", value);
    traceInputParameter("invert", "%u", (unsigned int) invert);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSampleMaskSGIS(value, invert);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSamplePatternSGIS(GLenum pattern)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSamplePatternSGIS)
    traceGL_lookupNativeAddress("glSamplePatternSGIS", (void **) &traceGL_Native.glSamplePatternSGIS);

  traceThis = traceEnabled("glSamplePatternSGIS");

  if (!traceGL_Native.glSamplePatternSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSamplePatternSGIS");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pattern", "%u", pattern);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSamplePatternSGIS(pattern);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glArrayElementEXT(GLint i)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glArrayElementEXT)
    traceGL_lookupNativeAddress("glArrayElementEXT", (void **) &traceGL_Native.glArrayElementEXT);

  traceThis = traceEnabled("glArrayElementEXT");

  if (!traceGL_Native.glArrayElementEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glArrayElementEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("i", "%d", i);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glArrayElementEXT(i);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColorPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorPointerEXT)
    traceGL_lookupNativeAddress("glColorPointerEXT", (void **) &traceGL_Native.glColorPointerEXT);

  traceThis = traceEnabled("glColorPointerEXT");

  if (!traceGL_Native.glColorPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("count", "%d", count);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColorPointerEXT(size, type, stride, count, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawArraysEXT(GLenum mode, GLint first, GLsizei count)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawArraysEXT)
    traceGL_lookupNativeAddress("glDrawArraysEXT", (void **) &traceGL_Native.glDrawArraysEXT);

  traceThis = traceEnabled("glDrawArraysEXT");

  if (!traceGL_Native.glDrawArraysEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawArraysEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("first", "%d", first);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawArraysEXT(mode, first, count);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEdgeFlagPointerEXT(GLsizei stride, GLsizei count, const GLboolean *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEdgeFlagPointerEXT)
    traceGL_lookupNativeAddress("glEdgeFlagPointerEXT", (void **) &traceGL_Native.glEdgeFlagPointerEXT);

  traceThis = traceEnabled("glEdgeFlagPointerEXT");

  if (!traceGL_Native.glEdgeFlagPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEdgeFlagPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stride", "%d", stride);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEdgeFlagPointerEXT(stride, count, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetPointervEXT(GLenum pname, GLvoid **params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetPointervEXT)
    traceGL_lookupNativeAddress("glGetPointervEXT", (void **) &traceGL_Native.glGetPointervEXT);

  traceThis = traceEnabled("glGetPointervEXT");

  if (!traceGL_Native.glGetPointervEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetPointervEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetPointervEXT(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glIndexPointerEXT(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIndexPointerEXT)
    traceGL_lookupNativeAddress("glIndexPointerEXT", (void **) &traceGL_Native.glIndexPointerEXT);

  traceThis = traceEnabled("glIndexPointerEXT");

  if (!traceGL_Native.glIndexPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIndexPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("count", "%d", count);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glIndexPointerEXT(type, stride, count, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormalPointerEXT(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalPointerEXT)
    traceGL_lookupNativeAddress("glNormalPointerEXT", (void **) &traceGL_Native.glNormalPointerEXT);

  traceThis = traceEnabled("glNormalPointerEXT");

  if (!traceGL_Native.glNormalPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("count", "%d", count);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormalPointerEXT(type, stride, count, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoordPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoordPointerEXT)
    traceGL_lookupNativeAddress("glTexCoordPointerEXT", (void **) &traceGL_Native.glTexCoordPointerEXT);

  traceThis = traceEnabled("glTexCoordPointerEXT");

  if (!traceGL_Native.glTexCoordPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoordPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("count", "%d", count);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoordPointerEXT(size, type, stride, count, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexPointerEXT)
    traceGL_lookupNativeAddress("glVertexPointerEXT", (void **) &traceGL_Native.glVertexPointerEXT);

  traceThis = traceEnabled("glVertexPointerEXT");

  if (!traceGL_Native.glVertexPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("count", "%d", count);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexPointerEXT(size, type, stride, count, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBlendEquationEXT(GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendEquationEXT)
    traceGL_lookupNativeAddress("glBlendEquationEXT", (void **) &traceGL_Native.glBlendEquationEXT);

  traceThis = traceEnabled("glBlendEquationEXT");

  if (!traceGL_Native.glBlendEquationEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendEquationEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBlendEquationEXT(mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSpriteParameterfSGIX(GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSpriteParameterfSGIX)
    traceGL_lookupNativeAddress("glSpriteParameterfSGIX", (void **) &traceGL_Native.glSpriteParameterfSGIX);

  traceThis = traceEnabled("glSpriteParameterfSGIX");

  if (!traceGL_Native.glSpriteParameterfSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSpriteParameterfSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSpriteParameterfSGIX(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSpriteParameterfvSGIX(GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSpriteParameterfvSGIX)
    traceGL_lookupNativeAddress("glSpriteParameterfvSGIX", (void **) &traceGL_Native.glSpriteParameterfvSGIX);

  traceThis = traceEnabled("glSpriteParameterfvSGIX");

  if (!traceGL_Native.glSpriteParameterfvSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSpriteParameterfvSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSpriteParameterfvSGIX(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSpriteParameteriSGIX(GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSpriteParameteriSGIX)
    traceGL_lookupNativeAddress("glSpriteParameteriSGIX", (void **) &traceGL_Native.glSpriteParameteriSGIX);

  traceThis = traceEnabled("glSpriteParameteriSGIX");

  if (!traceGL_Native.glSpriteParameteriSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSpriteParameteriSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSpriteParameteriSGIX(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSpriteParameterivSGIX(GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSpriteParameterivSGIX)
    traceGL_lookupNativeAddress("glSpriteParameterivSGIX", (void **) &traceGL_Native.glSpriteParameterivSGIX);

  traceThis = traceEnabled("glSpriteParameterivSGIX");

  if (!traceGL_Native.glSpriteParameterivSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSpriteParameterivSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSpriteParameterivSGIX(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPointParameterfEXT(GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPointParameterfEXT)
    traceGL_lookupNativeAddress("glPointParameterfEXT", (void **) &traceGL_Native.glPointParameterfEXT);

  traceThis = traceEnabled("glPointParameterfEXT");

  if (!traceGL_Native.glPointParameterfEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPointParameterfEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPointParameterfEXT(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPointParameterfvEXT(GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPointParameterfvEXT)
    traceGL_lookupNativeAddress("glPointParameterfvEXT", (void **) &traceGL_Native.glPointParameterfvEXT);

  traceThis = traceEnabled("glPointParameterfvEXT");

  if (!traceGL_Native.glPointParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPointParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPointParameterfvEXT(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPointParameterfSGIS(GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPointParameterfSGIS)
    traceGL_lookupNativeAddress("glPointParameterfSGIS", (void **) &traceGL_Native.glPointParameterfSGIS);

  traceThis = traceEnabled("glPointParameterfSGIS");

  if (!traceGL_Native.glPointParameterfSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPointParameterfSGIS");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPointParameterfSGIS(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPointParameterfvSGIS(GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPointParameterfvSGIS)
    traceGL_lookupNativeAddress("glPointParameterfvSGIS", (void **) &traceGL_Native.glPointParameterfvSGIS);

  traceThis = traceEnabled("glPointParameterfvSGIS");

  if (!traceGL_Native.glPointParameterfvSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPointParameterfvSGIS");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPointParameterfvSGIS(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLint GLAPIENTRY
glGetInstrumentsSGIX()
{
  GLint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetInstrumentsSGIX)
    traceGL_lookupNativeAddress("glGetInstrumentsSGIX", (void **) &traceGL_Native.glGetInstrumentsSGIX);

  traceThis = traceEnabled("glGetInstrumentsSGIX");

  if (!traceGL_Native.glGetInstrumentsSGIX)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetInstrumentsSGIX");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGetInstrumentsSGIX();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%d", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glInstrumentsBufferSGIX(GLsizei size, GLint *buffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glInstrumentsBufferSGIX)
    traceGL_lookupNativeAddress("glInstrumentsBufferSGIX", (void **) &traceGL_Native.glInstrumentsBufferSGIX);

  traceThis = traceEnabled("glInstrumentsBufferSGIX");

  if (!traceGL_Native.glInstrumentsBufferSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glInstrumentsBufferSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glInstrumentsBufferSGIX(size, buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLint GLAPIENTRY
glPollInstrumentsSGIX(GLint *marker_p)
{
  GLint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPollInstrumentsSGIX)
    traceGL_lookupNativeAddress("glPollInstrumentsSGIX", (void **) &traceGL_Native.glPollInstrumentsSGIX);

  traceThis = traceEnabled("glPollInstrumentsSGIX");

  if (!traceGL_Native.glPollInstrumentsSGIX)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPollInstrumentsSGIX");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glPollInstrumentsSGIX(marker_p);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("marker_p", "%d[%d]", marker_p, 1);
    traceReturn("%d", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glReadInstrumentsSGIX(GLint marker)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReadInstrumentsSGIX)
    traceGL_lookupNativeAddress("glReadInstrumentsSGIX", (void **) &traceGL_Native.glReadInstrumentsSGIX);

  traceThis = traceEnabled("glReadInstrumentsSGIX");

  if (!traceGL_Native.glReadInstrumentsSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReadInstrumentsSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("marker", "%d", marker);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReadInstrumentsSGIX(marker);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glStartInstrumentsSGIX()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glStartInstrumentsSGIX)
    traceGL_lookupNativeAddress("glStartInstrumentsSGIX", (void **) &traceGL_Native.glStartInstrumentsSGIX);

  traceThis = traceEnabled("glStartInstrumentsSGIX");

  if (!traceGL_Native.glStartInstrumentsSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glStartInstrumentsSGIX");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glStartInstrumentsSGIX();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glStopInstrumentsSGIX(GLint marker)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glStopInstrumentsSGIX)
    traceGL_lookupNativeAddress("glStopInstrumentsSGIX", (void **) &traceGL_Native.glStopInstrumentsSGIX);

  traceThis = traceEnabled("glStopInstrumentsSGIX");

  if (!traceGL_Native.glStopInstrumentsSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glStopInstrumentsSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("marker", "%d", marker);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glStopInstrumentsSGIX(marker);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFrameZoomSGIX(GLint factor)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFrameZoomSGIX)
    traceGL_lookupNativeAddress("glFrameZoomSGIX", (void **) &traceGL_Native.glFrameZoomSGIX);

  traceThis = traceEnabled("glFrameZoomSGIX");

  if (!traceGL_Native.glFrameZoomSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFrameZoomSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("factor", "%d", factor);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFrameZoomSGIX(factor);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTagSampleBufferSGIX()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTagSampleBufferSGIX)
    traceGL_lookupNativeAddress("glTagSampleBufferSGIX", (void **) &traceGL_Native.glTagSampleBufferSGIX);

  traceThis = traceEnabled("glTagSampleBufferSGIX");

  if (!traceGL_Native.glTagSampleBufferSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTagSampleBufferSGIX");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTagSampleBufferSGIX();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeformationMap3dSGIX(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble *points)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeformationMap3dSGIX)
    traceGL_lookupNativeAddress("glDeformationMap3dSGIX", (void **) &traceGL_Native.glDeformationMap3dSGIX);

  traceThis = traceEnabled("glDeformationMap3dSGIX");

  if (!traceGL_Native.glDeformationMap3dSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeformationMap3dSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("u1", "%lf", u1);
    traceInputParameter("u2", "%lf", u2);
    traceInputParameter("ustride", "%d", ustride);
    traceInputParameter("uorder", "%d", uorder);
    traceInputParameter("v1", "%lf", v1);
    traceInputParameter("v2", "%lf", v2);
    traceInputParameter("vstride", "%d", vstride);
    traceInputParameter("vorder", "%d", vorder);
    traceInputParameter("w1", "%lf", w1);
    traceInputParameter("w2", "%lf", w2);
    traceInputParameter("wstride", "%d", wstride);
    traceInputParameter("worder", "%d", worder);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeformationMap3dSGIX(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, points);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeformationMap3fSGIX(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat *points)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeformationMap3fSGIX)
    traceGL_lookupNativeAddress("glDeformationMap3fSGIX", (void **) &traceGL_Native.glDeformationMap3fSGIX);

  traceThis = traceEnabled("glDeformationMap3fSGIX");

  if (!traceGL_Native.glDeformationMap3fSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeformationMap3fSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("u1", "%f", u1);
    traceInputParameter("u2", "%f", u2);
    traceInputParameter("ustride", "%d", ustride);
    traceInputParameter("uorder", "%d", uorder);
    traceInputParameter("v1", "%f", v1);
    traceInputParameter("v2", "%f", v2);
    traceInputParameter("vstride", "%d", vstride);
    traceInputParameter("vorder", "%d", vorder);
    traceInputParameter("w1", "%f", w1);
    traceInputParameter("w2", "%f", w2);
    traceInputParameter("wstride", "%d", wstride);
    traceInputParameter("worder", "%d", worder);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeformationMap3fSGIX(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, points);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeformSGIX(GLbitfield mask)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeformSGIX)
    traceGL_lookupNativeAddress("glDeformSGIX", (void **) &traceGL_Native.glDeformSGIX);

  traceThis = traceEnabled("glDeformSGIX");

  if (!traceGL_Native.glDeformSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeformSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mask", "%u", mask);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeformSGIX(mask);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glLoadIdentityDeformationMapSGIX(GLbitfield mask)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLoadIdentityDeformationMapSGIX)
    traceGL_lookupNativeAddress("glLoadIdentityDeformationMapSGIX", (void **) &traceGL_Native.glLoadIdentityDeformationMapSGIX);

  traceThis = traceEnabled("glLoadIdentityDeformationMapSGIX");

  if (!traceGL_Native.glLoadIdentityDeformationMapSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLoadIdentityDeformationMapSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mask", "%u", mask);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glLoadIdentityDeformationMapSGIX(mask);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReferencePlaneSGIX(const GLdouble *equation)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReferencePlaneSGIX)
    traceGL_lookupNativeAddress("glReferencePlaneSGIX", (void **) &traceGL_Native.glReferencePlaneSGIX);

  traceThis = traceEnabled("glReferencePlaneSGIX");

  if (!traceGL_Native.glReferencePlaneSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReferencePlaneSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("equation", "%lf[%d]", equation, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReferencePlaneSGIX(equation);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFlushRasterSGIX()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFlushRasterSGIX)
    traceGL_lookupNativeAddress("glFlushRasterSGIX", (void **) &traceGL_Native.glFlushRasterSGIX);

  traceThis = traceEnabled("glFlushRasterSGIX");

  if (!traceGL_Native.glFlushRasterSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFlushRasterSGIX");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFlushRasterSGIX();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFogFuncSGIS(GLsizei n, const GLfloat *points)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogFuncSGIS)
    traceGL_lookupNativeAddress("glFogFuncSGIS", (void **) &traceGL_Native.glFogFuncSGIS);

  traceThis = traceEnabled("glFogFuncSGIS");

  if (!traceGL_Native.glFogFuncSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogFuncSGIS");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFogFuncSGIS(n, points);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetFogFuncSGIS(GLfloat *points)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFogFuncSGIS)
    traceGL_lookupNativeAddress("glGetFogFuncSGIS", (void **) &traceGL_Native.glGetFogFuncSGIS);

  traceThis = traceEnabled("glGetFogFuncSGIS");

  if (!traceGL_Native.glGetFogFuncSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFogFuncSGIS");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetFogFuncSGIS(points);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glImageTransformParameteriHP(GLenum target, GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glImageTransformParameteriHP)
    traceGL_lookupNativeAddress("glImageTransformParameteriHP", (void **) &traceGL_Native.glImageTransformParameteriHP);

  traceThis = traceEnabled("glImageTransformParameteriHP");

  if (!traceGL_Native.glImageTransformParameteriHP)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glImageTransformParameteriHP");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glImageTransformParameteriHP(target, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glImageTransformParameterfHP(GLenum target, GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glImageTransformParameterfHP)
    traceGL_lookupNativeAddress("glImageTransformParameterfHP", (void **) &traceGL_Native.glImageTransformParameterfHP);

  traceThis = traceEnabled("glImageTransformParameterfHP");

  if (!traceGL_Native.glImageTransformParameterfHP)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glImageTransformParameterfHP");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glImageTransformParameterfHP(target, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glImageTransformParameterivHP(GLenum target, GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glImageTransformParameterivHP)
    traceGL_lookupNativeAddress("glImageTransformParameterivHP", (void **) &traceGL_Native.glImageTransformParameterivHP);

  traceThis = traceEnabled("glImageTransformParameterivHP");

  if (!traceGL_Native.glImageTransformParameterivHP)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glImageTransformParameterivHP");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glImageTransformParameterivHP(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glImageTransformParameterfvHP(GLenum target, GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glImageTransformParameterfvHP)
    traceGL_lookupNativeAddress("glImageTransformParameterfvHP", (void **) &traceGL_Native.glImageTransformParameterfvHP);

  traceThis = traceEnabled("glImageTransformParameterfvHP");

  if (!traceGL_Native.glImageTransformParameterfvHP)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glImageTransformParameterfvHP");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glImageTransformParameterfvHP(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetImageTransformParameterivHP(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetImageTransformParameterivHP)
    traceGL_lookupNativeAddress("glGetImageTransformParameterivHP", (void **) &traceGL_Native.glGetImageTransformParameterivHP);

  traceThis = traceEnabled("glGetImageTransformParameterivHP");

  if (!traceGL_Native.glGetImageTransformParameterivHP)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetImageTransformParameterivHP");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetImageTransformParameterivHP(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetImageTransformParameterfvHP(GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetImageTransformParameterfvHP)
    traceGL_lookupNativeAddress("glGetImageTransformParameterfvHP", (void **) &traceGL_Native.glGetImageTransformParameterfvHP);

  traceThis = traceEnabled("glGetImageTransformParameterfvHP");

  if (!traceGL_Native.glGetImageTransformParameterfvHP)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetImageTransformParameterfvHP");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetImageTransformParameterfvHP(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColorSubTableEXT(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *table)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorSubTableEXT)
    traceGL_lookupNativeAddress("glColorSubTableEXT", (void **) &traceGL_Native.glColorSubTableEXT);

  traceThis = traceEnabled("glColorSubTableEXT");

  if (!traceGL_Native.glColorSubTableEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorSubTableEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("start", "%d", start);
    traceInputParameter("count", "%d", count);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("table", "%p", table);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColorSubTableEXT(target, start, count, format, type, table);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyColorSubTableEXT(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyColorSubTableEXT)
    traceGL_lookupNativeAddress("glCopyColorSubTableEXT", (void **) &traceGL_Native.glCopyColorSubTableEXT);

  traceThis = traceEnabled("glCopyColorSubTableEXT");

  if (!traceGL_Native.glCopyColorSubTableEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyColorSubTableEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("start", "%d", start);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyColorSubTableEXT(target, start, x, y, width);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glHintPGI(GLenum target, GLint mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glHintPGI)
    traceGL_lookupNativeAddress("glHintPGI", (void **) &traceGL_Native.glHintPGI);

  traceThis = traceEnabled("glHintPGI");

  if (!traceGL_Native.glHintPGI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glHintPGI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("mode", "%d", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glHintPGI(target, mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColorTableEXT(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorTableEXT)
    traceGL_lookupNativeAddress("glColorTableEXT", (void **) &traceGL_Native.glColorTableEXT);

  traceThis = traceEnabled("glColorTableEXT");

  if (!traceGL_Native.glColorTableEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorTableEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("table", "%p", table);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColorTableEXT(target, internalformat, width, format, type, table);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetColorTableEXT(GLenum target, GLenum format, GLenum type, GLvoid *table)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetColorTableEXT)
    traceGL_lookupNativeAddress("glGetColorTableEXT", (void **) &traceGL_Native.glGetColorTableEXT);

  traceThis = traceEnabled("glGetColorTableEXT");

  if (!traceGL_Native.glGetColorTableEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetColorTableEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetColorTableEXT(target, format, type, table);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("table", "%p", table);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetColorTableParameterivEXT(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetColorTableParameterivEXT)
    traceGL_lookupNativeAddress("glGetColorTableParameterivEXT", (void **) &traceGL_Native.glGetColorTableParameterivEXT);

  traceThis = traceEnabled("glGetColorTableParameterivEXT");

  if (!traceGL_Native.glGetColorTableParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetColorTableParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetColorTableParameterivEXT(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetColorTableParameterfvEXT(GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetColorTableParameterfvEXT)
    traceGL_lookupNativeAddress("glGetColorTableParameterfvEXT", (void **) &traceGL_Native.glGetColorTableParameterfvEXT);

  traceThis = traceEnabled("glGetColorTableParameterfvEXT");

  if (!traceGL_Native.glGetColorTableParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetColorTableParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetColorTableParameterfvEXT(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetListParameterfvSGIX(GLuint list, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetListParameterfvSGIX)
    traceGL_lookupNativeAddress("glGetListParameterfvSGIX", (void **) &traceGL_Native.glGetListParameterfvSGIX);

  traceThis = traceEnabled("glGetListParameterfvSGIX");

  if (!traceGL_Native.glGetListParameterfvSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetListParameterfvSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("list", "%u", list);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetListParameterfvSGIX(list, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetListParameterivSGIX(GLuint list, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetListParameterivSGIX)
    traceGL_lookupNativeAddress("glGetListParameterivSGIX", (void **) &traceGL_Native.glGetListParameterivSGIX);

  traceThis = traceEnabled("glGetListParameterivSGIX");

  if (!traceGL_Native.glGetListParameterivSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetListParameterivSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("list", "%u", list);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetListParameterivSGIX(list, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glListParameterfSGIX(GLuint list, GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glListParameterfSGIX)
    traceGL_lookupNativeAddress("glListParameterfSGIX", (void **) &traceGL_Native.glListParameterfSGIX);

  traceThis = traceEnabled("glListParameterfSGIX");

  if (!traceGL_Native.glListParameterfSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glListParameterfSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("list", "%u", list);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glListParameterfSGIX(list, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glListParameterfvSGIX(GLuint list, GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glListParameterfvSGIX)
    traceGL_lookupNativeAddress("glListParameterfvSGIX", (void **) &traceGL_Native.glListParameterfvSGIX);

  traceThis = traceEnabled("glListParameterfvSGIX");

  if (!traceGL_Native.glListParameterfvSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glListParameterfvSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("list", "%u", list);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glListParameterfvSGIX(list, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glListParameteriSGIX(GLuint list, GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glListParameteriSGIX)
    traceGL_lookupNativeAddress("glListParameteriSGIX", (void **) &traceGL_Native.glListParameteriSGIX);

  traceThis = traceEnabled("glListParameteriSGIX");

  if (!traceGL_Native.glListParameteriSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glListParameteriSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("list", "%u", list);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glListParameteriSGIX(list, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glListParameterivSGIX(GLuint list, GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glListParameterivSGIX)
    traceGL_lookupNativeAddress("glListParameterivSGIX", (void **) &traceGL_Native.glListParameterivSGIX);

  traceThis = traceEnabled("glListParameterivSGIX");

  if (!traceGL_Native.glListParameterivSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glListParameterivSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("list", "%u", list);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glListParameterivSGIX(list, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glIndexMaterialEXT(GLenum face, GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIndexMaterialEXT)
    traceGL_lookupNativeAddress("glIndexMaterialEXT", (void **) &traceGL_Native.glIndexMaterialEXT);

  traceThis = traceEnabled("glIndexMaterialEXT");

  if (!traceGL_Native.glIndexMaterialEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIndexMaterialEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("face", "%u", face);
    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glIndexMaterialEXT(face, mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glIndexFuncEXT(GLenum func, GLclampf ref)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIndexFuncEXT)
    traceGL_lookupNativeAddress("glIndexFuncEXT", (void **) &traceGL_Native.glIndexFuncEXT);

  traceThis = traceEnabled("glIndexFuncEXT");

  if (!traceGL_Native.glIndexFuncEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIndexFuncEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("func", "%u", func);
    traceInputParameter("ref", "%f", ref);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glIndexFuncEXT(func, ref);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glLockArraysEXT(GLint first, GLsizei count)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLockArraysEXT)
    traceGL_lookupNativeAddress("glLockArraysEXT", (void **) &traceGL_Native.glLockArraysEXT);

  traceThis = traceEnabled("glLockArraysEXT");

  if (!traceGL_Native.glLockArraysEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLockArraysEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("first", "%d", first);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glLockArraysEXT(first, count);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUnlockArraysEXT()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUnlockArraysEXT)
    traceGL_lookupNativeAddress("glUnlockArraysEXT", (void **) &traceGL_Native.glUnlockArraysEXT);

  traceThis = traceEnabled("glUnlockArraysEXT");

  if (!traceGL_Native.glUnlockArraysEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUnlockArraysEXT");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUnlockArraysEXT();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCullParameterdvEXT(GLenum pname, GLdouble *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCullParameterdvEXT)
    traceGL_lookupNativeAddress("glCullParameterdvEXT", (void **) &traceGL_Native.glCullParameterdvEXT);

  traceThis = traceEnabled("glCullParameterdvEXT");

  if (!traceGL_Native.glCullParameterdvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCullParameterdvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCullParameterdvEXT(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%lf[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCullParameterfvEXT(GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCullParameterfvEXT)
    traceGL_lookupNativeAddress("glCullParameterfvEXT", (void **) &traceGL_Native.glCullParameterfvEXT);

  traceThis = traceEnabled("glCullParameterfvEXT");

  if (!traceGL_Native.glCullParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCullParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCullParameterfvEXT(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%f[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFragmentColorMaterialSGIX(GLenum face, GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFragmentColorMaterialSGIX)
    traceGL_lookupNativeAddress("glFragmentColorMaterialSGIX", (void **) &traceGL_Native.glFragmentColorMaterialSGIX);

  traceThis = traceEnabled("glFragmentColorMaterialSGIX");

  if (!traceGL_Native.glFragmentColorMaterialSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFragmentColorMaterialSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("face", "%u", face);
    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFragmentColorMaterialSGIX(face, mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFragmentLightfSGIX(GLenum light, GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFragmentLightfSGIX)
    traceGL_lookupNativeAddress("glFragmentLightfSGIX", (void **) &traceGL_Native.glFragmentLightfSGIX);

  traceThis = traceEnabled("glFragmentLightfSGIX");

  if (!traceGL_Native.glFragmentLightfSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFragmentLightfSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("light", "%u", light);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFragmentLightfSGIX(light, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFragmentLightfvSGIX(GLenum light, GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFragmentLightfvSGIX)
    traceGL_lookupNativeAddress("glFragmentLightfvSGIX", (void **) &traceGL_Native.glFragmentLightfvSGIX);

  traceThis = traceEnabled("glFragmentLightfvSGIX");

  if (!traceGL_Native.glFragmentLightfvSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFragmentLightfvSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("light", "%u", light);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFragmentLightfvSGIX(light, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFragmentLightiSGIX(GLenum light, GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFragmentLightiSGIX)
    traceGL_lookupNativeAddress("glFragmentLightiSGIX", (void **) &traceGL_Native.glFragmentLightiSGIX);

  traceThis = traceEnabled("glFragmentLightiSGIX");

  if (!traceGL_Native.glFragmentLightiSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFragmentLightiSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("light", "%u", light);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFragmentLightiSGIX(light, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFragmentLightivSGIX(GLenum light, GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFragmentLightivSGIX)
    traceGL_lookupNativeAddress("glFragmentLightivSGIX", (void **) &traceGL_Native.glFragmentLightivSGIX);

  traceThis = traceEnabled("glFragmentLightivSGIX");

  if (!traceGL_Native.glFragmentLightivSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFragmentLightivSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("light", "%u", light);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFragmentLightivSGIX(light, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFragmentLightModelfSGIX(GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFragmentLightModelfSGIX)
    traceGL_lookupNativeAddress("glFragmentLightModelfSGIX", (void **) &traceGL_Native.glFragmentLightModelfSGIX);

  traceThis = traceEnabled("glFragmentLightModelfSGIX");

  if (!traceGL_Native.glFragmentLightModelfSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFragmentLightModelfSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFragmentLightModelfSGIX(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFragmentLightModelfvSGIX(GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFragmentLightModelfvSGIX)
    traceGL_lookupNativeAddress("glFragmentLightModelfvSGIX", (void **) &traceGL_Native.glFragmentLightModelfvSGIX);

  traceThis = traceEnabled("glFragmentLightModelfvSGIX");

  if (!traceGL_Native.glFragmentLightModelfvSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFragmentLightModelfvSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFragmentLightModelfvSGIX(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFragmentLightModeliSGIX(GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFragmentLightModeliSGIX)
    traceGL_lookupNativeAddress("glFragmentLightModeliSGIX", (void **) &traceGL_Native.glFragmentLightModeliSGIX);

  traceThis = traceEnabled("glFragmentLightModeliSGIX");

  if (!traceGL_Native.glFragmentLightModeliSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFragmentLightModeliSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFragmentLightModeliSGIX(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFragmentLightModelivSGIX(GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFragmentLightModelivSGIX)
    traceGL_lookupNativeAddress("glFragmentLightModelivSGIX", (void **) &traceGL_Native.glFragmentLightModelivSGIX);

  traceThis = traceEnabled("glFragmentLightModelivSGIX");

  if (!traceGL_Native.glFragmentLightModelivSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFragmentLightModelivSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFragmentLightModelivSGIX(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFragmentMaterialfSGIX(GLenum face, GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFragmentMaterialfSGIX)
    traceGL_lookupNativeAddress("glFragmentMaterialfSGIX", (void **) &traceGL_Native.glFragmentMaterialfSGIX);

  traceThis = traceEnabled("glFragmentMaterialfSGIX");

  if (!traceGL_Native.glFragmentMaterialfSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFragmentMaterialfSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("face", "%u", face);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFragmentMaterialfSGIX(face, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFragmentMaterialfvSGIX(GLenum face, GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFragmentMaterialfvSGIX)
    traceGL_lookupNativeAddress("glFragmentMaterialfvSGIX", (void **) &traceGL_Native.glFragmentMaterialfvSGIX);

  traceThis = traceEnabled("glFragmentMaterialfvSGIX");

  if (!traceGL_Native.glFragmentMaterialfvSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFragmentMaterialfvSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("face", "%u", face);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFragmentMaterialfvSGIX(face, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFragmentMaterialiSGIX(GLenum face, GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFragmentMaterialiSGIX)
    traceGL_lookupNativeAddress("glFragmentMaterialiSGIX", (void **) &traceGL_Native.glFragmentMaterialiSGIX);

  traceThis = traceEnabled("glFragmentMaterialiSGIX");

  if (!traceGL_Native.glFragmentMaterialiSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFragmentMaterialiSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("face", "%u", face);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFragmentMaterialiSGIX(face, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFragmentMaterialivSGIX(GLenum face, GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFragmentMaterialivSGIX)
    traceGL_lookupNativeAddress("glFragmentMaterialivSGIX", (void **) &traceGL_Native.glFragmentMaterialivSGIX);

  traceThis = traceEnabled("glFragmentMaterialivSGIX");

  if (!traceGL_Native.glFragmentMaterialivSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFragmentMaterialivSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("face", "%u", face);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFragmentMaterialivSGIX(face, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetFragmentLightfvSGIX(GLenum light, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFragmentLightfvSGIX)
    traceGL_lookupNativeAddress("glGetFragmentLightfvSGIX", (void **) &traceGL_Native.glGetFragmentLightfvSGIX);

  traceThis = traceEnabled("glGetFragmentLightfvSGIX");

  if (!traceGL_Native.glGetFragmentLightfvSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFragmentLightfvSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("light", "%u", light);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetFragmentLightfvSGIX(light, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetFragmentLightivSGIX(GLenum light, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFragmentLightivSGIX)
    traceGL_lookupNativeAddress("glGetFragmentLightivSGIX", (void **) &traceGL_Native.glGetFragmentLightivSGIX);

  traceThis = traceEnabled("glGetFragmentLightivSGIX");

  if (!traceGL_Native.glGetFragmentLightivSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFragmentLightivSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("light", "%u", light);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetFragmentLightivSGIX(light, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetFragmentMaterialfvSGIX(GLenum face, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFragmentMaterialfvSGIX)
    traceGL_lookupNativeAddress("glGetFragmentMaterialfvSGIX", (void **) &traceGL_Native.glGetFragmentMaterialfvSGIX);

  traceThis = traceEnabled("glGetFragmentMaterialfvSGIX");

  if (!traceGL_Native.glGetFragmentMaterialfvSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFragmentMaterialfvSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("face", "%u", face);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetFragmentMaterialfvSGIX(face, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetFragmentMaterialivSGIX(GLenum face, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFragmentMaterialivSGIX)
    traceGL_lookupNativeAddress("glGetFragmentMaterialivSGIX", (void **) &traceGL_Native.glGetFragmentMaterialivSGIX);

  traceThis = traceEnabled("glGetFragmentMaterialivSGIX");

  if (!traceGL_Native.glGetFragmentMaterialivSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFragmentMaterialivSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("face", "%u", face);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetFragmentMaterialivSGIX(face, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glLightEnviSGIX(GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLightEnviSGIX)
    traceGL_lookupNativeAddress("glLightEnviSGIX", (void **) &traceGL_Native.glLightEnviSGIX);

  traceThis = traceEnabled("glLightEnviSGIX");

  if (!traceGL_Native.glLightEnviSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLightEnviSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glLightEnviSGIX(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawRangeElementsEXT(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawRangeElementsEXT)
    traceGL_lookupNativeAddress("glDrawRangeElementsEXT", (void **) &traceGL_Native.glDrawRangeElementsEXT);

  traceThis = traceEnabled("glDrawRangeElementsEXT");

  if (!traceGL_Native.glDrawRangeElementsEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawRangeElementsEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("start", "%u", start);
    traceInputParameter("end", "%u", end);
    traceInputParameter("count", "%d", count);
    traceInputParameter("type", "%u", type);
    traceInputParameter("indices", "%p", indices);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawRangeElementsEXT(mode, start, end, count, type, indices);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glApplyTextureEXT(GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glApplyTextureEXT)
    traceGL_lookupNativeAddress("glApplyTextureEXT", (void **) &traceGL_Native.glApplyTextureEXT);

  traceThis = traceEnabled("glApplyTextureEXT");

  if (!traceGL_Native.glApplyTextureEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glApplyTextureEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glApplyTextureEXT(mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTextureLightEXT(GLenum pname)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureLightEXT)
    traceGL_lookupNativeAddress("glTextureLightEXT", (void **) &traceGL_Native.glTextureLightEXT);

  traceThis = traceEnabled("glTextureLightEXT");

  if (!traceGL_Native.glTextureLightEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureLightEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTextureLightEXT(pname);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTextureMaterialEXT(GLenum face, GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureMaterialEXT)
    traceGL_lookupNativeAddress("glTextureMaterialEXT", (void **) &traceGL_Native.glTextureMaterialEXT);

  traceThis = traceEnabled("glTextureMaterialEXT");

  if (!traceGL_Native.glTextureMaterialEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureMaterialEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("face", "%u", face);
    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTextureMaterialEXT(face, mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glAsyncMarkerSGIX(GLuint marker)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glAsyncMarkerSGIX)
    traceGL_lookupNativeAddress("glAsyncMarkerSGIX", (void **) &traceGL_Native.glAsyncMarkerSGIX);

  traceThis = traceEnabled("glAsyncMarkerSGIX");

  if (!traceGL_Native.glAsyncMarkerSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glAsyncMarkerSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("marker", "%u", marker);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glAsyncMarkerSGIX(marker);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLint GLAPIENTRY
glFinishAsyncSGIX(GLuint *markerp)
{
  GLint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFinishAsyncSGIX)
    traceGL_lookupNativeAddress("glFinishAsyncSGIX", (void **) &traceGL_Native.glFinishAsyncSGIX);

  traceThis = traceEnabled("glFinishAsyncSGIX");

  if (!traceGL_Native.glFinishAsyncSGIX)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFinishAsyncSGIX");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glFinishAsyncSGIX(markerp);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("markerp", "%u[%d]", markerp, 1);
    traceReturn("%d", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLint GLAPIENTRY
glPollAsyncSGIX(GLuint *markerp)
{
  GLint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPollAsyncSGIX)
    traceGL_lookupNativeAddress("glPollAsyncSGIX", (void **) &traceGL_Native.glPollAsyncSGIX);

  traceThis = traceEnabled("glPollAsyncSGIX");

  if (!traceGL_Native.glPollAsyncSGIX)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPollAsyncSGIX");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glPollAsyncSGIX(markerp);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("markerp", "%u[%d]", markerp, 1);
    traceReturn("%d", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLuint GLAPIENTRY
glGenAsyncMarkersSGIX(GLsizei range)
{
  GLuint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenAsyncMarkersSGIX)
    traceGL_lookupNativeAddress("glGenAsyncMarkersSGIX", (void **) &traceGL_Native.glGenAsyncMarkersSGIX);

  traceThis = traceEnabled("glGenAsyncMarkersSGIX");

  if (!traceGL_Native.glGenAsyncMarkersSGIX)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenAsyncMarkersSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("range", "%d", range);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGenAsyncMarkersSGIX(range);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glDeleteAsyncMarkersSGIX(GLuint marker, GLsizei range)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteAsyncMarkersSGIX)
    traceGL_lookupNativeAddress("glDeleteAsyncMarkersSGIX", (void **) &traceGL_Native.glDeleteAsyncMarkersSGIX);

  traceThis = traceEnabled("glDeleteAsyncMarkersSGIX");

  if (!traceGL_Native.glDeleteAsyncMarkersSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteAsyncMarkersSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("marker", "%u", marker);
    traceInputParameter("range", "%d", range);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteAsyncMarkersSGIX(marker, range);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsAsyncMarkerSGIX(GLuint marker)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsAsyncMarkerSGIX)
    traceGL_lookupNativeAddress("glIsAsyncMarkerSGIX", (void **) &traceGL_Native.glIsAsyncMarkerSGIX);

  traceThis = traceEnabled("glIsAsyncMarkerSGIX");

  if (!traceGL_Native.glIsAsyncMarkerSGIX)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsAsyncMarkerSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("marker", "%u", marker);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsAsyncMarkerSGIX(marker);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glVertexPointervINTEL(GLint size, GLenum type, const GLvoid **pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexPointervINTEL)
    traceGL_lookupNativeAddress("glVertexPointervINTEL", (void **) &traceGL_Native.glVertexPointervINTEL);

  traceThis = traceEnabled("glVertexPointervINTEL");

  if (!traceGL_Native.glVertexPointervINTEL)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexPointervINTEL");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexPointervINTEL(size, type, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormalPointervINTEL(GLenum type, const GLvoid **pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalPointervINTEL)
    traceGL_lookupNativeAddress("glNormalPointervINTEL", (void **) &traceGL_Native.glNormalPointervINTEL);

  traceThis = traceEnabled("glNormalPointervINTEL");

  if (!traceGL_Native.glNormalPointervINTEL)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalPointervINTEL");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormalPointervINTEL(type, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColorPointervINTEL(GLint size, GLenum type, const GLvoid **pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorPointervINTEL)
    traceGL_lookupNativeAddress("glColorPointervINTEL", (void **) &traceGL_Native.glColorPointervINTEL);

  traceThis = traceEnabled("glColorPointervINTEL");

  if (!traceGL_Native.glColorPointervINTEL)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorPointervINTEL");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColorPointervINTEL(size, type, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoordPointervINTEL(GLint size, GLenum type, const GLvoid **pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoordPointervINTEL)
    traceGL_lookupNativeAddress("glTexCoordPointervINTEL", (void **) &traceGL_Native.glTexCoordPointervINTEL);

  traceThis = traceEnabled("glTexCoordPointervINTEL");

  if (!traceGL_Native.glTexCoordPointervINTEL)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoordPointervINTEL");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoordPointervINTEL(size, type, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPixelTransformParameteriEXT(GLenum target, GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelTransformParameteriEXT)
    traceGL_lookupNativeAddress("glPixelTransformParameteriEXT", (void **) &traceGL_Native.glPixelTransformParameteriEXT);

  traceThis = traceEnabled("glPixelTransformParameteriEXT");

  if (!traceGL_Native.glPixelTransformParameteriEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelTransformParameteriEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPixelTransformParameteriEXT(target, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPixelTransformParameterfEXT(GLenum target, GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelTransformParameterfEXT)
    traceGL_lookupNativeAddress("glPixelTransformParameterfEXT", (void **) &traceGL_Native.glPixelTransformParameterfEXT);

  traceThis = traceEnabled("glPixelTransformParameterfEXT");

  if (!traceGL_Native.glPixelTransformParameterfEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelTransformParameterfEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPixelTransformParameterfEXT(target, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPixelTransformParameterivEXT(GLenum target, GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelTransformParameterivEXT)
    traceGL_lookupNativeAddress("glPixelTransformParameterivEXT", (void **) &traceGL_Native.glPixelTransformParameterivEXT);

  traceThis = traceEnabled("glPixelTransformParameterivEXT");

  if (!traceGL_Native.glPixelTransformParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelTransformParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("params", "%d[%d]", params, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPixelTransformParameterivEXT(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPixelTransformParameterfvEXT(GLenum target, GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelTransformParameterfvEXT)
    traceGL_lookupNativeAddress("glPixelTransformParameterfvEXT", (void **) &traceGL_Native.glPixelTransformParameterfvEXT);

  traceThis = traceEnabled("glPixelTransformParameterfvEXT");

  if (!traceGL_Native.glPixelTransformParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelTransformParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("params", "%f[%d]", params, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPixelTransformParameterfvEXT(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3bEXT(GLbyte red, GLbyte green, GLbyte blue)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3bEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3bEXT", (void **) &traceGL_Native.glSecondaryColor3bEXT);

  traceThis = traceEnabled("glSecondaryColor3bEXT");

  if (!traceGL_Native.glSecondaryColor3bEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3bEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%d", (int) red);
    traceInputParameter("green", "%d", (int) green);
    traceInputParameter("blue", "%d", (int) blue);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3bEXT(red, green, blue);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3bvEXT(const GLbyte *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3bvEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3bvEXT", (void **) &traceGL_Native.glSecondaryColor3bvEXT);

  traceThis = traceEnabled("glSecondaryColor3bvEXT");

  if (!traceGL_Native.glSecondaryColor3bvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3bvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%c[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3bvEXT(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3dEXT(GLdouble red, GLdouble green, GLdouble blue)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3dEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3dEXT", (void **) &traceGL_Native.glSecondaryColor3dEXT);

  traceThis = traceEnabled("glSecondaryColor3dEXT");

  if (!traceGL_Native.glSecondaryColor3dEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3dEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%lf", red);
    traceInputParameter("green", "%lf", green);
    traceInputParameter("blue", "%lf", blue);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3dEXT(red, green, blue);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3dvEXT(const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3dvEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3dvEXT", (void **) &traceGL_Native.glSecondaryColor3dvEXT);

  traceThis = traceEnabled("glSecondaryColor3dvEXT");

  if (!traceGL_Native.glSecondaryColor3dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3dvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%lf[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3dvEXT(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3fEXT(GLfloat red, GLfloat green, GLfloat blue)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3fEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3fEXT", (void **) &traceGL_Native.glSecondaryColor3fEXT);

  traceThis = traceEnabled("glSecondaryColor3fEXT");

  if (!traceGL_Native.glSecondaryColor3fEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3fEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%f", red);
    traceInputParameter("green", "%f", green);
    traceInputParameter("blue", "%f", blue);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3fEXT(red, green, blue);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3fvEXT(const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3fvEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3fvEXT", (void **) &traceGL_Native.glSecondaryColor3fvEXT);

  traceThis = traceEnabled("glSecondaryColor3fvEXT");

  if (!traceGL_Native.glSecondaryColor3fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3fvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3fvEXT(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3iEXT(GLint red, GLint green, GLint blue)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3iEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3iEXT", (void **) &traceGL_Native.glSecondaryColor3iEXT);

  traceThis = traceEnabled("glSecondaryColor3iEXT");

  if (!traceGL_Native.glSecondaryColor3iEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3iEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%d", red);
    traceInputParameter("green", "%d", green);
    traceInputParameter("blue", "%d", blue);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3iEXT(red, green, blue);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3ivEXT(const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3ivEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3ivEXT", (void **) &traceGL_Native.glSecondaryColor3ivEXT);

  traceThis = traceEnabled("glSecondaryColor3ivEXT");

  if (!traceGL_Native.glSecondaryColor3ivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3ivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%d[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3ivEXT(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3sEXT(GLshort red, GLshort green, GLshort blue)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3sEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3sEXT", (void **) &traceGL_Native.glSecondaryColor3sEXT);

  traceThis = traceEnabled("glSecondaryColor3sEXT");

  if (!traceGL_Native.glSecondaryColor3sEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3sEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%hd", red);
    traceInputParameter("green", "%hd", green);
    traceInputParameter("blue", "%hd", blue);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3sEXT(red, green, blue);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3svEXT(const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3svEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3svEXT", (void **) &traceGL_Native.glSecondaryColor3svEXT);

  traceThis = traceEnabled("glSecondaryColor3svEXT");

  if (!traceGL_Native.glSecondaryColor3svEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3svEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hd[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3svEXT(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3ubEXT(GLubyte red, GLubyte green, GLubyte blue)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3ubEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3ubEXT", (void **) &traceGL_Native.glSecondaryColor3ubEXT);

  traceThis = traceEnabled("glSecondaryColor3ubEXT");

  if (!traceGL_Native.glSecondaryColor3ubEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3ubEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%u", (unsigned int) red);
    traceInputParameter("green", "%u", (unsigned int) green);
    traceInputParameter("blue", "%u", (unsigned int) blue);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3ubEXT(red, green, blue);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3ubvEXT(const GLubyte *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3ubvEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3ubvEXT", (void **) &traceGL_Native.glSecondaryColor3ubvEXT);

  traceThis = traceEnabled("glSecondaryColor3ubvEXT");

  if (!traceGL_Native.glSecondaryColor3ubvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3ubvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%c[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3ubvEXT(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3uiEXT(GLuint red, GLuint green, GLuint blue)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3uiEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3uiEXT", (void **) &traceGL_Native.glSecondaryColor3uiEXT);

  traceThis = traceEnabled("glSecondaryColor3uiEXT");

  if (!traceGL_Native.glSecondaryColor3uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3uiEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%u", red);
    traceInputParameter("green", "%u", green);
    traceInputParameter("blue", "%u", blue);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3uiEXT(red, green, blue);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3uivEXT(const GLuint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3uivEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3uivEXT", (void **) &traceGL_Native.glSecondaryColor3uivEXT);

  traceThis = traceEnabled("glSecondaryColor3uivEXT");

  if (!traceGL_Native.glSecondaryColor3uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3uivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%u[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3uivEXT(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3usEXT(GLushort red, GLushort green, GLushort blue)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3usEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3usEXT", (void **) &traceGL_Native.glSecondaryColor3usEXT);

  traceThis = traceEnabled("glSecondaryColor3usEXT");

  if (!traceGL_Native.glSecondaryColor3usEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3usEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%hu", red);
    traceInputParameter("green", "%hu", green);
    traceInputParameter("blue", "%hu", blue);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3usEXT(red, green, blue);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3usvEXT(const GLushort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3usvEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3usvEXT", (void **) &traceGL_Native.glSecondaryColor3usvEXT);

  traceThis = traceEnabled("glSecondaryColor3usvEXT");

  if (!traceGL_Native.glSecondaryColor3usvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3usvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hu[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3usvEXT(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColorPointerEXT(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColorPointerEXT)
    traceGL_lookupNativeAddress("glSecondaryColorPointerEXT", (void **) &traceGL_Native.glSecondaryColorPointerEXT);

  traceThis = traceEnabled("glSecondaryColorPointerEXT");

  if (!traceGL_Native.glSecondaryColorPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColorPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColorPointerEXT(size, type, stride, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTextureNormalEXT(GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureNormalEXT)
    traceGL_lookupNativeAddress("glTextureNormalEXT", (void **) &traceGL_Native.glTextureNormalEXT);

  traceThis = traceEnabled("glTextureNormalEXT");

  if (!traceGL_Native.glTextureNormalEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureNormalEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTextureNormalEXT(mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiDrawArraysEXT(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiDrawArraysEXT)
    traceGL_lookupNativeAddress("glMultiDrawArraysEXT", (void **) &traceGL_Native.glMultiDrawArraysEXT);

  traceThis = traceEnabled("glMultiDrawArraysEXT");

  if (!traceGL_Native.glMultiDrawArraysEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiDrawArraysEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("first", "%d[%d]", first, primcount);
    traceInputParameter("count", "%d[%d]", count, primcount);
    traceInputParameter("primcount", "%d", primcount);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiDrawArraysEXT(mode, first, count, primcount);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiDrawElementsEXT)
    traceGL_lookupNativeAddress("glMultiDrawElementsEXT", (void **) &traceGL_Native.glMultiDrawElementsEXT);

  traceThis = traceEnabled("glMultiDrawElementsEXT");

  if (!traceGL_Native.glMultiDrawElementsEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiDrawElementsEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("count", "%d[%d]", count, primcount);
    traceInputParameter("type", "%u", type);
    traceInputParameter("primcount", "%d", primcount);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiDrawElementsEXT(mode, count, type, indices, primcount);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFogCoordfEXT(GLfloat coord)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoordfEXT)
    traceGL_lookupNativeAddress("glFogCoordfEXT", (void **) &traceGL_Native.glFogCoordfEXT);

  traceThis = traceEnabled("glFogCoordfEXT");

  if (!traceGL_Native.glFogCoordfEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoordfEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("coord", "%f", coord);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFogCoordfEXT(coord);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFogCoordfvEXT(const GLfloat *coord)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoordfvEXT)
    traceGL_lookupNativeAddress("glFogCoordfvEXT", (void **) &traceGL_Native.glFogCoordfvEXT);

  traceThis = traceEnabled("glFogCoordfvEXT");

  if (!traceGL_Native.glFogCoordfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoordfvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("coord", "%f[%d]", coord, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFogCoordfvEXT(coord);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFogCoorddEXT(GLdouble coord)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoorddEXT)
    traceGL_lookupNativeAddress("glFogCoorddEXT", (void **) &traceGL_Native.glFogCoorddEXT);

  traceThis = traceEnabled("glFogCoorddEXT");

  if (!traceGL_Native.glFogCoorddEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoorddEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("coord", "%lf", coord);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFogCoorddEXT(coord);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFogCoorddvEXT(const GLdouble *coord)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoorddvEXT)
    traceGL_lookupNativeAddress("glFogCoorddvEXT", (void **) &traceGL_Native.glFogCoorddvEXT);

  traceThis = traceEnabled("glFogCoorddvEXT");

  if (!traceGL_Native.glFogCoorddvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoorddvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("coord", "%lf[%d]", coord, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFogCoorddvEXT(coord);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFogCoordPointerEXT(GLenum type, GLsizei stride, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoordPointerEXT)
    traceGL_lookupNativeAddress("glFogCoordPointerEXT", (void **) &traceGL_Native.glFogCoordPointerEXT);

  traceThis = traceEnabled("glFogCoordPointerEXT");

  if (!traceGL_Native.glFogCoordPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoordPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFogCoordPointerEXT(type, stride, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTangent3bEXT(GLbyte tx, GLbyte ty, GLbyte tz)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTangent3bEXT)
    traceGL_lookupNativeAddress("glTangent3bEXT", (void **) &traceGL_Native.glTangent3bEXT);

  traceThis = traceEnabled("glTangent3bEXT");

  if (!traceGL_Native.glTangent3bEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTangent3bEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("tx", "%d", (int) tx);
    traceInputParameter("ty", "%d", (int) ty);
    traceInputParameter("tz", "%d", (int) tz);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTangent3bEXT(tx, ty, tz);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTangent3bvEXT(const GLbyte *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTangent3bvEXT)
    traceGL_lookupNativeAddress("glTangent3bvEXT", (void **) &traceGL_Native.glTangent3bvEXT);

  traceThis = traceEnabled("glTangent3bvEXT");

  if (!traceGL_Native.glTangent3bvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTangent3bvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%c[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTangent3bvEXT(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTangent3dEXT(GLdouble tx, GLdouble ty, GLdouble tz)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTangent3dEXT)
    traceGL_lookupNativeAddress("glTangent3dEXT", (void **) &traceGL_Native.glTangent3dEXT);

  traceThis = traceEnabled("glTangent3dEXT");

  if (!traceGL_Native.glTangent3dEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTangent3dEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("tx", "%lf", tx);
    traceInputParameter("ty", "%lf", ty);
    traceInputParameter("tz", "%lf", tz);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTangent3dEXT(tx, ty, tz);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTangent3dvEXT(const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTangent3dvEXT)
    traceGL_lookupNativeAddress("glTangent3dvEXT", (void **) &traceGL_Native.glTangent3dvEXT);

  traceThis = traceEnabled("glTangent3dvEXT");

  if (!traceGL_Native.glTangent3dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTangent3dvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%lf[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTangent3dvEXT(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTangent3fEXT(GLfloat tx, GLfloat ty, GLfloat tz)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTangent3fEXT)
    traceGL_lookupNativeAddress("glTangent3fEXT", (void **) &traceGL_Native.glTangent3fEXT);

  traceThis = traceEnabled("glTangent3fEXT");

  if (!traceGL_Native.glTangent3fEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTangent3fEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("tx", "%f", tx);
    traceInputParameter("ty", "%f", ty);
    traceInputParameter("tz", "%f", tz);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTangent3fEXT(tx, ty, tz);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTangent3fvEXT(const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTangent3fvEXT)
    traceGL_lookupNativeAddress("glTangent3fvEXT", (void **) &traceGL_Native.glTangent3fvEXT);

  traceThis = traceEnabled("glTangent3fvEXT");

  if (!traceGL_Native.glTangent3fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTangent3fvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTangent3fvEXT(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTangent3iEXT(GLint tx, GLint ty, GLint tz)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTangent3iEXT)
    traceGL_lookupNativeAddress("glTangent3iEXT", (void **) &traceGL_Native.glTangent3iEXT);

  traceThis = traceEnabled("glTangent3iEXT");

  if (!traceGL_Native.glTangent3iEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTangent3iEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("tx", "%d", tx);
    traceInputParameter("ty", "%d", ty);
    traceInputParameter("tz", "%d", tz);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTangent3iEXT(tx, ty, tz);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTangent3ivEXT(const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTangent3ivEXT)
    traceGL_lookupNativeAddress("glTangent3ivEXT", (void **) &traceGL_Native.glTangent3ivEXT);

  traceThis = traceEnabled("glTangent3ivEXT");

  if (!traceGL_Native.glTangent3ivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTangent3ivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%d[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTangent3ivEXT(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTangent3sEXT(GLshort tx, GLshort ty, GLshort tz)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTangent3sEXT)
    traceGL_lookupNativeAddress("glTangent3sEXT", (void **) &traceGL_Native.glTangent3sEXT);

  traceThis = traceEnabled("glTangent3sEXT");

  if (!traceGL_Native.glTangent3sEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTangent3sEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("tx", "%hd", tx);
    traceInputParameter("ty", "%hd", ty);
    traceInputParameter("tz", "%hd", tz);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTangent3sEXT(tx, ty, tz);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTangent3svEXT(const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTangent3svEXT)
    traceGL_lookupNativeAddress("glTangent3svEXT", (void **) &traceGL_Native.glTangent3svEXT);

  traceThis = traceEnabled("glTangent3svEXT");

  if (!traceGL_Native.glTangent3svEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTangent3svEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hd[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTangent3svEXT(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBinormal3bEXT(GLbyte bx, GLbyte by, GLbyte bz)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBinormal3bEXT)
    traceGL_lookupNativeAddress("glBinormal3bEXT", (void **) &traceGL_Native.glBinormal3bEXT);

  traceThis = traceEnabled("glBinormal3bEXT");

  if (!traceGL_Native.glBinormal3bEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBinormal3bEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("bx", "%d", (int) bx);
    traceInputParameter("by", "%d", (int) by);
    traceInputParameter("bz", "%d", (int) bz);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBinormal3bEXT(bx, by, bz);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBinormal3bvEXT(const GLbyte *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBinormal3bvEXT)
    traceGL_lookupNativeAddress("glBinormal3bvEXT", (void **) &traceGL_Native.glBinormal3bvEXT);

  traceThis = traceEnabled("glBinormal3bvEXT");

  if (!traceGL_Native.glBinormal3bvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBinormal3bvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%c[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBinormal3bvEXT(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBinormal3dEXT(GLdouble bx, GLdouble by, GLdouble bz)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBinormal3dEXT)
    traceGL_lookupNativeAddress("glBinormal3dEXT", (void **) &traceGL_Native.glBinormal3dEXT);

  traceThis = traceEnabled("glBinormal3dEXT");

  if (!traceGL_Native.glBinormal3dEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBinormal3dEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("bx", "%lf", bx);
    traceInputParameter("by", "%lf", by);
    traceInputParameter("bz", "%lf", bz);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBinormal3dEXT(bx, by, bz);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBinormal3dvEXT(const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBinormal3dvEXT)
    traceGL_lookupNativeAddress("glBinormal3dvEXT", (void **) &traceGL_Native.glBinormal3dvEXT);

  traceThis = traceEnabled("glBinormal3dvEXT");

  if (!traceGL_Native.glBinormal3dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBinormal3dvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%lf[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBinormal3dvEXT(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBinormal3fEXT(GLfloat bx, GLfloat by, GLfloat bz)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBinormal3fEXT)
    traceGL_lookupNativeAddress("glBinormal3fEXT", (void **) &traceGL_Native.glBinormal3fEXT);

  traceThis = traceEnabled("glBinormal3fEXT");

  if (!traceGL_Native.glBinormal3fEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBinormal3fEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("bx", "%f", bx);
    traceInputParameter("by", "%f", by);
    traceInputParameter("bz", "%f", bz);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBinormal3fEXT(bx, by, bz);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBinormal3fvEXT(const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBinormal3fvEXT)
    traceGL_lookupNativeAddress("glBinormal3fvEXT", (void **) &traceGL_Native.glBinormal3fvEXT);

  traceThis = traceEnabled("glBinormal3fvEXT");

  if (!traceGL_Native.glBinormal3fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBinormal3fvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBinormal3fvEXT(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBinormal3iEXT(GLint bx, GLint by, GLint bz)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBinormal3iEXT)
    traceGL_lookupNativeAddress("glBinormal3iEXT", (void **) &traceGL_Native.glBinormal3iEXT);

  traceThis = traceEnabled("glBinormal3iEXT");

  if (!traceGL_Native.glBinormal3iEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBinormal3iEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("bx", "%d", bx);
    traceInputParameter("by", "%d", by);
    traceInputParameter("bz", "%d", bz);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBinormal3iEXT(bx, by, bz);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBinormal3ivEXT(const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBinormal3ivEXT)
    traceGL_lookupNativeAddress("glBinormal3ivEXT", (void **) &traceGL_Native.glBinormal3ivEXT);

  traceThis = traceEnabled("glBinormal3ivEXT");

  if (!traceGL_Native.glBinormal3ivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBinormal3ivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%d[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBinormal3ivEXT(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBinormal3sEXT(GLshort bx, GLshort by, GLshort bz)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBinormal3sEXT)
    traceGL_lookupNativeAddress("glBinormal3sEXT", (void **) &traceGL_Native.glBinormal3sEXT);

  traceThis = traceEnabled("glBinormal3sEXT");

  if (!traceGL_Native.glBinormal3sEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBinormal3sEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("bx", "%hd", bx);
    traceInputParameter("by", "%hd", by);
    traceInputParameter("bz", "%hd", bz);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBinormal3sEXT(bx, by, bz);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBinormal3svEXT(const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBinormal3svEXT)
    traceGL_lookupNativeAddress("glBinormal3svEXT", (void **) &traceGL_Native.glBinormal3svEXT);

  traceThis = traceEnabled("glBinormal3svEXT");

  if (!traceGL_Native.glBinormal3svEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBinormal3svEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hd[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBinormal3svEXT(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTangentPointerEXT(GLenum type, GLsizei stride, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTangentPointerEXT)
    traceGL_lookupNativeAddress("glTangentPointerEXT", (void **) &traceGL_Native.glTangentPointerEXT);

  traceThis = traceEnabled("glTangentPointerEXT");

  if (!traceGL_Native.glTangentPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTangentPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTangentPointerEXT(type, stride, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBinormalPointerEXT(GLenum type, GLsizei stride, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBinormalPointerEXT)
    traceGL_lookupNativeAddress("glBinormalPointerEXT", (void **) &traceGL_Native.glBinormalPointerEXT);

  traceThis = traceEnabled("glBinormalPointerEXT");

  if (!traceGL_Native.glBinormalPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBinormalPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBinormalPointerEXT(type, stride, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFinishTextureSUNX()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFinishTextureSUNX)
    traceGL_lookupNativeAddress("glFinishTextureSUNX", (void **) &traceGL_Native.glFinishTextureSUNX);

  traceThis = traceEnabled("glFinishTextureSUNX");

  if (!traceGL_Native.glFinishTextureSUNX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFinishTextureSUNX");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFinishTextureSUNX();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGlobalAlphaFactorbSUN(GLbyte factor)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGlobalAlphaFactorbSUN)
    traceGL_lookupNativeAddress("glGlobalAlphaFactorbSUN", (void **) &traceGL_Native.glGlobalAlphaFactorbSUN);

  traceThis = traceEnabled("glGlobalAlphaFactorbSUN");

  if (!traceGL_Native.glGlobalAlphaFactorbSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGlobalAlphaFactorbSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("factor", "%d", (int) factor);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGlobalAlphaFactorbSUN(factor);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGlobalAlphaFactorsSUN(GLshort factor)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGlobalAlphaFactorsSUN)
    traceGL_lookupNativeAddress("glGlobalAlphaFactorsSUN", (void **) &traceGL_Native.glGlobalAlphaFactorsSUN);

  traceThis = traceEnabled("glGlobalAlphaFactorsSUN");

  if (!traceGL_Native.glGlobalAlphaFactorsSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGlobalAlphaFactorsSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("factor", "%hd", factor);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGlobalAlphaFactorsSUN(factor);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGlobalAlphaFactoriSUN(GLint factor)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGlobalAlphaFactoriSUN)
    traceGL_lookupNativeAddress("glGlobalAlphaFactoriSUN", (void **) &traceGL_Native.glGlobalAlphaFactoriSUN);

  traceThis = traceEnabled("glGlobalAlphaFactoriSUN");

  if (!traceGL_Native.glGlobalAlphaFactoriSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGlobalAlphaFactoriSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("factor", "%d", factor);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGlobalAlphaFactoriSUN(factor);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGlobalAlphaFactorfSUN(GLfloat factor)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGlobalAlphaFactorfSUN)
    traceGL_lookupNativeAddress("glGlobalAlphaFactorfSUN", (void **) &traceGL_Native.glGlobalAlphaFactorfSUN);

  traceThis = traceEnabled("glGlobalAlphaFactorfSUN");

  if (!traceGL_Native.glGlobalAlphaFactorfSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGlobalAlphaFactorfSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("factor", "%f", factor);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGlobalAlphaFactorfSUN(factor);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGlobalAlphaFactordSUN(GLdouble factor)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGlobalAlphaFactordSUN)
    traceGL_lookupNativeAddress("glGlobalAlphaFactordSUN", (void **) &traceGL_Native.glGlobalAlphaFactordSUN);

  traceThis = traceEnabled("glGlobalAlphaFactordSUN");

  if (!traceGL_Native.glGlobalAlphaFactordSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGlobalAlphaFactordSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("factor", "%lf", factor);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGlobalAlphaFactordSUN(factor);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGlobalAlphaFactorubSUN(GLubyte factor)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGlobalAlphaFactorubSUN)
    traceGL_lookupNativeAddress("glGlobalAlphaFactorubSUN", (void **) &traceGL_Native.glGlobalAlphaFactorubSUN);

  traceThis = traceEnabled("glGlobalAlphaFactorubSUN");

  if (!traceGL_Native.glGlobalAlphaFactorubSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGlobalAlphaFactorubSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("factor", "%u", (unsigned int) factor);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGlobalAlphaFactorubSUN(factor);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGlobalAlphaFactorusSUN(GLushort factor)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGlobalAlphaFactorusSUN)
    traceGL_lookupNativeAddress("glGlobalAlphaFactorusSUN", (void **) &traceGL_Native.glGlobalAlphaFactorusSUN);

  traceThis = traceEnabled("glGlobalAlphaFactorusSUN");

  if (!traceGL_Native.glGlobalAlphaFactorusSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGlobalAlphaFactorusSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("factor", "%hu", factor);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGlobalAlphaFactorusSUN(factor);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGlobalAlphaFactoruiSUN(GLuint factor)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGlobalAlphaFactoruiSUN)
    traceGL_lookupNativeAddress("glGlobalAlphaFactoruiSUN", (void **) &traceGL_Native.glGlobalAlphaFactoruiSUN);

  traceThis = traceEnabled("glGlobalAlphaFactoruiSUN");

  if (!traceGL_Native.glGlobalAlphaFactoruiSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGlobalAlphaFactoruiSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("factor", "%u", factor);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGlobalAlphaFactoruiSUN(factor);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReplacementCodeuiSUN(GLuint code)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiSUN", (void **) &traceGL_Native.glReplacementCodeuiSUN);

  traceThis = traceEnabled("glReplacementCodeuiSUN");

  if (!traceGL_Native.glReplacementCodeuiSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("code", "%u", code);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReplacementCodeuiSUN(code);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReplacementCodeusSUN(GLushort code)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeusSUN)
    traceGL_lookupNativeAddress("glReplacementCodeusSUN", (void **) &traceGL_Native.glReplacementCodeusSUN);

  traceThis = traceEnabled("glReplacementCodeusSUN");

  if (!traceGL_Native.glReplacementCodeusSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeusSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("code", "%hu", code);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReplacementCodeusSUN(code);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReplacementCodeubSUN(GLubyte code)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeubSUN)
    traceGL_lookupNativeAddress("glReplacementCodeubSUN", (void **) &traceGL_Native.glReplacementCodeubSUN);

  traceThis = traceEnabled("glReplacementCodeubSUN");

  if (!traceGL_Native.glReplacementCodeubSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeubSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("code", "%u", (unsigned int) code);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReplacementCodeubSUN(code);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReplacementCodeuivSUN(const GLuint *code)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuivSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuivSUN", (void **) &traceGL_Native.glReplacementCodeuivSUN);

  traceThis = traceEnabled("glReplacementCodeuivSUN");

  if (!traceGL_Native.glReplacementCodeuivSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuivSUN");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReplacementCodeuivSUN(code);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReplacementCodeusvSUN(const GLushort *code)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeusvSUN)
    traceGL_lookupNativeAddress("glReplacementCodeusvSUN", (void **) &traceGL_Native.glReplacementCodeusvSUN);

  traceThis = traceEnabled("glReplacementCodeusvSUN");

  if (!traceGL_Native.glReplacementCodeusvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeusvSUN");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReplacementCodeusvSUN(code);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReplacementCodeubvSUN(const GLubyte *code)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeubvSUN)
    traceGL_lookupNativeAddress("glReplacementCodeubvSUN", (void **) &traceGL_Native.glReplacementCodeubvSUN);

  traceThis = traceEnabled("glReplacementCodeubvSUN");

  if (!traceGL_Native.glReplacementCodeubvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeubvSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("code", "%s", code);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReplacementCodeubvSUN(code);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReplacementCodePointerSUN(GLenum type, GLsizei stride, const GLvoid **pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodePointerSUN)
    traceGL_lookupNativeAddress("glReplacementCodePointerSUN", (void **) &traceGL_Native.glReplacementCodePointerSUN);

  traceThis = traceEnabled("glReplacementCodePointerSUN");

  if (!traceGL_Native.glReplacementCodePointerSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodePointerSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReplacementCodePointerSUN(type, stride, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor4ubVertex2fSUN(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4ubVertex2fSUN)
    traceGL_lookupNativeAddress("glColor4ubVertex2fSUN", (void **) &traceGL_Native.glColor4ubVertex2fSUN);

  traceThis = traceEnabled("glColor4ubVertex2fSUN");

  if (!traceGL_Native.glColor4ubVertex2fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4ubVertex2fSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("r", "%u", (unsigned int) r);
    traceInputParameter("g", "%u", (unsigned int) g);
    traceInputParameter("b", "%u", (unsigned int) b);
    traceInputParameter("a", "%u", (unsigned int) a);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor4ubVertex2fSUN(r, g, b, a, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor4ubVertex2fvSUN(const GLubyte *c, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4ubVertex2fvSUN)
    traceGL_lookupNativeAddress("glColor4ubVertex2fvSUN", (void **) &traceGL_Native.glColor4ubVertex2fvSUN);

  traceThis = traceEnabled("glColor4ubVertex2fvSUN");

  if (!traceGL_Native.glColor4ubVertex2fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4ubVertex2fvSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("c", "%c[%d]", c, 4);
    traceInputParameter("v", "%f[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor4ubVertex2fvSUN(c, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor4ubVertex3fSUN(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4ubVertex3fSUN)
    traceGL_lookupNativeAddress("glColor4ubVertex3fSUN", (void **) &traceGL_Native.glColor4ubVertex3fSUN);

  traceThis = traceEnabled("glColor4ubVertex3fSUN");

  if (!traceGL_Native.glColor4ubVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4ubVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("r", "%u", (unsigned int) r);
    traceInputParameter("g", "%u", (unsigned int) g);
    traceInputParameter("b", "%u", (unsigned int) b);
    traceInputParameter("a", "%u", (unsigned int) a);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor4ubVertex3fSUN(r, g, b, a, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor4ubVertex3fvSUN(const GLubyte *c, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4ubVertex3fvSUN)
    traceGL_lookupNativeAddress("glColor4ubVertex3fvSUN", (void **) &traceGL_Native.glColor4ubVertex3fvSUN);

  traceThis = traceEnabled("glColor4ubVertex3fvSUN");

  if (!traceGL_Native.glColor4ubVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4ubVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("c", "%c[%d]", c, 4);
    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor4ubVertex3fvSUN(c, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor3fVertex3fSUN(GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor3fVertex3fSUN)
    traceGL_lookupNativeAddress("glColor3fVertex3fSUN", (void **) &traceGL_Native.glColor3fVertex3fSUN);

  traceThis = traceEnabled("glColor3fVertex3fSUN");

  if (!traceGL_Native.glColor3fVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor3fVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("r", "%f", r);
    traceInputParameter("g", "%f", g);
    traceInputParameter("b", "%f", b);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor3fVertex3fSUN(r, g, b, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor3fVertex3fvSUN(const GLfloat *c, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor3fVertex3fvSUN)
    traceGL_lookupNativeAddress("glColor3fVertex3fvSUN", (void **) &traceGL_Native.glColor3fVertex3fvSUN);

  traceThis = traceEnabled("glColor3fVertex3fvSUN");

  if (!traceGL_Native.glColor3fVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor3fVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("c", "%f[%d]", c, 3);
    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor3fVertex3fvSUN(c, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormal3fVertex3fSUN(GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormal3fVertex3fSUN)
    traceGL_lookupNativeAddress("glNormal3fVertex3fSUN", (void **) &traceGL_Native.glNormal3fVertex3fSUN);

  traceThis = traceEnabled("glNormal3fVertex3fSUN");

  if (!traceGL_Native.glNormal3fVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormal3fVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("nx", "%f", nx);
    traceInputParameter("ny", "%f", ny);
    traceInputParameter("nz", "%f", nz);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormal3fVertex3fSUN(nx, ny, nz, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormal3fVertex3fvSUN(const GLfloat *n, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormal3fVertex3fvSUN)
    traceGL_lookupNativeAddress("glNormal3fVertex3fvSUN", (void **) &traceGL_Native.glNormal3fVertex3fvSUN);

  traceThis = traceEnabled("glNormal3fVertex3fvSUN");

  if (!traceGL_Native.glNormal3fVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormal3fVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%f[%d]", n, 3);
    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormal3fVertex3fvSUN(n, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor4fNormal3fVertex3fSUN(GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4fNormal3fVertex3fSUN)
    traceGL_lookupNativeAddress("glColor4fNormal3fVertex3fSUN", (void **) &traceGL_Native.glColor4fNormal3fVertex3fSUN);

  traceThis = traceEnabled("glColor4fNormal3fVertex3fSUN");

  if (!traceGL_Native.glColor4fNormal3fVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4fNormal3fVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("r", "%f", r);
    traceInputParameter("g", "%f", g);
    traceInputParameter("b", "%f", b);
    traceInputParameter("a", "%f", a);
    traceInputParameter("nx", "%f", nx);
    traceInputParameter("ny", "%f", ny);
    traceInputParameter("nz", "%f", nz);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor4fNormal3fVertex3fSUN(r, g, b, a, nx, ny, nz, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor4fNormal3fVertex3fvSUN(const GLfloat *c, const GLfloat *n, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4fNormal3fVertex3fvSUN)
    traceGL_lookupNativeAddress("glColor4fNormal3fVertex3fvSUN", (void **) &traceGL_Native.glColor4fNormal3fVertex3fvSUN);

  traceThis = traceEnabled("glColor4fNormal3fVertex3fvSUN");

  if (!traceGL_Native.glColor4fNormal3fVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4fNormal3fVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("c", "%f[%d]", c, 4);
    traceInputParameter("n", "%f[%d]", n, 3);
    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor4fNormal3fVertex3fvSUN(c, n, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord2fVertex3fSUN(GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2fVertex3fSUN)
    traceGL_lookupNativeAddress("glTexCoord2fVertex3fSUN", (void **) &traceGL_Native.glTexCoord2fVertex3fSUN);

  traceThis = traceEnabled("glTexCoord2fVertex3fSUN");

  if (!traceGL_Native.glTexCoord2fVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2fVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%f", s);
    traceInputParameter("t", "%f", t);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord2fVertex3fSUN(s, t, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord2fVertex3fvSUN(const GLfloat *tc, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2fVertex3fvSUN)
    traceGL_lookupNativeAddress("glTexCoord2fVertex3fvSUN", (void **) &traceGL_Native.glTexCoord2fVertex3fvSUN);

  traceThis = traceEnabled("glTexCoord2fVertex3fvSUN");

  if (!traceGL_Native.glTexCoord2fVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2fVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("tc", "%f[%d]", tc, 2);
    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord2fVertex3fvSUN(tc, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord4fVertex4fSUN(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord4fVertex4fSUN)
    traceGL_lookupNativeAddress("glTexCoord4fVertex4fSUN", (void **) &traceGL_Native.glTexCoord4fVertex4fSUN);

  traceThis = traceEnabled("glTexCoord4fVertex4fSUN");

  if (!traceGL_Native.glTexCoord4fVertex4fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord4fVertex4fSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%f", s);
    traceInputParameter("t", "%f", t);
    traceInputParameter("p", "%f", p);
    traceInputParameter("q", "%f", q);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);
    traceInputParameter("w", "%f", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord4fVertex4fSUN(s, t, p, q, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord4fVertex4fvSUN(const GLfloat *tc, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord4fVertex4fvSUN)
    traceGL_lookupNativeAddress("glTexCoord4fVertex4fvSUN", (void **) &traceGL_Native.glTexCoord4fVertex4fvSUN);

  traceThis = traceEnabled("glTexCoord4fVertex4fvSUN");

  if (!traceGL_Native.glTexCoord4fVertex4fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord4fVertex4fvSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("tc", "%f[%d]", tc, 4);
    traceInputParameter("v", "%f[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord4fVertex4fvSUN(tc, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord2fColor4ubVertex3fSUN(GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2fColor4ubVertex3fSUN)
    traceGL_lookupNativeAddress("glTexCoord2fColor4ubVertex3fSUN", (void **) &traceGL_Native.glTexCoord2fColor4ubVertex3fSUN);

  traceThis = traceEnabled("glTexCoord2fColor4ubVertex3fSUN");

  if (!traceGL_Native.glTexCoord2fColor4ubVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2fColor4ubVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%f", s);
    traceInputParameter("t", "%f", t);
    traceInputParameter("r", "%u", (unsigned int) r);
    traceInputParameter("g", "%u", (unsigned int) g);
    traceInputParameter("b", "%u", (unsigned int) b);
    traceInputParameter("a", "%u", (unsigned int) a);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord2fColor4ubVertex3fSUN(s, t, r, g, b, a, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord2fColor4ubVertex3fvSUN(const GLfloat *tc, const GLubyte *c, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2fColor4ubVertex3fvSUN)
    traceGL_lookupNativeAddress("glTexCoord2fColor4ubVertex3fvSUN", (void **) &traceGL_Native.glTexCoord2fColor4ubVertex3fvSUN);

  traceThis = traceEnabled("glTexCoord2fColor4ubVertex3fvSUN");

  if (!traceGL_Native.glTexCoord2fColor4ubVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2fColor4ubVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("tc", "%f[%d]", tc, 2);
    traceInputParameter("c", "%c[%d]", c, 4);
    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord2fColor4ubVertex3fvSUN(tc, c, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord2fColor3fVertex3fSUN(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2fColor3fVertex3fSUN)
    traceGL_lookupNativeAddress("glTexCoord2fColor3fVertex3fSUN", (void **) &traceGL_Native.glTexCoord2fColor3fVertex3fSUN);

  traceThis = traceEnabled("glTexCoord2fColor3fVertex3fSUN");

  if (!traceGL_Native.glTexCoord2fColor3fVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2fColor3fVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%f", s);
    traceInputParameter("t", "%f", t);
    traceInputParameter("r", "%f", r);
    traceInputParameter("g", "%f", g);
    traceInputParameter("b", "%f", b);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord2fColor3fVertex3fSUN(s, t, r, g, b, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord2fColor3fVertex3fvSUN(const GLfloat *tc, const GLfloat *c, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2fColor3fVertex3fvSUN)
    traceGL_lookupNativeAddress("glTexCoord2fColor3fVertex3fvSUN", (void **) &traceGL_Native.glTexCoord2fColor3fVertex3fvSUN);

  traceThis = traceEnabled("glTexCoord2fColor3fVertex3fvSUN");

  if (!traceGL_Native.glTexCoord2fColor3fVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2fColor3fVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("tc", "%f[%d]", tc, 2);
    traceInputParameter("c", "%f[%d]", c, 3);
    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord2fColor3fVertex3fvSUN(tc, c, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord2fNormal3fVertex3fSUN(GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2fNormal3fVertex3fSUN)
    traceGL_lookupNativeAddress("glTexCoord2fNormal3fVertex3fSUN", (void **) &traceGL_Native.glTexCoord2fNormal3fVertex3fSUN);

  traceThis = traceEnabled("glTexCoord2fNormal3fVertex3fSUN");

  if (!traceGL_Native.glTexCoord2fNormal3fVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2fNormal3fVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%f", s);
    traceInputParameter("t", "%f", t);
    traceInputParameter("nx", "%f", nx);
    traceInputParameter("ny", "%f", ny);
    traceInputParameter("nz", "%f", nz);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord2fNormal3fVertex3fSUN(s, t, nx, ny, nz, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord2fNormal3fVertex3fvSUN(const GLfloat *tc, const GLfloat *n, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2fNormal3fVertex3fvSUN)
    traceGL_lookupNativeAddress("glTexCoord2fNormal3fVertex3fvSUN", (void **) &traceGL_Native.glTexCoord2fNormal3fVertex3fvSUN);

  traceThis = traceEnabled("glTexCoord2fNormal3fVertex3fvSUN");

  if (!traceGL_Native.glTexCoord2fNormal3fVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2fNormal3fVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("tc", "%f[%d]", tc, 2);
    traceInputParameter("n", "%f[%d]", n, 3);
    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord2fNormal3fVertex3fvSUN(tc, n, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord2fColor4fNormal3fVertex3fSUN(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2fColor4fNormal3fVertex3fSUN)
    traceGL_lookupNativeAddress("glTexCoord2fColor4fNormal3fVertex3fSUN", (void **) &traceGL_Native.glTexCoord2fColor4fNormal3fVertex3fSUN);

  traceThis = traceEnabled("glTexCoord2fColor4fNormal3fVertex3fSUN");

  if (!traceGL_Native.glTexCoord2fColor4fNormal3fVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2fColor4fNormal3fVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%f", s);
    traceInputParameter("t", "%f", t);
    traceInputParameter("r", "%f", r);
    traceInputParameter("g", "%f", g);
    traceInputParameter("b", "%f", b);
    traceInputParameter("a", "%f", a);
    traceInputParameter("nx", "%f", nx);
    traceInputParameter("ny", "%f", ny);
    traceInputParameter("nz", "%f", nz);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord2fColor4fNormal3fVertex3fSUN(s, t, r, g, b, a, nx, ny, nz, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord2fColor4fNormal3fVertex3fvSUN(const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2fColor4fNormal3fVertex3fvSUN)
    traceGL_lookupNativeAddress("glTexCoord2fColor4fNormal3fVertex3fvSUN", (void **) &traceGL_Native.glTexCoord2fColor4fNormal3fVertex3fvSUN);

  traceThis = traceEnabled("glTexCoord2fColor4fNormal3fVertex3fvSUN");

  if (!traceGL_Native.glTexCoord2fColor4fNormal3fVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2fColor4fNormal3fVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("tc", "%f[%d]", tc, 2);
    traceInputParameter("c", "%f[%d]", c, 4);
    traceInputParameter("n", "%f[%d]", n, 3);
    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord2fColor4fNormal3fVertex3fvSUN(tc, c, n, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord4fColor4fNormal3fVertex4fSUN(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord4fColor4fNormal3fVertex4fSUN)
    traceGL_lookupNativeAddress("glTexCoord4fColor4fNormal3fVertex4fSUN", (void **) &traceGL_Native.glTexCoord4fColor4fNormal3fVertex4fSUN);

  traceThis = traceEnabled("glTexCoord4fColor4fNormal3fVertex4fSUN");

  if (!traceGL_Native.glTexCoord4fColor4fNormal3fVertex4fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord4fColor4fNormal3fVertex4fSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%f", s);
    traceInputParameter("t", "%f", t);
    traceInputParameter("p", "%f", p);
    traceInputParameter("q", "%f", q);
    traceInputParameter("r", "%f", r);
    traceInputParameter("g", "%f", g);
    traceInputParameter("b", "%f", b);
    traceInputParameter("a", "%f", a);
    traceInputParameter("nx", "%f", nx);
    traceInputParameter("ny", "%f", ny);
    traceInputParameter("nz", "%f", nz);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);
    traceInputParameter("w", "%f", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord4fColor4fNormal3fVertex4fSUN(s, t, p, q, r, g, b, a, nx, ny, nz, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord4fColor4fNormal3fVertex4fvSUN(const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord4fColor4fNormal3fVertex4fvSUN)
    traceGL_lookupNativeAddress("glTexCoord4fColor4fNormal3fVertex4fvSUN", (void **) &traceGL_Native.glTexCoord4fColor4fNormal3fVertex4fvSUN);

  traceThis = traceEnabled("glTexCoord4fColor4fNormal3fVertex4fvSUN");

  if (!traceGL_Native.glTexCoord4fColor4fNormal3fVertex4fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord4fColor4fNormal3fVertex4fvSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("tc", "%f[%d]", tc, 4);
    traceInputParameter("c", "%f[%d]", c, 4);
    traceInputParameter("n", "%f[%d]", n, 3);
    traceInputParameter("v", "%f[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord4fColor4fNormal3fVertex4fvSUN(tc, c, n, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReplacementCodeuiVertex3fSUN(GLuint rc, GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiVertex3fSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiVertex3fSUN", (void **) &traceGL_Native.glReplacementCodeuiVertex3fSUN);

  traceThis = traceEnabled("glReplacementCodeuiVertex3fSUN");

  if (!traceGL_Native.glReplacementCodeuiVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("rc", "%u", rc);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReplacementCodeuiVertex3fSUN(rc, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReplacementCodeuiVertex3fvSUN(const GLuint *rc, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiVertex3fvSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiVertex3fvSUN", (void **) &traceGL_Native.glReplacementCodeuiVertex3fvSUN);

  traceThis = traceEnabled("glReplacementCodeuiVertex3fvSUN");

  if (!traceGL_Native.glReplacementCodeuiVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("rc", "%u[%d]", rc, 1);
    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReplacementCodeuiVertex3fvSUN(rc, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReplacementCodeuiColor4ubVertex3fSUN(GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiColor4ubVertex3fSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiColor4ubVertex3fSUN", (void **) &traceGL_Native.glReplacementCodeuiColor4ubVertex3fSUN);

  traceThis = traceEnabled("glReplacementCodeuiColor4ubVertex3fSUN");

  if (!traceGL_Native.glReplacementCodeuiColor4ubVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiColor4ubVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("rc", "%u", rc);
    traceInputParameter("r", "%u", (unsigned int) r);
    traceInputParameter("g", "%u", (unsigned int) g);
    traceInputParameter("b", "%u", (unsigned int) b);
    traceInputParameter("a", "%u", (unsigned int) a);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReplacementCodeuiColor4ubVertex3fSUN(rc, r, g, b, a, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReplacementCodeuiColor4ubVertex3fvSUN(const GLuint *rc, const GLubyte *c, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiColor4ubVertex3fvSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiColor4ubVertex3fvSUN", (void **) &traceGL_Native.glReplacementCodeuiColor4ubVertex3fvSUN);

  traceThis = traceEnabled("glReplacementCodeuiColor4ubVertex3fvSUN");

  if (!traceGL_Native.glReplacementCodeuiColor4ubVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiColor4ubVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("rc", "%u[%d]", rc, 1);
    traceInputParameter("c", "%c[%d]", c, 4);
    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReplacementCodeuiColor4ubVertex3fvSUN(rc, c, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReplacementCodeuiColor3fVertex3fSUN(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiColor3fVertex3fSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiColor3fVertex3fSUN", (void **) &traceGL_Native.glReplacementCodeuiColor3fVertex3fSUN);

  traceThis = traceEnabled("glReplacementCodeuiColor3fVertex3fSUN");

  if (!traceGL_Native.glReplacementCodeuiColor3fVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiColor3fVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("rc", "%u", rc);
    traceInputParameter("r", "%f", r);
    traceInputParameter("g", "%f", g);
    traceInputParameter("b", "%f", b);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReplacementCodeuiColor3fVertex3fSUN(rc, r, g, b, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReplacementCodeuiColor3fVertex3fvSUN(const GLuint *rc, const GLfloat *c, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiColor3fVertex3fvSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiColor3fVertex3fvSUN", (void **) &traceGL_Native.glReplacementCodeuiColor3fVertex3fvSUN);

  traceThis = traceEnabled("glReplacementCodeuiColor3fVertex3fvSUN");

  if (!traceGL_Native.glReplacementCodeuiColor3fVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiColor3fVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("rc", "%u[%d]", rc, 1);
    traceInputParameter("c", "%f[%d]", c, 3);
    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReplacementCodeuiColor3fVertex3fvSUN(rc, c, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReplacementCodeuiNormal3fVertex3fSUN(GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiNormal3fVertex3fSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiNormal3fVertex3fSUN", (void **) &traceGL_Native.glReplacementCodeuiNormal3fVertex3fSUN);

  traceThis = traceEnabled("glReplacementCodeuiNormal3fVertex3fSUN");

  if (!traceGL_Native.glReplacementCodeuiNormal3fVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiNormal3fVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("rc", "%u", rc);
    traceInputParameter("nx", "%f", nx);
    traceInputParameter("ny", "%f", ny);
    traceInputParameter("nz", "%f", nz);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReplacementCodeuiNormal3fVertex3fSUN(rc, nx, ny, nz, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReplacementCodeuiNormal3fVertex3fvSUN(const GLuint *rc, const GLfloat *n, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiNormal3fVertex3fvSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiNormal3fVertex3fvSUN", (void **) &traceGL_Native.glReplacementCodeuiNormal3fVertex3fvSUN);

  traceThis = traceEnabled("glReplacementCodeuiNormal3fVertex3fvSUN");

  if (!traceGL_Native.glReplacementCodeuiNormal3fVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiNormal3fVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("rc", "%u[%d]", rc, 1);
    traceInputParameter("n", "%f[%d]", n, 3);
    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReplacementCodeuiNormal3fVertex3fvSUN(rc, n, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReplacementCodeuiColor4fNormal3fVertex3fSUN(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiColor4fNormal3fVertex3fSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiColor4fNormal3fVertex3fSUN", (void **) &traceGL_Native.glReplacementCodeuiColor4fNormal3fVertex3fSUN);

  traceThis = traceEnabled("glReplacementCodeuiColor4fNormal3fVertex3fSUN");

  if (!traceGL_Native.glReplacementCodeuiColor4fNormal3fVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiColor4fNormal3fVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("rc", "%u", rc);
    traceInputParameter("r", "%f", r);
    traceInputParameter("g", "%f", g);
    traceInputParameter("b", "%f", b);
    traceInputParameter("a", "%f", a);
    traceInputParameter("nx", "%f", nx);
    traceInputParameter("ny", "%f", ny);
    traceInputParameter("nz", "%f", nz);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReplacementCodeuiColor4fNormal3fVertex3fSUN(rc, r, g, b, a, nx, ny, nz, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReplacementCodeuiColor4fNormal3fVertex3fvSUN(const GLuint *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiColor4fNormal3fVertex3fvSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiColor4fNormal3fVertex3fvSUN", (void **) &traceGL_Native.glReplacementCodeuiColor4fNormal3fVertex3fvSUN);

  traceThis = traceEnabled("glReplacementCodeuiColor4fNormal3fVertex3fvSUN");

  if (!traceGL_Native.glReplacementCodeuiColor4fNormal3fVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiColor4fNormal3fVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("rc", "%u[%d]", rc, 1);
    traceInputParameter("c", "%f[%d]", c, 4);
    traceInputParameter("n", "%f[%d]", n, 3);
    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, c, n, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReplacementCodeuiTexCoord2fVertex3fSUN(GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiTexCoord2fVertex3fSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiTexCoord2fVertex3fSUN", (void **) &traceGL_Native.glReplacementCodeuiTexCoord2fVertex3fSUN);

  traceThis = traceEnabled("glReplacementCodeuiTexCoord2fVertex3fSUN");

  if (!traceGL_Native.glReplacementCodeuiTexCoord2fVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiTexCoord2fVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("rc", "%u", rc);
    traceInputParameter("s", "%f", s);
    traceInputParameter("t", "%f", t);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReplacementCodeuiTexCoord2fVertex3fSUN(rc, s, t, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReplacementCodeuiTexCoord2fVertex3fvSUN(const GLuint *rc, const GLfloat *tc, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiTexCoord2fVertex3fvSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiTexCoord2fVertex3fvSUN", (void **) &traceGL_Native.glReplacementCodeuiTexCoord2fVertex3fvSUN);

  traceThis = traceEnabled("glReplacementCodeuiTexCoord2fVertex3fvSUN");

  if (!traceGL_Native.glReplacementCodeuiTexCoord2fVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiTexCoord2fVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("rc", "%u[%d]", rc, 1);
    traceInputParameter("tc", "%f[%d]", tc, 2);
    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReplacementCodeuiTexCoord2fVertex3fvSUN(rc, tc, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN", (void **) &traceGL_Native.glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN);

  traceThis = traceEnabled("glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN");

  if (!traceGL_Native.glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("rc", "%u", rc);
    traceInputParameter("s", "%f", s);
    traceInputParameter("t", "%f", t);
    traceInputParameter("nx", "%f", nx);
    traceInputParameter("ny", "%f", ny);
    traceInputParameter("nz", "%f", nz);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(rc, s, t, nx, ny, nz, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(const GLuint *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN", (void **) &traceGL_Native.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN);

  traceThis = traceEnabled("glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN");

  if (!traceGL_Native.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("rc", "%u[%d]", rc, 1);
    traceInputParameter("tc", "%f[%d]", tc, 2);
    traceInputParameter("n", "%f[%d]", n, 3);
    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, tc, n, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN", (void **) &traceGL_Native.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN);

  traceThis = traceEnabled("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN");

  if (!traceGL_Native.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("rc", "%u", rc);
    traceInputParameter("s", "%f", s);
    traceInputParameter("t", "%f", t);
    traceInputParameter("r", "%f", r);
    traceInputParameter("g", "%f", g);
    traceInputParameter("b", "%f", b);
    traceInputParameter("a", "%f", a);
    traceInputParameter("nx", "%f", nx);
    traceInputParameter("ny", "%f", ny);
    traceInputParameter("nz", "%f", nz);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(rc, s, t, r, g, b, a, nx, ny, nz, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(const GLuint *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN", (void **) &traceGL_Native.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN);

  traceThis = traceEnabled("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN");

  if (!traceGL_Native.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("rc", "%u[%d]", rc, 1);
    traceInputParameter("tc", "%f[%d]", tc, 2);
    traceInputParameter("c", "%f[%d]", c, 4);
    traceInputParameter("n", "%f[%d]", n, 3);
    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, c, n, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBlendFuncSeparateEXT(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendFuncSeparateEXT)
    traceGL_lookupNativeAddress("glBlendFuncSeparateEXT", (void **) &traceGL_Native.glBlendFuncSeparateEXT);

  traceThis = traceEnabled("glBlendFuncSeparateEXT");

  if (!traceGL_Native.glBlendFuncSeparateEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendFuncSeparateEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("sfactorRGB", "%u", sfactorRGB);
    traceInputParameter("dfactorRGB", "%u", dfactorRGB);
    traceInputParameter("sfactorAlpha", "%u", sfactorAlpha);
    traceInputParameter("dfactorAlpha", "%u", dfactorAlpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBlendFuncSeparateEXT(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBlendFuncSeparateINGR(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendFuncSeparateINGR)
    traceGL_lookupNativeAddress("glBlendFuncSeparateINGR", (void **) &traceGL_Native.glBlendFuncSeparateINGR);

  traceThis = traceEnabled("glBlendFuncSeparateINGR");

  if (!traceGL_Native.glBlendFuncSeparateINGR)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendFuncSeparateINGR");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("sfactorRGB", "%u", sfactorRGB);
    traceInputParameter("dfactorRGB", "%u", dfactorRGB);
    traceInputParameter("sfactorAlpha", "%u", sfactorAlpha);
    traceInputParameter("dfactorAlpha", "%u", dfactorAlpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBlendFuncSeparateINGR(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexWeightfEXT(GLfloat weight)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexWeightfEXT)
    traceGL_lookupNativeAddress("glVertexWeightfEXT", (void **) &traceGL_Native.glVertexWeightfEXT);

  traceThis = traceEnabled("glVertexWeightfEXT");

  if (!traceGL_Native.glVertexWeightfEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexWeightfEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("weight", "%f", weight);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexWeightfEXT(weight);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexWeightfvEXT(const GLfloat *weight)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexWeightfvEXT)
    traceGL_lookupNativeAddress("glVertexWeightfvEXT", (void **) &traceGL_Native.glVertexWeightfvEXT);

  traceThis = traceEnabled("glVertexWeightfvEXT");

  if (!traceGL_Native.glVertexWeightfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexWeightfvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("weight", "%f[%d]", weight, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexWeightfvEXT(weight);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexWeightPointerEXT(GLsizei size, GLenum type, GLsizei stride, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexWeightPointerEXT)
    traceGL_lookupNativeAddress("glVertexWeightPointerEXT", (void **) &traceGL_Native.glVertexWeightPointerEXT);

  traceThis = traceEnabled("glVertexWeightPointerEXT");

  if (!traceGL_Native.glVertexWeightPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexWeightPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexWeightPointerEXT(size, type, stride, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFlushVertexArrayRangeNV()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFlushVertexArrayRangeNV)
    traceGL_lookupNativeAddress("glFlushVertexArrayRangeNV", (void **) &traceGL_Native.glFlushVertexArrayRangeNV);

  traceThis = traceEnabled("glFlushVertexArrayRangeNV");

  if (!traceGL_Native.glFlushVertexArrayRangeNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFlushVertexArrayRangeNV");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFlushVertexArrayRangeNV();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexArrayRangeNV(GLsizei size, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexArrayRangeNV)
    traceGL_lookupNativeAddress("glVertexArrayRangeNV", (void **) &traceGL_Native.glVertexArrayRangeNV);

  traceThis = traceEnabled("glVertexArrayRangeNV");

  if (!traceGL_Native.glVertexArrayRangeNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexArrayRangeNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexArrayRangeNV(size, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCombinerParameterfvNV(GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCombinerParameterfvNV)
    traceGL_lookupNativeAddress("glCombinerParameterfvNV", (void **) &traceGL_Native.glCombinerParameterfvNV);

  traceThis = traceEnabled("glCombinerParameterfvNV");

  if (!traceGL_Native.glCombinerParameterfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCombinerParameterfvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCombinerParameterfvNV(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCombinerParameterfNV(GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCombinerParameterfNV)
    traceGL_lookupNativeAddress("glCombinerParameterfNV", (void **) &traceGL_Native.glCombinerParameterfNV);

  traceThis = traceEnabled("glCombinerParameterfNV");

  if (!traceGL_Native.glCombinerParameterfNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCombinerParameterfNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCombinerParameterfNV(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCombinerParameterivNV(GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCombinerParameterivNV)
    traceGL_lookupNativeAddress("glCombinerParameterivNV", (void **) &traceGL_Native.glCombinerParameterivNV);

  traceThis = traceEnabled("glCombinerParameterivNV");

  if (!traceGL_Native.glCombinerParameterivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCombinerParameterivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCombinerParameterivNV(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCombinerParameteriNV(GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCombinerParameteriNV)
    traceGL_lookupNativeAddress("glCombinerParameteriNV", (void **) &traceGL_Native.glCombinerParameteriNV);

  traceThis = traceEnabled("glCombinerParameteriNV");

  if (!traceGL_Native.glCombinerParameteriNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCombinerParameteriNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCombinerParameteriNV(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCombinerInputNV(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCombinerInputNV)
    traceGL_lookupNativeAddress("glCombinerInputNV", (void **) &traceGL_Native.glCombinerInputNV);

  traceThis = traceEnabled("glCombinerInputNV");

  if (!traceGL_Native.glCombinerInputNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCombinerInputNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stage", "%u", stage);
    traceInputParameter("portion", "%u", portion);
    traceInputParameter("variable", "%u", variable);
    traceInputParameter("input", "%u", input);
    traceInputParameter("mapping", "%u", mapping);
    traceInputParameter("componentUsage", "%u", componentUsage);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCombinerInputNV(stage, portion, variable, input, mapping, componentUsage);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCombinerOutputNV(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCombinerOutputNV)
    traceGL_lookupNativeAddress("glCombinerOutputNV", (void **) &traceGL_Native.glCombinerOutputNV);

  traceThis = traceEnabled("glCombinerOutputNV");

  if (!traceGL_Native.glCombinerOutputNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCombinerOutputNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stage", "%u", stage);
    traceInputParameter("portion", "%u", portion);
    traceInputParameter("abOutput", "%u", abOutput);
    traceInputParameter("cdOutput", "%u", cdOutput);
    traceInputParameter("sumOutput", "%u", sumOutput);
    traceInputParameter("scale", "%u", scale);
    traceInputParameter("bias", "%u", bias);
    traceInputParameter("abDotProduct", "%u", (unsigned int) abDotProduct);
    traceInputParameter("cdDotProduct", "%u", (unsigned int) cdDotProduct);
    traceInputParameter("muxSum", "%u", (unsigned int) muxSum);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCombinerOutputNV(stage, portion, abOutput, cdOutput, sumOutput, scale, bias, abDotProduct, cdDotProduct, muxSum);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFinalCombinerInputNV(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFinalCombinerInputNV)
    traceGL_lookupNativeAddress("glFinalCombinerInputNV", (void **) &traceGL_Native.glFinalCombinerInputNV);

  traceThis = traceEnabled("glFinalCombinerInputNV");

  if (!traceGL_Native.glFinalCombinerInputNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFinalCombinerInputNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("variable", "%u", variable);
    traceInputParameter("input", "%u", input);
    traceInputParameter("mapping", "%u", mapping);
    traceInputParameter("componentUsage", "%u", componentUsage);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFinalCombinerInputNV(variable, input, mapping, componentUsage);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetCombinerInputParameterfvNV(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetCombinerInputParameterfvNV)
    traceGL_lookupNativeAddress("glGetCombinerInputParameterfvNV", (void **) &traceGL_Native.glGetCombinerInputParameterfvNV);

  traceThis = traceEnabled("glGetCombinerInputParameterfvNV");

  if (!traceGL_Native.glGetCombinerInputParameterfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetCombinerInputParameterfvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stage", "%u", stage);
    traceInputParameter("portion", "%u", portion);
    traceInputParameter("variable", "%u", variable);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetCombinerInputParameterfvNV(stage, portion, variable, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetCombinerInputParameterivNV(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetCombinerInputParameterivNV)
    traceGL_lookupNativeAddress("glGetCombinerInputParameterivNV", (void **) &traceGL_Native.glGetCombinerInputParameterivNV);

  traceThis = traceEnabled("glGetCombinerInputParameterivNV");

  if (!traceGL_Native.glGetCombinerInputParameterivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetCombinerInputParameterivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stage", "%u", stage);
    traceInputParameter("portion", "%u", portion);
    traceInputParameter("variable", "%u", variable);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetCombinerInputParameterivNV(stage, portion, variable, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetCombinerOutputParameterfvNV(GLenum stage, GLenum portion, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetCombinerOutputParameterfvNV)
    traceGL_lookupNativeAddress("glGetCombinerOutputParameterfvNV", (void **) &traceGL_Native.glGetCombinerOutputParameterfvNV);

  traceThis = traceEnabled("glGetCombinerOutputParameterfvNV");

  if (!traceGL_Native.glGetCombinerOutputParameterfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetCombinerOutputParameterfvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stage", "%u", stage);
    traceInputParameter("portion", "%u", portion);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetCombinerOutputParameterfvNV(stage, portion, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetCombinerOutputParameterivNV(GLenum stage, GLenum portion, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetCombinerOutputParameterivNV)
    traceGL_lookupNativeAddress("glGetCombinerOutputParameterivNV", (void **) &traceGL_Native.glGetCombinerOutputParameterivNV);

  traceThis = traceEnabled("glGetCombinerOutputParameterivNV");

  if (!traceGL_Native.glGetCombinerOutputParameterivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetCombinerOutputParameterivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stage", "%u", stage);
    traceInputParameter("portion", "%u", portion);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetCombinerOutputParameterivNV(stage, portion, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetFinalCombinerInputParameterfvNV(GLenum variable, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFinalCombinerInputParameterfvNV)
    traceGL_lookupNativeAddress("glGetFinalCombinerInputParameterfvNV", (void **) &traceGL_Native.glGetFinalCombinerInputParameterfvNV);

  traceThis = traceEnabled("glGetFinalCombinerInputParameterfvNV");

  if (!traceGL_Native.glGetFinalCombinerInputParameterfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFinalCombinerInputParameterfvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("variable", "%u", variable);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetFinalCombinerInputParameterfvNV(variable, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetFinalCombinerInputParameterivNV(GLenum variable, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFinalCombinerInputParameterivNV)
    traceGL_lookupNativeAddress("glGetFinalCombinerInputParameterivNV", (void **) &traceGL_Native.glGetFinalCombinerInputParameterivNV);

  traceThis = traceEnabled("glGetFinalCombinerInputParameterivNV");

  if (!traceGL_Native.glGetFinalCombinerInputParameterivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFinalCombinerInputParameterivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("variable", "%u", variable);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetFinalCombinerInputParameterivNV(variable, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glResizeBuffersMESA()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glResizeBuffersMESA)
    traceGL_lookupNativeAddress("glResizeBuffersMESA", (void **) &traceGL_Native.glResizeBuffersMESA);

  traceThis = traceEnabled("glResizeBuffersMESA");

  if (!traceGL_Native.glResizeBuffersMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glResizeBuffersMESA");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glResizeBuffersMESA();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos2dMESA(GLdouble x, GLdouble y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2dMESA)
    traceGL_lookupNativeAddress("glWindowPos2dMESA", (void **) &traceGL_Native.glWindowPos2dMESA);

  traceThis = traceEnabled("glWindowPos2dMESA");

  if (!traceGL_Native.glWindowPos2dMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2dMESA");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos2dMESA(x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos2dvMESA(const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2dvMESA)
    traceGL_lookupNativeAddress("glWindowPos2dvMESA", (void **) &traceGL_Native.glWindowPos2dvMESA);

  traceThis = traceEnabled("glWindowPos2dvMESA");

  if (!traceGL_Native.glWindowPos2dvMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2dvMESA");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%lf[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos2dvMESA(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos2fMESA(GLfloat x, GLfloat y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2fMESA)
    traceGL_lookupNativeAddress("glWindowPos2fMESA", (void **) &traceGL_Native.glWindowPos2fMESA);

  traceThis = traceEnabled("glWindowPos2fMESA");

  if (!traceGL_Native.glWindowPos2fMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2fMESA");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos2fMESA(x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos2fvMESA(const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2fvMESA)
    traceGL_lookupNativeAddress("glWindowPos2fvMESA", (void **) &traceGL_Native.glWindowPos2fvMESA);

  traceThis = traceEnabled("glWindowPos2fvMESA");

  if (!traceGL_Native.glWindowPos2fvMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2fvMESA");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%f[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos2fvMESA(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos2iMESA(GLint x, GLint y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2iMESA)
    traceGL_lookupNativeAddress("glWindowPos2iMESA", (void **) &traceGL_Native.glWindowPos2iMESA);

  traceThis = traceEnabled("glWindowPos2iMESA");

  if (!traceGL_Native.glWindowPos2iMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2iMESA");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos2iMESA(x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos2ivMESA(const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2ivMESA)
    traceGL_lookupNativeAddress("glWindowPos2ivMESA", (void **) &traceGL_Native.glWindowPos2ivMESA);

  traceThis = traceEnabled("glWindowPos2ivMESA");

  if (!traceGL_Native.glWindowPos2ivMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2ivMESA");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%d[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos2ivMESA(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos2sMESA(GLshort x, GLshort y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2sMESA)
    traceGL_lookupNativeAddress("glWindowPos2sMESA", (void **) &traceGL_Native.glWindowPos2sMESA);

  traceThis = traceEnabled("glWindowPos2sMESA");

  if (!traceGL_Native.glWindowPos2sMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2sMESA");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%hd", x);
    traceInputParameter("y", "%hd", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos2sMESA(x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos2svMESA(const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2svMESA)
    traceGL_lookupNativeAddress("glWindowPos2svMESA", (void **) &traceGL_Native.glWindowPos2svMESA);

  traceThis = traceEnabled("glWindowPos2svMESA");

  if (!traceGL_Native.glWindowPos2svMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2svMESA");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hd[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos2svMESA(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos3dMESA(GLdouble x, GLdouble y, GLdouble z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3dMESA)
    traceGL_lookupNativeAddress("glWindowPos3dMESA", (void **) &traceGL_Native.glWindowPos3dMESA);

  traceThis = traceEnabled("glWindowPos3dMESA");

  if (!traceGL_Native.glWindowPos3dMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3dMESA");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos3dMESA(x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos3dvMESA(const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3dvMESA)
    traceGL_lookupNativeAddress("glWindowPos3dvMESA", (void **) &traceGL_Native.glWindowPos3dvMESA);

  traceThis = traceEnabled("glWindowPos3dvMESA");

  if (!traceGL_Native.glWindowPos3dvMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3dvMESA");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%lf[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos3dvMESA(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos3fMESA(GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3fMESA)
    traceGL_lookupNativeAddress("glWindowPos3fMESA", (void **) &traceGL_Native.glWindowPos3fMESA);

  traceThis = traceEnabled("glWindowPos3fMESA");

  if (!traceGL_Native.glWindowPos3fMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3fMESA");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos3fMESA(x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos3fvMESA(const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3fvMESA)
    traceGL_lookupNativeAddress("glWindowPos3fvMESA", (void **) &traceGL_Native.glWindowPos3fvMESA);

  traceThis = traceEnabled("glWindowPos3fvMESA");

  if (!traceGL_Native.glWindowPos3fvMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3fvMESA");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos3fvMESA(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos3iMESA(GLint x, GLint y, GLint z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3iMESA)
    traceGL_lookupNativeAddress("glWindowPos3iMESA", (void **) &traceGL_Native.glWindowPos3iMESA);

  traceThis = traceEnabled("glWindowPos3iMESA");

  if (!traceGL_Native.glWindowPos3iMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3iMESA");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("z", "%d", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos3iMESA(x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos3ivMESA(const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3ivMESA)
    traceGL_lookupNativeAddress("glWindowPos3ivMESA", (void **) &traceGL_Native.glWindowPos3ivMESA);

  traceThis = traceEnabled("glWindowPos3ivMESA");

  if (!traceGL_Native.glWindowPos3ivMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3ivMESA");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%d[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos3ivMESA(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos3sMESA(GLshort x, GLshort y, GLshort z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3sMESA)
    traceGL_lookupNativeAddress("glWindowPos3sMESA", (void **) &traceGL_Native.glWindowPos3sMESA);

  traceThis = traceEnabled("glWindowPos3sMESA");

  if (!traceGL_Native.glWindowPos3sMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3sMESA");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%hd", x);
    traceInputParameter("y", "%hd", y);
    traceInputParameter("z", "%hd", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos3sMESA(x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos3svMESA(const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3svMESA)
    traceGL_lookupNativeAddress("glWindowPos3svMESA", (void **) &traceGL_Native.glWindowPos3svMESA);

  traceThis = traceEnabled("glWindowPos3svMESA");

  if (!traceGL_Native.glWindowPos3svMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3svMESA");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hd[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos3svMESA(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos4dMESA(GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos4dMESA)
    traceGL_lookupNativeAddress("glWindowPos4dMESA", (void **) &traceGL_Native.glWindowPos4dMESA);

  traceThis = traceEnabled("glWindowPos4dMESA");

  if (!traceGL_Native.glWindowPos4dMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos4dMESA");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);
    traceInputParameter("w", "%lf", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos4dMESA(x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos4dvMESA(const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos4dvMESA)
    traceGL_lookupNativeAddress("glWindowPos4dvMESA", (void **) &traceGL_Native.glWindowPos4dvMESA);

  traceThis = traceEnabled("glWindowPos4dvMESA");

  if (!traceGL_Native.glWindowPos4dvMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos4dvMESA");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%lf[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos4dvMESA(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos4fMESA(GLfloat x, GLfloat y, GLfloat z, GLfloat w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos4fMESA)
    traceGL_lookupNativeAddress("glWindowPos4fMESA", (void **) &traceGL_Native.glWindowPos4fMESA);

  traceThis = traceEnabled("glWindowPos4fMESA");

  if (!traceGL_Native.glWindowPos4fMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos4fMESA");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);
    traceInputParameter("w", "%f", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos4fMESA(x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos4fvMESA(const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos4fvMESA)
    traceGL_lookupNativeAddress("glWindowPos4fvMESA", (void **) &traceGL_Native.glWindowPos4fvMESA);

  traceThis = traceEnabled("glWindowPos4fvMESA");

  if (!traceGL_Native.glWindowPos4fvMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos4fvMESA");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%f[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos4fvMESA(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos4iMESA(GLint x, GLint y, GLint z, GLint w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos4iMESA)
    traceGL_lookupNativeAddress("glWindowPos4iMESA", (void **) &traceGL_Native.glWindowPos4iMESA);

  traceThis = traceEnabled("glWindowPos4iMESA");

  if (!traceGL_Native.glWindowPos4iMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos4iMESA");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("z", "%d", z);
    traceInputParameter("w", "%d", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos4iMESA(x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos4ivMESA(const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos4ivMESA)
    traceGL_lookupNativeAddress("glWindowPos4ivMESA", (void **) &traceGL_Native.glWindowPos4ivMESA);

  traceThis = traceEnabled("glWindowPos4ivMESA");

  if (!traceGL_Native.glWindowPos4ivMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos4ivMESA");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%d[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos4ivMESA(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos4sMESA(GLshort x, GLshort y, GLshort z, GLshort w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos4sMESA)
    traceGL_lookupNativeAddress("glWindowPos4sMESA", (void **) &traceGL_Native.glWindowPos4sMESA);

  traceThis = traceEnabled("glWindowPos4sMESA");

  if (!traceGL_Native.glWindowPos4sMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos4sMESA");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%hd", x);
    traceInputParameter("y", "%hd", y);
    traceInputParameter("z", "%hd", z);
    traceInputParameter("w", "%hd", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos4sMESA(x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWindowPos4svMESA(const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos4svMESA)
    traceGL_lookupNativeAddress("glWindowPos4svMESA", (void **) &traceGL_Native.glWindowPos4svMESA);

  traceThis = traceEnabled("glWindowPos4svMESA");

  if (!traceGL_Native.glWindowPos4svMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos4svMESA");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hd[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWindowPos4svMESA(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiModeDrawArraysIBM(const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiModeDrawArraysIBM)
    traceGL_lookupNativeAddress("glMultiModeDrawArraysIBM", (void **) &traceGL_Native.glMultiModeDrawArraysIBM);

  traceThis = traceEnabled("glMultiModeDrawArraysIBM");

  if (!traceGL_Native.glMultiModeDrawArraysIBM)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiModeDrawArraysIBM");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("primcount", "%d", primcount);
    traceInputParameter("modestride", "%d", modestride);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiModeDrawArraysIBM(mode, first, count, primcount, modestride);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiModeDrawElementsIBM(const GLenum *mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount, GLint modestride)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiModeDrawElementsIBM)
    traceGL_lookupNativeAddress("glMultiModeDrawElementsIBM", (void **) &traceGL_Native.glMultiModeDrawElementsIBM);

  traceThis = traceEnabled("glMultiModeDrawElementsIBM");

  if (!traceGL_Native.glMultiModeDrawElementsIBM)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiModeDrawElementsIBM");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("primcount", "%d", primcount);
    traceInputParameter("modestride", "%d", modestride);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiModeDrawElementsIBM(mode, count, type, indices, primcount, modestride);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColorPointerListIBM(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorPointerListIBM)
    traceGL_lookupNativeAddress("glColorPointerListIBM", (void **) &traceGL_Native.glColorPointerListIBM);

  traceThis = traceEnabled("glColorPointerListIBM");

  if (!traceGL_Native.glColorPointerListIBM)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorPointerListIBM");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("ptrstride", "%d", ptrstride);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColorPointerListIBM(size, type, stride, pointer, ptrstride);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColorPointerListIBM(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColorPointerListIBM)
    traceGL_lookupNativeAddress("glSecondaryColorPointerListIBM", (void **) &traceGL_Native.glSecondaryColorPointerListIBM);

  traceThis = traceEnabled("glSecondaryColorPointerListIBM");

  if (!traceGL_Native.glSecondaryColorPointerListIBM)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColorPointerListIBM");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("ptrstride", "%d", ptrstride);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColorPointerListIBM(size, type, stride, pointer, ptrstride);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEdgeFlagPointerListIBM(GLint stride, const GLboolean **pointer, GLint ptrstride)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEdgeFlagPointerListIBM)
    traceGL_lookupNativeAddress("glEdgeFlagPointerListIBM", (void **) &traceGL_Native.glEdgeFlagPointerListIBM);

  traceThis = traceEnabled("glEdgeFlagPointerListIBM");

  if (!traceGL_Native.glEdgeFlagPointerListIBM)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEdgeFlagPointerListIBM");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stride", "%d", stride);
    traceInputParameter("ptrstride", "%d", ptrstride);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEdgeFlagPointerListIBM(stride, pointer, ptrstride);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFogCoordPointerListIBM(GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoordPointerListIBM)
    traceGL_lookupNativeAddress("glFogCoordPointerListIBM", (void **) &traceGL_Native.glFogCoordPointerListIBM);

  traceThis = traceEnabled("glFogCoordPointerListIBM");

  if (!traceGL_Native.glFogCoordPointerListIBM)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoordPointerListIBM");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("ptrstride", "%d", ptrstride);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFogCoordPointerListIBM(type, stride, pointer, ptrstride);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glIndexPointerListIBM(GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIndexPointerListIBM)
    traceGL_lookupNativeAddress("glIndexPointerListIBM", (void **) &traceGL_Native.glIndexPointerListIBM);

  traceThis = traceEnabled("glIndexPointerListIBM");

  if (!traceGL_Native.glIndexPointerListIBM)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIndexPointerListIBM");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("ptrstride", "%d", ptrstride);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glIndexPointerListIBM(type, stride, pointer, ptrstride);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormalPointerListIBM(GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalPointerListIBM)
    traceGL_lookupNativeAddress("glNormalPointerListIBM", (void **) &traceGL_Native.glNormalPointerListIBM);

  traceThis = traceEnabled("glNormalPointerListIBM");

  if (!traceGL_Native.glNormalPointerListIBM)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalPointerListIBM");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("ptrstride", "%d", ptrstride);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormalPointerListIBM(type, stride, pointer, ptrstride);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoordPointerListIBM(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoordPointerListIBM)
    traceGL_lookupNativeAddress("glTexCoordPointerListIBM", (void **) &traceGL_Native.glTexCoordPointerListIBM);

  traceThis = traceEnabled("glTexCoordPointerListIBM");

  if (!traceGL_Native.glTexCoordPointerListIBM)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoordPointerListIBM");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("ptrstride", "%d", ptrstride);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoordPointerListIBM(size, type, stride, pointer, ptrstride);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexPointerListIBM(GLint size, GLenum type, GLint stride, const GLvoid **pointer, GLint ptrstride)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexPointerListIBM)
    traceGL_lookupNativeAddress("glVertexPointerListIBM", (void **) &traceGL_Native.glVertexPointerListIBM);

  traceThis = traceEnabled("glVertexPointerListIBM");

  if (!traceGL_Native.glVertexPointerListIBM)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexPointerListIBM");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("ptrstride", "%d", ptrstride);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexPointerListIBM(size, type, stride, pointer, ptrstride);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTbufferMask3DFX(GLuint mask)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTbufferMask3DFX)
    traceGL_lookupNativeAddress("glTbufferMask3DFX", (void **) &traceGL_Native.glTbufferMask3DFX);

  traceThis = traceEnabled("glTbufferMask3DFX");

  if (!traceGL_Native.glTbufferMask3DFX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTbufferMask3DFX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mask", "%u", mask);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTbufferMask3DFX(mask);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSampleMaskEXT(GLclampf value, GLboolean invert)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSampleMaskEXT)
    traceGL_lookupNativeAddress("glSampleMaskEXT", (void **) &traceGL_Native.glSampleMaskEXT);

  traceThis = traceEnabled("glSampleMaskEXT");

  if (!traceGL_Native.glSampleMaskEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSampleMaskEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("value", "%f", value);
    traceInputParameter("invert", "%u", (unsigned int) invert);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSampleMaskEXT(value, invert);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSamplePatternEXT(GLenum pattern)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSamplePatternEXT)
    traceGL_lookupNativeAddress("glSamplePatternEXT", (void **) &traceGL_Native.glSamplePatternEXT);

  traceThis = traceEnabled("glSamplePatternEXT");

  if (!traceGL_Native.glSamplePatternEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSamplePatternEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pattern", "%u", pattern);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSamplePatternEXT(pattern);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTextureColorMaskSGIS(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureColorMaskSGIS)
    traceGL_lookupNativeAddress("glTextureColorMaskSGIS", (void **) &traceGL_Native.glTextureColorMaskSGIS);

  traceThis = traceEnabled("glTextureColorMaskSGIS");

  if (!traceGL_Native.glTextureColorMaskSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureColorMaskSGIS");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%u", (unsigned int) red);
    traceInputParameter("green", "%u", (unsigned int) green);
    traceInputParameter("blue", "%u", (unsigned int) blue);
    traceInputParameter("alpha", "%u", (unsigned int) alpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTextureColorMaskSGIS(red, green, blue, alpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glIglooInterfaceSGIX(GLenum pname, const GLvoid *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIglooInterfaceSGIX)
    traceGL_lookupNativeAddress("glIglooInterfaceSGIX", (void **) &traceGL_Native.glIglooInterfaceSGIX);

  traceThis = traceEnabled("glIglooInterfaceSGIX");

  if (!traceGL_Native.glIglooInterfaceSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIglooInterfaceSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("params", "%p", params);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glIglooInterfaceSGIX(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteFencesNV(GLsizei n, const GLuint *fences)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteFencesNV)
    traceGL_lookupNativeAddress("glDeleteFencesNV", (void **) &traceGL_Native.glDeleteFencesNV);

  traceThis = traceEnabled("glDeleteFencesNV");

  if (!traceGL_Native.glDeleteFencesNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteFencesNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("fences", "%u[%d]", fences, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteFencesNV(n, fences);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenFencesNV(GLsizei n, GLuint *fences)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenFencesNV)
    traceGL_lookupNativeAddress("glGenFencesNV", (void **) &traceGL_Native.glGenFencesNV);

  traceThis = traceEnabled("glGenFencesNV");

  if (!traceGL_Native.glGenFencesNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenFencesNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenFencesNV(n, fences);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("fences", "%u[%d]", fences, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsFenceNV(GLuint fence)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsFenceNV)
    traceGL_lookupNativeAddress("glIsFenceNV", (void **) &traceGL_Native.glIsFenceNV);

  traceThis = traceEnabled("glIsFenceNV");

  if (!traceGL_Native.glIsFenceNV)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsFenceNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("fence", "%u", fence);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsFenceNV(fence);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLboolean GLAPIENTRY
glTestFenceNV(GLuint fence)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTestFenceNV)
    traceGL_lookupNativeAddress("glTestFenceNV", (void **) &traceGL_Native.glTestFenceNV);

  traceThis = traceEnabled("glTestFenceNV");

  if (!traceGL_Native.glTestFenceNV)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTestFenceNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("fence", "%u", fence);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glTestFenceNV(fence);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetFenceivNV(GLuint fence, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFenceivNV)
    traceGL_lookupNativeAddress("glGetFenceivNV", (void **) &traceGL_Native.glGetFenceivNV);

  traceThis = traceEnabled("glGetFenceivNV");

  if (!traceGL_Native.glGetFenceivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFenceivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("fence", "%u", fence);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetFenceivNV(fence, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFinishFenceNV(GLuint fence)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFinishFenceNV)
    traceGL_lookupNativeAddress("glFinishFenceNV", (void **) &traceGL_Native.glFinishFenceNV);

  traceThis = traceEnabled("glFinishFenceNV");

  if (!traceGL_Native.glFinishFenceNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFinishFenceNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("fence", "%u", fence);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFinishFenceNV(fence);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSetFenceNV(GLuint fence, GLenum condition)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSetFenceNV)
    traceGL_lookupNativeAddress("glSetFenceNV", (void **) &traceGL_Native.glSetFenceNV);

  traceThis = traceEnabled("glSetFenceNV");

  if (!traceGL_Native.glSetFenceNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSetFenceNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("fence", "%u", fence);
    traceInputParameter("condition", "%u", condition);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSetFenceNV(fence, condition);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMapControlPointsNV(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const GLvoid *points)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapControlPointsNV)
    traceGL_lookupNativeAddress("glMapControlPointsNV", (void **) &traceGL_Native.glMapControlPointsNV);

  traceThis = traceEnabled("glMapControlPointsNV");

  if (!traceGL_Native.glMapControlPointsNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapControlPointsNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("type", "%u", type);
    traceInputParameter("ustride", "%d", ustride);
    traceInputParameter("vstride", "%d", vstride);
    traceInputParameter("uorder", "%d", uorder);
    traceInputParameter("vorder", "%d", vorder);
    traceInputParameter("packed", "%u", (unsigned int) packed);
    traceInputParameter("points", "%p", points);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMapControlPointsNV(target, index, type, ustride, vstride, uorder, vorder, packed, points);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMapParameterivNV(GLenum target, GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapParameterivNV)
    traceGL_lookupNativeAddress("glMapParameterivNV", (void **) &traceGL_Native.glMapParameterivNV);

  traceThis = traceEnabled("glMapParameterivNV");

  if (!traceGL_Native.glMapParameterivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapParameterivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMapParameterivNV(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMapParameterfvNV(GLenum target, GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapParameterfvNV)
    traceGL_lookupNativeAddress("glMapParameterfvNV", (void **) &traceGL_Native.glMapParameterfvNV);

  traceThis = traceEnabled("glMapParameterfvNV");

  if (!traceGL_Native.glMapParameterfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapParameterfvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMapParameterfvNV(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMapControlPointsNV(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, GLvoid *points)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMapControlPointsNV)
    traceGL_lookupNativeAddress("glGetMapControlPointsNV", (void **) &traceGL_Native.glGetMapControlPointsNV);

  traceThis = traceEnabled("glGetMapControlPointsNV");

  if (!traceGL_Native.glGetMapControlPointsNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMapControlPointsNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("type", "%u", type);
    traceInputParameter("ustride", "%d", ustride);
    traceInputParameter("vstride", "%d", vstride);
    traceInputParameter("packed", "%u", (unsigned int) packed);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMapControlPointsNV(target, index, type, ustride, vstride, packed, points);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("points", "%p", points);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMapParameterivNV(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMapParameterivNV)
    traceGL_lookupNativeAddress("glGetMapParameterivNV", (void **) &traceGL_Native.glGetMapParameterivNV);

  traceThis = traceEnabled("glGetMapParameterivNV");

  if (!traceGL_Native.glGetMapParameterivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMapParameterivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMapParameterivNV(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMapParameterfvNV(GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMapParameterfvNV)
    traceGL_lookupNativeAddress("glGetMapParameterfvNV", (void **) &traceGL_Native.glGetMapParameterfvNV);

  traceThis = traceEnabled("glGetMapParameterfvNV");

  if (!traceGL_Native.glGetMapParameterfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMapParameterfvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMapParameterfvNV(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMapAttribParameterivNV(GLenum target, GLuint index, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMapAttribParameterivNV)
    traceGL_lookupNativeAddress("glGetMapAttribParameterivNV", (void **) &traceGL_Native.glGetMapAttribParameterivNV);

  traceThis = traceEnabled("glGetMapAttribParameterivNV");

  if (!traceGL_Native.glGetMapAttribParameterivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMapAttribParameterivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMapAttribParameterivNV(target, index, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMapAttribParameterfvNV(GLenum target, GLuint index, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMapAttribParameterfvNV)
    traceGL_lookupNativeAddress("glGetMapAttribParameterfvNV", (void **) &traceGL_Native.glGetMapAttribParameterfvNV);

  traceThis = traceEnabled("glGetMapAttribParameterfvNV");

  if (!traceGL_Native.glGetMapAttribParameterfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMapAttribParameterfvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMapAttribParameterfvNV(target, index, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEvalMapsNV(GLenum target, GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEvalMapsNV)
    traceGL_lookupNativeAddress("glEvalMapsNV", (void **) &traceGL_Native.glEvalMapsNV);

  traceThis = traceEnabled("glEvalMapsNV");

  if (!traceGL_Native.glEvalMapsNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEvalMapsNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEvalMapsNV(target, mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCombinerStageParameterfvNV(GLenum stage, GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCombinerStageParameterfvNV)
    traceGL_lookupNativeAddress("glCombinerStageParameterfvNV", (void **) &traceGL_Native.glCombinerStageParameterfvNV);

  traceThis = traceEnabled("glCombinerStageParameterfvNV");

  if (!traceGL_Native.glCombinerStageParameterfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCombinerStageParameterfvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stage", "%u", stage);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCombinerStageParameterfvNV(stage, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetCombinerStageParameterfvNV(GLenum stage, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetCombinerStageParameterfvNV)
    traceGL_lookupNativeAddress("glGetCombinerStageParameterfvNV", (void **) &traceGL_Native.glGetCombinerStageParameterfvNV);

  traceThis = traceEnabled("glGetCombinerStageParameterfvNV");

  if (!traceGL_Native.glGetCombinerStageParameterfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetCombinerStageParameterfvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stage", "%u", stage);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetCombinerStageParameterfvNV(stage, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glAreProgramsResidentNV(GLsizei n, const GLuint *programs, GLboolean *residences)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glAreProgramsResidentNV)
    traceGL_lookupNativeAddress("glAreProgramsResidentNV", (void **) &traceGL_Native.glAreProgramsResidentNV);

  traceThis = traceEnabled("glAreProgramsResidentNV");

  if (!traceGL_Native.glAreProgramsResidentNV)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glAreProgramsResidentNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("programs", "%u[%d]", programs, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glAreProgramsResidentNV(n, programs, residences);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("residences", "%c[%d]", residences, n);
    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBindProgramNV(GLenum target, GLuint id)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindProgramNV)
    traceGL_lookupNativeAddress("glBindProgramNV", (void **) &traceGL_Native.glBindProgramNV);

  traceThis = traceEnabled("glBindProgramNV");

  if (!traceGL_Native.glBindProgramNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindProgramNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindProgramNV(target, id);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteProgramsNV(GLsizei n, const GLuint *programs)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteProgramsNV)
    traceGL_lookupNativeAddress("glDeleteProgramsNV", (void **) &traceGL_Native.glDeleteProgramsNV);

  traceThis = traceEnabled("glDeleteProgramsNV");

  if (!traceGL_Native.glDeleteProgramsNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteProgramsNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("programs", "%u[%d]", programs, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteProgramsNV(n, programs);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glExecuteProgramNV(GLenum target, GLuint id, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glExecuteProgramNV)
    traceGL_lookupNativeAddress("glExecuteProgramNV", (void **) &traceGL_Native.glExecuteProgramNV);

  traceThis = traceEnabled("glExecuteProgramNV");

  if (!traceGL_Native.glExecuteProgramNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glExecuteProgramNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("id", "%u", id);
    traceInputParameter("params", "%f[%d]", params, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glExecuteProgramNV(target, id, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenProgramsNV(GLsizei n, GLuint *programs)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenProgramsNV)
    traceGL_lookupNativeAddress("glGenProgramsNV", (void **) &traceGL_Native.glGenProgramsNV);

  traceThis = traceEnabled("glGenProgramsNV");

  if (!traceGL_Native.glGenProgramsNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenProgramsNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenProgramsNV(n, programs);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("programs", "%u[%d]", programs, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramParameterdvNV(GLenum target, GLuint index, GLenum pname, GLdouble *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramParameterdvNV)
    traceGL_lookupNativeAddress("glGetProgramParameterdvNV", (void **) &traceGL_Native.glGetProgramParameterdvNV);

  traceThis = traceEnabled("glGetProgramParameterdvNV");

  if (!traceGL_Native.glGetProgramParameterdvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramParameterdvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetProgramParameterdvNV(target, index, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%lf[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramParameterfvNV(GLenum target, GLuint index, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramParameterfvNV)
    traceGL_lookupNativeAddress("glGetProgramParameterfvNV", (void **) &traceGL_Native.glGetProgramParameterfvNV);

  traceThis = traceEnabled("glGetProgramParameterfvNV");

  if (!traceGL_Native.glGetProgramParameterfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramParameterfvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetProgramParameterfvNV(target, index, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%f[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramivNV(GLuint id, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramivNV)
    traceGL_lookupNativeAddress("glGetProgramivNV", (void **) &traceGL_Native.glGetProgramivNV);

  traceThis = traceEnabled("glGetProgramivNV");

  if (!traceGL_Native.glGetProgramivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetProgramivNV(id, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%d[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramStringNV(GLuint id, GLenum pname, GLubyte *program)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramStringNV)
    traceGL_lookupNativeAddress("glGetProgramStringNV", (void **) &traceGL_Native.glGetProgramStringNV);

  traceThis = traceEnabled("glGetProgramStringNV");

  if (!traceGL_Native.glGetProgramStringNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramStringNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetProgramStringNV(id, pname, program);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("program", "%s", program);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTrackMatrixivNV(GLenum target, GLuint address, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTrackMatrixivNV)
    traceGL_lookupNativeAddress("glGetTrackMatrixivNV", (void **) &traceGL_Native.glGetTrackMatrixivNV);

  traceThis = traceEnabled("glGetTrackMatrixivNV");

  if (!traceGL_Native.glGetTrackMatrixivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTrackMatrixivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("address", "%u", address);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTrackMatrixivNV(target, address, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%d[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribdvNV(GLuint index, GLenum pname, GLdouble *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribdvNV)
    traceGL_lookupNativeAddress("glGetVertexAttribdvNV", (void **) &traceGL_Native.glGetVertexAttribdvNV);

  traceThis = traceEnabled("glGetVertexAttribdvNV");

  if (!traceGL_Native.glGetVertexAttribdvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribdvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVertexAttribdvNV(index, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%lf[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribfvNV(GLuint index, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribfvNV)
    traceGL_lookupNativeAddress("glGetVertexAttribfvNV", (void **) &traceGL_Native.glGetVertexAttribfvNV);

  traceThis = traceEnabled("glGetVertexAttribfvNV");

  if (!traceGL_Native.glGetVertexAttribfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribfvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVertexAttribfvNV(index, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%f[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribivNV(GLuint index, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribivNV)
    traceGL_lookupNativeAddress("glGetVertexAttribivNV", (void **) &traceGL_Native.glGetVertexAttribivNV);

  traceThis = traceEnabled("glGetVertexAttribivNV");

  if (!traceGL_Native.glGetVertexAttribivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVertexAttribivNV(index, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%d[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribPointervNV(GLuint index, GLenum pname, GLvoid **pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribPointervNV)
    traceGL_lookupNativeAddress("glGetVertexAttribPointervNV", (void **) &traceGL_Native.glGetVertexAttribPointervNV);

  traceThis = traceEnabled("glGetVertexAttribPointervNV");

  if (!traceGL_Native.glGetVertexAttribPointervNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribPointervNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVertexAttribPointervNV(index, pname, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsProgramNV(GLuint id)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsProgramNV)
    traceGL_lookupNativeAddress("glIsProgramNV", (void **) &traceGL_Native.glIsProgramNV);

  traceThis = traceEnabled("glIsProgramNV");

  if (!traceGL_Native.glIsProgramNV)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsProgramNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsProgramNV(id);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glLoadProgramNV(GLenum target, GLuint id, GLsizei len, const GLubyte *program)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLoadProgramNV)
    traceGL_lookupNativeAddress("glLoadProgramNV", (void **) &traceGL_Native.glLoadProgramNV);

  traceThis = traceEnabled("glLoadProgramNV");

  if (!traceGL_Native.glLoadProgramNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLoadProgramNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("id", "%u", id);
    traceInputParameter("len", "%d", len);
    traceInputParameter("program", "%c[%d]", program, len);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glLoadProgramNV(target, id, len, program);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramParameter4dNV(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramParameter4dNV)
    traceGL_lookupNativeAddress("glProgramParameter4dNV", (void **) &traceGL_Native.glProgramParameter4dNV);

  traceThis = traceEnabled("glProgramParameter4dNV");

  if (!traceGL_Native.glProgramParameter4dNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramParameter4dNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);
    traceInputParameter("w", "%lf", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramParameter4dNV(target, index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramParameter4dvNV(GLenum target, GLuint index, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramParameter4dvNV)
    traceGL_lookupNativeAddress("glProgramParameter4dvNV", (void **) &traceGL_Native.glProgramParameter4dvNV);

  traceThis = traceEnabled("glProgramParameter4dvNV");

  if (!traceGL_Native.glProgramParameter4dvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramParameter4dvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%lf[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramParameter4dvNV(target, index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramParameter4fNV(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramParameter4fNV)
    traceGL_lookupNativeAddress("glProgramParameter4fNV", (void **) &traceGL_Native.glProgramParameter4fNV);

  traceThis = traceEnabled("glProgramParameter4fNV");

  if (!traceGL_Native.glProgramParameter4fNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramParameter4fNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);
    traceInputParameter("w", "%f", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramParameter4fNV(target, index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramParameter4fvNV(GLenum target, GLuint index, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramParameter4fvNV)
    traceGL_lookupNativeAddress("glProgramParameter4fvNV", (void **) &traceGL_Native.glProgramParameter4fvNV);

  traceThis = traceEnabled("glProgramParameter4fvNV");

  if (!traceGL_Native.glProgramParameter4fvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramParameter4fvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%f[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramParameter4fvNV(target, index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramParameters4dvNV(GLenum target, GLuint index, GLuint count, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramParameters4dvNV)
    traceGL_lookupNativeAddress("glProgramParameters4dvNV", (void **) &traceGL_Native.glProgramParameters4dvNV);

  traceThis = traceEnabled("glProgramParameters4dvNV");

  if (!traceGL_Native.glProgramParameters4dvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramParameters4dvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%u", count);
    traceInputParameter("v", "%lf[%d]", v, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramParameters4dvNV(target, index, count, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramParameters4fvNV(GLenum target, GLuint index, GLuint count, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramParameters4fvNV)
    traceGL_lookupNativeAddress("glProgramParameters4fvNV", (void **) &traceGL_Native.glProgramParameters4fvNV);

  traceThis = traceEnabled("glProgramParameters4fvNV");

  if (!traceGL_Native.glProgramParameters4fvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramParameters4fvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%u", count);
    traceInputParameter("v", "%f[%d]", v, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramParameters4fvNV(target, index, count, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRequestResidentProgramsNV(GLsizei n, const GLuint *programs)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRequestResidentProgramsNV)
    traceGL_lookupNativeAddress("glRequestResidentProgramsNV", (void **) &traceGL_Native.glRequestResidentProgramsNV);

  traceThis = traceEnabled("glRequestResidentProgramsNV");

  if (!traceGL_Native.glRequestResidentProgramsNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRequestResidentProgramsNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("programs", "%u[%d]", programs, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRequestResidentProgramsNV(n, programs);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTrackMatrixNV(GLenum target, GLuint address, GLenum matrix, GLenum transform)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTrackMatrixNV)
    traceGL_lookupNativeAddress("glTrackMatrixNV", (void **) &traceGL_Native.glTrackMatrixNV);

  traceThis = traceEnabled("glTrackMatrixNV");

  if (!traceGL_Native.glTrackMatrixNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTrackMatrixNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("address", "%u", address);
    traceInputParameter("matrix", "%u", matrix);
    traceInputParameter("transform", "%u", transform);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTrackMatrixNV(target, address, matrix, transform);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribPointerNV(GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribPointerNV)
    traceGL_lookupNativeAddress("glVertexAttribPointerNV", (void **) &traceGL_Native.glVertexAttribPointerNV);

  traceThis = traceEnabled("glVertexAttribPointerNV");

  if (!traceGL_Native.glVertexAttribPointerNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribPointerNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("fsize", "%d", fsize);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribPointerNV(index, fsize, type, stride, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib1dNV(GLuint index, GLdouble x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1dNV)
    traceGL_lookupNativeAddress("glVertexAttrib1dNV", (void **) &traceGL_Native.glVertexAttrib1dNV);

  traceThis = traceEnabled("glVertexAttrib1dNV");

  if (!traceGL_Native.glVertexAttrib1dNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1dNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%lf", x);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib1dNV(index, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib1dvNV(GLuint index, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1dvNV)
    traceGL_lookupNativeAddress("glVertexAttrib1dvNV", (void **) &traceGL_Native.glVertexAttrib1dvNV);

  traceThis = traceEnabled("glVertexAttrib1dvNV");

  if (!traceGL_Native.glVertexAttrib1dvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1dvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%lf[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib1dvNV(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib1fNV(GLuint index, GLfloat x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1fNV)
    traceGL_lookupNativeAddress("glVertexAttrib1fNV", (void **) &traceGL_Native.glVertexAttrib1fNV);

  traceThis = traceEnabled("glVertexAttrib1fNV");

  if (!traceGL_Native.glVertexAttrib1fNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1fNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%f", x);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib1fNV(index, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib1fvNV(GLuint index, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1fvNV)
    traceGL_lookupNativeAddress("glVertexAttrib1fvNV", (void **) &traceGL_Native.glVertexAttrib1fvNV);

  traceThis = traceEnabled("glVertexAttrib1fvNV");

  if (!traceGL_Native.glVertexAttrib1fvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1fvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%f[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib1fvNV(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib1sNV(GLuint index, GLshort x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1sNV)
    traceGL_lookupNativeAddress("glVertexAttrib1sNV", (void **) &traceGL_Native.glVertexAttrib1sNV);

  traceThis = traceEnabled("glVertexAttrib1sNV");

  if (!traceGL_Native.glVertexAttrib1sNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1sNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%hd", x);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib1sNV(index, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib1svNV(GLuint index, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1svNV)
    traceGL_lookupNativeAddress("glVertexAttrib1svNV", (void **) &traceGL_Native.glVertexAttrib1svNV);

  traceThis = traceEnabled("glVertexAttrib1svNV");

  if (!traceGL_Native.glVertexAttrib1svNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1svNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%hd[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib1svNV(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib2dNV(GLuint index, GLdouble x, GLdouble y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2dNV)
    traceGL_lookupNativeAddress("glVertexAttrib2dNV", (void **) &traceGL_Native.glVertexAttrib2dNV);

  traceThis = traceEnabled("glVertexAttrib2dNV");

  if (!traceGL_Native.glVertexAttrib2dNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2dNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib2dNV(index, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib2dvNV(GLuint index, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2dvNV)
    traceGL_lookupNativeAddress("glVertexAttrib2dvNV", (void **) &traceGL_Native.glVertexAttrib2dvNV);

  traceThis = traceEnabled("glVertexAttrib2dvNV");

  if (!traceGL_Native.glVertexAttrib2dvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2dvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%lf[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib2dvNV(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib2fNV(GLuint index, GLfloat x, GLfloat y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2fNV)
    traceGL_lookupNativeAddress("glVertexAttrib2fNV", (void **) &traceGL_Native.glVertexAttrib2fNV);

  traceThis = traceEnabled("glVertexAttrib2fNV");

  if (!traceGL_Native.glVertexAttrib2fNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2fNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib2fNV(index, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib2fvNV(GLuint index, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2fvNV)
    traceGL_lookupNativeAddress("glVertexAttrib2fvNV", (void **) &traceGL_Native.glVertexAttrib2fvNV);

  traceThis = traceEnabled("glVertexAttrib2fvNV");

  if (!traceGL_Native.glVertexAttrib2fvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2fvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%f[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib2fvNV(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib2sNV(GLuint index, GLshort x, GLshort y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2sNV)
    traceGL_lookupNativeAddress("glVertexAttrib2sNV", (void **) &traceGL_Native.glVertexAttrib2sNV);

  traceThis = traceEnabled("glVertexAttrib2sNV");

  if (!traceGL_Native.glVertexAttrib2sNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2sNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%hd", x);
    traceInputParameter("y", "%hd", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib2sNV(index, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib2svNV(GLuint index, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2svNV)
    traceGL_lookupNativeAddress("glVertexAttrib2svNV", (void **) &traceGL_Native.glVertexAttrib2svNV);

  traceThis = traceEnabled("glVertexAttrib2svNV");

  if (!traceGL_Native.glVertexAttrib2svNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2svNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%hd[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib2svNV(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib3dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3dNV)
    traceGL_lookupNativeAddress("glVertexAttrib3dNV", (void **) &traceGL_Native.glVertexAttrib3dNV);

  traceThis = traceEnabled("glVertexAttrib3dNV");

  if (!traceGL_Native.glVertexAttrib3dNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3dNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib3dNV(index, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib3dvNV(GLuint index, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3dvNV)
    traceGL_lookupNativeAddress("glVertexAttrib3dvNV", (void **) &traceGL_Native.glVertexAttrib3dvNV);

  traceThis = traceEnabled("glVertexAttrib3dvNV");

  if (!traceGL_Native.glVertexAttrib3dvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3dvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%lf[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib3dvNV(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib3fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3fNV)
    traceGL_lookupNativeAddress("glVertexAttrib3fNV", (void **) &traceGL_Native.glVertexAttrib3fNV);

  traceThis = traceEnabled("glVertexAttrib3fNV");

  if (!traceGL_Native.glVertexAttrib3fNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3fNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib3fNV(index, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib3fvNV(GLuint index, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3fvNV)
    traceGL_lookupNativeAddress("glVertexAttrib3fvNV", (void **) &traceGL_Native.glVertexAttrib3fvNV);

  traceThis = traceEnabled("glVertexAttrib3fvNV");

  if (!traceGL_Native.glVertexAttrib3fvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3fvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%f[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib3fvNV(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib3sNV(GLuint index, GLshort x, GLshort y, GLshort z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3sNV)
    traceGL_lookupNativeAddress("glVertexAttrib3sNV", (void **) &traceGL_Native.glVertexAttrib3sNV);

  traceThis = traceEnabled("glVertexAttrib3sNV");

  if (!traceGL_Native.glVertexAttrib3sNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3sNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%hd", x);
    traceInputParameter("y", "%hd", y);
    traceInputParameter("z", "%hd", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib3sNV(index, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib3svNV(GLuint index, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3svNV)
    traceGL_lookupNativeAddress("glVertexAttrib3svNV", (void **) &traceGL_Native.glVertexAttrib3svNV);

  traceThis = traceEnabled("glVertexAttrib3svNV");

  if (!traceGL_Native.glVertexAttrib3svNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3svNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%hd[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib3svNV(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4dNV)
    traceGL_lookupNativeAddress("glVertexAttrib4dNV", (void **) &traceGL_Native.glVertexAttrib4dNV);

  traceThis = traceEnabled("glVertexAttrib4dNV");

  if (!traceGL_Native.glVertexAttrib4dNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4dNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);
    traceInputParameter("w", "%lf", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4dNV(index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4dvNV(GLuint index, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4dvNV)
    traceGL_lookupNativeAddress("glVertexAttrib4dvNV", (void **) &traceGL_Native.glVertexAttrib4dvNV);

  traceThis = traceEnabled("glVertexAttrib4dvNV");

  if (!traceGL_Native.glVertexAttrib4dvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4dvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%lf[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4dvNV(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4fNV)
    traceGL_lookupNativeAddress("glVertexAttrib4fNV", (void **) &traceGL_Native.glVertexAttrib4fNV);

  traceThis = traceEnabled("glVertexAttrib4fNV");

  if (!traceGL_Native.glVertexAttrib4fNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4fNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);
    traceInputParameter("w", "%f", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4fNV(index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4fvNV(GLuint index, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4fvNV)
    traceGL_lookupNativeAddress("glVertexAttrib4fvNV", (void **) &traceGL_Native.glVertexAttrib4fvNV);

  traceThis = traceEnabled("glVertexAttrib4fvNV");

  if (!traceGL_Native.glVertexAttrib4fvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4fvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%f[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4fvNV(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4sNV(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4sNV)
    traceGL_lookupNativeAddress("glVertexAttrib4sNV", (void **) &traceGL_Native.glVertexAttrib4sNV);

  traceThis = traceEnabled("glVertexAttrib4sNV");

  if (!traceGL_Native.glVertexAttrib4sNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4sNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%hd", x);
    traceInputParameter("y", "%hd", y);
    traceInputParameter("z", "%hd", z);
    traceInputParameter("w", "%hd", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4sNV(index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4svNV(GLuint index, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4svNV)
    traceGL_lookupNativeAddress("glVertexAttrib4svNV", (void **) &traceGL_Native.glVertexAttrib4svNV);

  traceThis = traceEnabled("glVertexAttrib4svNV");

  if (!traceGL_Native.glVertexAttrib4svNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4svNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%hd[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4svNV(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4ubNV(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4ubNV)
    traceGL_lookupNativeAddress("glVertexAttrib4ubNV", (void **) &traceGL_Native.glVertexAttrib4ubNV);

  traceThis = traceEnabled("glVertexAttrib4ubNV");

  if (!traceGL_Native.glVertexAttrib4ubNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4ubNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%u", (unsigned int) x);
    traceInputParameter("y", "%u", (unsigned int) y);
    traceInputParameter("z", "%u", (unsigned int) z);
    traceInputParameter("w", "%u", (unsigned int) w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4ubNV(index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4ubvNV(GLuint index, const GLubyte *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4ubvNV)
    traceGL_lookupNativeAddress("glVertexAttrib4ubvNV", (void **) &traceGL_Native.glVertexAttrib4ubvNV);

  traceThis = traceEnabled("glVertexAttrib4ubvNV");

  if (!traceGL_Native.glVertexAttrib4ubvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4ubvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%c[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4ubvNV(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribs1dvNV(GLuint index, GLsizei count, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs1dvNV)
    traceGL_lookupNativeAddress("glVertexAttribs1dvNV", (void **) &traceGL_Native.glVertexAttribs1dvNV);

  traceThis = traceEnabled("glVertexAttribs1dvNV");

  if (!traceGL_Native.glVertexAttribs1dvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs1dvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("v", "%lf[%d]", v, count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribs1dvNV(index, count, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribs1fvNV(GLuint index, GLsizei count, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs1fvNV)
    traceGL_lookupNativeAddress("glVertexAttribs1fvNV", (void **) &traceGL_Native.glVertexAttribs1fvNV);

  traceThis = traceEnabled("glVertexAttribs1fvNV");

  if (!traceGL_Native.glVertexAttribs1fvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs1fvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("v", "%f[%d]", v, count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribs1fvNV(index, count, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribs1svNV(GLuint index, GLsizei count, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs1svNV)
    traceGL_lookupNativeAddress("glVertexAttribs1svNV", (void **) &traceGL_Native.glVertexAttribs1svNV);

  traceThis = traceEnabled("glVertexAttribs1svNV");

  if (!traceGL_Native.glVertexAttribs1svNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs1svNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("v", "%hd[%d]", v, count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribs1svNV(index, count, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribs2dvNV(GLuint index, GLsizei count, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs2dvNV)
    traceGL_lookupNativeAddress("glVertexAttribs2dvNV", (void **) &traceGL_Native.glVertexAttribs2dvNV);

  traceThis = traceEnabled("glVertexAttribs2dvNV");

  if (!traceGL_Native.glVertexAttribs2dvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs2dvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("v", "%lf[%d]", v, count * 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribs2dvNV(index, count, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribs2fvNV(GLuint index, GLsizei count, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs2fvNV)
    traceGL_lookupNativeAddress("glVertexAttribs2fvNV", (void **) &traceGL_Native.glVertexAttribs2fvNV);

  traceThis = traceEnabled("glVertexAttribs2fvNV");

  if (!traceGL_Native.glVertexAttribs2fvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs2fvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("v", "%f[%d]", v, count * 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribs2fvNV(index, count, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribs2svNV(GLuint index, GLsizei count, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs2svNV)
    traceGL_lookupNativeAddress("glVertexAttribs2svNV", (void **) &traceGL_Native.glVertexAttribs2svNV);

  traceThis = traceEnabled("glVertexAttribs2svNV");

  if (!traceGL_Native.glVertexAttribs2svNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs2svNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("v", "%hd[%d]", v, count * 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribs2svNV(index, count, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribs3dvNV(GLuint index, GLsizei count, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs3dvNV)
    traceGL_lookupNativeAddress("glVertexAttribs3dvNV", (void **) &traceGL_Native.glVertexAttribs3dvNV);

  traceThis = traceEnabled("glVertexAttribs3dvNV");

  if (!traceGL_Native.glVertexAttribs3dvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs3dvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("v", "%lf[%d]", v, count * 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribs3dvNV(index, count, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribs3fvNV(GLuint index, GLsizei count, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs3fvNV)
    traceGL_lookupNativeAddress("glVertexAttribs3fvNV", (void **) &traceGL_Native.glVertexAttribs3fvNV);

  traceThis = traceEnabled("glVertexAttribs3fvNV");

  if (!traceGL_Native.glVertexAttribs3fvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs3fvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("v", "%f[%d]", v, count * 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribs3fvNV(index, count, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribs3svNV(GLuint index, GLsizei count, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs3svNV)
    traceGL_lookupNativeAddress("glVertexAttribs3svNV", (void **) &traceGL_Native.glVertexAttribs3svNV);

  traceThis = traceEnabled("glVertexAttribs3svNV");

  if (!traceGL_Native.glVertexAttribs3svNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs3svNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("v", "%hd[%d]", v, count * 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribs3svNV(index, count, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribs4dvNV(GLuint index, GLsizei count, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs4dvNV)
    traceGL_lookupNativeAddress("glVertexAttribs4dvNV", (void **) &traceGL_Native.glVertexAttribs4dvNV);

  traceThis = traceEnabled("glVertexAttribs4dvNV");

  if (!traceGL_Native.glVertexAttribs4dvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs4dvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("v", "%lf[%d]", v, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribs4dvNV(index, count, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribs4fvNV(GLuint index, GLsizei count, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs4fvNV)
    traceGL_lookupNativeAddress("glVertexAttribs4fvNV", (void **) &traceGL_Native.glVertexAttribs4fvNV);

  traceThis = traceEnabled("glVertexAttribs4fvNV");

  if (!traceGL_Native.glVertexAttribs4fvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs4fvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("v", "%f[%d]", v, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribs4fvNV(index, count, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribs4svNV(GLuint index, GLsizei count, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs4svNV)
    traceGL_lookupNativeAddress("glVertexAttribs4svNV", (void **) &traceGL_Native.glVertexAttribs4svNV);

  traceThis = traceEnabled("glVertexAttribs4svNV");

  if (!traceGL_Native.glVertexAttribs4svNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs4svNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("v", "%hd[%d]", v, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribs4svNV(index, count, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribs4ubvNV(GLuint index, GLsizei count, const GLubyte *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs4ubvNV)
    traceGL_lookupNativeAddress("glVertexAttribs4ubvNV", (void **) &traceGL_Native.glVertexAttribs4ubvNV);

  traceThis = traceEnabled("glVertexAttribs4ubvNV");

  if (!traceGL_Native.glVertexAttribs4ubvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs4ubvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("v", "%c[%d]", v, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribs4ubvNV(index, count, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexBumpParameterivATI(GLenum pname, const GLint *param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexBumpParameterivATI)
    traceGL_lookupNativeAddress("glTexBumpParameterivATI", (void **) &traceGL_Native.glTexBumpParameterivATI);

  traceThis = traceEnabled("glTexBumpParameterivATI");

  if (!traceGL_Native.glTexBumpParameterivATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexBumpParameterivATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexBumpParameterivATI(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexBumpParameterfvATI(GLenum pname, const GLfloat *param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexBumpParameterfvATI)
    traceGL_lookupNativeAddress("glTexBumpParameterfvATI", (void **) &traceGL_Native.glTexBumpParameterfvATI);

  traceThis = traceEnabled("glTexBumpParameterfvATI");

  if (!traceGL_Native.glTexBumpParameterfvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexBumpParameterfvATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexBumpParameterfvATI(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTexBumpParameterivATI(GLenum pname, GLint *param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTexBumpParameterivATI)
    traceGL_lookupNativeAddress("glGetTexBumpParameterivATI", (void **) &traceGL_Native.glGetTexBumpParameterivATI);

  traceThis = traceEnabled("glGetTexBumpParameterivATI");

  if (!traceGL_Native.glGetTexBumpParameterivATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTexBumpParameterivATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTexBumpParameterivATI(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTexBumpParameterfvATI(GLenum pname, GLfloat *param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTexBumpParameterfvATI)
    traceGL_lookupNativeAddress("glGetTexBumpParameterfvATI", (void **) &traceGL_Native.glGetTexBumpParameterfvATI);

  traceThis = traceEnabled("glGetTexBumpParameterfvATI");

  if (!traceGL_Native.glGetTexBumpParameterfvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTexBumpParameterfvATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTexBumpParameterfvATI(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLuint GLAPIENTRY
glGenFragmentShadersATI(GLuint range)
{
  GLuint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenFragmentShadersATI)
    traceGL_lookupNativeAddress("glGenFragmentShadersATI", (void **) &traceGL_Native.glGenFragmentShadersATI);

  traceThis = traceEnabled("glGenFragmentShadersATI");

  if (!traceGL_Native.glGenFragmentShadersATI)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenFragmentShadersATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("range", "%u", range);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGenFragmentShadersATI(range);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBindFragmentShaderATI(GLuint id)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindFragmentShaderATI)
    traceGL_lookupNativeAddress("glBindFragmentShaderATI", (void **) &traceGL_Native.glBindFragmentShaderATI);

  traceThis = traceEnabled("glBindFragmentShaderATI");

  if (!traceGL_Native.glBindFragmentShaderATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindFragmentShaderATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindFragmentShaderATI(id);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteFragmentShaderATI(GLuint id)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteFragmentShaderATI)
    traceGL_lookupNativeAddress("glDeleteFragmentShaderATI", (void **) &traceGL_Native.glDeleteFragmentShaderATI);

  traceThis = traceEnabled("glDeleteFragmentShaderATI");

  if (!traceGL_Native.glDeleteFragmentShaderATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteFragmentShaderATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteFragmentShaderATI(id);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBeginFragmentShaderATI()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBeginFragmentShaderATI)
    traceGL_lookupNativeAddress("glBeginFragmentShaderATI", (void **) &traceGL_Native.glBeginFragmentShaderATI);

  traceThis = traceEnabled("glBeginFragmentShaderATI");

  if (!traceGL_Native.glBeginFragmentShaderATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBeginFragmentShaderATI");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBeginFragmentShaderATI();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEndFragmentShaderATI()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndFragmentShaderATI)
    traceGL_lookupNativeAddress("glEndFragmentShaderATI", (void **) &traceGL_Native.glEndFragmentShaderATI);

  traceThis = traceEnabled("glEndFragmentShaderATI");

  if (!traceGL_Native.glEndFragmentShaderATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEndFragmentShaderATI");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEndFragmentShaderATI();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPassTexCoordATI(GLuint dst, GLuint coord, GLenum swizzle)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPassTexCoordATI)
    traceGL_lookupNativeAddress("glPassTexCoordATI", (void **) &traceGL_Native.glPassTexCoordATI);

  traceThis = traceEnabled("glPassTexCoordATI");

  if (!traceGL_Native.glPassTexCoordATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPassTexCoordATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("dst", "%u", dst);
    traceInputParameter("coord", "%u", coord);
    traceInputParameter("swizzle", "%u", swizzle);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPassTexCoordATI(dst, coord, swizzle);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSampleMapATI(GLuint dst, GLuint interp, GLenum swizzle)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSampleMapATI)
    traceGL_lookupNativeAddress("glSampleMapATI", (void **) &traceGL_Native.glSampleMapATI);

  traceThis = traceEnabled("glSampleMapATI");

  if (!traceGL_Native.glSampleMapATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSampleMapATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("dst", "%u", dst);
    traceInputParameter("interp", "%u", interp);
    traceInputParameter("swizzle", "%u", swizzle);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSampleMapATI(dst, interp, swizzle);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColorFragmentOp1ATI(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorFragmentOp1ATI)
    traceGL_lookupNativeAddress("glColorFragmentOp1ATI", (void **) &traceGL_Native.glColorFragmentOp1ATI);

  traceThis = traceEnabled("glColorFragmentOp1ATI");

  if (!traceGL_Native.glColorFragmentOp1ATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorFragmentOp1ATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("op", "%u", op);
    traceInputParameter("dst", "%u", dst);
    traceInputParameter("dstMask", "%u", dstMask);
    traceInputParameter("dstMod", "%u", dstMod);
    traceInputParameter("arg1", "%u", arg1);
    traceInputParameter("arg1Rep", "%u", arg1Rep);
    traceInputParameter("arg1Mod", "%u", arg1Mod);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColorFragmentOp1ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColorFragmentOp2ATI(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorFragmentOp2ATI)
    traceGL_lookupNativeAddress("glColorFragmentOp2ATI", (void **) &traceGL_Native.glColorFragmentOp2ATI);

  traceThis = traceEnabled("glColorFragmentOp2ATI");

  if (!traceGL_Native.glColorFragmentOp2ATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorFragmentOp2ATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("op", "%u", op);
    traceInputParameter("dst", "%u", dst);
    traceInputParameter("dstMask", "%u", dstMask);
    traceInputParameter("dstMod", "%u", dstMod);
    traceInputParameter("arg1", "%u", arg1);
    traceInputParameter("arg1Rep", "%u", arg1Rep);
    traceInputParameter("arg1Mod", "%u", arg1Mod);
    traceInputParameter("arg2", "%u", arg2);
    traceInputParameter("arg2Rep", "%u", arg2Rep);
    traceInputParameter("arg2Mod", "%u", arg2Mod);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColorFragmentOp2ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColorFragmentOp3ATI(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorFragmentOp3ATI)
    traceGL_lookupNativeAddress("glColorFragmentOp3ATI", (void **) &traceGL_Native.glColorFragmentOp3ATI);

  traceThis = traceEnabled("glColorFragmentOp3ATI");

  if (!traceGL_Native.glColorFragmentOp3ATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorFragmentOp3ATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("op", "%u", op);
    traceInputParameter("dst", "%u", dst);
    traceInputParameter("dstMask", "%u", dstMask);
    traceInputParameter("dstMod", "%u", dstMod);
    traceInputParameter("arg1", "%u", arg1);
    traceInputParameter("arg1Rep", "%u", arg1Rep);
    traceInputParameter("arg1Mod", "%u", arg1Mod);
    traceInputParameter("arg2", "%u", arg2);
    traceInputParameter("arg2Rep", "%u", arg2Rep);
    traceInputParameter("arg2Mod", "%u", arg2Mod);
    traceInputParameter("arg3", "%u", arg3);
    traceInputParameter("arg3Rep", "%u", arg3Rep);
    traceInputParameter("arg3Mod", "%u", arg3Mod);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColorFragmentOp3ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glAlphaFragmentOp1ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glAlphaFragmentOp1ATI)
    traceGL_lookupNativeAddress("glAlphaFragmentOp1ATI", (void **) &traceGL_Native.glAlphaFragmentOp1ATI);

  traceThis = traceEnabled("glAlphaFragmentOp1ATI");

  if (!traceGL_Native.glAlphaFragmentOp1ATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glAlphaFragmentOp1ATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("op", "%u", op);
    traceInputParameter("dst", "%u", dst);
    traceInputParameter("dstMod", "%u", dstMod);
    traceInputParameter("arg1", "%u", arg1);
    traceInputParameter("arg1Rep", "%u", arg1Rep);
    traceInputParameter("arg1Mod", "%u", arg1Mod);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glAlphaFragmentOp1ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glAlphaFragmentOp2ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glAlphaFragmentOp2ATI)
    traceGL_lookupNativeAddress("glAlphaFragmentOp2ATI", (void **) &traceGL_Native.glAlphaFragmentOp2ATI);

  traceThis = traceEnabled("glAlphaFragmentOp2ATI");

  if (!traceGL_Native.glAlphaFragmentOp2ATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glAlphaFragmentOp2ATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("op", "%u", op);
    traceInputParameter("dst", "%u", dst);
    traceInputParameter("dstMod", "%u", dstMod);
    traceInputParameter("arg1", "%u", arg1);
    traceInputParameter("arg1Rep", "%u", arg1Rep);
    traceInputParameter("arg1Mod", "%u", arg1Mod);
    traceInputParameter("arg2", "%u", arg2);
    traceInputParameter("arg2Rep", "%u", arg2Rep);
    traceInputParameter("arg2Mod", "%u", arg2Mod);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glAlphaFragmentOp2ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glAlphaFragmentOp3ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glAlphaFragmentOp3ATI)
    traceGL_lookupNativeAddress("glAlphaFragmentOp3ATI", (void **) &traceGL_Native.glAlphaFragmentOp3ATI);

  traceThis = traceEnabled("glAlphaFragmentOp3ATI");

  if (!traceGL_Native.glAlphaFragmentOp3ATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glAlphaFragmentOp3ATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("op", "%u", op);
    traceInputParameter("dst", "%u", dst);
    traceInputParameter("dstMod", "%u", dstMod);
    traceInputParameter("arg1", "%u", arg1);
    traceInputParameter("arg1Rep", "%u", arg1Rep);
    traceInputParameter("arg1Mod", "%u", arg1Mod);
    traceInputParameter("arg2", "%u", arg2);
    traceInputParameter("arg2Rep", "%u", arg2Rep);
    traceInputParameter("arg2Mod", "%u", arg2Mod);
    traceInputParameter("arg3", "%u", arg3);
    traceInputParameter("arg3Rep", "%u", arg3Rep);
    traceInputParameter("arg3Mod", "%u", arg3Mod);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glAlphaFragmentOp3ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSetFragmentShaderConstantATI(GLuint dst, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSetFragmentShaderConstantATI)
    traceGL_lookupNativeAddress("glSetFragmentShaderConstantATI", (void **) &traceGL_Native.glSetFragmentShaderConstantATI);

  traceThis = traceEnabled("glSetFragmentShaderConstantATI");

  if (!traceGL_Native.glSetFragmentShaderConstantATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSetFragmentShaderConstantATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("dst", "%u", dst);
    traceInputParameter("value", "%f[%d]", value, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSetFragmentShaderConstantATI(dst, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPNTrianglesiATI(GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPNTrianglesiATI)
    traceGL_lookupNativeAddress("glPNTrianglesiATI", (void **) &traceGL_Native.glPNTrianglesiATI);

  traceThis = traceEnabled("glPNTrianglesiATI");

  if (!traceGL_Native.glPNTrianglesiATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPNTrianglesiATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPNTrianglesiATI(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPNTrianglesfATI(GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPNTrianglesfATI)
    traceGL_lookupNativeAddress("glPNTrianglesfATI", (void **) &traceGL_Native.glPNTrianglesfATI);

  traceThis = traceEnabled("glPNTrianglesfATI");

  if (!traceGL_Native.glPNTrianglesfATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPNTrianglesfATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPNTrianglesfATI(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLuint GLAPIENTRY
glNewObjectBufferATI(GLsizei size, const GLvoid *pointer, GLenum usage)
{
  GLuint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNewObjectBufferATI)
    traceGL_lookupNativeAddress("glNewObjectBufferATI", (void **) &traceGL_Native.glNewObjectBufferATI);

  traceThis = traceEnabled("glNewObjectBufferATI");

  if (!traceGL_Native.glNewObjectBufferATI)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNewObjectBufferATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("pointer", "%p", pointer);
    traceInputParameter("usage", "%u", usage);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glNewObjectBufferATI(size, pointer, usage);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLboolean GLAPIENTRY
glIsObjectBufferATI(GLuint buffer)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsObjectBufferATI)
    traceGL_lookupNativeAddress("glIsObjectBufferATI", (void **) &traceGL_Native.glIsObjectBufferATI);

  traceThis = traceEnabled("glIsObjectBufferATI");

  if (!traceGL_Native.glIsObjectBufferATI)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsObjectBufferATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buffer", "%u", buffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsObjectBufferATI(buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glUpdateObjectBufferATI(GLuint buffer, GLuint offset, GLsizei size, const GLvoid *pointer, GLenum preserve)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUpdateObjectBufferATI)
    traceGL_lookupNativeAddress("glUpdateObjectBufferATI", (void **) &traceGL_Native.glUpdateObjectBufferATI);

  traceThis = traceEnabled("glUpdateObjectBufferATI");

  if (!traceGL_Native.glUpdateObjectBufferATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUpdateObjectBufferATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("offset", "%u", offset);
    traceInputParameter("size", "%d", size);
    traceInputParameter("pointer", "%p", pointer);
    traceInputParameter("preserve", "%u", preserve);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUpdateObjectBufferATI(buffer, offset, size, pointer, preserve);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetObjectBufferfvATI(GLuint buffer, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetObjectBufferfvATI)
    traceGL_lookupNativeAddress("glGetObjectBufferfvATI", (void **) &traceGL_Native.glGetObjectBufferfvATI);

  traceThis = traceEnabled("glGetObjectBufferfvATI");

  if (!traceGL_Native.glGetObjectBufferfvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetObjectBufferfvATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetObjectBufferfvATI(buffer, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%f[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetObjectBufferivATI(GLuint buffer, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetObjectBufferivATI)
    traceGL_lookupNativeAddress("glGetObjectBufferivATI", (void **) &traceGL_Native.glGetObjectBufferivATI);

  traceThis = traceEnabled("glGetObjectBufferivATI");

  if (!traceGL_Native.glGetObjectBufferivATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetObjectBufferivATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetObjectBufferivATI(buffer, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%d[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFreeObjectBufferATI(GLuint buffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFreeObjectBufferATI)
    traceGL_lookupNativeAddress("glFreeObjectBufferATI", (void **) &traceGL_Native.glFreeObjectBufferATI);

  traceThis = traceEnabled("glFreeObjectBufferATI");

  if (!traceGL_Native.glFreeObjectBufferATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFreeObjectBufferATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buffer", "%u", buffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFreeObjectBufferATI(buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glArrayObjectATI(GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glArrayObjectATI)
    traceGL_lookupNativeAddress("glArrayObjectATI", (void **) &traceGL_Native.glArrayObjectATI);

  traceThis = traceEnabled("glArrayObjectATI");

  if (!traceGL_Native.glArrayObjectATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glArrayObjectATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("array", "%u", array);
    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("offset", "%u", offset);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glArrayObjectATI(array, size, type, stride, buffer, offset);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetArrayObjectfvATI(GLenum array, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetArrayObjectfvATI)
    traceGL_lookupNativeAddress("glGetArrayObjectfvATI", (void **) &traceGL_Native.glGetArrayObjectfvATI);

  traceThis = traceEnabled("glGetArrayObjectfvATI");

  if (!traceGL_Native.glGetArrayObjectfvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetArrayObjectfvATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("array", "%u", array);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetArrayObjectfvATI(array, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%f[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetArrayObjectivATI(GLenum array, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetArrayObjectivATI)
    traceGL_lookupNativeAddress("glGetArrayObjectivATI", (void **) &traceGL_Native.glGetArrayObjectivATI);

  traceThis = traceEnabled("glGetArrayObjectivATI");

  if (!traceGL_Native.glGetArrayObjectivATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetArrayObjectivATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("array", "%u", array);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetArrayObjectivATI(array, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%d[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVariantArrayObjectATI(GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVariantArrayObjectATI)
    traceGL_lookupNativeAddress("glVariantArrayObjectATI", (void **) &traceGL_Native.glVariantArrayObjectATI);

  traceThis = traceEnabled("glVariantArrayObjectATI");

  if (!traceGL_Native.glVariantArrayObjectATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVariantArrayObjectATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("offset", "%u", offset);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVariantArrayObjectATI(id, type, stride, buffer, offset);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVariantArrayObjectfvATI(GLuint id, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVariantArrayObjectfvATI)
    traceGL_lookupNativeAddress("glGetVariantArrayObjectfvATI", (void **) &traceGL_Native.glGetVariantArrayObjectfvATI);

  traceThis = traceEnabled("glGetVariantArrayObjectfvATI");

  if (!traceGL_Native.glGetVariantArrayObjectfvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVariantArrayObjectfvATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVariantArrayObjectfvATI(id, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%f[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVariantArrayObjectivATI(GLuint id, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVariantArrayObjectivATI)
    traceGL_lookupNativeAddress("glGetVariantArrayObjectivATI", (void **) &traceGL_Native.glGetVariantArrayObjectivATI);

  traceThis = traceEnabled("glGetVariantArrayObjectivATI");

  if (!traceGL_Native.glGetVariantArrayObjectivATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVariantArrayObjectivATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVariantArrayObjectivATI(id, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%d[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBeginVertexShaderEXT()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBeginVertexShaderEXT)
    traceGL_lookupNativeAddress("glBeginVertexShaderEXT", (void **) &traceGL_Native.glBeginVertexShaderEXT);

  traceThis = traceEnabled("glBeginVertexShaderEXT");

  if (!traceGL_Native.glBeginVertexShaderEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBeginVertexShaderEXT");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBeginVertexShaderEXT();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEndVertexShaderEXT()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndVertexShaderEXT)
    traceGL_lookupNativeAddress("glEndVertexShaderEXT", (void **) &traceGL_Native.glEndVertexShaderEXT);

  traceThis = traceEnabled("glEndVertexShaderEXT");

  if (!traceGL_Native.glEndVertexShaderEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEndVertexShaderEXT");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEndVertexShaderEXT();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBindVertexShaderEXT(GLuint id)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindVertexShaderEXT)
    traceGL_lookupNativeAddress("glBindVertexShaderEXT", (void **) &traceGL_Native.glBindVertexShaderEXT);

  traceThis = traceEnabled("glBindVertexShaderEXT");

  if (!traceGL_Native.glBindVertexShaderEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindVertexShaderEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindVertexShaderEXT(id);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLuint GLAPIENTRY
glGenVertexShadersEXT(GLuint range)
{
  GLuint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenVertexShadersEXT)
    traceGL_lookupNativeAddress("glGenVertexShadersEXT", (void **) &traceGL_Native.glGenVertexShadersEXT);

  traceThis = traceEnabled("glGenVertexShadersEXT");

  if (!traceGL_Native.glGenVertexShadersEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenVertexShadersEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("range", "%u", range);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGenVertexShadersEXT(range);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glDeleteVertexShaderEXT(GLuint id)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteVertexShaderEXT)
    traceGL_lookupNativeAddress("glDeleteVertexShaderEXT", (void **) &traceGL_Native.glDeleteVertexShaderEXT);

  traceThis = traceEnabled("glDeleteVertexShaderEXT");

  if (!traceGL_Native.glDeleteVertexShaderEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteVertexShaderEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteVertexShaderEXT(id);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glShaderOp1EXT(GLenum op, GLuint res, GLuint arg1)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glShaderOp1EXT)
    traceGL_lookupNativeAddress("glShaderOp1EXT", (void **) &traceGL_Native.glShaderOp1EXT);

  traceThis = traceEnabled("glShaderOp1EXT");

  if (!traceGL_Native.glShaderOp1EXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glShaderOp1EXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("op", "%u", op);
    traceInputParameter("res", "%u", res);
    traceInputParameter("arg1", "%u", arg1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glShaderOp1EXT(op, res, arg1);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glShaderOp2EXT(GLenum op, GLuint res, GLuint arg1, GLuint arg2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glShaderOp2EXT)
    traceGL_lookupNativeAddress("glShaderOp2EXT", (void **) &traceGL_Native.glShaderOp2EXT);

  traceThis = traceEnabled("glShaderOp2EXT");

  if (!traceGL_Native.glShaderOp2EXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glShaderOp2EXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("op", "%u", op);
    traceInputParameter("res", "%u", res);
    traceInputParameter("arg1", "%u", arg1);
    traceInputParameter("arg2", "%u", arg2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glShaderOp2EXT(op, res, arg1, arg2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glShaderOp3EXT(GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glShaderOp3EXT)
    traceGL_lookupNativeAddress("glShaderOp3EXT", (void **) &traceGL_Native.glShaderOp3EXT);

  traceThis = traceEnabled("glShaderOp3EXT");

  if (!traceGL_Native.glShaderOp3EXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glShaderOp3EXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("op", "%u", op);
    traceInputParameter("res", "%u", res);
    traceInputParameter("arg1", "%u", arg1);
    traceInputParameter("arg2", "%u", arg2);
    traceInputParameter("arg3", "%u", arg3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glShaderOp3EXT(op, res, arg1, arg2, arg3);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSwizzleEXT(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSwizzleEXT)
    traceGL_lookupNativeAddress("glSwizzleEXT", (void **) &traceGL_Native.glSwizzleEXT);

  traceThis = traceEnabled("glSwizzleEXT");

  if (!traceGL_Native.glSwizzleEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSwizzleEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("res", "%u", res);
    traceInputParameter("in", "%u", in);
    traceInputParameter("outX", "%u", outX);
    traceInputParameter("outY", "%u", outY);
    traceInputParameter("outZ", "%u", outZ);
    traceInputParameter("outW", "%u", outW);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSwizzleEXT(res, in, outX, outY, outZ, outW);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glWriteMaskEXT(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWriteMaskEXT)
    traceGL_lookupNativeAddress("glWriteMaskEXT", (void **) &traceGL_Native.glWriteMaskEXT);

  traceThis = traceEnabled("glWriteMaskEXT");

  if (!traceGL_Native.glWriteMaskEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWriteMaskEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("res", "%u", res);
    traceInputParameter("in", "%u", in);
    traceInputParameter("outX", "%u", outX);
    traceInputParameter("outY", "%u", outY);
    traceInputParameter("outZ", "%u", outZ);
    traceInputParameter("outW", "%u", outW);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glWriteMaskEXT(res, in, outX, outY, outZ, outW);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glInsertComponentEXT(GLuint res, GLuint src, GLuint num)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glInsertComponentEXT)
    traceGL_lookupNativeAddress("glInsertComponentEXT", (void **) &traceGL_Native.glInsertComponentEXT);

  traceThis = traceEnabled("glInsertComponentEXT");

  if (!traceGL_Native.glInsertComponentEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glInsertComponentEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("res", "%u", res);
    traceInputParameter("src", "%u", src);
    traceInputParameter("num", "%u", num);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glInsertComponentEXT(res, src, num);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glExtractComponentEXT(GLuint res, GLuint src, GLuint num)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glExtractComponentEXT)
    traceGL_lookupNativeAddress("glExtractComponentEXT", (void **) &traceGL_Native.glExtractComponentEXT);

  traceThis = traceEnabled("glExtractComponentEXT");

  if (!traceGL_Native.glExtractComponentEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glExtractComponentEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("res", "%u", res);
    traceInputParameter("src", "%u", src);
    traceInputParameter("num", "%u", num);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glExtractComponentEXT(res, src, num);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLuint GLAPIENTRY
glGenSymbolsEXT(GLenum datatype, GLenum storagetype, GLenum range, GLuint components)
{
  GLuint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenSymbolsEXT)
    traceGL_lookupNativeAddress("glGenSymbolsEXT", (void **) &traceGL_Native.glGenSymbolsEXT);

  traceThis = traceEnabled("glGenSymbolsEXT");

  if (!traceGL_Native.glGenSymbolsEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenSymbolsEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("datatype", "%u", datatype);
    traceInputParameter("storagetype", "%u", storagetype);
    traceInputParameter("range", "%u", range);
    traceInputParameter("components", "%u", components);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGenSymbolsEXT(datatype, storagetype, range, components);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glSetInvariantEXT(GLuint id, GLenum type, const GLvoid *addr)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSetInvariantEXT)
    traceGL_lookupNativeAddress("glSetInvariantEXT", (void **) &traceGL_Native.glSetInvariantEXT);

  traceThis = traceEnabled("glSetInvariantEXT");

  if (!traceGL_Native.glSetInvariantEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSetInvariantEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("type", "%u", type);
    traceInputParameter("addr", "%p", addr);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSetInvariantEXT(id, type, addr);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSetLocalConstantEXT(GLuint id, GLenum type, const GLvoid *addr)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSetLocalConstantEXT)
    traceGL_lookupNativeAddress("glSetLocalConstantEXT", (void **) &traceGL_Native.glSetLocalConstantEXT);

  traceThis = traceEnabled("glSetLocalConstantEXT");

  if (!traceGL_Native.glSetLocalConstantEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSetLocalConstantEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("type", "%u", type);
    traceInputParameter("addr", "%p", addr);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSetLocalConstantEXT(id, type, addr);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVariantbvEXT(GLuint id, const GLbyte *addr)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVariantbvEXT)
    traceGL_lookupNativeAddress("glVariantbvEXT", (void **) &traceGL_Native.glVariantbvEXT);

  traceThis = traceEnabled("glVariantbvEXT");

  if (!traceGL_Native.glVariantbvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVariantbvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("addr", "%s", addr);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVariantbvEXT(id, addr);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVariantsvEXT(GLuint id, const GLshort *addr)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVariantsvEXT)
    traceGL_lookupNativeAddress("glVariantsvEXT", (void **) &traceGL_Native.glVariantsvEXT);

  traceThis = traceEnabled("glVariantsvEXT");

  if (!traceGL_Native.glVariantsvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVariantsvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVariantsvEXT(id, addr);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVariantivEXT(GLuint id, const GLint *addr)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVariantivEXT)
    traceGL_lookupNativeAddress("glVariantivEXT", (void **) &traceGL_Native.glVariantivEXT);

  traceThis = traceEnabled("glVariantivEXT");

  if (!traceGL_Native.glVariantivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVariantivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVariantivEXT(id, addr);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVariantfvEXT(GLuint id, const GLfloat *addr)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVariantfvEXT)
    traceGL_lookupNativeAddress("glVariantfvEXT", (void **) &traceGL_Native.glVariantfvEXT);

  traceThis = traceEnabled("glVariantfvEXT");

  if (!traceGL_Native.glVariantfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVariantfvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVariantfvEXT(id, addr);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVariantdvEXT(GLuint id, const GLdouble *addr)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVariantdvEXT)
    traceGL_lookupNativeAddress("glVariantdvEXT", (void **) &traceGL_Native.glVariantdvEXT);

  traceThis = traceEnabled("glVariantdvEXT");

  if (!traceGL_Native.glVariantdvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVariantdvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVariantdvEXT(id, addr);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVariantubvEXT(GLuint id, const GLubyte *addr)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVariantubvEXT)
    traceGL_lookupNativeAddress("glVariantubvEXT", (void **) &traceGL_Native.glVariantubvEXT);

  traceThis = traceEnabled("glVariantubvEXT");

  if (!traceGL_Native.glVariantubvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVariantubvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("addr", "%s", addr);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVariantubvEXT(id, addr);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVariantusvEXT(GLuint id, const GLushort *addr)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVariantusvEXT)
    traceGL_lookupNativeAddress("glVariantusvEXT", (void **) &traceGL_Native.glVariantusvEXT);

  traceThis = traceEnabled("glVariantusvEXT");

  if (!traceGL_Native.glVariantusvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVariantusvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVariantusvEXT(id, addr);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVariantuivEXT(GLuint id, const GLuint *addr)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVariantuivEXT)
    traceGL_lookupNativeAddress("glVariantuivEXT", (void **) &traceGL_Native.glVariantuivEXT);

  traceThis = traceEnabled("glVariantuivEXT");

  if (!traceGL_Native.glVariantuivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVariantuivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVariantuivEXT(id, addr);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVariantPointerEXT(GLuint id, GLenum type, GLuint stride, const GLvoid *addr)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVariantPointerEXT)
    traceGL_lookupNativeAddress("glVariantPointerEXT", (void **) &traceGL_Native.glVariantPointerEXT);

  traceThis = traceEnabled("glVariantPointerEXT");

  if (!traceGL_Native.glVariantPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVariantPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%u", stride);
    traceInputParameter("addr", "%p", addr);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVariantPointerEXT(id, type, stride, addr);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEnableVariantClientStateEXT(GLuint id)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEnableVariantClientStateEXT)
    traceGL_lookupNativeAddress("glEnableVariantClientStateEXT", (void **) &traceGL_Native.glEnableVariantClientStateEXT);

  traceThis = traceEnabled("glEnableVariantClientStateEXT");

  if (!traceGL_Native.glEnableVariantClientStateEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEnableVariantClientStateEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEnableVariantClientStateEXT(id);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDisableVariantClientStateEXT(GLuint id)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDisableVariantClientStateEXT)
    traceGL_lookupNativeAddress("glDisableVariantClientStateEXT", (void **) &traceGL_Native.glDisableVariantClientStateEXT);

  traceThis = traceEnabled("glDisableVariantClientStateEXT");

  if (!traceGL_Native.glDisableVariantClientStateEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDisableVariantClientStateEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDisableVariantClientStateEXT(id);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLuint GLAPIENTRY
glBindLightParameterEXT(GLenum light, GLenum value)
{
  GLuint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindLightParameterEXT)
    traceGL_lookupNativeAddress("glBindLightParameterEXT", (void **) &traceGL_Native.glBindLightParameterEXT);

  traceThis = traceEnabled("glBindLightParameterEXT");

  if (!traceGL_Native.glBindLightParameterEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindLightParameterEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("light", "%u", light);
    traceInputParameter("value", "%u", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glBindLightParameterEXT(light, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLuint GLAPIENTRY
glBindMaterialParameterEXT(GLenum face, GLenum value)
{
  GLuint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindMaterialParameterEXT)
    traceGL_lookupNativeAddress("glBindMaterialParameterEXT", (void **) &traceGL_Native.glBindMaterialParameterEXT);

  traceThis = traceEnabled("glBindMaterialParameterEXT");

  if (!traceGL_Native.glBindMaterialParameterEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindMaterialParameterEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("face", "%u", face);
    traceInputParameter("value", "%u", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glBindMaterialParameterEXT(face, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLuint GLAPIENTRY
glBindTexGenParameterEXT(GLenum unit, GLenum coord, GLenum value)
{
  GLuint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindTexGenParameterEXT)
    traceGL_lookupNativeAddress("glBindTexGenParameterEXT", (void **) &traceGL_Native.glBindTexGenParameterEXT);

  traceThis = traceEnabled("glBindTexGenParameterEXT");

  if (!traceGL_Native.glBindTexGenParameterEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindTexGenParameterEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("unit", "%u", unit);
    traceInputParameter("coord", "%u", coord);
    traceInputParameter("value", "%u", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glBindTexGenParameterEXT(unit, coord, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLuint GLAPIENTRY
glBindTextureUnitParameterEXT(GLenum unit, GLenum value)
{
  GLuint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindTextureUnitParameterEXT)
    traceGL_lookupNativeAddress("glBindTextureUnitParameterEXT", (void **) &traceGL_Native.glBindTextureUnitParameterEXT);

  traceThis = traceEnabled("glBindTextureUnitParameterEXT");

  if (!traceGL_Native.glBindTextureUnitParameterEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindTextureUnitParameterEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("unit", "%u", unit);
    traceInputParameter("value", "%u", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glBindTextureUnitParameterEXT(unit, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLuint GLAPIENTRY
glBindParameterEXT(GLenum value)
{
  GLuint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindParameterEXT)
    traceGL_lookupNativeAddress("glBindParameterEXT", (void **) &traceGL_Native.glBindParameterEXT);

  traceThis = traceEnabled("glBindParameterEXT");

  if (!traceGL_Native.glBindParameterEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindParameterEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("value", "%u", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glBindParameterEXT(value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLboolean GLAPIENTRY
glIsVariantEnabledEXT(GLuint id, GLenum cap)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsVariantEnabledEXT)
    traceGL_lookupNativeAddress("glIsVariantEnabledEXT", (void **) &traceGL_Native.glIsVariantEnabledEXT);

  traceThis = traceEnabled("glIsVariantEnabledEXT");

  if (!traceGL_Native.glIsVariantEnabledEXT)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsVariantEnabledEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("cap", "%u", cap);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsVariantEnabledEXT(id, cap);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetVariantBooleanvEXT(GLuint id, GLenum value, GLboolean *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVariantBooleanvEXT)
    traceGL_lookupNativeAddress("glGetVariantBooleanvEXT", (void **) &traceGL_Native.glGetVariantBooleanvEXT);

  traceThis = traceEnabled("glGetVariantBooleanvEXT");

  if (!traceGL_Native.glGetVariantBooleanvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVariantBooleanvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("value", "%u", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVariantBooleanvEXT(id, value, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVariantIntegervEXT(GLuint id, GLenum value, GLint *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVariantIntegervEXT)
    traceGL_lookupNativeAddress("glGetVariantIntegervEXT", (void **) &traceGL_Native.glGetVariantIntegervEXT);

  traceThis = traceEnabled("glGetVariantIntegervEXT");

  if (!traceGL_Native.glGetVariantIntegervEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVariantIntegervEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("value", "%u", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVariantIntegervEXT(id, value, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVariantFloatvEXT(GLuint id, GLenum value, GLfloat *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVariantFloatvEXT)
    traceGL_lookupNativeAddress("glGetVariantFloatvEXT", (void **) &traceGL_Native.glGetVariantFloatvEXT);

  traceThis = traceEnabled("glGetVariantFloatvEXT");

  if (!traceGL_Native.glGetVariantFloatvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVariantFloatvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("value", "%u", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVariantFloatvEXT(id, value, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVariantPointervEXT(GLuint id, GLenum value, GLvoid **data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVariantPointervEXT)
    traceGL_lookupNativeAddress("glGetVariantPointervEXT", (void **) &traceGL_Native.glGetVariantPointervEXT);

  traceThis = traceEnabled("glGetVariantPointervEXT");

  if (!traceGL_Native.glGetVariantPointervEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVariantPointervEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("value", "%u", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVariantPointervEXT(id, value, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetInvariantBooleanvEXT(GLuint id, GLenum value, GLboolean *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetInvariantBooleanvEXT)
    traceGL_lookupNativeAddress("glGetInvariantBooleanvEXT", (void **) &traceGL_Native.glGetInvariantBooleanvEXT);

  traceThis = traceEnabled("glGetInvariantBooleanvEXT");

  if (!traceGL_Native.glGetInvariantBooleanvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetInvariantBooleanvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("value", "%u", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetInvariantBooleanvEXT(id, value, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetInvariantIntegervEXT(GLuint id, GLenum value, GLint *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetInvariantIntegervEXT)
    traceGL_lookupNativeAddress("glGetInvariantIntegervEXT", (void **) &traceGL_Native.glGetInvariantIntegervEXT);

  traceThis = traceEnabled("glGetInvariantIntegervEXT");

  if (!traceGL_Native.glGetInvariantIntegervEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetInvariantIntegervEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("value", "%u", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetInvariantIntegervEXT(id, value, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetInvariantFloatvEXT(GLuint id, GLenum value, GLfloat *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetInvariantFloatvEXT)
    traceGL_lookupNativeAddress("glGetInvariantFloatvEXT", (void **) &traceGL_Native.glGetInvariantFloatvEXT);

  traceThis = traceEnabled("glGetInvariantFloatvEXT");

  if (!traceGL_Native.glGetInvariantFloatvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetInvariantFloatvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("value", "%u", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetInvariantFloatvEXT(id, value, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetLocalConstantBooleanvEXT(GLuint id, GLenum value, GLboolean *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetLocalConstantBooleanvEXT)
    traceGL_lookupNativeAddress("glGetLocalConstantBooleanvEXT", (void **) &traceGL_Native.glGetLocalConstantBooleanvEXT);

  traceThis = traceEnabled("glGetLocalConstantBooleanvEXT");

  if (!traceGL_Native.glGetLocalConstantBooleanvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetLocalConstantBooleanvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("value", "%u", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetLocalConstantBooleanvEXT(id, value, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetLocalConstantIntegervEXT(GLuint id, GLenum value, GLint *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetLocalConstantIntegervEXT)
    traceGL_lookupNativeAddress("glGetLocalConstantIntegervEXT", (void **) &traceGL_Native.glGetLocalConstantIntegervEXT);

  traceThis = traceEnabled("glGetLocalConstantIntegervEXT");

  if (!traceGL_Native.glGetLocalConstantIntegervEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetLocalConstantIntegervEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("value", "%u", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetLocalConstantIntegervEXT(id, value, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetLocalConstantFloatvEXT(GLuint id, GLenum value, GLfloat *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetLocalConstantFloatvEXT)
    traceGL_lookupNativeAddress("glGetLocalConstantFloatvEXT", (void **) &traceGL_Native.glGetLocalConstantFloatvEXT);

  traceThis = traceEnabled("glGetLocalConstantFloatvEXT");

  if (!traceGL_Native.glGetLocalConstantFloatvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetLocalConstantFloatvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("value", "%u", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetLocalConstantFloatvEXT(id, value, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream1sATI(GLenum stream, GLshort x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream1sATI)
    traceGL_lookupNativeAddress("glVertexStream1sATI", (void **) &traceGL_Native.glVertexStream1sATI);

  traceThis = traceEnabled("glVertexStream1sATI");

  if (!traceGL_Native.glVertexStream1sATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream1sATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("x", "%hd", x);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream1sATI(stream, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream1svATI(GLenum stream, const GLshort *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream1svATI)
    traceGL_lookupNativeAddress("glVertexStream1svATI", (void **) &traceGL_Native.glVertexStream1svATI);

  traceThis = traceEnabled("glVertexStream1svATI");

  if (!traceGL_Native.glVertexStream1svATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream1svATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("coords", "%hd[%d]", coords, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream1svATI(stream, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream1iATI(GLenum stream, GLint x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream1iATI)
    traceGL_lookupNativeAddress("glVertexStream1iATI", (void **) &traceGL_Native.glVertexStream1iATI);

  traceThis = traceEnabled("glVertexStream1iATI");

  if (!traceGL_Native.glVertexStream1iATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream1iATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("x", "%d", x);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream1iATI(stream, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream1ivATI(GLenum stream, const GLint *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream1ivATI)
    traceGL_lookupNativeAddress("glVertexStream1ivATI", (void **) &traceGL_Native.glVertexStream1ivATI);

  traceThis = traceEnabled("glVertexStream1ivATI");

  if (!traceGL_Native.glVertexStream1ivATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream1ivATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("coords", "%d[%d]", coords, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream1ivATI(stream, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream1fATI(GLenum stream, GLfloat x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream1fATI)
    traceGL_lookupNativeAddress("glVertexStream1fATI", (void **) &traceGL_Native.glVertexStream1fATI);

  traceThis = traceEnabled("glVertexStream1fATI");

  if (!traceGL_Native.glVertexStream1fATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream1fATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("x", "%f", x);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream1fATI(stream, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream1fvATI(GLenum stream, const GLfloat *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream1fvATI)
    traceGL_lookupNativeAddress("glVertexStream1fvATI", (void **) &traceGL_Native.glVertexStream1fvATI);

  traceThis = traceEnabled("glVertexStream1fvATI");

  if (!traceGL_Native.glVertexStream1fvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream1fvATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("coords", "%f[%d]", coords, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream1fvATI(stream, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream1dATI(GLenum stream, GLdouble x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream1dATI)
    traceGL_lookupNativeAddress("glVertexStream1dATI", (void **) &traceGL_Native.glVertexStream1dATI);

  traceThis = traceEnabled("glVertexStream1dATI");

  if (!traceGL_Native.glVertexStream1dATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream1dATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("x", "%lf", x);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream1dATI(stream, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream1dvATI(GLenum stream, const GLdouble *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream1dvATI)
    traceGL_lookupNativeAddress("glVertexStream1dvATI", (void **) &traceGL_Native.glVertexStream1dvATI);

  traceThis = traceEnabled("glVertexStream1dvATI");

  if (!traceGL_Native.glVertexStream1dvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream1dvATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("coords", "%lf[%d]", coords, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream1dvATI(stream, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream2sATI(GLenum stream, GLshort x, GLshort y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream2sATI)
    traceGL_lookupNativeAddress("glVertexStream2sATI", (void **) &traceGL_Native.glVertexStream2sATI);

  traceThis = traceEnabled("glVertexStream2sATI");

  if (!traceGL_Native.glVertexStream2sATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream2sATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("x", "%hd", x);
    traceInputParameter("y", "%hd", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream2sATI(stream, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream2svATI(GLenum stream, const GLshort *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream2svATI)
    traceGL_lookupNativeAddress("glVertexStream2svATI", (void **) &traceGL_Native.glVertexStream2svATI);

  traceThis = traceEnabled("glVertexStream2svATI");

  if (!traceGL_Native.glVertexStream2svATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream2svATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("coords", "%hd[%d]", coords, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream2svATI(stream, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream2iATI(GLenum stream, GLint x, GLint y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream2iATI)
    traceGL_lookupNativeAddress("glVertexStream2iATI", (void **) &traceGL_Native.glVertexStream2iATI);

  traceThis = traceEnabled("glVertexStream2iATI");

  if (!traceGL_Native.glVertexStream2iATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream2iATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream2iATI(stream, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream2ivATI(GLenum stream, const GLint *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream2ivATI)
    traceGL_lookupNativeAddress("glVertexStream2ivATI", (void **) &traceGL_Native.glVertexStream2ivATI);

  traceThis = traceEnabled("glVertexStream2ivATI");

  if (!traceGL_Native.glVertexStream2ivATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream2ivATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("coords", "%d[%d]", coords, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream2ivATI(stream, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream2fATI(GLenum stream, GLfloat x, GLfloat y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream2fATI)
    traceGL_lookupNativeAddress("glVertexStream2fATI", (void **) &traceGL_Native.glVertexStream2fATI);

  traceThis = traceEnabled("glVertexStream2fATI");

  if (!traceGL_Native.glVertexStream2fATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream2fATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream2fATI(stream, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream2fvATI(GLenum stream, const GLfloat *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream2fvATI)
    traceGL_lookupNativeAddress("glVertexStream2fvATI", (void **) &traceGL_Native.glVertexStream2fvATI);

  traceThis = traceEnabled("glVertexStream2fvATI");

  if (!traceGL_Native.glVertexStream2fvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream2fvATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("coords", "%f[%d]", coords, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream2fvATI(stream, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream2dATI(GLenum stream, GLdouble x, GLdouble y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream2dATI)
    traceGL_lookupNativeAddress("glVertexStream2dATI", (void **) &traceGL_Native.glVertexStream2dATI);

  traceThis = traceEnabled("glVertexStream2dATI");

  if (!traceGL_Native.glVertexStream2dATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream2dATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream2dATI(stream, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream2dvATI(GLenum stream, const GLdouble *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream2dvATI)
    traceGL_lookupNativeAddress("glVertexStream2dvATI", (void **) &traceGL_Native.glVertexStream2dvATI);

  traceThis = traceEnabled("glVertexStream2dvATI");

  if (!traceGL_Native.glVertexStream2dvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream2dvATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("coords", "%lf[%d]", coords, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream2dvATI(stream, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream3sATI(GLenum stream, GLshort x, GLshort y, GLshort z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream3sATI)
    traceGL_lookupNativeAddress("glVertexStream3sATI", (void **) &traceGL_Native.glVertexStream3sATI);

  traceThis = traceEnabled("glVertexStream3sATI");

  if (!traceGL_Native.glVertexStream3sATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream3sATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("x", "%hd", x);
    traceInputParameter("y", "%hd", y);
    traceInputParameter("z", "%hd", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream3sATI(stream, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream3svATI(GLenum stream, const GLshort *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream3svATI)
    traceGL_lookupNativeAddress("glVertexStream3svATI", (void **) &traceGL_Native.glVertexStream3svATI);

  traceThis = traceEnabled("glVertexStream3svATI");

  if (!traceGL_Native.glVertexStream3svATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream3svATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("coords", "%hd[%d]", coords, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream3svATI(stream, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream3iATI(GLenum stream, GLint x, GLint y, GLint z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream3iATI)
    traceGL_lookupNativeAddress("glVertexStream3iATI", (void **) &traceGL_Native.glVertexStream3iATI);

  traceThis = traceEnabled("glVertexStream3iATI");

  if (!traceGL_Native.glVertexStream3iATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream3iATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("z", "%d", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream3iATI(stream, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream3ivATI(GLenum stream, const GLint *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream3ivATI)
    traceGL_lookupNativeAddress("glVertexStream3ivATI", (void **) &traceGL_Native.glVertexStream3ivATI);

  traceThis = traceEnabled("glVertexStream3ivATI");

  if (!traceGL_Native.glVertexStream3ivATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream3ivATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("coords", "%d[%d]", coords, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream3ivATI(stream, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream3fATI(GLenum stream, GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream3fATI)
    traceGL_lookupNativeAddress("glVertexStream3fATI", (void **) &traceGL_Native.glVertexStream3fATI);

  traceThis = traceEnabled("glVertexStream3fATI");

  if (!traceGL_Native.glVertexStream3fATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream3fATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream3fATI(stream, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream3fvATI(GLenum stream, const GLfloat *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream3fvATI)
    traceGL_lookupNativeAddress("glVertexStream3fvATI", (void **) &traceGL_Native.glVertexStream3fvATI);

  traceThis = traceEnabled("glVertexStream3fvATI");

  if (!traceGL_Native.glVertexStream3fvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream3fvATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("coords", "%f[%d]", coords, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream3fvATI(stream, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream3dATI(GLenum stream, GLdouble x, GLdouble y, GLdouble z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream3dATI)
    traceGL_lookupNativeAddress("glVertexStream3dATI", (void **) &traceGL_Native.glVertexStream3dATI);

  traceThis = traceEnabled("glVertexStream3dATI");

  if (!traceGL_Native.glVertexStream3dATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream3dATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream3dATI(stream, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream3dvATI(GLenum stream, const GLdouble *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream3dvATI)
    traceGL_lookupNativeAddress("glVertexStream3dvATI", (void **) &traceGL_Native.glVertexStream3dvATI);

  traceThis = traceEnabled("glVertexStream3dvATI");

  if (!traceGL_Native.glVertexStream3dvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream3dvATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("coords", "%lf[%d]", coords, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream3dvATI(stream, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream4sATI(GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream4sATI)
    traceGL_lookupNativeAddress("glVertexStream4sATI", (void **) &traceGL_Native.glVertexStream4sATI);

  traceThis = traceEnabled("glVertexStream4sATI");

  if (!traceGL_Native.glVertexStream4sATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream4sATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("x", "%hd", x);
    traceInputParameter("y", "%hd", y);
    traceInputParameter("z", "%hd", z);
    traceInputParameter("w", "%hd", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream4sATI(stream, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream4svATI(GLenum stream, const GLshort *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream4svATI)
    traceGL_lookupNativeAddress("glVertexStream4svATI", (void **) &traceGL_Native.glVertexStream4svATI);

  traceThis = traceEnabled("glVertexStream4svATI");

  if (!traceGL_Native.glVertexStream4svATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream4svATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("coords", "%hd[%d]", coords, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream4svATI(stream, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream4iATI(GLenum stream, GLint x, GLint y, GLint z, GLint w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream4iATI)
    traceGL_lookupNativeAddress("glVertexStream4iATI", (void **) &traceGL_Native.glVertexStream4iATI);

  traceThis = traceEnabled("glVertexStream4iATI");

  if (!traceGL_Native.glVertexStream4iATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream4iATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("z", "%d", z);
    traceInputParameter("w", "%d", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream4iATI(stream, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream4ivATI(GLenum stream, const GLint *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream4ivATI)
    traceGL_lookupNativeAddress("glVertexStream4ivATI", (void **) &traceGL_Native.glVertexStream4ivATI);

  traceThis = traceEnabled("glVertexStream4ivATI");

  if (!traceGL_Native.glVertexStream4ivATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream4ivATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("coords", "%d[%d]", coords, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream4ivATI(stream, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream4fATI(GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream4fATI)
    traceGL_lookupNativeAddress("glVertexStream4fATI", (void **) &traceGL_Native.glVertexStream4fATI);

  traceThis = traceEnabled("glVertexStream4fATI");

  if (!traceGL_Native.glVertexStream4fATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream4fATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);
    traceInputParameter("w", "%f", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream4fATI(stream, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream4fvATI(GLenum stream, const GLfloat *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream4fvATI)
    traceGL_lookupNativeAddress("glVertexStream4fvATI", (void **) &traceGL_Native.glVertexStream4fvATI);

  traceThis = traceEnabled("glVertexStream4fvATI");

  if (!traceGL_Native.glVertexStream4fvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream4fvATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("coords", "%f[%d]", coords, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream4fvATI(stream, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream4dATI(GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream4dATI)
    traceGL_lookupNativeAddress("glVertexStream4dATI", (void **) &traceGL_Native.glVertexStream4dATI);

  traceThis = traceEnabled("glVertexStream4dATI");

  if (!traceGL_Native.glVertexStream4dATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream4dATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);
    traceInputParameter("w", "%lf", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream4dATI(stream, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexStream4dvATI(GLenum stream, const GLdouble *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream4dvATI)
    traceGL_lookupNativeAddress("glVertexStream4dvATI", (void **) &traceGL_Native.glVertexStream4dvATI);

  traceThis = traceEnabled("glVertexStream4dvATI");

  if (!traceGL_Native.glVertexStream4dvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream4dvATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("coords", "%lf[%d]", coords, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexStream4dvATI(stream, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormalStream3bATI(GLenum stream, GLbyte nx, GLbyte ny, GLbyte nz)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalStream3bATI)
    traceGL_lookupNativeAddress("glNormalStream3bATI", (void **) &traceGL_Native.glNormalStream3bATI);

  traceThis = traceEnabled("glNormalStream3bATI");

  if (!traceGL_Native.glNormalStream3bATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalStream3bATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("nx", "%d", (int) nx);
    traceInputParameter("ny", "%d", (int) ny);
    traceInputParameter("nz", "%d", (int) nz);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormalStream3bATI(stream, nx, ny, nz);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormalStream3bvATI(GLenum stream, const GLbyte *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalStream3bvATI)
    traceGL_lookupNativeAddress("glNormalStream3bvATI", (void **) &traceGL_Native.glNormalStream3bvATI);

  traceThis = traceEnabled("glNormalStream3bvATI");

  if (!traceGL_Native.glNormalStream3bvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalStream3bvATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("coords", "%c[%d]", coords, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormalStream3bvATI(stream, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormalStream3sATI(GLenum stream, GLshort nx, GLshort ny, GLshort nz)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalStream3sATI)
    traceGL_lookupNativeAddress("glNormalStream3sATI", (void **) &traceGL_Native.glNormalStream3sATI);

  traceThis = traceEnabled("glNormalStream3sATI");

  if (!traceGL_Native.glNormalStream3sATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalStream3sATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("nx", "%hd", nx);
    traceInputParameter("ny", "%hd", ny);
    traceInputParameter("nz", "%hd", nz);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormalStream3sATI(stream, nx, ny, nz);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormalStream3svATI(GLenum stream, const GLshort *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalStream3svATI)
    traceGL_lookupNativeAddress("glNormalStream3svATI", (void **) &traceGL_Native.glNormalStream3svATI);

  traceThis = traceEnabled("glNormalStream3svATI");

  if (!traceGL_Native.glNormalStream3svATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalStream3svATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("coords", "%hd[%d]", coords, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormalStream3svATI(stream, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormalStream3iATI(GLenum stream, GLint nx, GLint ny, GLint nz)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalStream3iATI)
    traceGL_lookupNativeAddress("glNormalStream3iATI", (void **) &traceGL_Native.glNormalStream3iATI);

  traceThis = traceEnabled("glNormalStream3iATI");

  if (!traceGL_Native.glNormalStream3iATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalStream3iATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("nx", "%d", nx);
    traceInputParameter("ny", "%d", ny);
    traceInputParameter("nz", "%d", nz);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormalStream3iATI(stream, nx, ny, nz);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormalStream3ivATI(GLenum stream, const GLint *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalStream3ivATI)
    traceGL_lookupNativeAddress("glNormalStream3ivATI", (void **) &traceGL_Native.glNormalStream3ivATI);

  traceThis = traceEnabled("glNormalStream3ivATI");

  if (!traceGL_Native.glNormalStream3ivATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalStream3ivATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("coords", "%d[%d]", coords, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormalStream3ivATI(stream, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormalStream3fATI(GLenum stream, GLfloat nx, GLfloat ny, GLfloat nz)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalStream3fATI)
    traceGL_lookupNativeAddress("glNormalStream3fATI", (void **) &traceGL_Native.glNormalStream3fATI);

  traceThis = traceEnabled("glNormalStream3fATI");

  if (!traceGL_Native.glNormalStream3fATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalStream3fATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("nx", "%f", nx);
    traceInputParameter("ny", "%f", ny);
    traceInputParameter("nz", "%f", nz);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormalStream3fATI(stream, nx, ny, nz);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormalStream3fvATI(GLenum stream, const GLfloat *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalStream3fvATI)
    traceGL_lookupNativeAddress("glNormalStream3fvATI", (void **) &traceGL_Native.glNormalStream3fvATI);

  traceThis = traceEnabled("glNormalStream3fvATI");

  if (!traceGL_Native.glNormalStream3fvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalStream3fvATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("coords", "%f[%d]", coords, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormalStream3fvATI(stream, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormalStream3dATI(GLenum stream, GLdouble nx, GLdouble ny, GLdouble nz)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalStream3dATI)
    traceGL_lookupNativeAddress("glNormalStream3dATI", (void **) &traceGL_Native.glNormalStream3dATI);

  traceThis = traceEnabled("glNormalStream3dATI");

  if (!traceGL_Native.glNormalStream3dATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalStream3dATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("nx", "%lf", nx);
    traceInputParameter("ny", "%lf", ny);
    traceInputParameter("nz", "%lf", nz);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormalStream3dATI(stream, nx, ny, nz);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormalStream3dvATI(GLenum stream, const GLdouble *coords)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalStream3dvATI)
    traceGL_lookupNativeAddress("glNormalStream3dvATI", (void **) &traceGL_Native.glNormalStream3dvATI);

  traceThis = traceEnabled("glNormalStream3dvATI");

  if (!traceGL_Native.glNormalStream3dvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalStream3dvATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);
    traceInputParameter("coords", "%lf[%d]", coords, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormalStream3dvATI(stream, coords);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glClientActiveVertexStreamATI(GLenum stream)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClientActiveVertexStreamATI)
    traceGL_lookupNativeAddress("glClientActiveVertexStreamATI", (void **) &traceGL_Native.glClientActiveVertexStreamATI);

  traceThis = traceEnabled("glClientActiveVertexStreamATI");

  if (!traceGL_Native.glClientActiveVertexStreamATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClientActiveVertexStreamATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stream", "%u", stream);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glClientActiveVertexStreamATI(stream);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexBlendEnviATI(GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexBlendEnviATI)
    traceGL_lookupNativeAddress("glVertexBlendEnviATI", (void **) &traceGL_Native.glVertexBlendEnviATI);

  traceThis = traceEnabled("glVertexBlendEnviATI");

  if (!traceGL_Native.glVertexBlendEnviATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexBlendEnviATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexBlendEnviATI(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexBlendEnvfATI(GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexBlendEnvfATI)
    traceGL_lookupNativeAddress("glVertexBlendEnvfATI", (void **) &traceGL_Native.glVertexBlendEnvfATI);

  traceThis = traceEnabled("glVertexBlendEnvfATI");

  if (!traceGL_Native.glVertexBlendEnvfATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexBlendEnvfATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexBlendEnvfATI(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glElementPointerATI(GLenum type, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glElementPointerATI)
    traceGL_lookupNativeAddress("glElementPointerATI", (void **) &traceGL_Native.glElementPointerATI);

  traceThis = traceEnabled("glElementPointerATI");

  if (!traceGL_Native.glElementPointerATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glElementPointerATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glElementPointerATI(type, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawElementArrayATI(GLenum mode, GLsizei count)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawElementArrayATI)
    traceGL_lookupNativeAddress("glDrawElementArrayATI", (void **) &traceGL_Native.glDrawElementArrayATI);

  traceThis = traceEnabled("glDrawElementArrayATI");

  if (!traceGL_Native.glDrawElementArrayATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawElementArrayATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawElementArrayATI(mode, count);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawRangeElementArrayATI(GLenum mode, GLuint start, GLuint end, GLsizei count)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawRangeElementArrayATI)
    traceGL_lookupNativeAddress("glDrawRangeElementArrayATI", (void **) &traceGL_Native.glDrawRangeElementArrayATI);

  traceThis = traceEnabled("glDrawRangeElementArrayATI");

  if (!traceGL_Native.glDrawRangeElementArrayATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawRangeElementArrayATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("start", "%u", start);
    traceInputParameter("end", "%u", end);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawRangeElementArrayATI(mode, start, end, count);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawMeshArraysSUN(GLenum mode, GLint first, GLsizei count, GLsizei width)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawMeshArraysSUN)
    traceGL_lookupNativeAddress("glDrawMeshArraysSUN", (void **) &traceGL_Native.glDrawMeshArraysSUN);

  traceThis = traceEnabled("glDrawMeshArraysSUN");

  if (!traceGL_Native.glDrawMeshArraysSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawMeshArraysSUN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("first", "%d", first);
    traceInputParameter("count", "%d", count);
    traceInputParameter("width", "%d", width);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawMeshArraysSUN(mode, first, count, width);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenOcclusionQueriesNV(GLsizei n, GLuint *ids)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenOcclusionQueriesNV)
    traceGL_lookupNativeAddress("glGenOcclusionQueriesNV", (void **) &traceGL_Native.glGenOcclusionQueriesNV);

  traceThis = traceEnabled("glGenOcclusionQueriesNV");

  if (!traceGL_Native.glGenOcclusionQueriesNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenOcclusionQueriesNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenOcclusionQueriesNV(n, ids);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("ids", "%u[%d]", ids, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteOcclusionQueriesNV(GLsizei n, const GLuint *ids)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteOcclusionQueriesNV)
    traceGL_lookupNativeAddress("glDeleteOcclusionQueriesNV", (void **) &traceGL_Native.glDeleteOcclusionQueriesNV);

  traceThis = traceEnabled("glDeleteOcclusionQueriesNV");

  if (!traceGL_Native.glDeleteOcclusionQueriesNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteOcclusionQueriesNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("ids", "%u[%d]", ids, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteOcclusionQueriesNV(n, ids);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsOcclusionQueryNV(GLuint id)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsOcclusionQueryNV)
    traceGL_lookupNativeAddress("glIsOcclusionQueryNV", (void **) &traceGL_Native.glIsOcclusionQueryNV);

  traceThis = traceEnabled("glIsOcclusionQueryNV");

  if (!traceGL_Native.glIsOcclusionQueryNV)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsOcclusionQueryNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsOcclusionQueryNV(id);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBeginOcclusionQueryNV(GLuint id)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBeginOcclusionQueryNV)
    traceGL_lookupNativeAddress("glBeginOcclusionQueryNV", (void **) &traceGL_Native.glBeginOcclusionQueryNV);

  traceThis = traceEnabled("glBeginOcclusionQueryNV");

  if (!traceGL_Native.glBeginOcclusionQueryNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBeginOcclusionQueryNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBeginOcclusionQueryNV(id);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEndOcclusionQueryNV()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndOcclusionQueryNV)
    traceGL_lookupNativeAddress("glEndOcclusionQueryNV", (void **) &traceGL_Native.glEndOcclusionQueryNV);

  traceThis = traceEnabled("glEndOcclusionQueryNV");

  if (!traceGL_Native.glEndOcclusionQueryNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEndOcclusionQueryNV");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEndOcclusionQueryNV();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetOcclusionQueryivNV(GLuint id, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetOcclusionQueryivNV)
    traceGL_lookupNativeAddress("glGetOcclusionQueryivNV", (void **) &traceGL_Native.glGetOcclusionQueryivNV);

  traceThis = traceEnabled("glGetOcclusionQueryivNV");

  if (!traceGL_Native.glGetOcclusionQueryivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetOcclusionQueryivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetOcclusionQueryivNV(id, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetOcclusionQueryuivNV(GLuint id, GLenum pname, GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetOcclusionQueryuivNV)
    traceGL_lookupNativeAddress("glGetOcclusionQueryuivNV", (void **) &traceGL_Native.glGetOcclusionQueryuivNV);

  traceThis = traceEnabled("glGetOcclusionQueryuivNV");

  if (!traceGL_Native.glGetOcclusionQueryuivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetOcclusionQueryuivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetOcclusionQueryuivNV(id, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPointParameteriNV(GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPointParameteriNV)
    traceGL_lookupNativeAddress("glPointParameteriNV", (void **) &traceGL_Native.glPointParameteriNV);

  traceThis = traceEnabled("glPointParameteriNV");

  if (!traceGL_Native.glPointParameteriNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPointParameteriNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPointParameteriNV(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPointParameterivNV(GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPointParameterivNV)
    traceGL_lookupNativeAddress("glPointParameterivNV", (void **) &traceGL_Native.glPointParameterivNV);

  traceThis = traceEnabled("glPointParameterivNV");

  if (!traceGL_Native.glPointParameterivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPointParameterivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPointParameterivNV(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glActiveStencilFaceEXT(GLenum face)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glActiveStencilFaceEXT)
    traceGL_lookupNativeAddress("glActiveStencilFaceEXT", (void **) &traceGL_Native.glActiveStencilFaceEXT);

  traceThis = traceEnabled("glActiveStencilFaceEXT");

  if (!traceGL_Native.glActiveStencilFaceEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glActiveStencilFaceEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("face", "%u", face);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glActiveStencilFaceEXT(face);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glElementPointerAPPLE(GLenum type, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glElementPointerAPPLE)
    traceGL_lookupNativeAddress("glElementPointerAPPLE", (void **) &traceGL_Native.glElementPointerAPPLE);

  traceThis = traceEnabled("glElementPointerAPPLE");

  if (!traceGL_Native.glElementPointerAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glElementPointerAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glElementPointerAPPLE(type, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawElementArrayAPPLE(GLenum mode, GLint first, GLsizei count)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawElementArrayAPPLE)
    traceGL_lookupNativeAddress("glDrawElementArrayAPPLE", (void **) &traceGL_Native.glDrawElementArrayAPPLE);

  traceThis = traceEnabled("glDrawElementArrayAPPLE");

  if (!traceGL_Native.glDrawElementArrayAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawElementArrayAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("first", "%d", first);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawElementArrayAPPLE(mode, first, count);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawRangeElementArrayAPPLE(GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawRangeElementArrayAPPLE)
    traceGL_lookupNativeAddress("glDrawRangeElementArrayAPPLE", (void **) &traceGL_Native.glDrawRangeElementArrayAPPLE);

  traceThis = traceEnabled("glDrawRangeElementArrayAPPLE");

  if (!traceGL_Native.glDrawRangeElementArrayAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawRangeElementArrayAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("start", "%u", start);
    traceInputParameter("end", "%u", end);
    traceInputParameter("first", "%d", first);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawRangeElementArrayAPPLE(mode, start, end, first, count);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiDrawElementArrayAPPLE(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiDrawElementArrayAPPLE)
    traceGL_lookupNativeAddress("glMultiDrawElementArrayAPPLE", (void **) &traceGL_Native.glMultiDrawElementArrayAPPLE);

  traceThis = traceEnabled("glMultiDrawElementArrayAPPLE");

  if (!traceGL_Native.glMultiDrawElementArrayAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiDrawElementArrayAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("primcount", "%d", primcount);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiDrawElementArrayAPPLE(mode, first, count, primcount);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiDrawRangeElementArrayAPPLE(GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiDrawRangeElementArrayAPPLE)
    traceGL_lookupNativeAddress("glMultiDrawRangeElementArrayAPPLE", (void **) &traceGL_Native.glMultiDrawRangeElementArrayAPPLE);

  traceThis = traceEnabled("glMultiDrawRangeElementArrayAPPLE");

  if (!traceGL_Native.glMultiDrawRangeElementArrayAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiDrawRangeElementArrayAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("start", "%u", start);
    traceInputParameter("end", "%u", end);
    traceInputParameter("primcount", "%d", primcount);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiDrawRangeElementArrayAPPLE(mode, start, end, first, count, primcount);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenFencesAPPLE(GLsizei n, GLuint *fences)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenFencesAPPLE)
    traceGL_lookupNativeAddress("glGenFencesAPPLE", (void **) &traceGL_Native.glGenFencesAPPLE);

  traceThis = traceEnabled("glGenFencesAPPLE");

  if (!traceGL_Native.glGenFencesAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenFencesAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenFencesAPPLE(n, fences);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteFencesAPPLE(GLsizei n, const GLuint *fences)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteFencesAPPLE)
    traceGL_lookupNativeAddress("glDeleteFencesAPPLE", (void **) &traceGL_Native.glDeleteFencesAPPLE);

  traceThis = traceEnabled("glDeleteFencesAPPLE");

  if (!traceGL_Native.glDeleteFencesAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteFencesAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteFencesAPPLE(n, fences);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSetFenceAPPLE(GLuint fence)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSetFenceAPPLE)
    traceGL_lookupNativeAddress("glSetFenceAPPLE", (void **) &traceGL_Native.glSetFenceAPPLE);

  traceThis = traceEnabled("glSetFenceAPPLE");

  if (!traceGL_Native.glSetFenceAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSetFenceAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("fence", "%u", fence);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSetFenceAPPLE(fence);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsFenceAPPLE(GLuint fence)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsFenceAPPLE)
    traceGL_lookupNativeAddress("glIsFenceAPPLE", (void **) &traceGL_Native.glIsFenceAPPLE);

  traceThis = traceEnabled("glIsFenceAPPLE");

  if (!traceGL_Native.glIsFenceAPPLE)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsFenceAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("fence", "%u", fence);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsFenceAPPLE(fence);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLboolean GLAPIENTRY
glTestFenceAPPLE(GLuint fence)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTestFenceAPPLE)
    traceGL_lookupNativeAddress("glTestFenceAPPLE", (void **) &traceGL_Native.glTestFenceAPPLE);

  traceThis = traceEnabled("glTestFenceAPPLE");

  if (!traceGL_Native.glTestFenceAPPLE)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTestFenceAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("fence", "%u", fence);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glTestFenceAPPLE(fence);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glFinishFenceAPPLE(GLuint fence)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFinishFenceAPPLE)
    traceGL_lookupNativeAddress("glFinishFenceAPPLE", (void **) &traceGL_Native.glFinishFenceAPPLE);

  traceThis = traceEnabled("glFinishFenceAPPLE");

  if (!traceGL_Native.glFinishFenceAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFinishFenceAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("fence", "%u", fence);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFinishFenceAPPLE(fence);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glTestObjectAPPLE(GLenum object, GLuint name)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTestObjectAPPLE)
    traceGL_lookupNativeAddress("glTestObjectAPPLE", (void **) &traceGL_Native.glTestObjectAPPLE);

  traceThis = traceEnabled("glTestObjectAPPLE");

  if (!traceGL_Native.glTestObjectAPPLE)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTestObjectAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("object", "%u", object);
    traceInputParameter("name", "%u", name);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glTestObjectAPPLE(object, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glFinishObjectAPPLE(GLenum object, GLint name)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFinishObjectAPPLE)
    traceGL_lookupNativeAddress("glFinishObjectAPPLE", (void **) &traceGL_Native.glFinishObjectAPPLE);

  traceThis = traceEnabled("glFinishObjectAPPLE");

  if (!traceGL_Native.glFinishObjectAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFinishObjectAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("object", "%u", object);
    traceInputParameter("name", "%d", name);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFinishObjectAPPLE(object, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBindVertexArrayAPPLE(GLuint array)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindVertexArrayAPPLE)
    traceGL_lookupNativeAddress("glBindVertexArrayAPPLE", (void **) &traceGL_Native.glBindVertexArrayAPPLE);

  traceThis = traceEnabled("glBindVertexArrayAPPLE");

  if (!traceGL_Native.glBindVertexArrayAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindVertexArrayAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("array", "%u", array);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindVertexArrayAPPLE(array);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteVertexArraysAPPLE(GLsizei n, const GLuint *arrays)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteVertexArraysAPPLE)
    traceGL_lookupNativeAddress("glDeleteVertexArraysAPPLE", (void **) &traceGL_Native.glDeleteVertexArraysAPPLE);

  traceThis = traceEnabled("glDeleteVertexArraysAPPLE");

  if (!traceGL_Native.glDeleteVertexArraysAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteVertexArraysAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteVertexArraysAPPLE(n, arrays);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenVertexArraysAPPLE(GLsizei n, GLuint *arrays)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenVertexArraysAPPLE)
    traceGL_lookupNativeAddress("glGenVertexArraysAPPLE", (void **) &traceGL_Native.glGenVertexArraysAPPLE);

  traceThis = traceEnabled("glGenVertexArraysAPPLE");

  if (!traceGL_Native.glGenVertexArraysAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenVertexArraysAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenVertexArraysAPPLE(n, arrays);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsVertexArrayAPPLE(GLuint array)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsVertexArrayAPPLE)
    traceGL_lookupNativeAddress("glIsVertexArrayAPPLE", (void **) &traceGL_Native.glIsVertexArrayAPPLE);

  traceThis = traceEnabled("glIsVertexArrayAPPLE");

  if (!traceGL_Native.glIsVertexArrayAPPLE)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsVertexArrayAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("array", "%u", array);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsVertexArrayAPPLE(array);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glVertexArrayRangeAPPLE(GLsizei length, GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexArrayRangeAPPLE)
    traceGL_lookupNativeAddress("glVertexArrayRangeAPPLE", (void **) &traceGL_Native.glVertexArrayRangeAPPLE);

  traceThis = traceEnabled("glVertexArrayRangeAPPLE");

  if (!traceGL_Native.glVertexArrayRangeAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexArrayRangeAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("length", "%d", length);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexArrayRangeAPPLE(length, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("pointer", "%p", pointer);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFlushVertexArrayRangeAPPLE(GLsizei length, GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFlushVertexArrayRangeAPPLE)
    traceGL_lookupNativeAddress("glFlushVertexArrayRangeAPPLE", (void **) &traceGL_Native.glFlushVertexArrayRangeAPPLE);

  traceThis = traceEnabled("glFlushVertexArrayRangeAPPLE");

  if (!traceGL_Native.glFlushVertexArrayRangeAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFlushVertexArrayRangeAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("length", "%d", length);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFlushVertexArrayRangeAPPLE(length, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("pointer", "%p", pointer);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexArrayParameteriAPPLE(GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexArrayParameteriAPPLE)
    traceGL_lookupNativeAddress("glVertexArrayParameteriAPPLE", (void **) &traceGL_Native.glVertexArrayParameteriAPPLE);

  traceThis = traceEnabled("glVertexArrayParameteriAPPLE");

  if (!traceGL_Native.glVertexArrayParameteriAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexArrayParameteriAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexArrayParameteriAPPLE(pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawBuffersATI(GLsizei n, const GLenum *bufs)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawBuffersATI)
    traceGL_lookupNativeAddress("glDrawBuffersATI", (void **) &traceGL_Native.glDrawBuffersATI);

  traceThis = traceEnabled("glDrawBuffersATI");

  if (!traceGL_Native.glDrawBuffersATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawBuffersATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("bufs", "%u[%d]", bufs, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawBuffersATI(n, bufs);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramNamedParameter4fNV(GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramNamedParameter4fNV)
    traceGL_lookupNativeAddress("glProgramNamedParameter4fNV", (void **) &traceGL_Native.glProgramNamedParameter4fNV);

  traceThis = traceEnabled("glProgramNamedParameter4fNV");

  if (!traceGL_Native.glProgramNamedParameter4fNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramNamedParameter4fNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("len", "%d", len);
    traceInputParameter("name", "%c[%d]", name, 1);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);
    traceInputParameter("w", "%f", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramNamedParameter4fNV(id, len, name, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramNamedParameter4dNV(GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramNamedParameter4dNV)
    traceGL_lookupNativeAddress("glProgramNamedParameter4dNV", (void **) &traceGL_Native.glProgramNamedParameter4dNV);

  traceThis = traceEnabled("glProgramNamedParameter4dNV");

  if (!traceGL_Native.glProgramNamedParameter4dNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramNamedParameter4dNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("len", "%d", len);
    traceInputParameter("name", "%c[%d]", name, 1);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);
    traceInputParameter("w", "%lf", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramNamedParameter4dNV(id, len, name, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramNamedParameter4fvNV(GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramNamedParameter4fvNV)
    traceGL_lookupNativeAddress("glProgramNamedParameter4fvNV", (void **) &traceGL_Native.glProgramNamedParameter4fvNV);

  traceThis = traceEnabled("glProgramNamedParameter4fvNV");

  if (!traceGL_Native.glProgramNamedParameter4fvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramNamedParameter4fvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("len", "%d", len);
    traceInputParameter("name", "%c[%d]", name, 1);
    traceInputParameter("v", "%f[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramNamedParameter4fvNV(id, len, name, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramNamedParameter4dvNV(GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramNamedParameter4dvNV)
    traceGL_lookupNativeAddress("glProgramNamedParameter4dvNV", (void **) &traceGL_Native.glProgramNamedParameter4dvNV);

  traceThis = traceEnabled("glProgramNamedParameter4dvNV");

  if (!traceGL_Native.glProgramNamedParameter4dvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramNamedParameter4dvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("len", "%d", len);
    traceInputParameter("name", "%c[%d]", name, 1);
    traceInputParameter("v", "%lf[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramNamedParameter4dvNV(id, len, name, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramNamedParameterfvNV(GLuint id, GLsizei len, const GLubyte *name, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramNamedParameterfvNV)
    traceGL_lookupNativeAddress("glGetProgramNamedParameterfvNV", (void **) &traceGL_Native.glGetProgramNamedParameterfvNV);

  traceThis = traceEnabled("glGetProgramNamedParameterfvNV");

  if (!traceGL_Native.glGetProgramNamedParameterfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramNamedParameterfvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("len", "%d", len);
    traceInputParameter("name", "%c[%d]", name, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetProgramNamedParameterfvNV(id, len, name, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%f[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramNamedParameterdvNV(GLuint id, GLsizei len, const GLubyte *name, GLdouble *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramNamedParameterdvNV)
    traceGL_lookupNativeAddress("glGetProgramNamedParameterdvNV", (void **) &traceGL_Native.glGetProgramNamedParameterdvNV);

  traceThis = traceEnabled("glGetProgramNamedParameterdvNV");

  if (!traceGL_Native.glGetProgramNamedParameterdvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramNamedParameterdvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("len", "%d", len);
    traceInputParameter("name", "%c[%d]", name, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetProgramNamedParameterdvNV(id, len, name, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%lf[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex2hNV(GLhalfNV x, GLhalfNV y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex2hNV)
    traceGL_lookupNativeAddress("glVertex2hNV", (void **) &traceGL_Native.glVertex2hNV);

  traceThis = traceEnabled("glVertex2hNV");

  if (!traceGL_Native.glVertex2hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex2hNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%hu", x);
    traceInputParameter("y", "%hu", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex2hNV(x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex2hvNV(const GLhalfNV *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex2hvNV)
    traceGL_lookupNativeAddress("glVertex2hvNV", (void **) &traceGL_Native.glVertex2hvNV);

  traceThis = traceEnabled("glVertex2hvNV");

  if (!traceGL_Native.glVertex2hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex2hvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hu[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex2hvNV(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex3hNV(GLhalfNV x, GLhalfNV y, GLhalfNV z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex3hNV)
    traceGL_lookupNativeAddress("glVertex3hNV", (void **) &traceGL_Native.glVertex3hNV);

  traceThis = traceEnabled("glVertex3hNV");

  if (!traceGL_Native.glVertex3hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex3hNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%hu", x);
    traceInputParameter("y", "%hu", y);
    traceInputParameter("z", "%hu", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex3hNV(x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex3hvNV(const GLhalfNV *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex3hvNV)
    traceGL_lookupNativeAddress("glVertex3hvNV", (void **) &traceGL_Native.glVertex3hvNV);

  traceThis = traceEnabled("glVertex3hvNV");

  if (!traceGL_Native.glVertex3hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex3hvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hu[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex3hvNV(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex4hNV(GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex4hNV)
    traceGL_lookupNativeAddress("glVertex4hNV", (void **) &traceGL_Native.glVertex4hNV);

  traceThis = traceEnabled("glVertex4hNV");

  if (!traceGL_Native.glVertex4hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex4hNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%hu", x);
    traceInputParameter("y", "%hu", y);
    traceInputParameter("z", "%hu", z);
    traceInputParameter("w", "%hu", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex4hNV(x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex4hvNV(const GLhalfNV *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex4hvNV)
    traceGL_lookupNativeAddress("glVertex4hvNV", (void **) &traceGL_Native.glVertex4hvNV);

  traceThis = traceEnabled("glVertex4hvNV");

  if (!traceGL_Native.glVertex4hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex4hvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hu[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertex4hvNV(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormal3hNV(GLhalfNV nx, GLhalfNV ny, GLhalfNV nz)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormal3hNV)
    traceGL_lookupNativeAddress("glNormal3hNV", (void **) &traceGL_Native.glNormal3hNV);

  traceThis = traceEnabled("glNormal3hNV");

  if (!traceGL_Native.glNormal3hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormal3hNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("nx", "%hu", nx);
    traceInputParameter("ny", "%hu", ny);
    traceInputParameter("nz", "%hu", nz);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormal3hNV(nx, ny, nz);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormal3hvNV(const GLhalfNV *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormal3hvNV)
    traceGL_lookupNativeAddress("glNormal3hvNV", (void **) &traceGL_Native.glNormal3hvNV);

  traceThis = traceEnabled("glNormal3hvNV");

  if (!traceGL_Native.glNormal3hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormal3hvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hu[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormal3hvNV(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor3hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor3hNV)
    traceGL_lookupNativeAddress("glColor3hNV", (void **) &traceGL_Native.glColor3hNV);

  traceThis = traceEnabled("glColor3hNV");

  if (!traceGL_Native.glColor3hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor3hNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%hu", red);
    traceInputParameter("green", "%hu", green);
    traceInputParameter("blue", "%hu", blue);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor3hNV(red, green, blue);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor3hvNV(const GLhalfNV *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor3hvNV)
    traceGL_lookupNativeAddress("glColor3hvNV", (void **) &traceGL_Native.glColor3hvNV);

  traceThis = traceEnabled("glColor3hvNV");

  if (!traceGL_Native.glColor3hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor3hvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hu[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor3hvNV(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor4hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4hNV)
    traceGL_lookupNativeAddress("glColor4hNV", (void **) &traceGL_Native.glColor4hNV);

  traceThis = traceEnabled("glColor4hNV");

  if (!traceGL_Native.glColor4hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4hNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%hu", red);
    traceInputParameter("green", "%hu", green);
    traceInputParameter("blue", "%hu", blue);
    traceInputParameter("alpha", "%hu", alpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor4hNV(red, green, blue, alpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColor4hvNV(const GLhalfNV *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4hvNV)
    traceGL_lookupNativeAddress("glColor4hvNV", (void **) &traceGL_Native.glColor4hvNV);

  traceThis = traceEnabled("glColor4hvNV");

  if (!traceGL_Native.glColor4hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4hvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hu[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColor4hvNV(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord1hNV(GLhalfNV s)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord1hNV)
    traceGL_lookupNativeAddress("glTexCoord1hNV", (void **) &traceGL_Native.glTexCoord1hNV);

  traceThis = traceEnabled("glTexCoord1hNV");

  if (!traceGL_Native.glTexCoord1hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord1hNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%hu", s);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord1hNV(s);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord1hvNV(const GLhalfNV *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord1hvNV)
    traceGL_lookupNativeAddress("glTexCoord1hvNV", (void **) &traceGL_Native.glTexCoord1hvNV);

  traceThis = traceEnabled("glTexCoord1hvNV");

  if (!traceGL_Native.glTexCoord1hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord1hvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hu[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord1hvNV(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord2hNV(GLhalfNV s, GLhalfNV t)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2hNV)
    traceGL_lookupNativeAddress("glTexCoord2hNV", (void **) &traceGL_Native.glTexCoord2hNV);

  traceThis = traceEnabled("glTexCoord2hNV");

  if (!traceGL_Native.glTexCoord2hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2hNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%hu", s);
    traceInputParameter("t", "%hu", t);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord2hNV(s, t);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord2hvNV(const GLhalfNV *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2hvNV)
    traceGL_lookupNativeAddress("glTexCoord2hvNV", (void **) &traceGL_Native.glTexCoord2hvNV);

  traceThis = traceEnabled("glTexCoord2hvNV");

  if (!traceGL_Native.glTexCoord2hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2hvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hu[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord2hvNV(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord3hNV(GLhalfNV s, GLhalfNV t, GLhalfNV r)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord3hNV)
    traceGL_lookupNativeAddress("glTexCoord3hNV", (void **) &traceGL_Native.glTexCoord3hNV);

  traceThis = traceEnabled("glTexCoord3hNV");

  if (!traceGL_Native.glTexCoord3hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord3hNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%hu", s);
    traceInputParameter("t", "%hu", t);
    traceInputParameter("r", "%hu", r);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord3hNV(s, t, r);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord3hvNV(const GLhalfNV *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord3hvNV)
    traceGL_lookupNativeAddress("glTexCoord3hvNV", (void **) &traceGL_Native.glTexCoord3hvNV);

  traceThis = traceEnabled("glTexCoord3hvNV");

  if (!traceGL_Native.glTexCoord3hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord3hvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hu[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord3hvNV(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord4hNV(GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord4hNV)
    traceGL_lookupNativeAddress("glTexCoord4hNV", (void **) &traceGL_Native.glTexCoord4hNV);

  traceThis = traceEnabled("glTexCoord4hNV");

  if (!traceGL_Native.glTexCoord4hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord4hNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("s", "%hu", s);
    traceInputParameter("t", "%hu", t);
    traceInputParameter("r", "%hu", r);
    traceInputParameter("q", "%hu", q);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord4hNV(s, t, r, q);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoord4hvNV(const GLhalfNV *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord4hvNV)
    traceGL_lookupNativeAddress("glTexCoord4hvNV", (void **) &traceGL_Native.glTexCoord4hvNV);

  traceThis = traceEnabled("glTexCoord4hvNV");

  if (!traceGL_Native.glTexCoord4hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord4hvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hu[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoord4hvNV(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord1hNV(GLenum target, GLhalfNV s)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1hNV)
    traceGL_lookupNativeAddress("glMultiTexCoord1hNV", (void **) &traceGL_Native.glMultiTexCoord1hNV);

  traceThis = traceEnabled("glMultiTexCoord1hNV");

  if (!traceGL_Native.glMultiTexCoord1hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1hNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%hu", s);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord1hNV(target, s);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord1hvNV(GLenum target, const GLhalfNV *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1hvNV)
    traceGL_lookupNativeAddress("glMultiTexCoord1hvNV", (void **) &traceGL_Native.glMultiTexCoord1hvNV);

  traceThis = traceEnabled("glMultiTexCoord1hvNV");

  if (!traceGL_Native.glMultiTexCoord1hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1hvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%hu[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord1hvNV(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord2hNV(GLenum target, GLhalfNV s, GLhalfNV t)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2hNV)
    traceGL_lookupNativeAddress("glMultiTexCoord2hNV", (void **) &traceGL_Native.glMultiTexCoord2hNV);

  traceThis = traceEnabled("glMultiTexCoord2hNV");

  if (!traceGL_Native.glMultiTexCoord2hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2hNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%hu", s);
    traceInputParameter("t", "%hu", t);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord2hNV(target, s, t);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord2hvNV(GLenum target, const GLhalfNV *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2hvNV)
    traceGL_lookupNativeAddress("glMultiTexCoord2hvNV", (void **) &traceGL_Native.glMultiTexCoord2hvNV);

  traceThis = traceEnabled("glMultiTexCoord2hvNV");

  if (!traceGL_Native.glMultiTexCoord2hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2hvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%hu[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord2hvNV(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord3hNV(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3hNV)
    traceGL_lookupNativeAddress("glMultiTexCoord3hNV", (void **) &traceGL_Native.glMultiTexCoord3hNV);

  traceThis = traceEnabled("glMultiTexCoord3hNV");

  if (!traceGL_Native.glMultiTexCoord3hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3hNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%hu", s);
    traceInputParameter("t", "%hu", t);
    traceInputParameter("r", "%hu", r);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord3hNV(target, s, t, r);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord3hvNV(GLenum target, const GLhalfNV *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3hvNV)
    traceGL_lookupNativeAddress("glMultiTexCoord3hvNV", (void **) &traceGL_Native.glMultiTexCoord3hvNV);

  traceThis = traceEnabled("glMultiTexCoord3hvNV");

  if (!traceGL_Native.glMultiTexCoord3hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3hvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%hu[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord3hvNV(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord4hNV(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4hNV)
    traceGL_lookupNativeAddress("glMultiTexCoord4hNV", (void **) &traceGL_Native.glMultiTexCoord4hNV);

  traceThis = traceEnabled("glMultiTexCoord4hNV");

  if (!traceGL_Native.glMultiTexCoord4hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4hNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("s", "%hu", s);
    traceInputParameter("t", "%hu", t);
    traceInputParameter("r", "%hu", r);
    traceInputParameter("q", "%hu", q);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord4hNV(target, s, t, r, q);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoord4hvNV(GLenum target, const GLhalfNV *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4hvNV)
    traceGL_lookupNativeAddress("glMultiTexCoord4hvNV", (void **) &traceGL_Native.glMultiTexCoord4hvNV);

  traceThis = traceEnabled("glMultiTexCoord4hvNV");

  if (!traceGL_Native.glMultiTexCoord4hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4hvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("v", "%hu[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoord4hvNV(target, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFogCoordhNV(GLhalfNV coord)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoordhNV)
    traceGL_lookupNativeAddress("glFogCoordhNV", (void **) &traceGL_Native.glFogCoordhNV);

  traceThis = traceEnabled("glFogCoordhNV");

  if (!traceGL_Native.glFogCoordhNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoordhNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("coord", "%hu", coord);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFogCoordhNV(coord);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFogCoordhvNV(const GLhalfNV *coord)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoordhvNV)
    traceGL_lookupNativeAddress("glFogCoordhvNV", (void **) &traceGL_Native.glFogCoordhvNV);

  traceThis = traceEnabled("glFogCoordhvNV");

  if (!traceGL_Native.glFogCoordhvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoordhvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("coord", "%hu[%d]", coord, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFogCoordhvNV(coord);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3hNV)
    traceGL_lookupNativeAddress("glSecondaryColor3hNV", (void **) &traceGL_Native.glSecondaryColor3hNV);

  traceThis = traceEnabled("glSecondaryColor3hNV");

  if (!traceGL_Native.glSecondaryColor3hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3hNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%hu", red);
    traceInputParameter("green", "%hu", green);
    traceInputParameter("blue", "%hu", blue);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3hNV(red, green, blue);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColor3hvNV(const GLhalfNV *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3hvNV)
    traceGL_lookupNativeAddress("glSecondaryColor3hvNV", (void **) &traceGL_Native.glSecondaryColor3hvNV);

  traceThis = traceEnabled("glSecondaryColor3hvNV");

  if (!traceGL_Native.glSecondaryColor3hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3hvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("v", "%hu[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColor3hvNV(v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexWeighthNV(GLhalfNV weight)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexWeighthNV)
    traceGL_lookupNativeAddress("glVertexWeighthNV", (void **) &traceGL_Native.glVertexWeighthNV);

  traceThis = traceEnabled("glVertexWeighthNV");

  if (!traceGL_Native.glVertexWeighthNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexWeighthNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("weight", "%hu", weight);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexWeighthNV(weight);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexWeighthvNV(const GLhalfNV *weight)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexWeighthvNV)
    traceGL_lookupNativeAddress("glVertexWeighthvNV", (void **) &traceGL_Native.glVertexWeighthvNV);

  traceThis = traceEnabled("glVertexWeighthvNV");

  if (!traceGL_Native.glVertexWeighthvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexWeighthvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("weight", "%hu[%d]", weight, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexWeighthvNV(weight);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib1hNV(GLuint index, GLhalfNV x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1hNV)
    traceGL_lookupNativeAddress("glVertexAttrib1hNV", (void **) &traceGL_Native.glVertexAttrib1hNV);

  traceThis = traceEnabled("glVertexAttrib1hNV");

  if (!traceGL_Native.glVertexAttrib1hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1hNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%hu", x);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib1hNV(index, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib1hvNV(GLuint index, const GLhalfNV *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1hvNV)
    traceGL_lookupNativeAddress("glVertexAttrib1hvNV", (void **) &traceGL_Native.glVertexAttrib1hvNV);

  traceThis = traceEnabled("glVertexAttrib1hvNV");

  if (!traceGL_Native.glVertexAttrib1hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1hvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%hu[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib1hvNV(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib2hNV(GLuint index, GLhalfNV x, GLhalfNV y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2hNV)
    traceGL_lookupNativeAddress("glVertexAttrib2hNV", (void **) &traceGL_Native.glVertexAttrib2hNV);

  traceThis = traceEnabled("glVertexAttrib2hNV");

  if (!traceGL_Native.glVertexAttrib2hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2hNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%hu", x);
    traceInputParameter("y", "%hu", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib2hNV(index, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib2hvNV(GLuint index, const GLhalfNV *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2hvNV)
    traceGL_lookupNativeAddress("glVertexAttrib2hvNV", (void **) &traceGL_Native.glVertexAttrib2hvNV);

  traceThis = traceEnabled("glVertexAttrib2hvNV");

  if (!traceGL_Native.glVertexAttrib2hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2hvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%hu[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib2hvNV(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib3hNV(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3hNV)
    traceGL_lookupNativeAddress("glVertexAttrib3hNV", (void **) &traceGL_Native.glVertexAttrib3hNV);

  traceThis = traceEnabled("glVertexAttrib3hNV");

  if (!traceGL_Native.glVertexAttrib3hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3hNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%hu", x);
    traceInputParameter("y", "%hu", y);
    traceInputParameter("z", "%hu", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib3hNV(index, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib3hvNV(GLuint index, const GLhalfNV *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3hvNV)
    traceGL_lookupNativeAddress("glVertexAttrib3hvNV", (void **) &traceGL_Native.glVertexAttrib3hvNV);

  traceThis = traceEnabled("glVertexAttrib3hvNV");

  if (!traceGL_Native.glVertexAttrib3hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3hvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%hu[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib3hvNV(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4hNV(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4hNV)
    traceGL_lookupNativeAddress("glVertexAttrib4hNV", (void **) &traceGL_Native.glVertexAttrib4hNV);

  traceThis = traceEnabled("glVertexAttrib4hNV");

  if (!traceGL_Native.glVertexAttrib4hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4hNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%hu", x);
    traceInputParameter("y", "%hu", y);
    traceInputParameter("z", "%hu", z);
    traceInputParameter("w", "%hu", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4hNV(index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttrib4hvNV(GLuint index, const GLhalfNV *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4hvNV)
    traceGL_lookupNativeAddress("glVertexAttrib4hvNV", (void **) &traceGL_Native.glVertexAttrib4hvNV);

  traceThis = traceEnabled("glVertexAttrib4hvNV");

  if (!traceGL_Native.glVertexAttrib4hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4hvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%hu[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttrib4hvNV(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribs1hvNV(GLuint index, GLsizei count, const GLhalfNV *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs1hvNV)
    traceGL_lookupNativeAddress("glVertexAttribs1hvNV", (void **) &traceGL_Native.glVertexAttribs1hvNV);

  traceThis = traceEnabled("glVertexAttribs1hvNV");

  if (!traceGL_Native.glVertexAttribs1hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs1hvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("v", "%hu[%d]", v, count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribs1hvNV(index, count, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribs2hvNV(GLuint index, GLsizei count, const GLhalfNV *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs2hvNV)
    traceGL_lookupNativeAddress("glVertexAttribs2hvNV", (void **) &traceGL_Native.glVertexAttribs2hvNV);

  traceThis = traceEnabled("glVertexAttribs2hvNV");

  if (!traceGL_Native.glVertexAttribs2hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs2hvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("v", "%hu[%d]", v, count * 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribs2hvNV(index, count, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribs3hvNV(GLuint index, GLsizei count, const GLhalfNV *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs3hvNV)
    traceGL_lookupNativeAddress("glVertexAttribs3hvNV", (void **) &traceGL_Native.glVertexAttribs3hvNV);

  traceThis = traceEnabled("glVertexAttribs3hvNV");

  if (!traceGL_Native.glVertexAttribs3hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs3hvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("v", "%hu[%d]", v, count * 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribs3hvNV(index, count, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribs4hvNV(GLuint index, GLsizei count, const GLhalfNV *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs4hvNV)
    traceGL_lookupNativeAddress("glVertexAttribs4hvNV", (void **) &traceGL_Native.glVertexAttribs4hvNV);

  traceThis = traceEnabled("glVertexAttribs4hvNV");

  if (!traceGL_Native.glVertexAttribs4hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs4hvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("v", "%hu[%d]", v, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribs4hvNV(index, count, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPixelDataRangeNV(GLenum target, GLsizei size, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelDataRangeNV)
    traceGL_lookupNativeAddress("glPixelDataRangeNV", (void **) &traceGL_Native.glPixelDataRangeNV);

  traceThis = traceEnabled("glPixelDataRangeNV");

  if (!traceGL_Native.glPixelDataRangeNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelDataRangeNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("size", "%d", size);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPixelDataRangeNV(target, size, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFlushPixelDataRangeNV(GLenum target)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFlushPixelDataRangeNV)
    traceGL_lookupNativeAddress("glFlushPixelDataRangeNV", (void **) &traceGL_Native.glFlushPixelDataRangeNV);

  traceThis = traceEnabled("glFlushPixelDataRangeNV");

  if (!traceGL_Native.glFlushPixelDataRangeNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFlushPixelDataRangeNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFlushPixelDataRangeNV(target);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPrimitiveRestartNV()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPrimitiveRestartNV)
    traceGL_lookupNativeAddress("glPrimitiveRestartNV", (void **) &traceGL_Native.glPrimitiveRestartNV);

  traceThis = traceEnabled("glPrimitiveRestartNV");

  if (!traceGL_Native.glPrimitiveRestartNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPrimitiveRestartNV");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPrimitiveRestartNV();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPrimitiveRestartIndexNV(GLuint index)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPrimitiveRestartIndexNV)
    traceGL_lookupNativeAddress("glPrimitiveRestartIndexNV", (void **) &traceGL_Native.glPrimitiveRestartIndexNV);

  traceThis = traceEnabled("glPrimitiveRestartIndexNV");

  if (!traceGL_Native.glPrimitiveRestartIndexNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPrimitiveRestartIndexNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPrimitiveRestartIndexNV(index);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLvoid *GLAPIENTRY
glMapObjectBufferATI(GLuint buffer)
{
  GLvoid *ret = NULL;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapObjectBufferATI)
    traceGL_lookupNativeAddress("glMapObjectBufferATI", (void **) &traceGL_Native.glMapObjectBufferATI);

  traceThis = traceEnabled("glMapObjectBufferATI");

  if (!traceGL_Native.glMapObjectBufferATI)
    return NULL;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapObjectBufferATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buffer", "%u", buffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glMapObjectBufferATI(buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%p", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glUnmapObjectBufferATI(GLuint buffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUnmapObjectBufferATI)
    traceGL_lookupNativeAddress("glUnmapObjectBufferATI", (void **) &traceGL_Native.glUnmapObjectBufferATI);

  traceThis = traceEnabled("glUnmapObjectBufferATI");

  if (!traceGL_Native.glUnmapObjectBufferATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUnmapObjectBufferATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buffer", "%u", buffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUnmapObjectBufferATI(buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glStencilOpSeparateATI(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glStencilOpSeparateATI)
    traceGL_lookupNativeAddress("glStencilOpSeparateATI", (void **) &traceGL_Native.glStencilOpSeparateATI);

  traceThis = traceEnabled("glStencilOpSeparateATI");

  if (!traceGL_Native.glStencilOpSeparateATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glStencilOpSeparateATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("face", "%u", face);
    traceInputParameter("sfail", "%u", sfail);
    traceInputParameter("dpfail", "%u", dpfail);
    traceInputParameter("dppass", "%u", dppass);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glStencilOpSeparateATI(face, sfail, dpfail, dppass);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glStencilFuncSeparateATI(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glStencilFuncSeparateATI)
    traceGL_lookupNativeAddress("glStencilFuncSeparateATI", (void **) &traceGL_Native.glStencilFuncSeparateATI);

  traceThis = traceEnabled("glStencilFuncSeparateATI");

  if (!traceGL_Native.glStencilFuncSeparateATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glStencilFuncSeparateATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("frontfunc", "%u", frontfunc);
    traceInputParameter("backfunc", "%u", backfunc);
    traceInputParameter("ref", "%d", ref);
    traceInputParameter("mask", "%u", mask);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glStencilFuncSeparateATI(frontfunc, backfunc, ref, mask);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribArrayObjectATI(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribArrayObjectATI)
    traceGL_lookupNativeAddress("glVertexAttribArrayObjectATI", (void **) &traceGL_Native.glVertexAttribArrayObjectATI);

  traceThis = traceEnabled("glVertexAttribArrayObjectATI");

  if (!traceGL_Native.glVertexAttribArrayObjectATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribArrayObjectATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("normalized", "%u", (unsigned int) normalized);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("offset", "%u", offset);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribArrayObjectATI(index, size, type, normalized, stride, buffer, offset);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribArrayObjectfvATI(GLuint index, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribArrayObjectfvATI)
    traceGL_lookupNativeAddress("glGetVertexAttribArrayObjectfvATI", (void **) &traceGL_Native.glGetVertexAttribArrayObjectfvATI);

  traceThis = traceEnabled("glGetVertexAttribArrayObjectfvATI");

  if (!traceGL_Native.glGetVertexAttribArrayObjectfvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribArrayObjectfvATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVertexAttribArrayObjectfvATI(index, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribArrayObjectivATI(GLuint index, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribArrayObjectivATI)
    traceGL_lookupNativeAddress("glGetVertexAttribArrayObjectivATI", (void **) &traceGL_Native.glGetVertexAttribArrayObjectivATI);

  traceThis = traceEnabled("glGetVertexAttribArrayObjectivATI");

  if (!traceGL_Native.glGetVertexAttribArrayObjectivATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribArrayObjectivATI");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVertexAttribArrayObjectivATI(index, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDepthBoundsEXT(GLclampd zmin, GLclampd zmax)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDepthBoundsEXT)
    traceGL_lookupNativeAddress("glDepthBoundsEXT", (void **) &traceGL_Native.glDepthBoundsEXT);

  traceThis = traceEnabled("glDepthBoundsEXT");

  if (!traceGL_Native.glDepthBoundsEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDepthBoundsEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("zmin", "%lf", zmin);
    traceInputParameter("zmax", "%lf", zmax);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDepthBoundsEXT(zmin, zmax);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBlendEquationSeparateEXT(GLenum modeRGB, GLenum modeAlpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendEquationSeparateEXT)
    traceGL_lookupNativeAddress("glBlendEquationSeparateEXT", (void **) &traceGL_Native.glBlendEquationSeparateEXT);

  traceThis = traceEnabled("glBlendEquationSeparateEXT");

  if (!traceGL_Native.glBlendEquationSeparateEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendEquationSeparateEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("modeRGB", "%u", modeRGB);
    traceInputParameter("modeAlpha", "%u", modeAlpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBlendEquationSeparateEXT(modeRGB, modeAlpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsRenderbufferEXT(GLuint renderbuffer)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsRenderbufferEXT)
    traceGL_lookupNativeAddress("glIsRenderbufferEXT", (void **) &traceGL_Native.glIsRenderbufferEXT);

  traceThis = traceEnabled("glIsRenderbufferEXT");

  if (!traceGL_Native.glIsRenderbufferEXT)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsRenderbufferEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("renderbuffer", "%u", renderbuffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsRenderbufferEXT(renderbuffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBindRenderbufferEXT(GLenum target, GLuint renderbuffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindRenderbufferEXT)
    traceGL_lookupNativeAddress("glBindRenderbufferEXT", (void **) &traceGL_Native.glBindRenderbufferEXT);

  traceThis = traceEnabled("glBindRenderbufferEXT");

  if (!traceGL_Native.glBindRenderbufferEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindRenderbufferEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("renderbuffer", "%u", renderbuffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindRenderbufferEXT(target, renderbuffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteRenderbuffersEXT(GLsizei n, const GLuint *renderbuffers)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteRenderbuffersEXT)
    traceGL_lookupNativeAddress("glDeleteRenderbuffersEXT", (void **) &traceGL_Native.glDeleteRenderbuffersEXT);

  traceThis = traceEnabled("glDeleteRenderbuffersEXT");

  if (!traceGL_Native.glDeleteRenderbuffersEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteRenderbuffersEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("renderbuffers", "%u[%d]", renderbuffers, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteRenderbuffersEXT(n, renderbuffers);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenRenderbuffersEXT(GLsizei n, GLuint *renderbuffers)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenRenderbuffersEXT)
    traceGL_lookupNativeAddress("glGenRenderbuffersEXT", (void **) &traceGL_Native.glGenRenderbuffersEXT);

  traceThis = traceEnabled("glGenRenderbuffersEXT");

  if (!traceGL_Native.glGenRenderbuffersEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenRenderbuffersEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenRenderbuffersEXT(n, renderbuffers);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("renderbuffers", "%u[%d]", renderbuffers, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRenderbufferStorageEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRenderbufferStorageEXT)
    traceGL_lookupNativeAddress("glRenderbufferStorageEXT", (void **) &traceGL_Native.glRenderbufferStorageEXT);

  traceThis = traceEnabled("glRenderbufferStorageEXT");

  if (!traceGL_Native.glRenderbufferStorageEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRenderbufferStorageEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRenderbufferStorageEXT(target, internalformat, width, height);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetRenderbufferParameterivEXT(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetRenderbufferParameterivEXT)
    traceGL_lookupNativeAddress("glGetRenderbufferParameterivEXT", (void **) &traceGL_Native.glGetRenderbufferParameterivEXT);

  traceThis = traceEnabled("glGetRenderbufferParameterivEXT");

  if (!traceGL_Native.glGetRenderbufferParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetRenderbufferParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetRenderbufferParameterivEXT(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsFramebufferEXT(GLuint framebuffer)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsFramebufferEXT)
    traceGL_lookupNativeAddress("glIsFramebufferEXT", (void **) &traceGL_Native.glIsFramebufferEXT);

  traceThis = traceEnabled("glIsFramebufferEXT");

  if (!traceGL_Native.glIsFramebufferEXT)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsFramebufferEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("framebuffer", "%u", framebuffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsFramebufferEXT(framebuffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBindFramebufferEXT(GLenum target, GLuint framebuffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindFramebufferEXT)
    traceGL_lookupNativeAddress("glBindFramebufferEXT", (void **) &traceGL_Native.glBindFramebufferEXT);

  traceThis = traceEnabled("glBindFramebufferEXT");

  if (!traceGL_Native.glBindFramebufferEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindFramebufferEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("framebuffer", "%u", framebuffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindFramebufferEXT(target, framebuffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteFramebuffersEXT(GLsizei n, const GLuint *framebuffers)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteFramebuffersEXT)
    traceGL_lookupNativeAddress("glDeleteFramebuffersEXT", (void **) &traceGL_Native.glDeleteFramebuffersEXT);

  traceThis = traceEnabled("glDeleteFramebuffersEXT");

  if (!traceGL_Native.glDeleteFramebuffersEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteFramebuffersEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("framebuffers", "%u[%d]", framebuffers, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteFramebuffersEXT(n, framebuffers);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenFramebuffersEXT(GLsizei n, GLuint *framebuffers)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenFramebuffersEXT)
    traceGL_lookupNativeAddress("glGenFramebuffersEXT", (void **) &traceGL_Native.glGenFramebuffersEXT);

  traceThis = traceEnabled("glGenFramebuffersEXT");

  if (!traceGL_Native.glGenFramebuffersEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenFramebuffersEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenFramebuffersEXT(n, framebuffers);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("framebuffers", "%u[%d]", framebuffers, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLenum GLAPIENTRY
glCheckFramebufferStatusEXT(GLenum target)
{
  GLenum ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCheckFramebufferStatusEXT)
    traceGL_lookupNativeAddress("glCheckFramebufferStatusEXT", (void **) &traceGL_Native.glCheckFramebufferStatusEXT);

  traceThis = traceEnabled("glCheckFramebufferStatusEXT");

  if (!traceGL_Native.glCheckFramebufferStatusEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCheckFramebufferStatusEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glCheckFramebufferStatusEXT(target);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glFramebufferTexture1DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTexture1DEXT)
    traceGL_lookupNativeAddress("glFramebufferTexture1DEXT", (void **) &traceGL_Native.glFramebufferTexture1DEXT);

  traceThis = traceEnabled("glFramebufferTexture1DEXT");

  if (!traceGL_Native.glFramebufferTexture1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTexture1DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("textarget", "%u", textarget);
    traceInputParameter("texture", "%u", texture);
    traceInputParameter("level", "%d", level);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFramebufferTexture1DEXT(target, attachment, textarget, texture, level);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFramebufferTexture2DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTexture2DEXT)
    traceGL_lookupNativeAddress("glFramebufferTexture2DEXT", (void **) &traceGL_Native.glFramebufferTexture2DEXT);

  traceThis = traceEnabled("glFramebufferTexture2DEXT");

  if (!traceGL_Native.glFramebufferTexture2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTexture2DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("textarget", "%u", textarget);
    traceInputParameter("texture", "%u", texture);
    traceInputParameter("level", "%d", level);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFramebufferTexture2DEXT(target, attachment, textarget, texture, level);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFramebufferTexture3DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTexture3DEXT)
    traceGL_lookupNativeAddress("glFramebufferTexture3DEXT", (void **) &traceGL_Native.glFramebufferTexture3DEXT);

  traceThis = traceEnabled("glFramebufferTexture3DEXT");

  if (!traceGL_Native.glFramebufferTexture3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTexture3DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("textarget", "%u", textarget);
    traceInputParameter("texture", "%u", texture);
    traceInputParameter("level", "%d", level);
    traceInputParameter("zoffset", "%d", zoffset);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFramebufferTexture3DEXT(target, attachment, textarget, texture, level, zoffset);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFramebufferRenderbufferEXT(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferRenderbufferEXT)
    traceGL_lookupNativeAddress("glFramebufferRenderbufferEXT", (void **) &traceGL_Native.glFramebufferRenderbufferEXT);

  traceThis = traceEnabled("glFramebufferRenderbufferEXT");

  if (!traceGL_Native.glFramebufferRenderbufferEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferRenderbufferEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("renderbuffertarget", "%u", renderbuffertarget);
    traceInputParameter("renderbuffer", "%u", renderbuffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFramebufferRenderbufferEXT(target, attachment, renderbuffertarget, renderbuffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFramebufferAttachmentParameterivEXT)
    traceGL_lookupNativeAddress("glGetFramebufferAttachmentParameterivEXT", (void **) &traceGL_Native.glGetFramebufferAttachmentParameterivEXT);

  traceThis = traceEnabled("glGetFramebufferAttachmentParameterivEXT");

  if (!traceGL_Native.glGetFramebufferAttachmentParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFramebufferAttachmentParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetFramebufferAttachmentParameterivEXT(target, attachment, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenerateMipmapEXT(GLenum target)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenerateMipmapEXT)
    traceGL_lookupNativeAddress("glGenerateMipmapEXT", (void **) &traceGL_Native.glGenerateMipmapEXT);

  traceThis = traceEnabled("glGenerateMipmapEXT");

  if (!traceGL_Native.glGenerateMipmapEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenerateMipmapEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenerateMipmapEXT(target);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glStringMarkerGREMEDY(GLsizei len, const GLvoid *string)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glStringMarkerGREMEDY)
    traceGL_lookupNativeAddress("glStringMarkerGREMEDY", (void **) &traceGL_Native.glStringMarkerGREMEDY);

  traceThis = traceEnabled("glStringMarkerGREMEDY");

  if (!traceGL_Native.glStringMarkerGREMEDY)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glStringMarkerGREMEDY");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("len", "%d", len);
    traceInputParameter("string", "%p", string);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glStringMarkerGREMEDY(len, string);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glStencilClearTagEXT(GLsizei stencilTagBits, GLuint stencilClearTag)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glStencilClearTagEXT)
    traceGL_lookupNativeAddress("glStencilClearTagEXT", (void **) &traceGL_Native.glStencilClearTagEXT);

  traceThis = traceEnabled("glStencilClearTagEXT");

  if (!traceGL_Native.glStencilClearTagEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glStencilClearTagEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stencilTagBits", "%d", stencilTagBits);
    traceInputParameter("stencilClearTag", "%u", stencilClearTag);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glStencilClearTagEXT(stencilTagBits, stencilClearTag);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlitFramebufferEXT)
    traceGL_lookupNativeAddress("glBlitFramebufferEXT", (void **) &traceGL_Native.glBlitFramebufferEXT);

  traceThis = traceEnabled("glBlitFramebufferEXT");

  if (!traceGL_Native.glBlitFramebufferEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlitFramebufferEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("srcX0", "%d", srcX0);
    traceInputParameter("srcY0", "%d", srcY0);
    traceInputParameter("srcX1", "%d", srcX1);
    traceInputParameter("srcY1", "%d", srcY1);
    traceInputParameter("dstX0", "%d", dstX0);
    traceInputParameter("dstY0", "%d", dstY0);
    traceInputParameter("dstX1", "%d", dstX1);
    traceInputParameter("dstY1", "%d", dstY1);
    traceInputParameter("mask", "%u", mask);
    traceInputParameter("filter", "%u", filter);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBlitFramebufferEXT(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRenderbufferStorageMultisampleEXT(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRenderbufferStorageMultisampleEXT)
    traceGL_lookupNativeAddress("glRenderbufferStorageMultisampleEXT", (void **) &traceGL_Native.glRenderbufferStorageMultisampleEXT);

  traceThis = traceEnabled("glRenderbufferStorageMultisampleEXT");

  if (!traceGL_Native.glRenderbufferStorageMultisampleEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRenderbufferStorageMultisampleEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("samples", "%d", samples);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRenderbufferStorageMultisampleEXT(target, samples, internalformat, width, height);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64EXT *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetQueryObjecti64vEXT)
    traceGL_lookupNativeAddress("glGetQueryObjecti64vEXT", (void **) &traceGL_Native.glGetQueryObjecti64vEXT);

  traceThis = traceEnabled("glGetQueryObjecti64vEXT");

  if (!traceGL_Native.glGetQueryObjecti64vEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetQueryObjecti64vEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetQueryObjecti64vEXT(id, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64EXT *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetQueryObjectui64vEXT)
    traceGL_lookupNativeAddress("glGetQueryObjectui64vEXT", (void **) &traceGL_Native.glGetQueryObjectui64vEXT);

  traceThis = traceEnabled("glGetQueryObjectui64vEXT");

  if (!traceGL_Native.glGetQueryObjectui64vEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetQueryObjectui64vEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetQueryObjectui64vEXT(id, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramEnvParameters4fvEXT(GLenum target, GLuint index, GLsizei count, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramEnvParameters4fvEXT)
    traceGL_lookupNativeAddress("glProgramEnvParameters4fvEXT", (void **) &traceGL_Native.glProgramEnvParameters4fvEXT);

  traceThis = traceEnabled("glProgramEnvParameters4fvEXT");

  if (!traceGL_Native.glProgramEnvParameters4fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramEnvParameters4fvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("params", "%f[%d]", params, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramEnvParameters4fvEXT(target, index, count, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramLocalParameters4fvEXT(GLenum target, GLuint index, GLsizei count, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramLocalParameters4fvEXT)
    traceGL_lookupNativeAddress("glProgramLocalParameters4fvEXT", (void **) &traceGL_Native.glProgramLocalParameters4fvEXT);

  traceThis = traceEnabled("glProgramLocalParameters4fvEXT");

  if (!traceGL_Native.glProgramLocalParameters4fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramLocalParameters4fvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("params", "%f[%d]", params, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramLocalParameters4fvEXT(target, index, count, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBufferParameteriAPPLE(GLenum target, GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBufferParameteriAPPLE)
    traceGL_lookupNativeAddress("glBufferParameteriAPPLE", (void **) &traceGL_Native.glBufferParameteriAPPLE);

  traceThis = traceEnabled("glBufferParameteriAPPLE");

  if (!traceGL_Native.glBufferParameteriAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBufferParameteriAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBufferParameteriAPPLE(target, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFlushMappedBufferRangeAPPLE(GLenum target, GLintptr offset, GLsizeiptr size)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFlushMappedBufferRangeAPPLE)
    traceGL_lookupNativeAddress("glFlushMappedBufferRangeAPPLE", (void **) &traceGL_Native.glFlushMappedBufferRangeAPPLE);

  traceThis = traceEnabled("glFlushMappedBufferRangeAPPLE");

  if (!traceGL_Native.glFlushMappedBufferRangeAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFlushMappedBufferRangeAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("offset", "%z", offset);
    traceInputParameter("size", "%z", size);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFlushMappedBufferRangeAPPLE(target, offset, size);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramLocalParameterI4iNV(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramLocalParameterI4iNV)
    traceGL_lookupNativeAddress("glProgramLocalParameterI4iNV", (void **) &traceGL_Native.glProgramLocalParameterI4iNV);

  traceThis = traceEnabled("glProgramLocalParameterI4iNV");

  if (!traceGL_Native.glProgramLocalParameterI4iNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramLocalParameterI4iNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("z", "%d", z);
    traceInputParameter("w", "%d", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramLocalParameterI4iNV(target, index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramLocalParameterI4ivNV(GLenum target, GLuint index, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramLocalParameterI4ivNV)
    traceGL_lookupNativeAddress("glProgramLocalParameterI4ivNV", (void **) &traceGL_Native.glProgramLocalParameterI4ivNV);

  traceThis = traceEnabled("glProgramLocalParameterI4ivNV");

  if (!traceGL_Native.glProgramLocalParameterI4ivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramLocalParameterI4ivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("params", "%d[%d]", params, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramLocalParameterI4ivNV(target, index, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramLocalParametersI4ivNV(GLenum target, GLuint index, GLsizei count, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramLocalParametersI4ivNV)
    traceGL_lookupNativeAddress("glProgramLocalParametersI4ivNV", (void **) &traceGL_Native.glProgramLocalParametersI4ivNV);

  traceThis = traceEnabled("glProgramLocalParametersI4ivNV");

  if (!traceGL_Native.glProgramLocalParametersI4ivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramLocalParametersI4ivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("params", "%d[%d]", params, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramLocalParametersI4ivNV(target, index, count, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramLocalParameterI4uiNV(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramLocalParameterI4uiNV)
    traceGL_lookupNativeAddress("glProgramLocalParameterI4uiNV", (void **) &traceGL_Native.glProgramLocalParameterI4uiNV);

  traceThis = traceEnabled("glProgramLocalParameterI4uiNV");

  if (!traceGL_Native.glProgramLocalParameterI4uiNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramLocalParameterI4uiNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%u", x);
    traceInputParameter("y", "%u", y);
    traceInputParameter("z", "%u", z);
    traceInputParameter("w", "%u", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramLocalParameterI4uiNV(target, index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramLocalParameterI4uivNV(GLenum target, GLuint index, const GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramLocalParameterI4uivNV)
    traceGL_lookupNativeAddress("glProgramLocalParameterI4uivNV", (void **) &traceGL_Native.glProgramLocalParameterI4uivNV);

  traceThis = traceEnabled("glProgramLocalParameterI4uivNV");

  if (!traceGL_Native.glProgramLocalParameterI4uivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramLocalParameterI4uivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("params", "%u[%d]", params, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramLocalParameterI4uivNV(target, index, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramLocalParametersI4uivNV(GLenum target, GLuint index, GLsizei count, const GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramLocalParametersI4uivNV)
    traceGL_lookupNativeAddress("glProgramLocalParametersI4uivNV", (void **) &traceGL_Native.glProgramLocalParametersI4uivNV);

  traceThis = traceEnabled("glProgramLocalParametersI4uivNV");

  if (!traceGL_Native.glProgramLocalParametersI4uivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramLocalParametersI4uivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("params", "%u[%d]", params, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramLocalParametersI4uivNV(target, index, count, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramEnvParameterI4iNV(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramEnvParameterI4iNV)
    traceGL_lookupNativeAddress("glProgramEnvParameterI4iNV", (void **) &traceGL_Native.glProgramEnvParameterI4iNV);

  traceThis = traceEnabled("glProgramEnvParameterI4iNV");

  if (!traceGL_Native.glProgramEnvParameterI4iNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramEnvParameterI4iNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("z", "%d", z);
    traceInputParameter("w", "%d", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramEnvParameterI4iNV(target, index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramEnvParameterI4ivNV(GLenum target, GLuint index, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramEnvParameterI4ivNV)
    traceGL_lookupNativeAddress("glProgramEnvParameterI4ivNV", (void **) &traceGL_Native.glProgramEnvParameterI4ivNV);

  traceThis = traceEnabled("glProgramEnvParameterI4ivNV");

  if (!traceGL_Native.glProgramEnvParameterI4ivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramEnvParameterI4ivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("params", "%d[%d]", params, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramEnvParameterI4ivNV(target, index, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramEnvParametersI4ivNV(GLenum target, GLuint index, GLsizei count, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramEnvParametersI4ivNV)
    traceGL_lookupNativeAddress("glProgramEnvParametersI4ivNV", (void **) &traceGL_Native.glProgramEnvParametersI4ivNV);

  traceThis = traceEnabled("glProgramEnvParametersI4ivNV");

  if (!traceGL_Native.glProgramEnvParametersI4ivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramEnvParametersI4ivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("params", "%d[%d]", params, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramEnvParametersI4ivNV(target, index, count, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramEnvParameterI4uiNV(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramEnvParameterI4uiNV)
    traceGL_lookupNativeAddress("glProgramEnvParameterI4uiNV", (void **) &traceGL_Native.glProgramEnvParameterI4uiNV);

  traceThis = traceEnabled("glProgramEnvParameterI4uiNV");

  if (!traceGL_Native.glProgramEnvParameterI4uiNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramEnvParameterI4uiNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%u", x);
    traceInputParameter("y", "%u", y);
    traceInputParameter("z", "%u", z);
    traceInputParameter("w", "%u", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramEnvParameterI4uiNV(target, index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramEnvParameterI4uivNV(GLenum target, GLuint index, const GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramEnvParameterI4uivNV)
    traceGL_lookupNativeAddress("glProgramEnvParameterI4uivNV", (void **) &traceGL_Native.glProgramEnvParameterI4uivNV);

  traceThis = traceEnabled("glProgramEnvParameterI4uivNV");

  if (!traceGL_Native.glProgramEnvParameterI4uivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramEnvParameterI4uivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("params", "%u[%d]", params, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramEnvParameterI4uivNV(target, index, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramEnvParametersI4uivNV(GLenum target, GLuint index, GLsizei count, const GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramEnvParametersI4uivNV)
    traceGL_lookupNativeAddress("glProgramEnvParametersI4uivNV", (void **) &traceGL_Native.glProgramEnvParametersI4uivNV);

  traceThis = traceEnabled("glProgramEnvParametersI4uivNV");

  if (!traceGL_Native.glProgramEnvParametersI4uivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramEnvParametersI4uivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("params", "%u[%d]", params, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramEnvParametersI4uivNV(target, index, count, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramLocalParameterIivNV(GLenum target, GLuint index, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramLocalParameterIivNV)
    traceGL_lookupNativeAddress("glGetProgramLocalParameterIivNV", (void **) &traceGL_Native.glGetProgramLocalParameterIivNV);

  traceThis = traceEnabled("glGetProgramLocalParameterIivNV");

  if (!traceGL_Native.glGetProgramLocalParameterIivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramLocalParameterIivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetProgramLocalParameterIivNV(target, index, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%d[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramLocalParameterIuivNV(GLenum target, GLuint index, GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramLocalParameterIuivNV)
    traceGL_lookupNativeAddress("glGetProgramLocalParameterIuivNV", (void **) &traceGL_Native.glGetProgramLocalParameterIuivNV);

  traceThis = traceEnabled("glGetProgramLocalParameterIuivNV");

  if (!traceGL_Native.glGetProgramLocalParameterIuivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramLocalParameterIuivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetProgramLocalParameterIuivNV(target, index, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%u[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramEnvParameterIivNV(GLenum target, GLuint index, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramEnvParameterIivNV)
    traceGL_lookupNativeAddress("glGetProgramEnvParameterIivNV", (void **) &traceGL_Native.glGetProgramEnvParameterIivNV);

  traceThis = traceEnabled("glGetProgramEnvParameterIivNV");

  if (!traceGL_Native.glGetProgramEnvParameterIivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramEnvParameterIivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetProgramEnvParameterIivNV(target, index, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%d[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramEnvParameterIuivNV(GLenum target, GLuint index, GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramEnvParameterIuivNV)
    traceGL_lookupNativeAddress("glGetProgramEnvParameterIuivNV", (void **) &traceGL_Native.glGetProgramEnvParameterIuivNV);

  traceThis = traceEnabled("glGetProgramEnvParameterIuivNV");

  if (!traceGL_Native.glGetProgramEnvParameterIuivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramEnvParameterIuivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetProgramEnvParameterIuivNV(target, index, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%u[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramVertexLimitNV(GLenum target, GLint limit)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramVertexLimitNV)
    traceGL_lookupNativeAddress("glProgramVertexLimitNV", (void **) &traceGL_Native.glProgramVertexLimitNV);

  traceThis = traceEnabled("glProgramVertexLimitNV");

  if (!traceGL_Native.glProgramVertexLimitNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramVertexLimitNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("limit", "%d", limit);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramVertexLimitNV(target, limit);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFramebufferTextureEXT(GLenum target, GLenum attachment, GLuint texture, GLint level)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTextureEXT)
    traceGL_lookupNativeAddress("glFramebufferTextureEXT", (void **) &traceGL_Native.glFramebufferTextureEXT);

  traceThis = traceEnabled("glFramebufferTextureEXT");

  if (!traceGL_Native.glFramebufferTextureEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTextureEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("texture", "%u", texture);
    traceInputParameter("level", "%d", level);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFramebufferTextureEXT(target, attachment, texture, level);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFramebufferTextureLayerEXT(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTextureLayerEXT)
    traceGL_lookupNativeAddress("glFramebufferTextureLayerEXT", (void **) &traceGL_Native.glFramebufferTextureLayerEXT);

  traceThis = traceEnabled("glFramebufferTextureLayerEXT");

  if (!traceGL_Native.glFramebufferTextureLayerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTextureLayerEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("texture", "%u", texture);
    traceInputParameter("level", "%d", level);
    traceInputParameter("layer", "%d", layer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFramebufferTextureLayerEXT(target, attachment, texture, level, layer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFramebufferTextureFaceEXT(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTextureFaceEXT)
    traceGL_lookupNativeAddress("glFramebufferTextureFaceEXT", (void **) &traceGL_Native.glFramebufferTextureFaceEXT);

  traceThis = traceEnabled("glFramebufferTextureFaceEXT");

  if (!traceGL_Native.glFramebufferTextureFaceEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTextureFaceEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("texture", "%u", texture);
    traceInputParameter("level", "%d", level);
    traceInputParameter("face", "%u", face);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFramebufferTextureFaceEXT(target, attachment, texture, level, face);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramParameteriEXT(GLuint program, GLenum pname, GLint value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramParameteriEXT)
    traceGL_lookupNativeAddress("glProgramParameteriEXT", (void **) &traceGL_Native.glProgramParameteriEXT);

  traceThis = traceEnabled("glProgramParameteriEXT");

  if (!traceGL_Native.glProgramParameteriEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramParameteriEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("value", "%d", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramParameteriEXT(program, pname, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI1iEXT(GLuint index, GLint x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI1iEXT)
    traceGL_lookupNativeAddress("glVertexAttribI1iEXT", (void **) &traceGL_Native.glVertexAttribI1iEXT);

  traceThis = traceEnabled("glVertexAttribI1iEXT");

  if (!traceGL_Native.glVertexAttribI1iEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI1iEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%d", x);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI1iEXT(index, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI2iEXT(GLuint index, GLint x, GLint y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI2iEXT)
    traceGL_lookupNativeAddress("glVertexAttribI2iEXT", (void **) &traceGL_Native.glVertexAttribI2iEXT);

  traceThis = traceEnabled("glVertexAttribI2iEXT");

  if (!traceGL_Native.glVertexAttribI2iEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI2iEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI2iEXT(index, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI3iEXT(GLuint index, GLint x, GLint y, GLint z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI3iEXT)
    traceGL_lookupNativeAddress("glVertexAttribI3iEXT", (void **) &traceGL_Native.glVertexAttribI3iEXT);

  traceThis = traceEnabled("glVertexAttribI3iEXT");

  if (!traceGL_Native.glVertexAttribI3iEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI3iEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("z", "%d", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI3iEXT(index, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI4iEXT(GLuint index, GLint x, GLint y, GLint z, GLint w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4iEXT)
    traceGL_lookupNativeAddress("glVertexAttribI4iEXT", (void **) &traceGL_Native.glVertexAttribI4iEXT);

  traceThis = traceEnabled("glVertexAttribI4iEXT");

  if (!traceGL_Native.glVertexAttribI4iEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4iEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("z", "%d", z);
    traceInputParameter("w", "%d", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI4iEXT(index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI1uiEXT(GLuint index, GLuint x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI1uiEXT)
    traceGL_lookupNativeAddress("glVertexAttribI1uiEXT", (void **) &traceGL_Native.glVertexAttribI1uiEXT);

  traceThis = traceEnabled("glVertexAttribI1uiEXT");

  if (!traceGL_Native.glVertexAttribI1uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI1uiEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%u", x);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI1uiEXT(index, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI2uiEXT(GLuint index, GLuint x, GLuint y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI2uiEXT)
    traceGL_lookupNativeAddress("glVertexAttribI2uiEXT", (void **) &traceGL_Native.glVertexAttribI2uiEXT);

  traceThis = traceEnabled("glVertexAttribI2uiEXT");

  if (!traceGL_Native.glVertexAttribI2uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI2uiEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%u", x);
    traceInputParameter("y", "%u", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI2uiEXT(index, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI3uiEXT(GLuint index, GLuint x, GLuint y, GLuint z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI3uiEXT)
    traceGL_lookupNativeAddress("glVertexAttribI3uiEXT", (void **) &traceGL_Native.glVertexAttribI3uiEXT);

  traceThis = traceEnabled("glVertexAttribI3uiEXT");

  if (!traceGL_Native.glVertexAttribI3uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI3uiEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%u", x);
    traceInputParameter("y", "%u", y);
    traceInputParameter("z", "%u", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI3uiEXT(index, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI4uiEXT(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4uiEXT)
    traceGL_lookupNativeAddress("glVertexAttribI4uiEXT", (void **) &traceGL_Native.glVertexAttribI4uiEXT);

  traceThis = traceEnabled("glVertexAttribI4uiEXT");

  if (!traceGL_Native.glVertexAttribI4uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4uiEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%u", x);
    traceInputParameter("y", "%u", y);
    traceInputParameter("z", "%u", z);
    traceInputParameter("w", "%u", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI4uiEXT(index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI1ivEXT(GLuint index, const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI1ivEXT)
    traceGL_lookupNativeAddress("glVertexAttribI1ivEXT", (void **) &traceGL_Native.glVertexAttribI1ivEXT);

  traceThis = traceEnabled("glVertexAttribI1ivEXT");

  if (!traceGL_Native.glVertexAttribI1ivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI1ivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%d[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI1ivEXT(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI2ivEXT(GLuint index, const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI2ivEXT)
    traceGL_lookupNativeAddress("glVertexAttribI2ivEXT", (void **) &traceGL_Native.glVertexAttribI2ivEXT);

  traceThis = traceEnabled("glVertexAttribI2ivEXT");

  if (!traceGL_Native.glVertexAttribI2ivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI2ivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%d[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI2ivEXT(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI3ivEXT(GLuint index, const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI3ivEXT)
    traceGL_lookupNativeAddress("glVertexAttribI3ivEXT", (void **) &traceGL_Native.glVertexAttribI3ivEXT);

  traceThis = traceEnabled("glVertexAttribI3ivEXT");

  if (!traceGL_Native.glVertexAttribI3ivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI3ivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%d[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI3ivEXT(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI4ivEXT(GLuint index, const GLint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4ivEXT)
    traceGL_lookupNativeAddress("glVertexAttribI4ivEXT", (void **) &traceGL_Native.glVertexAttribI4ivEXT);

  traceThis = traceEnabled("glVertexAttribI4ivEXT");

  if (!traceGL_Native.glVertexAttribI4ivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4ivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%d[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI4ivEXT(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI1uivEXT(GLuint index, const GLuint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI1uivEXT)
    traceGL_lookupNativeAddress("glVertexAttribI1uivEXT", (void **) &traceGL_Native.glVertexAttribI1uivEXT);

  traceThis = traceEnabled("glVertexAttribI1uivEXT");

  if (!traceGL_Native.glVertexAttribI1uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI1uivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%u[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI1uivEXT(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI2uivEXT(GLuint index, const GLuint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI2uivEXT)
    traceGL_lookupNativeAddress("glVertexAttribI2uivEXT", (void **) &traceGL_Native.glVertexAttribI2uivEXT);

  traceThis = traceEnabled("glVertexAttribI2uivEXT");

  if (!traceGL_Native.glVertexAttribI2uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI2uivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%u[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI2uivEXT(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI3uivEXT(GLuint index, const GLuint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI3uivEXT)
    traceGL_lookupNativeAddress("glVertexAttribI3uivEXT", (void **) &traceGL_Native.glVertexAttribI3uivEXT);

  traceThis = traceEnabled("glVertexAttribI3uivEXT");

  if (!traceGL_Native.glVertexAttribI3uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI3uivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%u[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI3uivEXT(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI4uivEXT(GLuint index, const GLuint *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4uivEXT)
    traceGL_lookupNativeAddress("glVertexAttribI4uivEXT", (void **) &traceGL_Native.glVertexAttribI4uivEXT);

  traceThis = traceEnabled("glVertexAttribI4uivEXT");

  if (!traceGL_Native.glVertexAttribI4uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4uivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%u[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI4uivEXT(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI4bvEXT(GLuint index, const GLbyte *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4bvEXT)
    traceGL_lookupNativeAddress("glVertexAttribI4bvEXT", (void **) &traceGL_Native.glVertexAttribI4bvEXT);

  traceThis = traceEnabled("glVertexAttribI4bvEXT");

  if (!traceGL_Native.glVertexAttribI4bvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4bvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%c[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI4bvEXT(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI4svEXT(GLuint index, const GLshort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4svEXT)
    traceGL_lookupNativeAddress("glVertexAttribI4svEXT", (void **) &traceGL_Native.glVertexAttribI4svEXT);

  traceThis = traceEnabled("glVertexAttribI4svEXT");

  if (!traceGL_Native.glVertexAttribI4svEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4svEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%hd[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI4svEXT(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI4ubvEXT(GLuint index, const GLubyte *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4ubvEXT)
    traceGL_lookupNativeAddress("glVertexAttribI4ubvEXT", (void **) &traceGL_Native.glVertexAttribI4ubvEXT);

  traceThis = traceEnabled("glVertexAttribI4ubvEXT");

  if (!traceGL_Native.glVertexAttribI4ubvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4ubvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%c[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI4ubvEXT(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI4usvEXT(GLuint index, const GLushort *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4usvEXT)
    traceGL_lookupNativeAddress("glVertexAttribI4usvEXT", (void **) &traceGL_Native.glVertexAttribI4usvEXT);

  traceThis = traceEnabled("glVertexAttribI4usvEXT");

  if (!traceGL_Native.glVertexAttribI4usvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4usvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%hu[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribI4usvEXT(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribIPointerEXT(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribIPointerEXT)
    traceGL_lookupNativeAddress("glVertexAttribIPointerEXT", (void **) &traceGL_Native.glVertexAttribIPointerEXT);

  traceThis = traceEnabled("glVertexAttribIPointerEXT");

  if (!traceGL_Native.glVertexAttribIPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribIPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribIPointerEXT(index, size, type, stride, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribIivEXT(GLuint index, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribIivEXT)
    traceGL_lookupNativeAddress("glGetVertexAttribIivEXT", (void **) &traceGL_Native.glGetVertexAttribIivEXT);

  traceThis = traceEnabled("glGetVertexAttribIivEXT");

  if (!traceGL_Native.glGetVertexAttribIivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribIivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVertexAttribIivEXT(index, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%d[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribIuivEXT(GLuint index, GLenum pname, GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribIuivEXT)
    traceGL_lookupNativeAddress("glGetVertexAttribIuivEXT", (void **) &traceGL_Native.glGetVertexAttribIuivEXT);

  traceThis = traceEnabled("glGetVertexAttribIuivEXT");

  if (!traceGL_Native.glGetVertexAttribIuivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribIuivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVertexAttribIuivEXT(index, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%u[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetUniformuivEXT(GLuint program, GLint location, GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformuivEXT)
    traceGL_lookupNativeAddress("glGetUniformuivEXT", (void **) &traceGL_Native.glGetUniformuivEXT);

  traceThis = traceEnabled("glGetUniformuivEXT");

  if (!traceGL_Native.glGetUniformuivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformuivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetUniformuivEXT(program, location, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBindFragDataLocationEXT(GLuint program, GLuint color, const GLchar *name)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindFragDataLocationEXT)
    traceGL_lookupNativeAddress("glBindFragDataLocationEXT", (void **) &traceGL_Native.glBindFragDataLocationEXT);

  traceThis = traceEnabled("glBindFragDataLocationEXT");

  if (!traceGL_Native.glBindFragDataLocationEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindFragDataLocationEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("color", "%u", color);
    traceInputParameter("name", "%s", name);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindFragDataLocationEXT(program, color, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLint GLAPIENTRY
glGetFragDataLocationEXT(GLuint program, const GLchar *name)
{
  GLint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFragDataLocationEXT)
    traceGL_lookupNativeAddress("glGetFragDataLocationEXT", (void **) &traceGL_Native.glGetFragDataLocationEXT);

  traceThis = traceEnabled("glGetFragDataLocationEXT");

  if (!traceGL_Native.glGetFragDataLocationEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFragDataLocationEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("name", "%s", name);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGetFragDataLocationEXT(program, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%d", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glUniform1uiEXT(GLint location, GLuint v0)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1uiEXT)
    traceGL_lookupNativeAddress("glUniform1uiEXT", (void **) &traceGL_Native.glUniform1uiEXT);

  traceThis = traceEnabled("glUniform1uiEXT");

  if (!traceGL_Native.glUniform1uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1uiEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%u", v0);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform1uiEXT(location, v0);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform2uiEXT(GLint location, GLuint v0, GLuint v1)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2uiEXT)
    traceGL_lookupNativeAddress("glUniform2uiEXT", (void **) &traceGL_Native.glUniform2uiEXT);

  traceThis = traceEnabled("glUniform2uiEXT");

  if (!traceGL_Native.glUniform2uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2uiEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%u", v0);
    traceInputParameter("v1", "%u", v1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform2uiEXT(location, v0, v1);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform3uiEXT(GLint location, GLuint v0, GLuint v1, GLuint v2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3uiEXT)
    traceGL_lookupNativeAddress("glUniform3uiEXT", (void **) &traceGL_Native.glUniform3uiEXT);

  traceThis = traceEnabled("glUniform3uiEXT");

  if (!traceGL_Native.glUniform3uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3uiEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%u", v0);
    traceInputParameter("v1", "%u", v1);
    traceInputParameter("v2", "%u", v2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform3uiEXT(location, v0, v1, v2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform4uiEXT(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4uiEXT)
    traceGL_lookupNativeAddress("glUniform4uiEXT", (void **) &traceGL_Native.glUniform4uiEXT);

  traceThis = traceEnabled("glUniform4uiEXT");

  if (!traceGL_Native.glUniform4uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4uiEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%u", v0);
    traceInputParameter("v1", "%u", v1);
    traceInputParameter("v2", "%u", v2);
    traceInputParameter("v3", "%u", v3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform4uiEXT(location, v0, v1, v2, v3);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform1uivEXT(GLint location, GLsizei count, const GLuint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1uivEXT)
    traceGL_lookupNativeAddress("glUniform1uivEXT", (void **) &traceGL_Native.glUniform1uivEXT);

  traceThis = traceEnabled("glUniform1uivEXT");

  if (!traceGL_Native.glUniform1uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1uivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%u[%d]", value, count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform1uivEXT(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform2uivEXT(GLint location, GLsizei count, const GLuint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2uivEXT)
    traceGL_lookupNativeAddress("glUniform2uivEXT", (void **) &traceGL_Native.glUniform2uivEXT);

  traceThis = traceEnabled("glUniform2uivEXT");

  if (!traceGL_Native.glUniform2uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2uivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%u[%d]", value, count * 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform2uivEXT(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform3uivEXT(GLint location, GLsizei count, const GLuint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3uivEXT)
    traceGL_lookupNativeAddress("glUniform3uivEXT", (void **) &traceGL_Native.glUniform3uivEXT);

  traceThis = traceEnabled("glUniform3uivEXT");

  if (!traceGL_Native.glUniform3uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3uivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%u[%d]", value, count * 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform3uivEXT(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform4uivEXT(GLint location, GLsizei count, const GLuint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4uivEXT)
    traceGL_lookupNativeAddress("glUniform4uivEXT", (void **) &traceGL_Native.glUniform4uivEXT);

  traceThis = traceEnabled("glUniform4uivEXT");

  if (!traceGL_Native.glUniform4uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4uivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%u[%d]", value, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform4uivEXT(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawArraysInstancedEXT(GLenum mode, GLint start, GLsizei count, GLsizei primcount)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawArraysInstancedEXT)
    traceGL_lookupNativeAddress("glDrawArraysInstancedEXT", (void **) &traceGL_Native.glDrawArraysInstancedEXT);

  traceThis = traceEnabled("glDrawArraysInstancedEXT");

  if (!traceGL_Native.glDrawArraysInstancedEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawArraysInstancedEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("start", "%d", start);
    traceInputParameter("count", "%d", count);
    traceInputParameter("primcount", "%d", primcount);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawArraysInstancedEXT(mode, start, count, primcount);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawElementsInstancedEXT(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawElementsInstancedEXT)
    traceGL_lookupNativeAddress("glDrawElementsInstancedEXT", (void **) &traceGL_Native.glDrawElementsInstancedEXT);

  traceThis = traceEnabled("glDrawElementsInstancedEXT");

  if (!traceGL_Native.glDrawElementsInstancedEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawElementsInstancedEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("count", "%d", count);
    traceInputParameter("type", "%u", type);
    traceInputParameter("indices", "%p", indices);
    traceInputParameter("primcount", "%d", primcount);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawElementsInstancedEXT(mode, count, type, indices, primcount);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexBufferEXT(GLenum target, GLenum internalformat, GLuint buffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexBufferEXT)
    traceGL_lookupNativeAddress("glTexBufferEXT", (void **) &traceGL_Native.glTexBufferEXT);

  traceThis = traceEnabled("glTexBufferEXT");

  if (!traceGL_Native.glTexBufferEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexBufferEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("buffer", "%u", buffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexBufferEXT(target, internalformat, buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDepthRangedNV(GLdouble zNear, GLdouble zFar)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDepthRangedNV)
    traceGL_lookupNativeAddress("glDepthRangedNV", (void **) &traceGL_Native.glDepthRangedNV);

  traceThis = traceEnabled("glDepthRangedNV");

  if (!traceGL_Native.glDepthRangedNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDepthRangedNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("zNear", "%lf", zNear);
    traceInputParameter("zFar", "%lf", zFar);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDepthRangedNV(zNear, zFar);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glClearDepthdNV(GLdouble depth)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClearDepthdNV)
    traceGL_lookupNativeAddress("glClearDepthdNV", (void **) &traceGL_Native.glClearDepthdNV);

  traceThis = traceEnabled("glClearDepthdNV");

  if (!traceGL_Native.glClearDepthdNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClearDepthdNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("depth", "%lf", depth);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glClearDepthdNV(depth);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDepthBoundsdNV(GLdouble zmin, GLdouble zmax)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDepthBoundsdNV)
    traceGL_lookupNativeAddress("glDepthBoundsdNV", (void **) &traceGL_Native.glDepthBoundsdNV);

  traceThis = traceEnabled("glDepthBoundsdNV");

  if (!traceGL_Native.glDepthBoundsdNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDepthBoundsdNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("zmin", "%lf", zmin);
    traceInputParameter("zmax", "%lf", zmax);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDepthBoundsdNV(zmin, zmax);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRenderbufferStorageMultisampleCoverageNV(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRenderbufferStorageMultisampleCoverageNV)
    traceGL_lookupNativeAddress("glRenderbufferStorageMultisampleCoverageNV", (void **) &traceGL_Native.glRenderbufferStorageMultisampleCoverageNV);

  traceThis = traceEnabled("glRenderbufferStorageMultisampleCoverageNV");

  if (!traceGL_Native.glRenderbufferStorageMultisampleCoverageNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRenderbufferStorageMultisampleCoverageNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("coverageSamples", "%d", coverageSamples);
    traceInputParameter("colorSamples", "%d", colorSamples);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glRenderbufferStorageMultisampleCoverageNV(target, coverageSamples, colorSamples, internalformat, width, height);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramBufferParametersfvNV(GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramBufferParametersfvNV)
    traceGL_lookupNativeAddress("glProgramBufferParametersfvNV", (void **) &traceGL_Native.glProgramBufferParametersfvNV);

  traceThis = traceEnabled("glProgramBufferParametersfvNV");

  if (!traceGL_Native.glProgramBufferParametersfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramBufferParametersfvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("params", "%f[%d]", params, count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramBufferParametersfvNV(target, buffer, index, count, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramBufferParametersIivNV(GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramBufferParametersIivNV)
    traceGL_lookupNativeAddress("glProgramBufferParametersIivNV", (void **) &traceGL_Native.glProgramBufferParametersIivNV);

  traceThis = traceEnabled("glProgramBufferParametersIivNV");

  if (!traceGL_Native.glProgramBufferParametersIivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramBufferParametersIivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("params", "%d[%d]", params, count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramBufferParametersIivNV(target, buffer, index, count, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramBufferParametersIuivNV(GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramBufferParametersIuivNV)
    traceGL_lookupNativeAddress("glProgramBufferParametersIuivNV", (void **) &traceGL_Native.glProgramBufferParametersIuivNV);

  traceThis = traceEnabled("glProgramBufferParametersIuivNV");

  if (!traceGL_Native.glProgramBufferParametersIuivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramBufferParametersIuivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("params", "%u[%d]", params, count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramBufferParametersIuivNV(target, buffer, index, count, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColorMaskIndexedEXT(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorMaskIndexedEXT)
    traceGL_lookupNativeAddress("glColorMaskIndexedEXT", (void **) &traceGL_Native.glColorMaskIndexedEXT);

  traceThis = traceEnabled("glColorMaskIndexedEXT");

  if (!traceGL_Native.glColorMaskIndexedEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorMaskIndexedEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("r", "%u", (unsigned int) r);
    traceInputParameter("g", "%u", (unsigned int) g);
    traceInputParameter("b", "%u", (unsigned int) b);
    traceInputParameter("a", "%u", (unsigned int) a);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColorMaskIndexedEXT(index, r, g, b, a);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetBooleanIndexedvEXT(GLenum target, GLuint index, GLboolean *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetBooleanIndexedvEXT)
    traceGL_lookupNativeAddress("glGetBooleanIndexedvEXT", (void **) &traceGL_Native.glGetBooleanIndexedvEXT);

  traceThis = traceEnabled("glGetBooleanIndexedvEXT");

  if (!traceGL_Native.glGetBooleanIndexedvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetBooleanIndexedvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetBooleanIndexedvEXT(target, index, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetIntegerIndexedvEXT(GLenum target, GLuint index, GLint *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetIntegerIndexedvEXT)
    traceGL_lookupNativeAddress("glGetIntegerIndexedvEXT", (void **) &traceGL_Native.glGetIntegerIndexedvEXT);

  traceThis = traceEnabled("glGetIntegerIndexedvEXT");

  if (!traceGL_Native.glGetIntegerIndexedvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetIntegerIndexedvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetIntegerIndexedvEXT(target, index, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEnableIndexedEXT(GLenum target, GLuint index)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEnableIndexedEXT)
    traceGL_lookupNativeAddress("glEnableIndexedEXT", (void **) &traceGL_Native.glEnableIndexedEXT);

  traceThis = traceEnabled("glEnableIndexedEXT");

  if (!traceGL_Native.glEnableIndexedEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEnableIndexedEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEnableIndexedEXT(target, index);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDisableIndexedEXT(GLenum target, GLuint index)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDisableIndexedEXT)
    traceGL_lookupNativeAddress("glDisableIndexedEXT", (void **) &traceGL_Native.glDisableIndexedEXT);

  traceThis = traceEnabled("glDisableIndexedEXT");

  if (!traceGL_Native.glDisableIndexedEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDisableIndexedEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDisableIndexedEXT(target, index);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsEnabledIndexedEXT(GLenum target, GLuint index)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsEnabledIndexedEXT)
    traceGL_lookupNativeAddress("glIsEnabledIndexedEXT", (void **) &traceGL_Native.glIsEnabledIndexedEXT);

  traceThis = traceEnabled("glIsEnabledIndexedEXT");

  if (!traceGL_Native.glIsEnabledIndexedEXT)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsEnabledIndexedEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsEnabledIndexedEXT(target, index);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBeginTransformFeedbackNV(GLenum primitiveMode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBeginTransformFeedbackNV)
    traceGL_lookupNativeAddress("glBeginTransformFeedbackNV", (void **) &traceGL_Native.glBeginTransformFeedbackNV);

  traceThis = traceEnabled("glBeginTransformFeedbackNV");

  if (!traceGL_Native.glBeginTransformFeedbackNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBeginTransformFeedbackNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("primitiveMode", "%u", primitiveMode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBeginTransformFeedbackNV(primitiveMode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEndTransformFeedbackNV()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndTransformFeedbackNV)
    traceGL_lookupNativeAddress("glEndTransformFeedbackNV", (void **) &traceGL_Native.glEndTransformFeedbackNV);

  traceThis = traceEnabled("glEndTransformFeedbackNV");

  if (!traceGL_Native.glEndTransformFeedbackNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEndTransformFeedbackNV");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEndTransformFeedbackNV();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTransformFeedbackAttribsNV(GLuint count, const GLint *attribs, GLenum bufferMode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTransformFeedbackAttribsNV)
    traceGL_lookupNativeAddress("glTransformFeedbackAttribsNV", (void **) &traceGL_Native.glTransformFeedbackAttribsNV);

  traceThis = traceEnabled("glTransformFeedbackAttribsNV");

  if (!traceGL_Native.glTransformFeedbackAttribsNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTransformFeedbackAttribsNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("count", "%u", count);
    traceInputParameter("bufferMode", "%u", bufferMode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTransformFeedbackAttribsNV(count, attribs, bufferMode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBindBufferRangeNV(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindBufferRangeNV)
    traceGL_lookupNativeAddress("glBindBufferRangeNV", (void **) &traceGL_Native.glBindBufferRangeNV);

  traceThis = traceEnabled("glBindBufferRangeNV");

  if (!traceGL_Native.glBindBufferRangeNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindBufferRangeNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("offset", "%z", offset);
    traceInputParameter("size", "%z", size);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindBufferRangeNV(target, index, buffer, offset, size);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBindBufferOffsetNV(GLenum target, GLuint index, GLuint buffer, GLintptr offset)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindBufferOffsetNV)
    traceGL_lookupNativeAddress("glBindBufferOffsetNV", (void **) &traceGL_Native.glBindBufferOffsetNV);

  traceThis = traceEnabled("glBindBufferOffsetNV");

  if (!traceGL_Native.glBindBufferOffsetNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindBufferOffsetNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("offset", "%z", offset);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindBufferOffsetNV(target, index, buffer, offset);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBindBufferBaseNV(GLenum target, GLuint index, GLuint buffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindBufferBaseNV)
    traceGL_lookupNativeAddress("glBindBufferBaseNV", (void **) &traceGL_Native.glBindBufferBaseNV);

  traceThis = traceEnabled("glBindBufferBaseNV");

  if (!traceGL_Native.glBindBufferBaseNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindBufferBaseNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("buffer", "%u", buffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindBufferBaseNV(target, index, buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTransformFeedbackVaryingsNV(GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTransformFeedbackVaryingsNV)
    traceGL_lookupNativeAddress("glTransformFeedbackVaryingsNV", (void **) &traceGL_Native.glTransformFeedbackVaryingsNV);

  traceThis = traceEnabled("glTransformFeedbackVaryingsNV");

  if (!traceGL_Native.glTransformFeedbackVaryingsNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTransformFeedbackVaryingsNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("count", "%d", count);
    traceInputParameter("locations", "%d[%d]", locations, count);
    traceInputParameter("bufferMode", "%u", bufferMode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTransformFeedbackVaryingsNV(program, count, locations, bufferMode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glActiveVaryingNV(GLuint program, const GLchar *name)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glActiveVaryingNV)
    traceGL_lookupNativeAddress("glActiveVaryingNV", (void **) &traceGL_Native.glActiveVaryingNV);

  traceThis = traceEnabled("glActiveVaryingNV");

  if (!traceGL_Native.glActiveVaryingNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glActiveVaryingNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("name", "%s", name);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glActiveVaryingNV(program, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLint GLAPIENTRY
glGetVaryingLocationNV(GLuint program, const GLchar *name)
{
  GLint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVaryingLocationNV)
    traceGL_lookupNativeAddress("glGetVaryingLocationNV", (void **) &traceGL_Native.glGetVaryingLocationNV);

  traceThis = traceEnabled("glGetVaryingLocationNV");

  if (!traceGL_Native.glGetVaryingLocationNV)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVaryingLocationNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("name", "%s", name);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGetVaryingLocationNV(program, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%d", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetActiveVaryingNV)
    traceGL_lookupNativeAddress("glGetActiveVaryingNV", (void **) &traceGL_Native.glGetActiveVaryingNV);

  traceThis = traceEnabled("glGetActiveVaryingNV");

  if (!traceGL_Native.glGetActiveVaryingNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetActiveVaryingNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("index", "%u", index);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetActiveVaryingNV(program, index, bufSize, length, size, type, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("length", "%d[%d]", length, 1);
    traceOutputParameter("size", "%d[%d]", size, 1);
    traceOutputParameter("type", "%u[%d]", type, 1);
    traceOutputParameter("name", "%s", name);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTransformFeedbackVaryingNV(GLuint program, GLuint index, GLint *location)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTransformFeedbackVaryingNV)
    traceGL_lookupNativeAddress("glGetTransformFeedbackVaryingNV", (void **) &traceGL_Native.glGetTransformFeedbackVaryingNV);

  traceThis = traceEnabled("glGetTransformFeedbackVaryingNV");

  if (!traceGL_Native.glGetTransformFeedbackVaryingNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTransformFeedbackVaryingNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTransformFeedbackVaryingNV(program, index, location);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("location", "%d[%d]", location, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformBufferEXT(GLuint program, GLint location, GLuint buffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformBufferEXT)
    traceGL_lookupNativeAddress("glUniformBufferEXT", (void **) &traceGL_Native.glUniformBufferEXT);

  traceThis = traceEnabled("glUniformBufferEXT");

  if (!traceGL_Native.glUniformBufferEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformBufferEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("buffer", "%u", buffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniformBufferEXT(program, location, buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLint GLAPIENTRY
glGetUniformBufferSizeEXT(GLuint program, GLint location)
{
  GLint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformBufferSizeEXT)
    traceGL_lookupNativeAddress("glGetUniformBufferSizeEXT", (void **) &traceGL_Native.glGetUniformBufferSizeEXT);

  traceThis = traceEnabled("glGetUniformBufferSizeEXT");

  if (!traceGL_Native.glGetUniformBufferSizeEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformBufferSizeEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGetUniformBufferSizeEXT(program, location);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%d", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLintptr GLAPIENTRY
glGetUniformOffsetEXT(GLuint program, GLint location)
{
  GLintptr ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformOffsetEXT)
    traceGL_lookupNativeAddress("glGetUniformOffsetEXT", (void **) &traceGL_Native.glGetUniformOffsetEXT);

  traceThis = traceEnabled("glGetUniformOffsetEXT");

  if (!traceGL_Native.glGetUniformOffsetEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformOffsetEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGetUniformOffsetEXT(program, location);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%z", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glTexParameterIivEXT(GLenum target, GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexParameterIivEXT)
    traceGL_lookupNativeAddress("glTexParameterIivEXT", (void **) &traceGL_Native.glTexParameterIivEXT);

  traceThis = traceEnabled("glTexParameterIivEXT");

  if (!traceGL_Native.glTexParameterIivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexParameterIivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexParameterIivEXT(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexParameterIuivEXT(GLenum target, GLenum pname, const GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexParameterIuivEXT)
    traceGL_lookupNativeAddress("glTexParameterIuivEXT", (void **) &traceGL_Native.glTexParameterIuivEXT);

  traceThis = traceEnabled("glTexParameterIuivEXT");

  if (!traceGL_Native.glTexParameterIuivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexParameterIuivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexParameterIuivEXT(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTexParameterIivEXT(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTexParameterIivEXT)
    traceGL_lookupNativeAddress("glGetTexParameterIivEXT", (void **) &traceGL_Native.glGetTexParameterIivEXT);

  traceThis = traceEnabled("glGetTexParameterIivEXT");

  if (!traceGL_Native.glGetTexParameterIivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTexParameterIivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTexParameterIivEXT(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTexParameterIuivEXT(GLenum target, GLenum pname, GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTexParameterIuivEXT)
    traceGL_lookupNativeAddress("glGetTexParameterIuivEXT", (void **) &traceGL_Native.glGetTexParameterIuivEXT);

  traceThis = traceEnabled("glGetTexParameterIuivEXT");

  if (!traceGL_Native.glGetTexParameterIuivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTexParameterIuivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTexParameterIuivEXT(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glClearColorIiEXT(GLint red, GLint green, GLint blue, GLint alpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClearColorIiEXT)
    traceGL_lookupNativeAddress("glClearColorIiEXT", (void **) &traceGL_Native.glClearColorIiEXT);

  traceThis = traceEnabled("glClearColorIiEXT");

  if (!traceGL_Native.glClearColorIiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClearColorIiEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%d", red);
    traceInputParameter("green", "%d", green);
    traceInputParameter("blue", "%d", blue);
    traceInputParameter("alpha", "%d", alpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glClearColorIiEXT(red, green, blue, alpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glClearColorIuiEXT(GLuint red, GLuint green, GLuint blue, GLuint alpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClearColorIuiEXT)
    traceGL_lookupNativeAddress("glClearColorIuiEXT", (void **) &traceGL_Native.glClearColorIuiEXT);

  traceThis = traceEnabled("glClearColorIuiEXT");

  if (!traceGL_Native.glClearColorIuiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClearColorIuiEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("red", "%u", red);
    traceInputParameter("green", "%u", green);
    traceInputParameter("blue", "%u", blue);
    traceInputParameter("alpha", "%u", alpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glClearColorIuiEXT(red, green, blue, alpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFrameTerminatorGREMEDY()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFrameTerminatorGREMEDY)
    traceGL_lookupNativeAddress("glFrameTerminatorGREMEDY", (void **) &traceGL_Native.glFrameTerminatorGREMEDY);

  traceThis = traceEnabled("glFrameTerminatorGREMEDY");

  if (!traceGL_Native.glFrameTerminatorGREMEDY)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFrameTerminatorGREMEDY");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFrameTerminatorGREMEDY();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBeginConditionalRenderNV(GLuint id, GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBeginConditionalRenderNV)
    traceGL_lookupNativeAddress("glBeginConditionalRenderNV", (void **) &traceGL_Native.glBeginConditionalRenderNV);

  traceThis = traceEnabled("glBeginConditionalRenderNV");

  if (!traceGL_Native.glBeginConditionalRenderNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBeginConditionalRenderNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);
    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBeginConditionalRenderNV(id, mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEndConditionalRenderNV()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndConditionalRenderNV)
    traceGL_lookupNativeAddress("glEndConditionalRenderNV", (void **) &traceGL_Native.glEndConditionalRenderNV);

  traceThis = traceEnabled("glEndConditionalRenderNV");

  if (!traceGL_Native.glEndConditionalRenderNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEndConditionalRenderNV");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEndConditionalRenderNV();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPresentFrameKeyedNV(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPresentFrameKeyedNV)
    traceGL_lookupNativeAddress("glPresentFrameKeyedNV", (void **) &traceGL_Native.glPresentFrameKeyedNV);

  traceThis = traceEnabled("glPresentFrameKeyedNV");

  if (!traceGL_Native.glPresentFrameKeyedNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPresentFrameKeyedNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("video_slot", "%u", video_slot);
    traceInputParameter("beginPresentTimeId", "%u", beginPresentTimeId);
    traceInputParameter("presentDurationId", "%u", presentDurationId);
    traceInputParameter("type", "%u", type);
    traceInputParameter("target0", "%u", target0);
    traceInputParameter("fill0", "%u", fill0);
    traceInputParameter("key0", "%u", key0);
    traceInputParameter("target1", "%u", target1);
    traceInputParameter("fill1", "%u", fill1);
    traceInputParameter("key1", "%u", key1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPresentFrameKeyedNV(video_slot, minPresentTime, beginPresentTimeId, presentDurationId, type, target0, fill0, key0, target1, fill1, key1);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPresentFrameDualFillNV(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPresentFrameDualFillNV)
    traceGL_lookupNativeAddress("glPresentFrameDualFillNV", (void **) &traceGL_Native.glPresentFrameDualFillNV);

  traceThis = traceEnabled("glPresentFrameDualFillNV");

  if (!traceGL_Native.glPresentFrameDualFillNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPresentFrameDualFillNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("video_slot", "%u", video_slot);
    traceInputParameter("beginPresentTimeId", "%u", beginPresentTimeId);
    traceInputParameter("presentDurationId", "%u", presentDurationId);
    traceInputParameter("type", "%u", type);
    traceInputParameter("target0", "%u", target0);
    traceInputParameter("fill0", "%u", fill0);
    traceInputParameter("target1", "%u", target1);
    traceInputParameter("fill1", "%u", fill1);
    traceInputParameter("target2", "%u", target2);
    traceInputParameter("fill2", "%u", fill2);
    traceInputParameter("target3", "%u", target3);
    traceInputParameter("fill3", "%u", fill3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPresentFrameDualFillNV(video_slot, minPresentTime, beginPresentTimeId, presentDurationId, type, target0, fill0, target1, fill1, target2, fill2, target3, fill3);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVideoivNV(GLuint video_slot, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVideoivNV)
    traceGL_lookupNativeAddress("glGetVideoivNV", (void **) &traceGL_Native.glGetVideoivNV);

  traceThis = traceEnabled("glGetVideoivNV");

  if (!traceGL_Native.glGetVideoivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVideoivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("video_slot", "%u", video_slot);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVideoivNV(video_slot, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVideouivNV(GLuint video_slot, GLenum pname, GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVideouivNV)
    traceGL_lookupNativeAddress("glGetVideouivNV", (void **) &traceGL_Native.glGetVideouivNV);

  traceThis = traceEnabled("glGetVideouivNV");

  if (!traceGL_Native.glGetVideouivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVideouivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("video_slot", "%u", video_slot);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVideouivNV(video_slot, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVideoi64vNV(GLuint video_slot, GLenum pname, GLint64EXT *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVideoi64vNV)
    traceGL_lookupNativeAddress("glGetVideoi64vNV", (void **) &traceGL_Native.glGetVideoi64vNV);

  traceThis = traceEnabled("glGetVideoi64vNV");

  if (!traceGL_Native.glGetVideoi64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVideoi64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("video_slot", "%u", video_slot);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVideoi64vNV(video_slot, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVideoui64vNV(GLuint video_slot, GLenum pname, GLuint64EXT *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVideoui64vNV)
    traceGL_lookupNativeAddress("glGetVideoui64vNV", (void **) &traceGL_Native.glGetVideoui64vNV);

  traceThis = traceEnabled("glGetVideoui64vNV");

  if (!traceGL_Native.glGetVideoui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVideoui64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("video_slot", "%u", video_slot);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVideoui64vNV(video_slot, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBeginTransformFeedbackEXT(GLenum primitiveMode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBeginTransformFeedbackEXT)
    traceGL_lookupNativeAddress("glBeginTransformFeedbackEXT", (void **) &traceGL_Native.glBeginTransformFeedbackEXT);

  traceThis = traceEnabled("glBeginTransformFeedbackEXT");

  if (!traceGL_Native.glBeginTransformFeedbackEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBeginTransformFeedbackEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("primitiveMode", "%u", primitiveMode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBeginTransformFeedbackEXT(primitiveMode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEndTransformFeedbackEXT()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndTransformFeedbackEXT)
    traceGL_lookupNativeAddress("glEndTransformFeedbackEXT", (void **) &traceGL_Native.glEndTransformFeedbackEXT);

  traceThis = traceEnabled("glEndTransformFeedbackEXT");

  if (!traceGL_Native.glEndTransformFeedbackEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEndTransformFeedbackEXT");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEndTransformFeedbackEXT();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBindBufferRangeEXT(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindBufferRangeEXT)
    traceGL_lookupNativeAddress("glBindBufferRangeEXT", (void **) &traceGL_Native.glBindBufferRangeEXT);

  traceThis = traceEnabled("glBindBufferRangeEXT");

  if (!traceGL_Native.glBindBufferRangeEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindBufferRangeEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("offset", "%z", offset);
    traceInputParameter("size", "%z", size);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindBufferRangeEXT(target, index, buffer, offset, size);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBindBufferOffsetEXT(GLenum target, GLuint index, GLuint buffer, GLintptr offset)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindBufferOffsetEXT)
    traceGL_lookupNativeAddress("glBindBufferOffsetEXT", (void **) &traceGL_Native.glBindBufferOffsetEXT);

  traceThis = traceEnabled("glBindBufferOffsetEXT");

  if (!traceGL_Native.glBindBufferOffsetEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindBufferOffsetEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("offset", "%z", offset);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindBufferOffsetEXT(target, index, buffer, offset);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBindBufferBaseEXT(GLenum target, GLuint index, GLuint buffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindBufferBaseEXT)
    traceGL_lookupNativeAddress("glBindBufferBaseEXT", (void **) &traceGL_Native.glBindBufferBaseEXT);

  traceThis = traceEnabled("glBindBufferBaseEXT");

  if (!traceGL_Native.glBindBufferBaseEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindBufferBaseEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("buffer", "%u", buffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindBufferBaseEXT(target, index, buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTransformFeedbackVaryingsEXT(GLuint program, GLsizei count, const GLchar **varyings, GLenum bufferMode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTransformFeedbackVaryingsEXT)
    traceGL_lookupNativeAddress("glTransformFeedbackVaryingsEXT", (void **) &traceGL_Native.glTransformFeedbackVaryingsEXT);

  traceThis = traceEnabled("glTransformFeedbackVaryingsEXT");

  if (!traceGL_Native.glTransformFeedbackVaryingsEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTransformFeedbackVaryingsEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("count", "%d", count);
    traceInputParameter("bufferMode", "%u", bufferMode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTransformFeedbackVaryingsEXT(program, count, varyings, bufferMode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTransformFeedbackVaryingEXT(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTransformFeedbackVaryingEXT)
    traceGL_lookupNativeAddress("glGetTransformFeedbackVaryingEXT", (void **) &traceGL_Native.glGetTransformFeedbackVaryingEXT);

  traceThis = traceEnabled("glGetTransformFeedbackVaryingEXT");

  if (!traceGL_Native.glGetTransformFeedbackVaryingEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTransformFeedbackVaryingEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("index", "%u", index);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTransformFeedbackVaryingEXT(program, index, bufSize, length, size, type, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("length", "%d[%d]", length, 1);
    traceOutputParameter("size", "%d[%d]", size, 1);
    traceOutputParameter("type", "%u[%d]", type, 1);
    traceOutputParameter("name", "%s", name);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glClientAttribDefaultEXT(GLbitfield mask)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClientAttribDefaultEXT)
    traceGL_lookupNativeAddress("glClientAttribDefaultEXT", (void **) &traceGL_Native.glClientAttribDefaultEXT);

  traceThis = traceEnabled("glClientAttribDefaultEXT");

  if (!traceGL_Native.glClientAttribDefaultEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClientAttribDefaultEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mask", "%u", mask);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glClientAttribDefaultEXT(mask);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPushClientAttribDefaultEXT(GLbitfield mask)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPushClientAttribDefaultEXT)
    traceGL_lookupNativeAddress("glPushClientAttribDefaultEXT", (void **) &traceGL_Native.glPushClientAttribDefaultEXT);

  traceThis = traceEnabled("glPushClientAttribDefaultEXT");

  if (!traceGL_Native.glPushClientAttribDefaultEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPushClientAttribDefaultEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mask", "%u", mask);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPushClientAttribDefaultEXT(mask);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMatrixLoadfEXT(GLenum mode, const GLfloat *m)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixLoadfEXT)
    traceGL_lookupNativeAddress("glMatrixLoadfEXT", (void **) &traceGL_Native.glMatrixLoadfEXT);

  traceThis = traceEnabled("glMatrixLoadfEXT");

  if (!traceGL_Native.glMatrixLoadfEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixLoadfEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("m", "%f[%d]", m, 16);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMatrixLoadfEXT(mode, m);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMatrixLoaddEXT(GLenum mode, const GLdouble *m)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixLoaddEXT)
    traceGL_lookupNativeAddress("glMatrixLoaddEXT", (void **) &traceGL_Native.glMatrixLoaddEXT);

  traceThis = traceEnabled("glMatrixLoaddEXT");

  if (!traceGL_Native.glMatrixLoaddEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixLoaddEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("m", "%lf[%d]", m, 16);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMatrixLoaddEXT(mode, m);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMatrixMultfEXT(GLenum mode, const GLfloat *m)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixMultfEXT)
    traceGL_lookupNativeAddress("glMatrixMultfEXT", (void **) &traceGL_Native.glMatrixMultfEXT);

  traceThis = traceEnabled("glMatrixMultfEXT");

  if (!traceGL_Native.glMatrixMultfEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixMultfEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("m", "%f[%d]", m, 16);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMatrixMultfEXT(mode, m);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMatrixMultdEXT(GLenum mode, const GLdouble *m)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixMultdEXT)
    traceGL_lookupNativeAddress("glMatrixMultdEXT", (void **) &traceGL_Native.glMatrixMultdEXT);

  traceThis = traceEnabled("glMatrixMultdEXT");

  if (!traceGL_Native.glMatrixMultdEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixMultdEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("m", "%lf[%d]", m, 16);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMatrixMultdEXT(mode, m);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMatrixLoadIdentityEXT(GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixLoadIdentityEXT)
    traceGL_lookupNativeAddress("glMatrixLoadIdentityEXT", (void **) &traceGL_Native.glMatrixLoadIdentityEXT);

  traceThis = traceEnabled("glMatrixLoadIdentityEXT");

  if (!traceGL_Native.glMatrixLoadIdentityEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixLoadIdentityEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMatrixLoadIdentityEXT(mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMatrixRotatefEXT(GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixRotatefEXT)
    traceGL_lookupNativeAddress("glMatrixRotatefEXT", (void **) &traceGL_Native.glMatrixRotatefEXT);

  traceThis = traceEnabled("glMatrixRotatefEXT");

  if (!traceGL_Native.glMatrixRotatefEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixRotatefEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("angle", "%f", angle);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMatrixRotatefEXT(mode, angle, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMatrixRotatedEXT(GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixRotatedEXT)
    traceGL_lookupNativeAddress("glMatrixRotatedEXT", (void **) &traceGL_Native.glMatrixRotatedEXT);

  traceThis = traceEnabled("glMatrixRotatedEXT");

  if (!traceGL_Native.glMatrixRotatedEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixRotatedEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("angle", "%lf", angle);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMatrixRotatedEXT(mode, angle, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMatrixScalefEXT(GLenum mode, GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixScalefEXT)
    traceGL_lookupNativeAddress("glMatrixScalefEXT", (void **) &traceGL_Native.glMatrixScalefEXT);

  traceThis = traceEnabled("glMatrixScalefEXT");

  if (!traceGL_Native.glMatrixScalefEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixScalefEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMatrixScalefEXT(mode, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMatrixScaledEXT(GLenum mode, GLdouble x, GLdouble y, GLdouble z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixScaledEXT)
    traceGL_lookupNativeAddress("glMatrixScaledEXT", (void **) &traceGL_Native.glMatrixScaledEXT);

  traceThis = traceEnabled("glMatrixScaledEXT");

  if (!traceGL_Native.glMatrixScaledEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixScaledEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMatrixScaledEXT(mode, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMatrixTranslatefEXT(GLenum mode, GLfloat x, GLfloat y, GLfloat z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixTranslatefEXT)
    traceGL_lookupNativeAddress("glMatrixTranslatefEXT", (void **) &traceGL_Native.glMatrixTranslatefEXT);

  traceThis = traceEnabled("glMatrixTranslatefEXT");

  if (!traceGL_Native.glMatrixTranslatefEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixTranslatefEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMatrixTranslatefEXT(mode, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMatrixTranslatedEXT(GLenum mode, GLdouble x, GLdouble y, GLdouble z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixTranslatedEXT)
    traceGL_lookupNativeAddress("glMatrixTranslatedEXT", (void **) &traceGL_Native.glMatrixTranslatedEXT);

  traceThis = traceEnabled("glMatrixTranslatedEXT");

  if (!traceGL_Native.glMatrixTranslatedEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixTranslatedEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMatrixTranslatedEXT(mode, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMatrixFrustumEXT(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixFrustumEXT)
    traceGL_lookupNativeAddress("glMatrixFrustumEXT", (void **) &traceGL_Native.glMatrixFrustumEXT);

  traceThis = traceEnabled("glMatrixFrustumEXT");

  if (!traceGL_Native.glMatrixFrustumEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixFrustumEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("left", "%lf", left);
    traceInputParameter("right", "%lf", right);
    traceInputParameter("bottom", "%lf", bottom);
    traceInputParameter("top", "%lf", top);
    traceInputParameter("zNear", "%lf", zNear);
    traceInputParameter("zFar", "%lf", zFar);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMatrixFrustumEXT(mode, left, right, bottom, top, zNear, zFar);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMatrixOrthoEXT(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixOrthoEXT)
    traceGL_lookupNativeAddress("glMatrixOrthoEXT", (void **) &traceGL_Native.glMatrixOrthoEXT);

  traceThis = traceEnabled("glMatrixOrthoEXT");

  if (!traceGL_Native.glMatrixOrthoEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixOrthoEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("left", "%lf", left);
    traceInputParameter("right", "%lf", right);
    traceInputParameter("bottom", "%lf", bottom);
    traceInputParameter("top", "%lf", top);
    traceInputParameter("zNear", "%lf", zNear);
    traceInputParameter("zFar", "%lf", zFar);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMatrixOrthoEXT(mode, left, right, bottom, top, zNear, zFar);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMatrixPopEXT(GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixPopEXT)
    traceGL_lookupNativeAddress("glMatrixPopEXT", (void **) &traceGL_Native.glMatrixPopEXT);

  traceThis = traceEnabled("glMatrixPopEXT");

  if (!traceGL_Native.glMatrixPopEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixPopEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMatrixPopEXT(mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMatrixPushEXT(GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixPushEXT)
    traceGL_lookupNativeAddress("glMatrixPushEXT", (void **) &traceGL_Native.glMatrixPushEXT);

  traceThis = traceEnabled("glMatrixPushEXT");

  if (!traceGL_Native.glMatrixPushEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixPushEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMatrixPushEXT(mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMatrixLoadTransposefEXT(GLenum mode, const GLfloat *m)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixLoadTransposefEXT)
    traceGL_lookupNativeAddress("glMatrixLoadTransposefEXT", (void **) &traceGL_Native.glMatrixLoadTransposefEXT);

  traceThis = traceEnabled("glMatrixLoadTransposefEXT");

  if (!traceGL_Native.glMatrixLoadTransposefEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixLoadTransposefEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("m", "%f[%d]", m, 16);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMatrixLoadTransposefEXT(mode, m);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMatrixLoadTransposedEXT(GLenum mode, const GLdouble *m)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixLoadTransposedEXT)
    traceGL_lookupNativeAddress("glMatrixLoadTransposedEXT", (void **) &traceGL_Native.glMatrixLoadTransposedEXT);

  traceThis = traceEnabled("glMatrixLoadTransposedEXT");

  if (!traceGL_Native.glMatrixLoadTransposedEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixLoadTransposedEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("m", "%lf[%d]", m, 16);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMatrixLoadTransposedEXT(mode, m);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMatrixMultTransposefEXT(GLenum mode, const GLfloat *m)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixMultTransposefEXT)
    traceGL_lookupNativeAddress("glMatrixMultTransposefEXT", (void **) &traceGL_Native.glMatrixMultTransposefEXT);

  traceThis = traceEnabled("glMatrixMultTransposefEXT");

  if (!traceGL_Native.glMatrixMultTransposefEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixMultTransposefEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("m", "%f[%d]", m, 16);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMatrixMultTransposefEXT(mode, m);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMatrixMultTransposedEXT(GLenum mode, const GLdouble *m)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixMultTransposedEXT)
    traceGL_lookupNativeAddress("glMatrixMultTransposedEXT", (void **) &traceGL_Native.glMatrixMultTransposedEXT);

  traceThis = traceEnabled("glMatrixMultTransposedEXT");

  if (!traceGL_Native.glMatrixMultTransposedEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixMultTransposedEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("m", "%lf[%d]", m, 16);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMatrixMultTransposedEXT(mode, m);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTextureParameterfEXT(GLuint texture, GLenum target, GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureParameterfEXT)
    traceGL_lookupNativeAddress("glTextureParameterfEXT", (void **) &traceGL_Native.glTextureParameterfEXT);

  traceThis = traceEnabled("glTextureParameterfEXT");

  if (!traceGL_Native.glTextureParameterfEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureParameterfEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTextureParameterfEXT(texture, target, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureParameterfvEXT)
    traceGL_lookupNativeAddress("glTextureParameterfvEXT", (void **) &traceGL_Native.glTextureParameterfvEXT);

  traceThis = traceEnabled("glTextureParameterfvEXT");

  if (!traceGL_Native.glTextureParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("params", "%f[%ld]", params, (traceGL_helperGLTexParametervSize ? traceGL_helperGLTexParametervSize(pname) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTextureParameterfvEXT(texture, target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTextureParameteriEXT(GLuint texture, GLenum target, GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureParameteriEXT)
    traceGL_lookupNativeAddress("glTextureParameteriEXT", (void **) &traceGL_Native.glTextureParameteriEXT);

  traceThis = traceEnabled("glTextureParameteriEXT");

  if (!traceGL_Native.glTextureParameteriEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureParameteriEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTextureParameteriEXT(texture, target, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureParameterivEXT)
    traceGL_lookupNativeAddress("glTextureParameterivEXT", (void **) &traceGL_Native.glTextureParameterivEXT);

  traceThis = traceEnabled("glTextureParameterivEXT");

  if (!traceGL_Native.glTextureParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("params", "%d[%ld]", params, (traceGL_helperGLTexParametervSize ? traceGL_helperGLTexParametervSize(pname) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTextureParameterivEXT(texture, target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureImage1DEXT)
    traceGL_lookupNativeAddress("glTextureImage1DEXT", (void **) &traceGL_Native.glTextureImage1DEXT);

  traceThis = traceEnabled("glTextureImage1DEXT");

  if (!traceGL_Native.glTextureImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("border", "%d", border);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("pixels", "%p", pixels);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTextureImage1DEXT(texture, target, level, internalformat, width, border, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureImage2DEXT)
    traceGL_lookupNativeAddress("glTextureImage2DEXT", (void **) &traceGL_Native.glTextureImage2DEXT);

  traceThis = traceEnabled("glTextureImage2DEXT");

  if (!traceGL_Native.glTextureImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("border", "%d", border);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("pixels", "%p", pixels);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTextureImage2DEXT(texture, target, level, internalformat, width, height, border, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureSubImage1DEXT)
    traceGL_lookupNativeAddress("glTextureSubImage1DEXT", (void **) &traceGL_Native.glTextureSubImage1DEXT);

  traceThis = traceEnabled("glTextureSubImage1DEXT");

  if (!traceGL_Native.glTextureSubImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureSubImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("width", "%d", width);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("pixels", "%p", pixels);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTextureSubImage1DEXT(texture, target, level, xoffset, width, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureSubImage2DEXT)
    traceGL_lookupNativeAddress("glTextureSubImage2DEXT", (void **) &traceGL_Native.glTextureSubImage2DEXT);

  traceThis = traceEnabled("glTextureSubImage2DEXT");

  if (!traceGL_Native.glTextureSubImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureSubImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("yoffset", "%d", yoffset);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("pixels", "%p", pixels);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, width, height, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyTextureImage1DEXT)
    traceGL_lookupNativeAddress("glCopyTextureImage1DEXT", (void **) &traceGL_Native.glCopyTextureImage1DEXT);

  traceThis = traceEnabled("glCopyTextureImage1DEXT");

  if (!traceGL_Native.glCopyTextureImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyTextureImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);
    traceInputParameter("border", "%d", border);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyTextureImage1DEXT(texture, target, level, internalformat, x, y, width, border);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyTextureImage2DEXT)
    traceGL_lookupNativeAddress("glCopyTextureImage2DEXT", (void **) &traceGL_Native.glCopyTextureImage2DEXT);

  traceThis = traceEnabled("glCopyTextureImage2DEXT");

  if (!traceGL_Native.glCopyTextureImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyTextureImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("border", "%d", border);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyTextureImage2DEXT(texture, target, level, internalformat, x, y, width, height, border);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyTextureSubImage1DEXT)
    traceGL_lookupNativeAddress("glCopyTextureSubImage1DEXT", (void **) &traceGL_Native.glCopyTextureSubImage1DEXT);

  traceThis = traceEnabled("glCopyTextureSubImage1DEXT");

  if (!traceGL_Native.glCopyTextureSubImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyTextureSubImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyTextureSubImage1DEXT(texture, target, level, xoffset, x, y, width);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyTextureSubImage2DEXT)
    traceGL_lookupNativeAddress("glCopyTextureSubImage2DEXT", (void **) &traceGL_Native.glCopyTextureSubImage2DEXT);

  traceThis = traceEnabled("glCopyTextureSubImage2DEXT");

  if (!traceGL_Native.glCopyTextureSubImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyTextureSubImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("yoffset", "%d", yoffset);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, x, y, width, height);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTextureImageEXT(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTextureImageEXT)
    traceGL_lookupNativeAddress("glGetTextureImageEXT", (void **) &traceGL_Native.glGetTextureImageEXT);

  traceThis = traceEnabled("glGetTextureImageEXT");

  if (!traceGL_Native.glGetTextureImageEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTextureImageEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTextureImageEXT(texture, target, level, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("pixels", "%p", pixels);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTextureParameterfvEXT)
    traceGL_lookupNativeAddress("glGetTextureParameterfvEXT", (void **) &traceGL_Native.glGetTextureParameterfvEXT);

  traceThis = traceEnabled("glGetTextureParameterfvEXT");

  if (!traceGL_Native.glGetTextureParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTextureParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTextureParameterfvEXT(texture, target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTextureParameterivEXT)
    traceGL_lookupNativeAddress("glGetTextureParameterivEXT", (void **) &traceGL_Native.glGetTextureParameterivEXT);

  traceThis = traceEnabled("glGetTextureParameterivEXT");

  if (!traceGL_Native.glGetTextureParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTextureParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTextureParameterivEXT(texture, target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTextureLevelParameterfvEXT(GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTextureLevelParameterfvEXT)
    traceGL_lookupNativeAddress("glGetTextureLevelParameterfvEXT", (void **) &traceGL_Native.glGetTextureLevelParameterfvEXT);

  traceThis = traceEnabled("glGetTextureLevelParameterfvEXT");

  if (!traceGL_Native.glGetTextureLevelParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTextureLevelParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTextureLevelParameterfvEXT(texture, target, level, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTextureLevelParameterivEXT(GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTextureLevelParameterivEXT)
    traceGL_lookupNativeAddress("glGetTextureLevelParameterivEXT", (void **) &traceGL_Native.glGetTextureLevelParameterivEXT);

  traceThis = traceEnabled("glGetTextureLevelParameterivEXT");

  if (!traceGL_Native.glGetTextureLevelParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTextureLevelParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTextureLevelParameterivEXT(texture, target, level, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTextureImage3DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureImage3DEXT)
    traceGL_lookupNativeAddress("glTextureImage3DEXT", (void **) &traceGL_Native.glTextureImage3DEXT);

  traceThis = traceEnabled("glTextureImage3DEXT");

  if (!traceGL_Native.glTextureImage3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureImage3DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("depth", "%d", depth);
    traceInputParameter("border", "%d", border);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("pixels", "%p", pixels);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTextureImage3DEXT(texture, target, level, internalformat, width, height, depth, border, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureSubImage3DEXT)
    traceGL_lookupNativeAddress("glTextureSubImage3DEXT", (void **) &traceGL_Native.glTextureSubImage3DEXT);

  traceThis = traceEnabled("glTextureSubImage3DEXT");

  if (!traceGL_Native.glTextureSubImage3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureSubImage3DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("yoffset", "%d", yoffset);
    traceInputParameter("zoffset", "%d", zoffset);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("depth", "%d", depth);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("pixels", "%p", pixels);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyTextureSubImage3DEXT)
    traceGL_lookupNativeAddress("glCopyTextureSubImage3DEXT", (void **) &traceGL_Native.glCopyTextureSubImage3DEXT);

  traceThis = traceEnabled("glCopyTextureSubImage3DEXT");

  if (!traceGL_Native.glCopyTextureSubImage3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyTextureSubImage3DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("yoffset", "%d", yoffset);
    traceInputParameter("zoffset", "%d", zoffset);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, x, y, width, height);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexParameterfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexParameterfEXT)
    traceGL_lookupNativeAddress("glMultiTexParameterfEXT", (void **) &traceGL_Native.glMultiTexParameterfEXT);

  traceThis = traceEnabled("glMultiTexParameterfEXT");

  if (!traceGL_Native.glMultiTexParameterfEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexParameterfEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexParameterfEXT(texunit, target, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexParameterfvEXT)
    traceGL_lookupNativeAddress("glMultiTexParameterfvEXT", (void **) &traceGL_Native.glMultiTexParameterfvEXT);

  traceThis = traceEnabled("glMultiTexParameterfvEXT");

  if (!traceGL_Native.glMultiTexParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("params", "%f[%ld]", params, (traceGL_helperGLTexParametervSize ? traceGL_helperGLTexParametervSize(pname) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexParameterfvEXT(texunit, target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexParameteriEXT(GLenum texunit, GLenum target, GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexParameteriEXT)
    traceGL_lookupNativeAddress("glMultiTexParameteriEXT", (void **) &traceGL_Native.glMultiTexParameteriEXT);

  traceThis = traceEnabled("glMultiTexParameteriEXT");

  if (!traceGL_Native.glMultiTexParameteriEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexParameteriEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexParameteriEXT(texunit, target, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexParameterivEXT)
    traceGL_lookupNativeAddress("glMultiTexParameterivEXT", (void **) &traceGL_Native.glMultiTexParameterivEXT);

  traceThis = traceEnabled("glMultiTexParameterivEXT");

  if (!traceGL_Native.glMultiTexParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("params", "%d[%ld]", params, (traceGL_helperGLTexParametervSize ? traceGL_helperGLTexParametervSize(pname) : 0));

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexParameterivEXT(texunit, target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexImage1DEXT)
    traceGL_lookupNativeAddress("glMultiTexImage1DEXT", (void **) &traceGL_Native.glMultiTexImage1DEXT);

  traceThis = traceEnabled("glMultiTexImage1DEXT");

  if (!traceGL_Native.glMultiTexImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("border", "%d", border);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("pixels", "%p", pixels);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexImage1DEXT(texunit, target, level, internalformat, width, border, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexImage2DEXT)
    traceGL_lookupNativeAddress("glMultiTexImage2DEXT", (void **) &traceGL_Native.glMultiTexImage2DEXT);

  traceThis = traceEnabled("glMultiTexImage2DEXT");

  if (!traceGL_Native.glMultiTexImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("border", "%d", border);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("pixels", "%p", pixels);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexImage2DEXT(texunit, target, level, internalformat, width, height, border, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexSubImage1DEXT)
    traceGL_lookupNativeAddress("glMultiTexSubImage1DEXT", (void **) &traceGL_Native.glMultiTexSubImage1DEXT);

  traceThis = traceEnabled("glMultiTexSubImage1DEXT");

  if (!traceGL_Native.glMultiTexSubImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexSubImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("width", "%d", width);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("pixels", "%p", pixels);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexSubImage1DEXT(texunit, target, level, xoffset, width, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexSubImage2DEXT)
    traceGL_lookupNativeAddress("glMultiTexSubImage2DEXT", (void **) &traceGL_Native.glMultiTexSubImage2DEXT);

  traceThis = traceEnabled("glMultiTexSubImage2DEXT");

  if (!traceGL_Native.glMultiTexSubImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexSubImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("yoffset", "%d", yoffset);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("pixels", "%p", pixels);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, width, height, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyMultiTexImage1DEXT)
    traceGL_lookupNativeAddress("glCopyMultiTexImage1DEXT", (void **) &traceGL_Native.glCopyMultiTexImage1DEXT);

  traceThis = traceEnabled("glCopyMultiTexImage1DEXT");

  if (!traceGL_Native.glCopyMultiTexImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyMultiTexImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);
    traceInputParameter("border", "%d", border);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyMultiTexImage1DEXT(texunit, target, level, internalformat, x, y, width, border);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyMultiTexImage2DEXT)
    traceGL_lookupNativeAddress("glCopyMultiTexImage2DEXT", (void **) &traceGL_Native.glCopyMultiTexImage2DEXT);

  traceThis = traceEnabled("glCopyMultiTexImage2DEXT");

  if (!traceGL_Native.glCopyMultiTexImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyMultiTexImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("border", "%d", border);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyMultiTexImage2DEXT(texunit, target, level, internalformat, x, y, width, height, border);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyMultiTexSubImage1DEXT)
    traceGL_lookupNativeAddress("glCopyMultiTexSubImage1DEXT", (void **) &traceGL_Native.glCopyMultiTexSubImage1DEXT);

  traceThis = traceEnabled("glCopyMultiTexSubImage1DEXT");

  if (!traceGL_Native.glCopyMultiTexSubImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyMultiTexSubImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyMultiTexSubImage1DEXT(texunit, target, level, xoffset, x, y, width);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyMultiTexSubImage2DEXT)
    traceGL_lookupNativeAddress("glCopyMultiTexSubImage2DEXT", (void **) &traceGL_Native.glCopyMultiTexSubImage2DEXT);

  traceThis = traceEnabled("glCopyMultiTexSubImage2DEXT");

  if (!traceGL_Native.glCopyMultiTexSubImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyMultiTexSubImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("yoffset", "%d", yoffset);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, x, y, width, height);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMultiTexImageEXT(GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultiTexImageEXT)
    traceGL_lookupNativeAddress("glGetMultiTexImageEXT", (void **) &traceGL_Native.glGetMultiTexImageEXT);

  traceThis = traceEnabled("glGetMultiTexImageEXT");

  if (!traceGL_Native.glGetMultiTexImageEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultiTexImageEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMultiTexImageEXT(texunit, target, level, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("pixels", "%p", pixels);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultiTexParameterfvEXT)
    traceGL_lookupNativeAddress("glGetMultiTexParameterfvEXT", (void **) &traceGL_Native.glGetMultiTexParameterfvEXT);

  traceThis = traceEnabled("glGetMultiTexParameterfvEXT");

  if (!traceGL_Native.glGetMultiTexParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultiTexParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMultiTexParameterfvEXT(texunit, target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultiTexParameterivEXT)
    traceGL_lookupNativeAddress("glGetMultiTexParameterivEXT", (void **) &traceGL_Native.glGetMultiTexParameterivEXT);

  traceThis = traceEnabled("glGetMultiTexParameterivEXT");

  if (!traceGL_Native.glGetMultiTexParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultiTexParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMultiTexParameterivEXT(texunit, target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMultiTexLevelParameterfvEXT(GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultiTexLevelParameterfvEXT)
    traceGL_lookupNativeAddress("glGetMultiTexLevelParameterfvEXT", (void **) &traceGL_Native.glGetMultiTexLevelParameterfvEXT);

  traceThis = traceEnabled("glGetMultiTexLevelParameterfvEXT");

  if (!traceGL_Native.glGetMultiTexLevelParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultiTexLevelParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMultiTexLevelParameterfvEXT(texunit, target, level, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMultiTexLevelParameterivEXT(GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultiTexLevelParameterivEXT)
    traceGL_lookupNativeAddress("glGetMultiTexLevelParameterivEXT", (void **) &traceGL_Native.glGetMultiTexLevelParameterivEXT);

  traceThis = traceEnabled("glGetMultiTexLevelParameterivEXT");

  if (!traceGL_Native.glGetMultiTexLevelParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultiTexLevelParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMultiTexLevelParameterivEXT(texunit, target, level, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexImage3DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexImage3DEXT)
    traceGL_lookupNativeAddress("glMultiTexImage3DEXT", (void **) &traceGL_Native.glMultiTexImage3DEXT);

  traceThis = traceEnabled("glMultiTexImage3DEXT");

  if (!traceGL_Native.glMultiTexImage3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexImage3DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("depth", "%d", depth);
    traceInputParameter("border", "%d", border);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("pixels", "%p", pixels);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexImage3DEXT(texunit, target, level, internalformat, width, height, depth, border, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexSubImage3DEXT)
    traceGL_lookupNativeAddress("glMultiTexSubImage3DEXT", (void **) &traceGL_Native.glMultiTexSubImage3DEXT);

  traceThis = traceEnabled("glMultiTexSubImage3DEXT");

  if (!traceGL_Native.glMultiTexSubImage3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexSubImage3DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("yoffset", "%d", yoffset);
    traceInputParameter("zoffset", "%d", zoffset);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("depth", "%d", depth);
    traceInputParameter("format", "%u", format);
    traceInputParameter("type", "%u", type);
    traceInputParameter("pixels", "%p", pixels);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyMultiTexSubImage3DEXT)
    traceGL_lookupNativeAddress("glCopyMultiTexSubImage3DEXT", (void **) &traceGL_Native.glCopyMultiTexSubImage3DEXT);

  traceThis = traceEnabled("glCopyMultiTexSubImage3DEXT");

  if (!traceGL_Native.glCopyMultiTexSubImage3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyMultiTexSubImage3DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("yoffset", "%d", yoffset);
    traceInputParameter("zoffset", "%d", zoffset);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBindMultiTextureEXT(GLenum texunit, GLenum target, GLuint texture)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindMultiTextureEXT)
    traceGL_lookupNativeAddress("glBindMultiTextureEXT", (void **) &traceGL_Native.glBindMultiTextureEXT);

  traceThis = traceEnabled("glBindMultiTextureEXT");

  if (!traceGL_Native.glBindMultiTextureEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindMultiTextureEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("texture", "%u", texture);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindMultiTextureEXT(texunit, target, texture);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEnableClientStateIndexedEXT(GLenum array, GLuint index)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEnableClientStateIndexedEXT)
    traceGL_lookupNativeAddress("glEnableClientStateIndexedEXT", (void **) &traceGL_Native.glEnableClientStateIndexedEXT);

  traceThis = traceEnabled("glEnableClientStateIndexedEXT");

  if (!traceGL_Native.glEnableClientStateIndexedEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEnableClientStateIndexedEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("array", "%u", array);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEnableClientStateIndexedEXT(array, index);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDisableClientStateIndexedEXT(GLenum array, GLuint index)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDisableClientStateIndexedEXT)
    traceGL_lookupNativeAddress("glDisableClientStateIndexedEXT", (void **) &traceGL_Native.glDisableClientStateIndexedEXT);

  traceThis = traceEnabled("glDisableClientStateIndexedEXT");

  if (!traceGL_Native.glDisableClientStateIndexedEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDisableClientStateIndexedEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("array", "%u", array);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDisableClientStateIndexedEXT(array, index);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexCoordPointerEXT(GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoordPointerEXT)
    traceGL_lookupNativeAddress("glMultiTexCoordPointerEXT", (void **) &traceGL_Native.glMultiTexCoordPointerEXT);

  traceThis = traceEnabled("glMultiTexCoordPointerEXT");

  if (!traceGL_Native.glMultiTexCoordPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoordPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexCoordPointerEXT(texunit, size, type, stride, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexEnvfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexEnvfEXT)
    traceGL_lookupNativeAddress("glMultiTexEnvfEXT", (void **) &traceGL_Native.glMultiTexEnvfEXT);

  traceThis = traceEnabled("glMultiTexEnvfEXT");

  if (!traceGL_Native.glMultiTexEnvfEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexEnvfEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexEnvfEXT(texunit, target, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexEnvfvEXT(GLenum texunit, GLenum target, GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexEnvfvEXT)
    traceGL_lookupNativeAddress("glMultiTexEnvfvEXT", (void **) &traceGL_Native.glMultiTexEnvfvEXT);

  traceThis = traceEnabled("glMultiTexEnvfvEXT");

  if (!traceGL_Native.glMultiTexEnvfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexEnvfvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexEnvfvEXT(texunit, target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexEnviEXT(GLenum texunit, GLenum target, GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexEnviEXT)
    traceGL_lookupNativeAddress("glMultiTexEnviEXT", (void **) &traceGL_Native.glMultiTexEnviEXT);

  traceThis = traceEnabled("glMultiTexEnviEXT");

  if (!traceGL_Native.glMultiTexEnviEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexEnviEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexEnviEXT(texunit, target, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexEnvivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexEnvivEXT)
    traceGL_lookupNativeAddress("glMultiTexEnvivEXT", (void **) &traceGL_Native.glMultiTexEnvivEXT);

  traceThis = traceEnabled("glMultiTexEnvivEXT");

  if (!traceGL_Native.glMultiTexEnvivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexEnvivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexEnvivEXT(texunit, target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexGendEXT(GLenum texunit, GLenum coord, GLenum pname, GLdouble param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexGendEXT)
    traceGL_lookupNativeAddress("glMultiTexGendEXT", (void **) &traceGL_Native.glMultiTexGendEXT);

  traceThis = traceEnabled("glMultiTexGendEXT");

  if (!traceGL_Native.glMultiTexGendEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexGendEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("coord", "%u", coord);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%lf", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexGendEXT(texunit, coord, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexGendvEXT(GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexGendvEXT)
    traceGL_lookupNativeAddress("glMultiTexGendvEXT", (void **) &traceGL_Native.glMultiTexGendvEXT);

  traceThis = traceEnabled("glMultiTexGendvEXT");

  if (!traceGL_Native.glMultiTexGendvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexGendvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("coord", "%u", coord);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexGendvEXT(texunit, coord, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexGenfEXT(GLenum texunit, GLenum coord, GLenum pname, GLfloat param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexGenfEXT)
    traceGL_lookupNativeAddress("glMultiTexGenfEXT", (void **) &traceGL_Native.glMultiTexGenfEXT);

  traceThis = traceEnabled("glMultiTexGenfEXT");

  if (!traceGL_Native.glMultiTexGenfEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexGenfEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("coord", "%u", coord);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%f", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexGenfEXT(texunit, coord, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexGenfvEXT(GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexGenfvEXT)
    traceGL_lookupNativeAddress("glMultiTexGenfvEXT", (void **) &traceGL_Native.glMultiTexGenfvEXT);

  traceThis = traceEnabled("glMultiTexGenfvEXT");

  if (!traceGL_Native.glMultiTexGenfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexGenfvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("coord", "%u", coord);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexGenfvEXT(texunit, coord, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexGeniEXT(GLenum texunit, GLenum coord, GLenum pname, GLint param)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexGeniEXT)
    traceGL_lookupNativeAddress("glMultiTexGeniEXT", (void **) &traceGL_Native.glMultiTexGeniEXT);

  traceThis = traceEnabled("glMultiTexGeniEXT");

  if (!traceGL_Native.glMultiTexGeniEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexGeniEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("coord", "%u", coord);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("param", "%d", param);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexGeniEXT(texunit, coord, pname, param);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexGenivEXT(GLenum texunit, GLenum coord, GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexGenivEXT)
    traceGL_lookupNativeAddress("glMultiTexGenivEXT", (void **) &traceGL_Native.glMultiTexGenivEXT);

  traceThis = traceEnabled("glMultiTexGenivEXT");

  if (!traceGL_Native.glMultiTexGenivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexGenivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("coord", "%u", coord);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexGenivEXT(texunit, coord, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMultiTexEnvfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultiTexEnvfvEXT)
    traceGL_lookupNativeAddress("glGetMultiTexEnvfvEXT", (void **) &traceGL_Native.glGetMultiTexEnvfvEXT);

  traceThis = traceEnabled("glGetMultiTexEnvfvEXT");

  if (!traceGL_Native.glGetMultiTexEnvfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultiTexEnvfvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMultiTexEnvfvEXT(texunit, target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMultiTexEnvivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultiTexEnvivEXT)
    traceGL_lookupNativeAddress("glGetMultiTexEnvivEXT", (void **) &traceGL_Native.glGetMultiTexEnvivEXT);

  traceThis = traceEnabled("glGetMultiTexEnvivEXT");

  if (!traceGL_Native.glGetMultiTexEnvivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultiTexEnvivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMultiTexEnvivEXT(texunit, target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMultiTexGendvEXT(GLenum texunit, GLenum coord, GLenum pname, GLdouble *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultiTexGendvEXT)
    traceGL_lookupNativeAddress("glGetMultiTexGendvEXT", (void **) &traceGL_Native.glGetMultiTexGendvEXT);

  traceThis = traceEnabled("glGetMultiTexGendvEXT");

  if (!traceGL_Native.glGetMultiTexGendvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultiTexGendvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("coord", "%u", coord);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMultiTexGendvEXT(texunit, coord, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMultiTexGenfvEXT(GLenum texunit, GLenum coord, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultiTexGenfvEXT)
    traceGL_lookupNativeAddress("glGetMultiTexGenfvEXT", (void **) &traceGL_Native.glGetMultiTexGenfvEXT);

  traceThis = traceEnabled("glGetMultiTexGenfvEXT");

  if (!traceGL_Native.glGetMultiTexGenfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultiTexGenfvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("coord", "%u", coord);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMultiTexGenfvEXT(texunit, coord, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMultiTexGenivEXT(GLenum texunit, GLenum coord, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultiTexGenivEXT)
    traceGL_lookupNativeAddress("glGetMultiTexGenivEXT", (void **) &traceGL_Native.glGetMultiTexGenivEXT);

  traceThis = traceEnabled("glGetMultiTexGenivEXT");

  if (!traceGL_Native.glGetMultiTexGenivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultiTexGenivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("coord", "%u", coord);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMultiTexGenivEXT(texunit, coord, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetFloatIndexedvEXT(GLenum target, GLuint index, GLfloat *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFloatIndexedvEXT)
    traceGL_lookupNativeAddress("glGetFloatIndexedvEXT", (void **) &traceGL_Native.glGetFloatIndexedvEXT);

  traceThis = traceEnabled("glGetFloatIndexedvEXT");

  if (!traceGL_Native.glGetFloatIndexedvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFloatIndexedvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetFloatIndexedvEXT(target, index, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetDoubleIndexedvEXT(GLenum target, GLuint index, GLdouble *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetDoubleIndexedvEXT)
    traceGL_lookupNativeAddress("glGetDoubleIndexedvEXT", (void **) &traceGL_Native.glGetDoubleIndexedvEXT);

  traceThis = traceEnabled("glGetDoubleIndexedvEXT");

  if (!traceGL_Native.glGetDoubleIndexedvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetDoubleIndexedvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetDoubleIndexedvEXT(target, index, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetPointerIndexedvEXT(GLenum target, GLuint index, GLvoid **data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetPointerIndexedvEXT)
    traceGL_lookupNativeAddress("glGetPointerIndexedvEXT", (void **) &traceGL_Native.glGetPointerIndexedvEXT);

  traceThis = traceEnabled("glGetPointerIndexedvEXT");

  if (!traceGL_Native.glGetPointerIndexedvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetPointerIndexedvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetPointerIndexedvEXT(target, index, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompressedTextureImage3DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTextureImage3DEXT)
    traceGL_lookupNativeAddress("glCompressedTextureImage3DEXT", (void **) &traceGL_Native.glCompressedTextureImage3DEXT);

  traceThis = traceEnabled("glCompressedTextureImage3DEXT");

  if (!traceGL_Native.glCompressedTextureImage3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTextureImage3DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("depth", "%d", depth);
    traceInputParameter("border", "%d", border);
    traceInputParameter("imageSize", "%d", imageSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompressedTextureImage3DEXT(texture, target, level, internalformat, width, height, depth, border, imageSize, bits);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompressedTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTextureImage2DEXT)
    traceGL_lookupNativeAddress("glCompressedTextureImage2DEXT", (void **) &traceGL_Native.glCompressedTextureImage2DEXT);

  traceThis = traceEnabled("glCompressedTextureImage2DEXT");

  if (!traceGL_Native.glCompressedTextureImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTextureImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("border", "%d", border);
    traceInputParameter("imageSize", "%d", imageSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompressedTextureImage2DEXT(texture, target, level, internalformat, width, height, border, imageSize, bits);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompressedTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTextureImage1DEXT)
    traceGL_lookupNativeAddress("glCompressedTextureImage1DEXT", (void **) &traceGL_Native.glCompressedTextureImage1DEXT);

  traceThis = traceEnabled("glCompressedTextureImage1DEXT");

  if (!traceGL_Native.glCompressedTextureImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTextureImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("border", "%d", border);
    traceInputParameter("imageSize", "%d", imageSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompressedTextureImage1DEXT(texture, target, level, internalformat, width, border, imageSize, bits);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompressedTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTextureSubImage3DEXT)
    traceGL_lookupNativeAddress("glCompressedTextureSubImage3DEXT", (void **) &traceGL_Native.glCompressedTextureSubImage3DEXT);

  traceThis = traceEnabled("glCompressedTextureSubImage3DEXT");

  if (!traceGL_Native.glCompressedTextureSubImage3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTextureSubImage3DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("yoffset", "%d", yoffset);
    traceInputParameter("zoffset", "%d", zoffset);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("depth", "%d", depth);
    traceInputParameter("format", "%u", format);
    traceInputParameter("imageSize", "%d", imageSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompressedTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompressedTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTextureSubImage2DEXT)
    traceGL_lookupNativeAddress("glCompressedTextureSubImage2DEXT", (void **) &traceGL_Native.glCompressedTextureSubImage2DEXT);

  traceThis = traceEnabled("glCompressedTextureSubImage2DEXT");

  if (!traceGL_Native.glCompressedTextureSubImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTextureSubImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("yoffset", "%d", yoffset);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("format", "%u", format);
    traceInputParameter("imageSize", "%d", imageSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompressedTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompressedTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTextureSubImage1DEXT)
    traceGL_lookupNativeAddress("glCompressedTextureSubImage1DEXT", (void **) &traceGL_Native.glCompressedTextureSubImage1DEXT);

  traceThis = traceEnabled("glCompressedTextureSubImage1DEXT");

  if (!traceGL_Native.glCompressedTextureSubImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTextureSubImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("width", "%d", width);
    traceInputParameter("format", "%u", format);
    traceInputParameter("imageSize", "%d", imageSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompressedTextureSubImage1DEXT(texture, target, level, xoffset, width, format, imageSize, bits);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetCompressedTextureImageEXT(GLuint texture, GLenum target, GLint lod, GLvoid *img)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetCompressedTextureImageEXT)
    traceGL_lookupNativeAddress("glGetCompressedTextureImageEXT", (void **) &traceGL_Native.glGetCompressedTextureImageEXT);

  traceThis = traceEnabled("glGetCompressedTextureImageEXT");

  if (!traceGL_Native.glGetCompressedTextureImageEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetCompressedTextureImageEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("lod", "%d", lod);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetCompressedTextureImageEXT(texture, target, lod, img);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("img", "%p", img);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompressedMultiTexImage3DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedMultiTexImage3DEXT)
    traceGL_lookupNativeAddress("glCompressedMultiTexImage3DEXT", (void **) &traceGL_Native.glCompressedMultiTexImage3DEXT);

  traceThis = traceEnabled("glCompressedMultiTexImage3DEXT");

  if (!traceGL_Native.glCompressedMultiTexImage3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedMultiTexImage3DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("depth", "%d", depth);
    traceInputParameter("border", "%d", border);
    traceInputParameter("imageSize", "%d", imageSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompressedMultiTexImage3DEXT(texunit, target, level, internalformat, width, height, depth, border, imageSize, bits);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompressedMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedMultiTexImage2DEXT)
    traceGL_lookupNativeAddress("glCompressedMultiTexImage2DEXT", (void **) &traceGL_Native.glCompressedMultiTexImage2DEXT);

  traceThis = traceEnabled("glCompressedMultiTexImage2DEXT");

  if (!traceGL_Native.glCompressedMultiTexImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedMultiTexImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("border", "%d", border);
    traceInputParameter("imageSize", "%d", imageSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompressedMultiTexImage2DEXT(texunit, target, level, internalformat, width, height, border, imageSize, bits);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompressedMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedMultiTexImage1DEXT)
    traceGL_lookupNativeAddress("glCompressedMultiTexImage1DEXT", (void **) &traceGL_Native.glCompressedMultiTexImage1DEXT);

  traceThis = traceEnabled("glCompressedMultiTexImage1DEXT");

  if (!traceGL_Native.glCompressedMultiTexImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedMultiTexImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("border", "%d", border);
    traceInputParameter("imageSize", "%d", imageSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompressedMultiTexImage1DEXT(texunit, target, level, internalformat, width, border, imageSize, bits);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompressedMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedMultiTexSubImage3DEXT)
    traceGL_lookupNativeAddress("glCompressedMultiTexSubImage3DEXT", (void **) &traceGL_Native.glCompressedMultiTexSubImage3DEXT);

  traceThis = traceEnabled("glCompressedMultiTexSubImage3DEXT");

  if (!traceGL_Native.glCompressedMultiTexSubImage3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedMultiTexSubImage3DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("yoffset", "%d", yoffset);
    traceInputParameter("zoffset", "%d", zoffset);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("depth", "%d", depth);
    traceInputParameter("format", "%u", format);
    traceInputParameter("imageSize", "%d", imageSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompressedMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompressedMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedMultiTexSubImage2DEXT)
    traceGL_lookupNativeAddress("glCompressedMultiTexSubImage2DEXT", (void **) &traceGL_Native.glCompressedMultiTexSubImage2DEXT);

  traceThis = traceEnabled("glCompressedMultiTexSubImage2DEXT");

  if (!traceGL_Native.glCompressedMultiTexSubImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedMultiTexSubImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("yoffset", "%d", yoffset);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("format", "%u", format);
    traceInputParameter("imageSize", "%d", imageSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompressedMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCompressedMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedMultiTexSubImage1DEXT)
    traceGL_lookupNativeAddress("glCompressedMultiTexSubImage1DEXT", (void **) &traceGL_Native.glCompressedMultiTexSubImage1DEXT);

  traceThis = traceEnabled("glCompressedMultiTexSubImage1DEXT");

  if (!traceGL_Native.glCompressedMultiTexSubImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedMultiTexSubImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("level", "%d", level);
    traceInputParameter("xoffset", "%d", xoffset);
    traceInputParameter("width", "%d", width);
    traceInputParameter("format", "%u", format);
    traceInputParameter("imageSize", "%d", imageSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCompressedMultiTexSubImage1DEXT(texunit, target, level, xoffset, width, format, imageSize, bits);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetCompressedMultiTexImageEXT(GLenum texunit, GLenum target, GLint lod, GLvoid *img)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetCompressedMultiTexImageEXT)
    traceGL_lookupNativeAddress("glGetCompressedMultiTexImageEXT", (void **) &traceGL_Native.glGetCompressedMultiTexImageEXT);

  traceThis = traceEnabled("glGetCompressedMultiTexImageEXT");

  if (!traceGL_Native.glGetCompressedMultiTexImageEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetCompressedMultiTexImageEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("lod", "%d", lod);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetCompressedMultiTexImageEXT(texunit, target, lod, img);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("img", "%p", img);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNamedProgramStringEXT(GLuint program, GLenum target, GLenum format, GLsizei len, const GLvoid *string)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedProgramStringEXT)
    traceGL_lookupNativeAddress("glNamedProgramStringEXT", (void **) &traceGL_Native.glNamedProgramStringEXT);

  traceThis = traceEnabled("glNamedProgramStringEXT");

  if (!traceGL_Native.glNamedProgramStringEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedProgramStringEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("target", "%u", target);
    traceInputParameter("format", "%u", format);
    traceInputParameter("len", "%d", len);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNamedProgramStringEXT(program, target, format, len, string);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNamedProgramLocalParameter4dEXT(GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedProgramLocalParameter4dEXT)
    traceGL_lookupNativeAddress("glNamedProgramLocalParameter4dEXT", (void **) &traceGL_Native.glNamedProgramLocalParameter4dEXT);

  traceThis = traceEnabled("glNamedProgramLocalParameter4dEXT");

  if (!traceGL_Native.glNamedProgramLocalParameter4dEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedProgramLocalParameter4dEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);
    traceInputParameter("w", "%lf", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNamedProgramLocalParameter4dEXT(program, target, index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNamedProgramLocalParameter4dvEXT(GLuint program, GLenum target, GLuint index, const GLdouble *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedProgramLocalParameter4dvEXT)
    traceGL_lookupNativeAddress("glNamedProgramLocalParameter4dvEXT", (void **) &traceGL_Native.glNamedProgramLocalParameter4dvEXT);

  traceThis = traceEnabled("glNamedProgramLocalParameter4dvEXT");

  if (!traceGL_Native.glNamedProgramLocalParameter4dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedProgramLocalParameter4dvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("params", "%lf[%d]", params, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNamedProgramLocalParameter4dvEXT(program, target, index, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNamedProgramLocalParameter4fEXT(GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedProgramLocalParameter4fEXT)
    traceGL_lookupNativeAddress("glNamedProgramLocalParameter4fEXT", (void **) &traceGL_Native.glNamedProgramLocalParameter4fEXT);

  traceThis = traceEnabled("glNamedProgramLocalParameter4fEXT");

  if (!traceGL_Native.glNamedProgramLocalParameter4fEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedProgramLocalParameter4fEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%f", x);
    traceInputParameter("y", "%f", y);
    traceInputParameter("z", "%f", z);
    traceInputParameter("w", "%f", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNamedProgramLocalParameter4fEXT(program, target, index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNamedProgramLocalParameter4fvEXT(GLuint program, GLenum target, GLuint index, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedProgramLocalParameter4fvEXT)
    traceGL_lookupNativeAddress("glNamedProgramLocalParameter4fvEXT", (void **) &traceGL_Native.glNamedProgramLocalParameter4fvEXT);

  traceThis = traceEnabled("glNamedProgramLocalParameter4fvEXT");

  if (!traceGL_Native.glNamedProgramLocalParameter4fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedProgramLocalParameter4fvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("params", "%f[%d]", params, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNamedProgramLocalParameter4fvEXT(program, target, index, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetNamedProgramLocalParameterdvEXT(GLuint program, GLenum target, GLuint index, GLdouble *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedProgramLocalParameterdvEXT)
    traceGL_lookupNativeAddress("glGetNamedProgramLocalParameterdvEXT", (void **) &traceGL_Native.glGetNamedProgramLocalParameterdvEXT);

  traceThis = traceEnabled("glGetNamedProgramLocalParameterdvEXT");

  if (!traceGL_Native.glGetNamedProgramLocalParameterdvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedProgramLocalParameterdvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetNamedProgramLocalParameterdvEXT(program, target, index, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%lf[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetNamedProgramLocalParameterfvEXT(GLuint program, GLenum target, GLuint index, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedProgramLocalParameterfvEXT)
    traceGL_lookupNativeAddress("glGetNamedProgramLocalParameterfvEXT", (void **) &traceGL_Native.glGetNamedProgramLocalParameterfvEXT);

  traceThis = traceEnabled("glGetNamedProgramLocalParameterfvEXT");

  if (!traceGL_Native.glGetNamedProgramLocalParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedProgramLocalParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetNamedProgramLocalParameterfvEXT(program, target, index, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%f[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetNamedProgramivEXT(GLuint program, GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedProgramivEXT)
    traceGL_lookupNativeAddress("glGetNamedProgramivEXT", (void **) &traceGL_Native.glGetNamedProgramivEXT);

  traceThis = traceEnabled("glGetNamedProgramivEXT");

  if (!traceGL_Native.glGetNamedProgramivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedProgramivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetNamedProgramivEXT(program, target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%d[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetNamedProgramStringEXT(GLuint program, GLenum target, GLenum pname, GLvoid *string)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedProgramStringEXT)
    traceGL_lookupNativeAddress("glGetNamedProgramStringEXT", (void **) &traceGL_Native.glGetNamedProgramStringEXT);

  traceThis = traceEnabled("glGetNamedProgramStringEXT");

  if (!traceGL_Native.glGetNamedProgramStringEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedProgramStringEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetNamedProgramStringEXT(program, target, pname, string);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("string", "%p", string);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNamedProgramLocalParameters4fvEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedProgramLocalParameters4fvEXT)
    traceGL_lookupNativeAddress("glNamedProgramLocalParameters4fvEXT", (void **) &traceGL_Native.glNamedProgramLocalParameters4fvEXT);

  traceThis = traceEnabled("glNamedProgramLocalParameters4fvEXT");

  if (!traceGL_Native.glNamedProgramLocalParameters4fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedProgramLocalParameters4fvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("params", "%f[%d]", params, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNamedProgramLocalParameters4fvEXT(program, target, index, count, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNamedProgramLocalParameterI4iEXT(GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedProgramLocalParameterI4iEXT)
    traceGL_lookupNativeAddress("glNamedProgramLocalParameterI4iEXT", (void **) &traceGL_Native.glNamedProgramLocalParameterI4iEXT);

  traceThis = traceEnabled("glNamedProgramLocalParameterI4iEXT");

  if (!traceGL_Native.glNamedProgramLocalParameterI4iEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedProgramLocalParameterI4iEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("z", "%d", z);
    traceInputParameter("w", "%d", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNamedProgramLocalParameterI4iEXT(program, target, index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNamedProgramLocalParameterI4ivEXT(GLuint program, GLenum target, GLuint index, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedProgramLocalParameterI4ivEXT)
    traceGL_lookupNativeAddress("glNamedProgramLocalParameterI4ivEXT", (void **) &traceGL_Native.glNamedProgramLocalParameterI4ivEXT);

  traceThis = traceEnabled("glNamedProgramLocalParameterI4ivEXT");

  if (!traceGL_Native.glNamedProgramLocalParameterI4ivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedProgramLocalParameterI4ivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("params", "%d[%d]", params, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNamedProgramLocalParameterI4ivEXT(program, target, index, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNamedProgramLocalParametersI4ivEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedProgramLocalParametersI4ivEXT)
    traceGL_lookupNativeAddress("glNamedProgramLocalParametersI4ivEXT", (void **) &traceGL_Native.glNamedProgramLocalParametersI4ivEXT);

  traceThis = traceEnabled("glNamedProgramLocalParametersI4ivEXT");

  if (!traceGL_Native.glNamedProgramLocalParametersI4ivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedProgramLocalParametersI4ivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("params", "%d[%d]", params, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNamedProgramLocalParametersI4ivEXT(program, target, index, count, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNamedProgramLocalParameterI4uiEXT(GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedProgramLocalParameterI4uiEXT)
    traceGL_lookupNativeAddress("glNamedProgramLocalParameterI4uiEXT", (void **) &traceGL_Native.glNamedProgramLocalParameterI4uiEXT);

  traceThis = traceEnabled("glNamedProgramLocalParameterI4uiEXT");

  if (!traceGL_Native.glNamedProgramLocalParameterI4uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedProgramLocalParameterI4uiEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%u", x);
    traceInputParameter("y", "%u", y);
    traceInputParameter("z", "%u", z);
    traceInputParameter("w", "%u", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNamedProgramLocalParameterI4uiEXT(program, target, index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNamedProgramLocalParameterI4uivEXT(GLuint program, GLenum target, GLuint index, const GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedProgramLocalParameterI4uivEXT)
    traceGL_lookupNativeAddress("glNamedProgramLocalParameterI4uivEXT", (void **) &traceGL_Native.glNamedProgramLocalParameterI4uivEXT);

  traceThis = traceEnabled("glNamedProgramLocalParameterI4uivEXT");

  if (!traceGL_Native.glNamedProgramLocalParameterI4uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedProgramLocalParameterI4uivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("params", "%u[%d]", params, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNamedProgramLocalParameterI4uivEXT(program, target, index, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNamedProgramLocalParametersI4uivEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedProgramLocalParametersI4uivEXT)
    traceGL_lookupNativeAddress("glNamedProgramLocalParametersI4uivEXT", (void **) &traceGL_Native.glNamedProgramLocalParametersI4uivEXT);

  traceThis = traceEnabled("glNamedProgramLocalParametersI4uivEXT");

  if (!traceGL_Native.glNamedProgramLocalParametersI4uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedProgramLocalParametersI4uivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);
    traceInputParameter("count", "%d", count);
    traceInputParameter("params", "%u[%d]", params, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNamedProgramLocalParametersI4uivEXT(program, target, index, count, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetNamedProgramLocalParameterIivEXT(GLuint program, GLenum target, GLuint index, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedProgramLocalParameterIivEXT)
    traceGL_lookupNativeAddress("glGetNamedProgramLocalParameterIivEXT", (void **) &traceGL_Native.glGetNamedProgramLocalParameterIivEXT);

  traceThis = traceEnabled("glGetNamedProgramLocalParameterIivEXT");

  if (!traceGL_Native.glGetNamedProgramLocalParameterIivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedProgramLocalParameterIivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetNamedProgramLocalParameterIivEXT(program, target, index, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%d[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetNamedProgramLocalParameterIuivEXT(GLuint program, GLenum target, GLuint index, GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedProgramLocalParameterIuivEXT)
    traceGL_lookupNativeAddress("glGetNamedProgramLocalParameterIuivEXT", (void **) &traceGL_Native.glGetNamedProgramLocalParameterIuivEXT);

  traceThis = traceEnabled("glGetNamedProgramLocalParameterIuivEXT");

  if (!traceGL_Native.glGetNamedProgramLocalParameterIuivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedProgramLocalParameterIuivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetNamedProgramLocalParameterIuivEXT(program, target, index, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%u[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTextureParameterIivEXT(GLuint texture, GLenum target, GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureParameterIivEXT)
    traceGL_lookupNativeAddress("glTextureParameterIivEXT", (void **) &traceGL_Native.glTextureParameterIivEXT);

  traceThis = traceEnabled("glTextureParameterIivEXT");

  if (!traceGL_Native.glTextureParameterIivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureParameterIivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTextureParameterIivEXT(texture, target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTextureParameterIuivEXT(GLuint texture, GLenum target, GLenum pname, const GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureParameterIuivEXT)
    traceGL_lookupNativeAddress("glTextureParameterIuivEXT", (void **) &traceGL_Native.glTextureParameterIuivEXT);

  traceThis = traceEnabled("glTextureParameterIuivEXT");

  if (!traceGL_Native.glTextureParameterIuivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureParameterIuivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTextureParameterIuivEXT(texture, target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTextureParameterIivEXT(GLuint texture, GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTextureParameterIivEXT)
    traceGL_lookupNativeAddress("glGetTextureParameterIivEXT", (void **) &traceGL_Native.glGetTextureParameterIivEXT);

  traceThis = traceEnabled("glGetTextureParameterIivEXT");

  if (!traceGL_Native.glGetTextureParameterIivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTextureParameterIivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTextureParameterIivEXT(texture, target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTextureParameterIuivEXT(GLuint texture, GLenum target, GLenum pname, GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTextureParameterIuivEXT)
    traceGL_lookupNativeAddress("glGetTextureParameterIuivEXT", (void **) &traceGL_Native.glGetTextureParameterIuivEXT);

  traceThis = traceEnabled("glGetTextureParameterIuivEXT");

  if (!traceGL_Native.glGetTextureParameterIuivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTextureParameterIuivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTextureParameterIuivEXT(texture, target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexParameterIivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexParameterIivEXT)
    traceGL_lookupNativeAddress("glMultiTexParameterIivEXT", (void **) &traceGL_Native.glMultiTexParameterIivEXT);

  traceThis = traceEnabled("glMultiTexParameterIivEXT");

  if (!traceGL_Native.glMultiTexParameterIivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexParameterIivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexParameterIivEXT(texunit, target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexParameterIuivEXT(GLenum texunit, GLenum target, GLenum pname, const GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexParameterIuivEXT)
    traceGL_lookupNativeAddress("glMultiTexParameterIuivEXT", (void **) &traceGL_Native.glMultiTexParameterIuivEXT);

  traceThis = traceEnabled("glMultiTexParameterIuivEXT");

  if (!traceGL_Native.glMultiTexParameterIuivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexParameterIuivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexParameterIuivEXT(texunit, target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMultiTexParameterIivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultiTexParameterIivEXT)
    traceGL_lookupNativeAddress("glGetMultiTexParameterIivEXT", (void **) &traceGL_Native.glGetMultiTexParameterIivEXT);

  traceThis = traceEnabled("glGetMultiTexParameterIivEXT");

  if (!traceGL_Native.glGetMultiTexParameterIivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultiTexParameterIivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMultiTexParameterIivEXT(texunit, target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMultiTexParameterIuivEXT(GLenum texunit, GLenum target, GLenum pname, GLuint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultiTexParameterIuivEXT)
    traceGL_lookupNativeAddress("glGetMultiTexParameterIuivEXT", (void **) &traceGL_Native.glGetMultiTexParameterIuivEXT);

  traceThis = traceEnabled("glGetMultiTexParameterIuivEXT");

  if (!traceGL_Native.glGetMultiTexParameterIuivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultiTexParameterIuivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMultiTexParameterIuivEXT(texunit, target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform1fEXT(GLuint program, GLint location, GLfloat v0)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1fEXT)
    traceGL_lookupNativeAddress("glProgramUniform1fEXT", (void **) &traceGL_Native.glProgramUniform1fEXT);

  traceThis = traceEnabled("glProgramUniform1fEXT");

  if (!traceGL_Native.glProgramUniform1fEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1fEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%f", v0);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform1fEXT(program, location, v0);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform2fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2fEXT)
    traceGL_lookupNativeAddress("glProgramUniform2fEXT", (void **) &traceGL_Native.glProgramUniform2fEXT);

  traceThis = traceEnabled("glProgramUniform2fEXT");

  if (!traceGL_Native.glProgramUniform2fEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2fEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%f", v0);
    traceInputParameter("v1", "%f", v1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform2fEXT(program, location, v0, v1);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform3fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3fEXT)
    traceGL_lookupNativeAddress("glProgramUniform3fEXT", (void **) &traceGL_Native.glProgramUniform3fEXT);

  traceThis = traceEnabled("glProgramUniform3fEXT");

  if (!traceGL_Native.glProgramUniform3fEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3fEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%f", v0);
    traceInputParameter("v1", "%f", v1);
    traceInputParameter("v2", "%f", v2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform3fEXT(program, location, v0, v1, v2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform4fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4fEXT)
    traceGL_lookupNativeAddress("glProgramUniform4fEXT", (void **) &traceGL_Native.glProgramUniform4fEXT);

  traceThis = traceEnabled("glProgramUniform4fEXT");

  if (!traceGL_Native.glProgramUniform4fEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4fEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%f", v0);
    traceInputParameter("v1", "%f", v1);
    traceInputParameter("v2", "%f", v2);
    traceInputParameter("v3", "%f", v3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform4fEXT(program, location, v0, v1, v2, v3);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform1iEXT(GLuint program, GLint location, GLint v0)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1iEXT)
    traceGL_lookupNativeAddress("glProgramUniform1iEXT", (void **) &traceGL_Native.glProgramUniform1iEXT);

  traceThis = traceEnabled("glProgramUniform1iEXT");

  if (!traceGL_Native.glProgramUniform1iEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1iEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%d", v0);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform1iEXT(program, location, v0);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform2iEXT(GLuint program, GLint location, GLint v0, GLint v1)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2iEXT)
    traceGL_lookupNativeAddress("glProgramUniform2iEXT", (void **) &traceGL_Native.glProgramUniform2iEXT);

  traceThis = traceEnabled("glProgramUniform2iEXT");

  if (!traceGL_Native.glProgramUniform2iEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2iEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%d", v0);
    traceInputParameter("v1", "%d", v1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform2iEXT(program, location, v0, v1);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform3iEXT(GLuint program, GLint location, GLint v0, GLint v1, GLint v2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3iEXT)
    traceGL_lookupNativeAddress("glProgramUniform3iEXT", (void **) &traceGL_Native.glProgramUniform3iEXT);

  traceThis = traceEnabled("glProgramUniform3iEXT");

  if (!traceGL_Native.glProgramUniform3iEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3iEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%d", v0);
    traceInputParameter("v1", "%d", v1);
    traceInputParameter("v2", "%d", v2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform3iEXT(program, location, v0, v1, v2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform4iEXT(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4iEXT)
    traceGL_lookupNativeAddress("glProgramUniform4iEXT", (void **) &traceGL_Native.glProgramUniform4iEXT);

  traceThis = traceEnabled("glProgramUniform4iEXT");

  if (!traceGL_Native.glProgramUniform4iEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4iEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%d", v0);
    traceInputParameter("v1", "%d", v1);
    traceInputParameter("v2", "%d", v2);
    traceInputParameter("v3", "%d", v3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform4iEXT(program, location, v0, v1, v2, v3);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform1fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1fvEXT)
    traceGL_lookupNativeAddress("glProgramUniform1fvEXT", (void **) &traceGL_Native.glProgramUniform1fvEXT);

  traceThis = traceEnabled("glProgramUniform1fvEXT");

  if (!traceGL_Native.glProgramUniform1fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1fvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%f[%d]", value, count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform1fvEXT(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform2fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2fvEXT)
    traceGL_lookupNativeAddress("glProgramUniform2fvEXT", (void **) &traceGL_Native.glProgramUniform2fvEXT);

  traceThis = traceEnabled("glProgramUniform2fvEXT");

  if (!traceGL_Native.glProgramUniform2fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2fvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%f[%d]", value, count * 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform2fvEXT(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform3fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3fvEXT)
    traceGL_lookupNativeAddress("glProgramUniform3fvEXT", (void **) &traceGL_Native.glProgramUniform3fvEXT);

  traceThis = traceEnabled("glProgramUniform3fvEXT");

  if (!traceGL_Native.glProgramUniform3fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3fvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%f[%d]", value, count * 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform3fvEXT(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform4fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4fvEXT)
    traceGL_lookupNativeAddress("glProgramUniform4fvEXT", (void **) &traceGL_Native.glProgramUniform4fvEXT);

  traceThis = traceEnabled("glProgramUniform4fvEXT");

  if (!traceGL_Native.glProgramUniform4fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4fvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%f[%d]", value, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform4fvEXT(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform1ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1ivEXT)
    traceGL_lookupNativeAddress("glProgramUniform1ivEXT", (void **) &traceGL_Native.glProgramUniform1ivEXT);

  traceThis = traceEnabled("glProgramUniform1ivEXT");

  if (!traceGL_Native.glProgramUniform1ivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1ivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%d[%d]", value, count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform1ivEXT(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform2ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2ivEXT)
    traceGL_lookupNativeAddress("glProgramUniform2ivEXT", (void **) &traceGL_Native.glProgramUniform2ivEXT);

  traceThis = traceEnabled("glProgramUniform2ivEXT");

  if (!traceGL_Native.glProgramUniform2ivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2ivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%d[%d]", value, count * 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform2ivEXT(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform3ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3ivEXT)
    traceGL_lookupNativeAddress("glProgramUniform3ivEXT", (void **) &traceGL_Native.glProgramUniform3ivEXT);

  traceThis = traceEnabled("glProgramUniform3ivEXT");

  if (!traceGL_Native.glProgramUniform3ivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3ivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%d[%d]", value, count * 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform3ivEXT(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform4ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4ivEXT)
    traceGL_lookupNativeAddress("glProgramUniform4ivEXT", (void **) &traceGL_Native.glProgramUniform4ivEXT);

  traceThis = traceEnabled("glProgramUniform4ivEXT");

  if (!traceGL_Native.glProgramUniform4ivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4ivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%d[%d]", value, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform4ivEXT(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix2fvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix2fvEXT", (void **) &traceGL_Native.glProgramUniformMatrix2fvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix2fvEXT");

  if (!traceGL_Native.glProgramUniformMatrix2fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix2fvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%f[%d]", value, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix2fvEXT(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix3fvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix3fvEXT", (void **) &traceGL_Native.glProgramUniformMatrix3fvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix3fvEXT");

  if (!traceGL_Native.glProgramUniformMatrix3fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix3fvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%f[%d]", value, count * 9);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix3fvEXT(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix4fvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix4fvEXT", (void **) &traceGL_Native.glProgramUniformMatrix4fvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix4fvEXT");

  if (!traceGL_Native.glProgramUniformMatrix4fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix4fvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%f[%d]", value, count * 16);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix4fvEXT(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix2x3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix2x3fvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix2x3fvEXT", (void **) &traceGL_Native.glProgramUniformMatrix2x3fvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix2x3fvEXT");

  if (!traceGL_Native.glProgramUniformMatrix2x3fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix2x3fvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%f[%d]", value, count * 6);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix2x3fvEXT(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix3x2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix3x2fvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix3x2fvEXT", (void **) &traceGL_Native.glProgramUniformMatrix3x2fvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix3x2fvEXT");

  if (!traceGL_Native.glProgramUniformMatrix3x2fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix3x2fvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%f[%d]", value, count * 6);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix3x2fvEXT(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix2x4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix2x4fvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix2x4fvEXT", (void **) &traceGL_Native.glProgramUniformMatrix2x4fvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix2x4fvEXT");

  if (!traceGL_Native.glProgramUniformMatrix2x4fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix2x4fvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%f[%d]", value, count * 8);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix2x4fvEXT(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix4x2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix4x2fvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix4x2fvEXT", (void **) &traceGL_Native.glProgramUniformMatrix4x2fvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix4x2fvEXT");

  if (!traceGL_Native.glProgramUniformMatrix4x2fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix4x2fvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%f[%d]", value, count * 8);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix4x2fvEXT(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix3x4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix3x4fvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix3x4fvEXT", (void **) &traceGL_Native.glProgramUniformMatrix3x4fvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix3x4fvEXT");

  if (!traceGL_Native.glProgramUniformMatrix3x4fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix3x4fvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%f[%d]", value, count * 12);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix3x4fvEXT(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix4x3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix4x3fvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix4x3fvEXT", (void **) &traceGL_Native.glProgramUniformMatrix4x3fvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix4x3fvEXT");

  if (!traceGL_Native.glProgramUniformMatrix4x3fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix4x3fvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%f[%d]", value, count * 12);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix4x3fvEXT(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform1uiEXT(GLuint program, GLint location, GLuint v0)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1uiEXT)
    traceGL_lookupNativeAddress("glProgramUniform1uiEXT", (void **) &traceGL_Native.glProgramUniform1uiEXT);

  traceThis = traceEnabled("glProgramUniform1uiEXT");

  if (!traceGL_Native.glProgramUniform1uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1uiEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%u", v0);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform1uiEXT(program, location, v0);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform2uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2uiEXT)
    traceGL_lookupNativeAddress("glProgramUniform2uiEXT", (void **) &traceGL_Native.glProgramUniform2uiEXT);

  traceThis = traceEnabled("glProgramUniform2uiEXT");

  if (!traceGL_Native.glProgramUniform2uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2uiEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%u", v0);
    traceInputParameter("v1", "%u", v1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform2uiEXT(program, location, v0, v1);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform3uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3uiEXT)
    traceGL_lookupNativeAddress("glProgramUniform3uiEXT", (void **) &traceGL_Native.glProgramUniform3uiEXT);

  traceThis = traceEnabled("glProgramUniform3uiEXT");

  if (!traceGL_Native.glProgramUniform3uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3uiEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%u", v0);
    traceInputParameter("v1", "%u", v1);
    traceInputParameter("v2", "%u", v2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform3uiEXT(program, location, v0, v1, v2);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform4uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4uiEXT)
    traceGL_lookupNativeAddress("glProgramUniform4uiEXT", (void **) &traceGL_Native.glProgramUniform4uiEXT);

  traceThis = traceEnabled("glProgramUniform4uiEXT");

  if (!traceGL_Native.glProgramUniform4uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4uiEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("v0", "%u", v0);
    traceInputParameter("v1", "%u", v1);
    traceInputParameter("v2", "%u", v2);
    traceInputParameter("v3", "%u", v3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform4uiEXT(program, location, v0, v1, v2, v3);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform1uivEXT(GLuint program, GLint location, GLsizei count, const GLuint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1uivEXT)
    traceGL_lookupNativeAddress("glProgramUniform1uivEXT", (void **) &traceGL_Native.glProgramUniform1uivEXT);

  traceThis = traceEnabled("glProgramUniform1uivEXT");

  if (!traceGL_Native.glProgramUniform1uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1uivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%u[%d]", value, count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform1uivEXT(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform2uivEXT(GLuint program, GLint location, GLsizei count, const GLuint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2uivEXT)
    traceGL_lookupNativeAddress("glProgramUniform2uivEXT", (void **) &traceGL_Native.glProgramUniform2uivEXT);

  traceThis = traceEnabled("glProgramUniform2uivEXT");

  if (!traceGL_Native.glProgramUniform2uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2uivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%u[%d]", value, count * 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform2uivEXT(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform3uivEXT(GLuint program, GLint location, GLsizei count, const GLuint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3uivEXT)
    traceGL_lookupNativeAddress("glProgramUniform3uivEXT", (void **) &traceGL_Native.glProgramUniform3uivEXT);

  traceThis = traceEnabled("glProgramUniform3uivEXT");

  if (!traceGL_Native.glProgramUniform3uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3uivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%u[%d]", value, count * 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform3uivEXT(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform4uivEXT(GLuint program, GLint location, GLsizei count, const GLuint *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4uivEXT)
    traceGL_lookupNativeAddress("glProgramUniform4uivEXT", (void **) &traceGL_Native.glProgramUniform4uivEXT);

  traceThis = traceEnabled("glProgramUniform4uivEXT");

  if (!traceGL_Native.glProgramUniform4uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4uivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%u[%d]", value, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform4uivEXT(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNamedBufferDataEXT(GLuint buffer, GLsizeiptr size, const GLvoid *data, GLenum usage)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedBufferDataEXT)
    traceGL_lookupNativeAddress("glNamedBufferDataEXT", (void **) &traceGL_Native.glNamedBufferDataEXT);

  traceThis = traceEnabled("glNamedBufferDataEXT");

  if (!traceGL_Native.glNamedBufferDataEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedBufferDataEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("size", "%z", size);
    traceInputParameter("data", "%p", data);
    traceInputParameter("usage", "%u", usage);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNamedBufferDataEXT(buffer, size, data, usage);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNamedBufferSubDataEXT(GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedBufferSubDataEXT)
    traceGL_lookupNativeAddress("glNamedBufferSubDataEXT", (void **) &traceGL_Native.glNamedBufferSubDataEXT);

  traceThis = traceEnabled("glNamedBufferSubDataEXT");

  if (!traceGL_Native.glNamedBufferSubDataEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedBufferSubDataEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("offset", "%z", offset);
    traceInputParameter("size", "%z", size);
    traceInputParameter("data", "%p", data);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNamedBufferSubDataEXT(buffer, offset, size, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLvoid *GLAPIENTRY
glMapNamedBufferEXT(GLuint buffer, GLenum access)
{
  GLvoid *ret = NULL;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapNamedBufferEXT)
    traceGL_lookupNativeAddress("glMapNamedBufferEXT", (void **) &traceGL_Native.glMapNamedBufferEXT);

  traceThis = traceEnabled("glMapNamedBufferEXT");

  if (!traceGL_Native.glMapNamedBufferEXT)
    return NULL;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapNamedBufferEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("access", "%u", access);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glMapNamedBufferEXT(buffer, access);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%p", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLboolean GLAPIENTRY
glUnmapNamedBufferEXT(GLuint buffer)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUnmapNamedBufferEXT)
    traceGL_lookupNativeAddress("glUnmapNamedBufferEXT", (void **) &traceGL_Native.glUnmapNamedBufferEXT);

  traceThis = traceEnabled("glUnmapNamedBufferEXT");

  if (!traceGL_Native.glUnmapNamedBufferEXT)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUnmapNamedBufferEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buffer", "%u", buffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glUnmapNamedBufferEXT(buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetNamedBufferParameterivEXT(GLuint buffer, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedBufferParameterivEXT)
    traceGL_lookupNativeAddress("glGetNamedBufferParameterivEXT", (void **) &traceGL_Native.glGetNamedBufferParameterivEXT);

  traceThis = traceEnabled("glGetNamedBufferParameterivEXT");

  if (!traceGL_Native.glGetNamedBufferParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedBufferParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetNamedBufferParameterivEXT(buffer, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetNamedBufferPointervEXT(GLuint buffer, GLenum pname, GLvoid **params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedBufferPointervEXT)
    traceGL_lookupNativeAddress("glGetNamedBufferPointervEXT", (void **) &traceGL_Native.glGetNamedBufferPointervEXT);

  traceThis = traceEnabled("glGetNamedBufferPointervEXT");

  if (!traceGL_Native.glGetNamedBufferPointervEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedBufferPointervEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetNamedBufferPointervEXT(buffer, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetNamedBufferSubDataEXT(GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedBufferSubDataEXT)
    traceGL_lookupNativeAddress("glGetNamedBufferSubDataEXT", (void **) &traceGL_Native.glGetNamedBufferSubDataEXT);

  traceThis = traceEnabled("glGetNamedBufferSubDataEXT");

  if (!traceGL_Native.glGetNamedBufferSubDataEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedBufferSubDataEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("offset", "%z", offset);
    traceInputParameter("size", "%z", size);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetNamedBufferSubDataEXT(buffer, offset, size, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("data", "%p", data);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTextureBufferEXT(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureBufferEXT)
    traceGL_lookupNativeAddress("glTextureBufferEXT", (void **) &traceGL_Native.glTextureBufferEXT);

  traceThis = traceEnabled("glTextureBufferEXT");

  if (!traceGL_Native.glTextureBufferEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureBufferEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("buffer", "%u", buffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTextureBufferEXT(texture, target, internalformat, buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexBufferEXT(GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexBufferEXT)
    traceGL_lookupNativeAddress("glMultiTexBufferEXT", (void **) &traceGL_Native.glMultiTexBufferEXT);

  traceThis = traceEnabled("glMultiTexBufferEXT");

  if (!traceGL_Native.glMultiTexBufferEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexBufferEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("buffer", "%u", buffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexBufferEXT(texunit, target, internalformat, buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNamedRenderbufferStorageEXT(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedRenderbufferStorageEXT)
    traceGL_lookupNativeAddress("glNamedRenderbufferStorageEXT", (void **) &traceGL_Native.glNamedRenderbufferStorageEXT);

  traceThis = traceEnabled("glNamedRenderbufferStorageEXT");

  if (!traceGL_Native.glNamedRenderbufferStorageEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedRenderbufferStorageEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("renderbuffer", "%u", renderbuffer);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNamedRenderbufferStorageEXT(renderbuffer, internalformat, width, height);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetNamedRenderbufferParameterivEXT(GLuint renderbuffer, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedRenderbufferParameterivEXT)
    traceGL_lookupNativeAddress("glGetNamedRenderbufferParameterivEXT", (void **) &traceGL_Native.glGetNamedRenderbufferParameterivEXT);

  traceThis = traceEnabled("glGetNamedRenderbufferParameterivEXT");

  if (!traceGL_Native.glGetNamedRenderbufferParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedRenderbufferParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("renderbuffer", "%u", renderbuffer);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetNamedRenderbufferParameterivEXT(renderbuffer, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLenum GLAPIENTRY
glCheckNamedFramebufferStatusEXT(GLuint framebuffer, GLenum target)
{
  GLenum ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCheckNamedFramebufferStatusEXT)
    traceGL_lookupNativeAddress("glCheckNamedFramebufferStatusEXT", (void **) &traceGL_Native.glCheckNamedFramebufferStatusEXT);

  traceThis = traceEnabled("glCheckNamedFramebufferStatusEXT");

  if (!traceGL_Native.glCheckNamedFramebufferStatusEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCheckNamedFramebufferStatusEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("framebuffer", "%u", framebuffer);
    traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glCheckNamedFramebufferStatusEXT(framebuffer, target);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glNamedFramebufferTexture1DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedFramebufferTexture1DEXT)
    traceGL_lookupNativeAddress("glNamedFramebufferTexture1DEXT", (void **) &traceGL_Native.glNamedFramebufferTexture1DEXT);

  traceThis = traceEnabled("glNamedFramebufferTexture1DEXT");

  if (!traceGL_Native.glNamedFramebufferTexture1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedFramebufferTexture1DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("framebuffer", "%u", framebuffer);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("textarget", "%u", textarget);
    traceInputParameter("texture", "%u", texture);
    traceInputParameter("level", "%d", level);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNamedFramebufferTexture1DEXT(framebuffer, attachment, textarget, texture, level);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNamedFramebufferTexture2DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedFramebufferTexture2DEXT)
    traceGL_lookupNativeAddress("glNamedFramebufferTexture2DEXT", (void **) &traceGL_Native.glNamedFramebufferTexture2DEXT);

  traceThis = traceEnabled("glNamedFramebufferTexture2DEXT");

  if (!traceGL_Native.glNamedFramebufferTexture2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedFramebufferTexture2DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("framebuffer", "%u", framebuffer);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("textarget", "%u", textarget);
    traceInputParameter("texture", "%u", texture);
    traceInputParameter("level", "%d", level);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNamedFramebufferTexture2DEXT(framebuffer, attachment, textarget, texture, level);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNamedFramebufferTexture3DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedFramebufferTexture3DEXT)
    traceGL_lookupNativeAddress("glNamedFramebufferTexture3DEXT", (void **) &traceGL_Native.glNamedFramebufferTexture3DEXT);

  traceThis = traceEnabled("glNamedFramebufferTexture3DEXT");

  if (!traceGL_Native.glNamedFramebufferTexture3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedFramebufferTexture3DEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("framebuffer", "%u", framebuffer);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("textarget", "%u", textarget);
    traceInputParameter("texture", "%u", texture);
    traceInputParameter("level", "%d", level);
    traceInputParameter("zoffset", "%d", zoffset);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNamedFramebufferTexture3DEXT(framebuffer, attachment, textarget, texture, level, zoffset);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNamedFramebufferRenderbufferEXT(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedFramebufferRenderbufferEXT)
    traceGL_lookupNativeAddress("glNamedFramebufferRenderbufferEXT", (void **) &traceGL_Native.glNamedFramebufferRenderbufferEXT);

  traceThis = traceEnabled("glNamedFramebufferRenderbufferEXT");

  if (!traceGL_Native.glNamedFramebufferRenderbufferEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedFramebufferRenderbufferEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("framebuffer", "%u", framebuffer);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("renderbuffertarget", "%u", renderbuffertarget);
    traceInputParameter("renderbuffer", "%u", renderbuffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNamedFramebufferRenderbufferEXT(framebuffer, attachment, renderbuffertarget, renderbuffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetNamedFramebufferAttachmentParameterivEXT(GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedFramebufferAttachmentParameterivEXT)
    traceGL_lookupNativeAddress("glGetNamedFramebufferAttachmentParameterivEXT", (void **) &traceGL_Native.glGetNamedFramebufferAttachmentParameterivEXT);

  traceThis = traceEnabled("glGetNamedFramebufferAttachmentParameterivEXT");

  if (!traceGL_Native.glGetNamedFramebufferAttachmentParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedFramebufferAttachmentParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("framebuffer", "%u", framebuffer);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetNamedFramebufferAttachmentParameterivEXT(framebuffer, attachment, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenerateTextureMipmapEXT(GLuint texture, GLenum target)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenerateTextureMipmapEXT)
    traceGL_lookupNativeAddress("glGenerateTextureMipmapEXT", (void **) &traceGL_Native.glGenerateTextureMipmapEXT);

  traceThis = traceEnabled("glGenerateTextureMipmapEXT");

  if (!traceGL_Native.glGenerateTextureMipmapEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenerateTextureMipmapEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenerateTextureMipmapEXT(texture, target);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenerateMultiTexMipmapEXT(GLenum texunit, GLenum target)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenerateMultiTexMipmapEXT)
    traceGL_lookupNativeAddress("glGenerateMultiTexMipmapEXT", (void **) &traceGL_Native.glGenerateMultiTexMipmapEXT);

  traceThis = traceEnabled("glGenerateMultiTexMipmapEXT");

  if (!traceGL_Native.glGenerateMultiTexMipmapEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenerateMultiTexMipmapEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenerateMultiTexMipmapEXT(texunit, target);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFramebufferDrawBufferEXT(GLuint framebuffer, GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferDrawBufferEXT)
    traceGL_lookupNativeAddress("glFramebufferDrawBufferEXT", (void **) &traceGL_Native.glFramebufferDrawBufferEXT);

  traceThis = traceEnabled("glFramebufferDrawBufferEXT");

  if (!traceGL_Native.glFramebufferDrawBufferEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferDrawBufferEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("framebuffer", "%u", framebuffer);
    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFramebufferDrawBufferEXT(framebuffer, mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFramebufferDrawBuffersEXT(GLuint framebuffer, GLsizei n, const GLenum *bufs)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferDrawBuffersEXT)
    traceGL_lookupNativeAddress("glFramebufferDrawBuffersEXT", (void **) &traceGL_Native.glFramebufferDrawBuffersEXT);

  traceThis = traceEnabled("glFramebufferDrawBuffersEXT");

  if (!traceGL_Native.glFramebufferDrawBuffersEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferDrawBuffersEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("framebuffer", "%u", framebuffer);
    traceInputParameter("n", "%d", n);
    traceInputParameter("bufs", "%u[%d]", bufs, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFramebufferDrawBuffersEXT(framebuffer, n, bufs);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFramebufferReadBufferEXT(GLuint framebuffer, GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferReadBufferEXT)
    traceGL_lookupNativeAddress("glFramebufferReadBufferEXT", (void **) &traceGL_Native.glFramebufferReadBufferEXT);

  traceThis = traceEnabled("glFramebufferReadBufferEXT");

  if (!traceGL_Native.glFramebufferReadBufferEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferReadBufferEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("framebuffer", "%u", framebuffer);
    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFramebufferReadBufferEXT(framebuffer, mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetFramebufferParameterivEXT(GLuint framebuffer, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFramebufferParameterivEXT)
    traceGL_lookupNativeAddress("glGetFramebufferParameterivEXT", (void **) &traceGL_Native.glGetFramebufferParameterivEXT);

  traceThis = traceEnabled("glGetFramebufferParameterivEXT");

  if (!traceGL_Native.glGetFramebufferParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFramebufferParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("framebuffer", "%u", framebuffer);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetFramebufferParameterivEXT(framebuffer, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNamedRenderbufferStorageMultisampleEXT(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedRenderbufferStorageMultisampleEXT)
    traceGL_lookupNativeAddress("glNamedRenderbufferStorageMultisampleEXT", (void **) &traceGL_Native.glNamedRenderbufferStorageMultisampleEXT);

  traceThis = traceEnabled("glNamedRenderbufferStorageMultisampleEXT");

  if (!traceGL_Native.glNamedRenderbufferStorageMultisampleEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedRenderbufferStorageMultisampleEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("renderbuffer", "%u", renderbuffer);
    traceInputParameter("samples", "%d", samples);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNamedRenderbufferStorageMultisampleEXT(renderbuffer, samples, internalformat, width, height);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNamedRenderbufferStorageMultisampleCoverageEXT(GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedRenderbufferStorageMultisampleCoverageEXT)
    traceGL_lookupNativeAddress("glNamedRenderbufferStorageMultisampleCoverageEXT", (void **) &traceGL_Native.glNamedRenderbufferStorageMultisampleCoverageEXT);

  traceThis = traceEnabled("glNamedRenderbufferStorageMultisampleCoverageEXT");

  if (!traceGL_Native.glNamedRenderbufferStorageMultisampleCoverageEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedRenderbufferStorageMultisampleCoverageEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("renderbuffer", "%u", renderbuffer);
    traceInputParameter("coverageSamples", "%d", coverageSamples);
    traceInputParameter("colorSamples", "%d", colorSamples);
    traceInputParameter("internalformat", "%u", internalformat);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNamedRenderbufferStorageMultisampleCoverageEXT(renderbuffer, coverageSamples, colorSamples, internalformat, width, height);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNamedFramebufferTextureEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedFramebufferTextureEXT)
    traceGL_lookupNativeAddress("glNamedFramebufferTextureEXT", (void **) &traceGL_Native.glNamedFramebufferTextureEXT);

  traceThis = traceEnabled("glNamedFramebufferTextureEXT");

  if (!traceGL_Native.glNamedFramebufferTextureEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedFramebufferTextureEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("framebuffer", "%u", framebuffer);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("texture", "%u", texture);
    traceInputParameter("level", "%d", level);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNamedFramebufferTextureEXT(framebuffer, attachment, texture, level);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNamedFramebufferTextureLayerEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedFramebufferTextureLayerEXT)
    traceGL_lookupNativeAddress("glNamedFramebufferTextureLayerEXT", (void **) &traceGL_Native.glNamedFramebufferTextureLayerEXT);

  traceThis = traceEnabled("glNamedFramebufferTextureLayerEXT");

  if (!traceGL_Native.glNamedFramebufferTextureLayerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedFramebufferTextureLayerEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("framebuffer", "%u", framebuffer);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("texture", "%u", texture);
    traceInputParameter("level", "%d", level);
    traceInputParameter("layer", "%d", layer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNamedFramebufferTextureLayerEXT(framebuffer, attachment, texture, level, layer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNamedFramebufferTextureFaceEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedFramebufferTextureFaceEXT)
    traceGL_lookupNativeAddress("glNamedFramebufferTextureFaceEXT", (void **) &traceGL_Native.glNamedFramebufferTextureFaceEXT);

  traceThis = traceEnabled("glNamedFramebufferTextureFaceEXT");

  if (!traceGL_Native.glNamedFramebufferTextureFaceEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedFramebufferTextureFaceEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("framebuffer", "%u", framebuffer);
    traceInputParameter("attachment", "%u", attachment);
    traceInputParameter("texture", "%u", texture);
    traceInputParameter("level", "%d", level);
    traceInputParameter("face", "%u", face);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNamedFramebufferTextureFaceEXT(framebuffer, attachment, texture, level, face);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTextureRenderbufferEXT(GLuint texture, GLenum target, GLuint renderbuffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureRenderbufferEXT)
    traceGL_lookupNativeAddress("glTextureRenderbufferEXT", (void **) &traceGL_Native.glTextureRenderbufferEXT);

  traceThis = traceEnabled("glTextureRenderbufferEXT");

  if (!traceGL_Native.glTextureRenderbufferEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureRenderbufferEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texture", "%u", texture);
    traceInputParameter("target", "%u", target);
    traceInputParameter("renderbuffer", "%u", renderbuffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTextureRenderbufferEXT(texture, target, renderbuffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMultiTexRenderbufferEXT(GLenum texunit, GLenum target, GLuint renderbuffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexRenderbufferEXT)
    traceGL_lookupNativeAddress("glMultiTexRenderbufferEXT", (void **) &traceGL_Native.glMultiTexRenderbufferEXT);

  traceThis = traceEnabled("glMultiTexRenderbufferEXT");

  if (!traceGL_Native.glMultiTexRenderbufferEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexRenderbufferEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("texunit", "%u", texunit);
    traceInputParameter("target", "%u", target);
    traceInputParameter("renderbuffer", "%u", renderbuffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMultiTexRenderbufferEXT(texunit, target, renderbuffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLvoid *GLAPIENTRY
glMapNamedBufferRangeEXT(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access)
{
  GLvoid *ret = NULL;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapNamedBufferRangeEXT)
    traceGL_lookupNativeAddress("glMapNamedBufferRangeEXT", (void **) &traceGL_Native.glMapNamedBufferRangeEXT);

  traceThis = traceEnabled("glMapNamedBufferRangeEXT");

  if (!traceGL_Native.glMapNamedBufferRangeEXT)
    return NULL;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapNamedBufferRangeEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("offset", "%z", offset);
    traceInputParameter("length", "%z", length);
    traceInputParameter("access", "%u", access);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glMapNamedBufferRangeEXT(buffer, offset, length, access);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%p", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glFlushMappedNamedBufferRangeEXT(GLuint buffer, GLintptr offset, GLsizeiptr length)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFlushMappedNamedBufferRangeEXT)
    traceGL_lookupNativeAddress("glFlushMappedNamedBufferRangeEXT", (void **) &traceGL_Native.glFlushMappedNamedBufferRangeEXT);

  traceThis = traceEnabled("glFlushMappedNamedBufferRangeEXT");

  if (!traceGL_Native.glFlushMappedNamedBufferRangeEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFlushMappedNamedBufferRangeEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("offset", "%z", offset);
    traceInputParameter("length", "%z", length);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFlushMappedNamedBufferRangeEXT(buffer, offset, length);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNamedCopyBufferSubDataEXT(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedCopyBufferSubDataEXT)
    traceGL_lookupNativeAddress("glNamedCopyBufferSubDataEXT", (void **) &traceGL_Native.glNamedCopyBufferSubDataEXT);

  traceThis = traceEnabled("glNamedCopyBufferSubDataEXT");

  if (!traceGL_Native.glNamedCopyBufferSubDataEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedCopyBufferSubDataEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("readBuffer", "%u", readBuffer);
    traceInputParameter("writeBuffer", "%u", writeBuffer);
    traceInputParameter("readOffset", "%z", readOffset);
    traceInputParameter("writeOffset", "%z", writeOffset);
    traceInputParameter("size", "%z", size);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNamedCopyBufferSubDataEXT(readBuffer, writeBuffer, readOffset, writeOffset, size);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform1dEXT(GLuint program, GLint location, GLdouble x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1dEXT)
    traceGL_lookupNativeAddress("glProgramUniform1dEXT", (void **) &traceGL_Native.glProgramUniform1dEXT);

  traceThis = traceEnabled("glProgramUniform1dEXT");

  if (!traceGL_Native.glProgramUniform1dEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1dEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("x", "%lf", x);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform1dEXT(program, location, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform2dEXT(GLuint program, GLint location, GLdouble x, GLdouble y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2dEXT)
    traceGL_lookupNativeAddress("glProgramUniform2dEXT", (void **) &traceGL_Native.glProgramUniform2dEXT);

  traceThis = traceEnabled("glProgramUniform2dEXT");

  if (!traceGL_Native.glProgramUniform2dEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2dEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform2dEXT(program, location, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform3dEXT(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3dEXT)
    traceGL_lookupNativeAddress("glProgramUniform3dEXT", (void **) &traceGL_Native.glProgramUniform3dEXT);

  traceThis = traceEnabled("glProgramUniform3dEXT");

  if (!traceGL_Native.glProgramUniform3dEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3dEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform3dEXT(program, location, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform4dEXT(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4dEXT)
    traceGL_lookupNativeAddress("glProgramUniform4dEXT", (void **) &traceGL_Native.glProgramUniform4dEXT);

  traceThis = traceEnabled("glProgramUniform4dEXT");

  if (!traceGL_Native.glProgramUniform4dEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4dEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);
    traceInputParameter("w", "%lf", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform4dEXT(program, location, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform1dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1dvEXT)
    traceGL_lookupNativeAddress("glProgramUniform1dvEXT", (void **) &traceGL_Native.glProgramUniform1dvEXT);

  traceThis = traceEnabled("glProgramUniform1dvEXT");

  if (!traceGL_Native.glProgramUniform1dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1dvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%lf[%d]", value, count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform1dvEXT(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform2dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2dvEXT)
    traceGL_lookupNativeAddress("glProgramUniform2dvEXT", (void **) &traceGL_Native.glProgramUniform2dvEXT);

  traceThis = traceEnabled("glProgramUniform2dvEXT");

  if (!traceGL_Native.glProgramUniform2dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2dvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%lf[%d]", value, count * 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform2dvEXT(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform3dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3dvEXT)
    traceGL_lookupNativeAddress("glProgramUniform3dvEXT", (void **) &traceGL_Native.glProgramUniform3dvEXT);

  traceThis = traceEnabled("glProgramUniform3dvEXT");

  if (!traceGL_Native.glProgramUniform3dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3dvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%lf[%d]", value, count * 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform3dvEXT(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform4dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4dvEXT)
    traceGL_lookupNativeAddress("glProgramUniform4dvEXT", (void **) &traceGL_Native.glProgramUniform4dvEXT);

  traceThis = traceEnabled("glProgramUniform4dvEXT");

  if (!traceGL_Native.glProgramUniform4dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4dvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("value", "%lf[%d]", value, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform4dvEXT(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix2dvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix2dvEXT", (void **) &traceGL_Native.glProgramUniformMatrix2dvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix2dvEXT");

  if (!traceGL_Native.glProgramUniformMatrix2dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix2dvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix2dvEXT(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix3dvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix3dvEXT", (void **) &traceGL_Native.glProgramUniformMatrix3dvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix3dvEXT");

  if (!traceGL_Native.glProgramUniformMatrix3dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix3dvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 9);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix3dvEXT(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix4dvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix4dvEXT", (void **) &traceGL_Native.glProgramUniformMatrix4dvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix4dvEXT");

  if (!traceGL_Native.glProgramUniformMatrix4dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix4dvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 16);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix4dvEXT(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix2x3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix2x3dvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix2x3dvEXT", (void **) &traceGL_Native.glProgramUniformMatrix2x3dvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix2x3dvEXT");

  if (!traceGL_Native.glProgramUniformMatrix2x3dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix2x3dvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 6);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix2x3dvEXT(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix2x4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix2x4dvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix2x4dvEXT", (void **) &traceGL_Native.glProgramUniformMatrix2x4dvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix2x4dvEXT");

  if (!traceGL_Native.glProgramUniformMatrix2x4dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix2x4dvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 8);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix2x4dvEXT(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix3x2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix3x2dvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix3x2dvEXT", (void **) &traceGL_Native.glProgramUniformMatrix3x2dvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix3x2dvEXT");

  if (!traceGL_Native.glProgramUniformMatrix3x2dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix3x2dvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 6);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix3x2dvEXT(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix3x4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix3x4dvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix3x4dvEXT", (void **) &traceGL_Native.glProgramUniformMatrix3x4dvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix3x4dvEXT");

  if (!traceGL_Native.glProgramUniformMatrix3x4dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix3x4dvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 12);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix3x4dvEXT(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix4x2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix4x2dvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix4x2dvEXT", (void **) &traceGL_Native.glProgramUniformMatrix4x2dvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix4x2dvEXT");

  if (!traceGL_Native.glProgramUniformMatrix4x2dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix4x2dvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 8);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix4x2dvEXT(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformMatrix4x3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix4x3dvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix4x3dvEXT", (void **) &traceGL_Native.glProgramUniformMatrix4x3dvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix4x3dvEXT");

  if (!traceGL_Native.glProgramUniformMatrix4x3dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix4x3dvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);
    traceInputParameter("transpose", "%u", (unsigned int) transpose);
    traceInputParameter("value", "%lf[%d]", value, count * 12);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformMatrix4x3dvEXT(program, location, count, transpose, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMultisamplefvNV(GLenum pname, GLuint index, GLfloat *val)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultisamplefvNV)
    traceGL_lookupNativeAddress("glGetMultisamplefvNV", (void **) &traceGL_Native.glGetMultisamplefvNV);

  traceThis = traceEnabled("glGetMultisamplefvNV");

  if (!traceGL_Native.glGetMultisamplefvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultisamplefvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetMultisamplefvNV(pname, index, val);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("val", "%f[%d]", val, 2);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSampleMaskIndexedNV(GLuint index, GLbitfield mask)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSampleMaskIndexedNV)
    traceGL_lookupNativeAddress("glSampleMaskIndexedNV", (void **) &traceGL_Native.glSampleMaskIndexedNV);

  traceThis = traceEnabled("glSampleMaskIndexedNV");

  if (!traceGL_Native.glSampleMaskIndexedNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSampleMaskIndexedNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("mask", "%u", mask);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSampleMaskIndexedNV(index, mask);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexRenderbufferNV(GLenum target, GLuint renderbuffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexRenderbufferNV)
    traceGL_lookupNativeAddress("glTexRenderbufferNV", (void **) &traceGL_Native.glTexRenderbufferNV);

  traceThis = traceEnabled("glTexRenderbufferNV");

  if (!traceGL_Native.glTexRenderbufferNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexRenderbufferNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("renderbuffer", "%u", renderbuffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexRenderbufferNV(target, renderbuffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBindTransformFeedbackNV(GLenum target, GLuint id)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindTransformFeedbackNV)
    traceGL_lookupNativeAddress("glBindTransformFeedbackNV", (void **) &traceGL_Native.glBindTransformFeedbackNV);

  traceThis = traceEnabled("glBindTransformFeedbackNV");

  if (!traceGL_Native.glBindTransformFeedbackNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindTransformFeedbackNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindTransformFeedbackNV(target, id);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteTransformFeedbacksNV(GLsizei n, const GLuint *ids)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteTransformFeedbacksNV)
    traceGL_lookupNativeAddress("glDeleteTransformFeedbacksNV", (void **) &traceGL_Native.glDeleteTransformFeedbacksNV);

  traceThis = traceEnabled("glDeleteTransformFeedbacksNV");

  if (!traceGL_Native.glDeleteTransformFeedbacksNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteTransformFeedbacksNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);
    traceInputParameter("ids", "%u[%d]", ids, n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteTransformFeedbacksNV(n, ids);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenTransformFeedbacksNV(GLsizei n, GLuint *ids)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenTransformFeedbacksNV)
    traceGL_lookupNativeAddress("glGenTransformFeedbacksNV", (void **) &traceGL_Native.glGenTransformFeedbacksNV);

  traceThis = traceEnabled("glGenTransformFeedbacksNV");

  if (!traceGL_Native.glGenTransformFeedbacksNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenTransformFeedbacksNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenTransformFeedbacksNV(n, ids);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("ids", "%u[%d]", ids, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsTransformFeedbackNV(GLuint id)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsTransformFeedbackNV)
    traceGL_lookupNativeAddress("glIsTransformFeedbackNV", (void **) &traceGL_Native.glIsTransformFeedbackNV);

  traceThis = traceEnabled("glIsTransformFeedbackNV");

  if (!traceGL_Native.glIsTransformFeedbackNV)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsTransformFeedbackNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsTransformFeedbackNV(id);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glPauseTransformFeedbackNV()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPauseTransformFeedbackNV)
    traceGL_lookupNativeAddress("glPauseTransformFeedbackNV", (void **) &traceGL_Native.glPauseTransformFeedbackNV);

  traceThis = traceEnabled("glPauseTransformFeedbackNV");

  if (!traceGL_Native.glPauseTransformFeedbackNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPauseTransformFeedbackNV");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glPauseTransformFeedbackNV();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glResumeTransformFeedbackNV()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glResumeTransformFeedbackNV)
    traceGL_lookupNativeAddress("glResumeTransformFeedbackNV", (void **) &traceGL_Native.glResumeTransformFeedbackNV);

  traceThis = traceEnabled("glResumeTransformFeedbackNV");

  if (!traceGL_Native.glResumeTransformFeedbackNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glResumeTransformFeedbackNV");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glResumeTransformFeedbackNV();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawTransformFeedbackNV(GLenum mode, GLuint name)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawTransformFeedbackNV)
    traceGL_lookupNativeAddress("glDrawTransformFeedbackNV", (void **) &traceGL_Native.glDrawTransformFeedbackNV);

  traceThis = traceEnabled("glDrawTransformFeedbackNV");

  if (!traceGL_Native.glDrawTransformFeedbackNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawTransformFeedbackNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);
    traceInputParameter("name", "%u", name);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawTransformFeedbackNV(mode, name);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetPerfMonitorGroupsAMD(GLint *numGroups, GLsizei groupsSize, GLuint *groups)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetPerfMonitorGroupsAMD)
    traceGL_lookupNativeAddress("glGetPerfMonitorGroupsAMD", (void **) &traceGL_Native.glGetPerfMonitorGroupsAMD);

  traceThis = traceEnabled("glGetPerfMonitorGroupsAMD");

  if (!traceGL_Native.glGetPerfMonitorGroupsAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetPerfMonitorGroupsAMD");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("groupsSize", "%d", groupsSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetPerfMonitorGroupsAMD(numGroups, groupsSize, groups);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("numGroups", "%d[%d]", numGroups, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetPerfMonitorCountersAMD(GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetPerfMonitorCountersAMD)
    traceGL_lookupNativeAddress("glGetPerfMonitorCountersAMD", (void **) &traceGL_Native.glGetPerfMonitorCountersAMD);

  traceThis = traceEnabled("glGetPerfMonitorCountersAMD");

  if (!traceGL_Native.glGetPerfMonitorCountersAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetPerfMonitorCountersAMD");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("group", "%u", group);
    traceInputParameter("counterSize", "%d", counterSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetPerfMonitorCountersAMD(group, numCounters, maxActiveCounters, counterSize, counters);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("numCounters", "%d[%d]", numCounters, 1);
    traceOutputParameter("maxActiveCounters", "%d[%d]", maxActiveCounters, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetPerfMonitorGroupStringAMD(GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetPerfMonitorGroupStringAMD)
    traceGL_lookupNativeAddress("glGetPerfMonitorGroupStringAMD", (void **) &traceGL_Native.glGetPerfMonitorGroupStringAMD);

  traceThis = traceEnabled("glGetPerfMonitorGroupStringAMD");

  if (!traceGL_Native.glGetPerfMonitorGroupStringAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetPerfMonitorGroupStringAMD");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("group", "%u", group);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetPerfMonitorGroupStringAMD(group, bufSize, length, groupString);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("length", "%d[%d]", length, 1);
    traceOutputParameter("groupString", "%s", groupString);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetPerfMonitorCounterStringAMD(GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetPerfMonitorCounterStringAMD)
    traceGL_lookupNativeAddress("glGetPerfMonitorCounterStringAMD", (void **) &traceGL_Native.glGetPerfMonitorCounterStringAMD);

  traceThis = traceEnabled("glGetPerfMonitorCounterStringAMD");

  if (!traceGL_Native.glGetPerfMonitorCounterStringAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetPerfMonitorCounterStringAMD");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("group", "%u", group);
    traceInputParameter("counter", "%u", counter);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetPerfMonitorCounterStringAMD(group, counter, bufSize, length, counterString);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("length", "%d[%d]", length, 1);
    traceOutputParameter("counterString", "%s", counterString);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetPerfMonitorCounterInfoAMD(GLuint group, GLuint counter, GLenum pname, void *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetPerfMonitorCounterInfoAMD)
    traceGL_lookupNativeAddress("glGetPerfMonitorCounterInfoAMD", (void **) &traceGL_Native.glGetPerfMonitorCounterInfoAMD);

  traceThis = traceEnabled("glGetPerfMonitorCounterInfoAMD");

  if (!traceGL_Native.glGetPerfMonitorCounterInfoAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetPerfMonitorCounterInfoAMD");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("group", "%u", group);
    traceInputParameter("counter", "%u", counter);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetPerfMonitorCounterInfoAMD(group, counter, pname, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("data", "%p", data);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenPerfMonitorsAMD(GLsizei n, GLuint *monitors)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenPerfMonitorsAMD)
    traceGL_lookupNativeAddress("glGenPerfMonitorsAMD", (void **) &traceGL_Native.glGenPerfMonitorsAMD);

  traceThis = traceEnabled("glGenPerfMonitorsAMD");

  if (!traceGL_Native.glGenPerfMonitorsAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenPerfMonitorsAMD");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenPerfMonitorsAMD(n, monitors);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeletePerfMonitorsAMD(GLsizei n, GLuint *monitors)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeletePerfMonitorsAMD)
    traceGL_lookupNativeAddress("glDeletePerfMonitorsAMD", (void **) &traceGL_Native.glDeletePerfMonitorsAMD);

  traceThis = traceEnabled("glDeletePerfMonitorsAMD");

  if (!traceGL_Native.glDeletePerfMonitorsAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeletePerfMonitorsAMD");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeletePerfMonitorsAMD(n, monitors);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSelectPerfMonitorCountersAMD(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSelectPerfMonitorCountersAMD)
    traceGL_lookupNativeAddress("glSelectPerfMonitorCountersAMD", (void **) &traceGL_Native.glSelectPerfMonitorCountersAMD);

  traceThis = traceEnabled("glSelectPerfMonitorCountersAMD");

  if (!traceGL_Native.glSelectPerfMonitorCountersAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSelectPerfMonitorCountersAMD");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("monitor", "%u", monitor);
    traceInputParameter("enable", "%u", (unsigned int) enable);
    traceInputParameter("group", "%u", group);
    traceInputParameter("numCounters", "%d", numCounters);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSelectPerfMonitorCountersAMD(monitor, enable, group, numCounters, counterList);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBeginPerfMonitorAMD(GLuint monitor)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBeginPerfMonitorAMD)
    traceGL_lookupNativeAddress("glBeginPerfMonitorAMD", (void **) &traceGL_Native.glBeginPerfMonitorAMD);

  traceThis = traceEnabled("glBeginPerfMonitorAMD");

  if (!traceGL_Native.glBeginPerfMonitorAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBeginPerfMonitorAMD");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("monitor", "%u", monitor);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBeginPerfMonitorAMD(monitor);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEndPerfMonitorAMD(GLuint monitor)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndPerfMonitorAMD)
    traceGL_lookupNativeAddress("glEndPerfMonitorAMD", (void **) &traceGL_Native.glEndPerfMonitorAMD);

  traceThis = traceEnabled("glEndPerfMonitorAMD");

  if (!traceGL_Native.glEndPerfMonitorAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEndPerfMonitorAMD");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("monitor", "%u", monitor);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEndPerfMonitorAMD(monitor);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetPerfMonitorCounterDataAMD(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetPerfMonitorCounterDataAMD)
    traceGL_lookupNativeAddress("glGetPerfMonitorCounterDataAMD", (void **) &traceGL_Native.glGetPerfMonitorCounterDataAMD);

  traceThis = traceEnabled("glGetPerfMonitorCounterDataAMD");

  if (!traceGL_Native.glGetPerfMonitorCounterDataAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetPerfMonitorCounterDataAMD");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("monitor", "%u", monitor);
    traceInputParameter("pname", "%u", pname);
    traceInputParameter("dataSize", "%d", dataSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetPerfMonitorCounterDataAMD(monitor, pname, dataSize, data, bytesWritten);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("bytesWritten", "%d[%d]", bytesWritten, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTessellationFactorAMD(GLfloat factor)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTessellationFactorAMD)
    traceGL_lookupNativeAddress("glTessellationFactorAMD", (void **) &traceGL_Native.glTessellationFactorAMD);

  traceThis = traceEnabled("glTessellationFactorAMD");

  if (!traceGL_Native.glTessellationFactorAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTessellationFactorAMD");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("factor", "%f", factor);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTessellationFactorAMD(factor);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTessellationModeAMD(GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTessellationModeAMD)
    traceGL_lookupNativeAddress("glTessellationModeAMD", (void **) &traceGL_Native.glTessellationModeAMD);

  traceThis = traceEnabled("glTessellationModeAMD");

  if (!traceGL_Native.glTessellationModeAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTessellationModeAMD");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTessellationModeAMD(mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProvokingVertexEXT(GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProvokingVertexEXT)
    traceGL_lookupNativeAddress("glProvokingVertexEXT", (void **) &traceGL_Native.glProvokingVertexEXT);

  traceThis = traceEnabled("glProvokingVertexEXT");

  if (!traceGL_Native.glProvokingVertexEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProvokingVertexEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProvokingVertexEXT(mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBlendFuncIndexedAMD(GLuint buf, GLenum src, GLenum dst)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendFuncIndexedAMD)
    traceGL_lookupNativeAddress("glBlendFuncIndexedAMD", (void **) &traceGL_Native.glBlendFuncIndexedAMD);

  traceThis = traceEnabled("glBlendFuncIndexedAMD");

  if (!traceGL_Native.glBlendFuncIndexedAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendFuncIndexedAMD");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buf", "%u", buf);
    traceInputParameter("src", "%u", src);
    traceInputParameter("dst", "%u", dst);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBlendFuncIndexedAMD(buf, src, dst);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBlendFuncSeparateIndexedAMD(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendFuncSeparateIndexedAMD)
    traceGL_lookupNativeAddress("glBlendFuncSeparateIndexedAMD", (void **) &traceGL_Native.glBlendFuncSeparateIndexedAMD);

  traceThis = traceEnabled("glBlendFuncSeparateIndexedAMD");

  if (!traceGL_Native.glBlendFuncSeparateIndexedAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendFuncSeparateIndexedAMD");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buf", "%u", buf);
    traceInputParameter("srcRGB", "%u", srcRGB);
    traceInputParameter("dstRGB", "%u", dstRGB);
    traceInputParameter("srcAlpha", "%u", srcAlpha);
    traceInputParameter("dstAlpha", "%u", dstAlpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBlendFuncSeparateIndexedAMD(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBlendEquationIndexedAMD(GLuint buf, GLenum mode)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendEquationIndexedAMD)
    traceGL_lookupNativeAddress("glBlendEquationIndexedAMD", (void **) &traceGL_Native.glBlendEquationIndexedAMD);

  traceThis = traceEnabled("glBlendEquationIndexedAMD");

  if (!traceGL_Native.glBlendEquationIndexedAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendEquationIndexedAMD");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buf", "%u", buf);
    traceInputParameter("mode", "%u", mode);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBlendEquationIndexedAMD(buf, mode);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBlendEquationSeparateIndexedAMD(GLuint buf, GLenum modeRGB, GLenum modeAlpha)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendEquationSeparateIndexedAMD)
    traceGL_lookupNativeAddress("glBlendEquationSeparateIndexedAMD", (void **) &traceGL_Native.glBlendEquationSeparateIndexedAMD);

  traceThis = traceEnabled("glBlendEquationSeparateIndexedAMD");

  if (!traceGL_Native.glBlendEquationSeparateIndexedAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendEquationSeparateIndexedAMD");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buf", "%u", buf);
    traceInputParameter("modeRGB", "%u", modeRGB);
    traceInputParameter("modeAlpha", "%u", modeAlpha);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBlendEquationSeparateIndexedAMD(buf, modeRGB, modeAlpha);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTextureRangeAPPLE(GLenum target, GLsizei length, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureRangeAPPLE)
    traceGL_lookupNativeAddress("glTextureRangeAPPLE", (void **) &traceGL_Native.glTextureRangeAPPLE);

  traceThis = traceEnabled("glTextureRangeAPPLE");

  if (!traceGL_Native.glTextureRangeAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureRangeAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("length", "%d", length);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTextureRangeAPPLE(target, length, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTexParameterPointervAPPLE(GLenum target, GLenum pname, GLvoid **params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTexParameterPointervAPPLE)
    traceGL_lookupNativeAddress("glGetTexParameterPointervAPPLE", (void **) &traceGL_Native.glGetTexParameterPointervAPPLE);

  traceThis = traceEnabled("glGetTexParameterPointervAPPLE");

  if (!traceGL_Native.glGetTexParameterPointervAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTexParameterPointervAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetTexParameterPointervAPPLE(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEnableVertexAttribAPPLE(GLuint index, GLenum pname)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEnableVertexAttribAPPLE)
    traceGL_lookupNativeAddress("glEnableVertexAttribAPPLE", (void **) &traceGL_Native.glEnableVertexAttribAPPLE);

  traceThis = traceEnabled("glEnableVertexAttribAPPLE");

  if (!traceGL_Native.glEnableVertexAttribAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEnableVertexAttribAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEnableVertexAttribAPPLE(index, pname);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDisableVertexAttribAPPLE(GLuint index, GLenum pname)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDisableVertexAttribAPPLE)
    traceGL_lookupNativeAddress("glDisableVertexAttribAPPLE", (void **) &traceGL_Native.glDisableVertexAttribAPPLE);

  traceThis = traceEnabled("glDisableVertexAttribAPPLE");

  if (!traceGL_Native.glDisableVertexAttribAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDisableVertexAttribAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDisableVertexAttribAPPLE(index, pname);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsVertexAttribEnabledAPPLE(GLuint index, GLenum pname)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsVertexAttribEnabledAPPLE)
    traceGL_lookupNativeAddress("glIsVertexAttribEnabledAPPLE", (void **) &traceGL_Native.glIsVertexAttribEnabledAPPLE);

  traceThis = traceEnabled("glIsVertexAttribEnabledAPPLE");

  if (!traceGL_Native.glIsVertexAttribEnabledAPPLE)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsVertexAttribEnabledAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsVertexAttribEnabledAPPLE(index, pname);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glMapVertexAttrib1dAPPLE(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapVertexAttrib1dAPPLE)
    traceGL_lookupNativeAddress("glMapVertexAttrib1dAPPLE", (void **) &traceGL_Native.glMapVertexAttrib1dAPPLE);

  traceThis = traceEnabled("glMapVertexAttrib1dAPPLE");

  if (!traceGL_Native.glMapVertexAttrib1dAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapVertexAttrib1dAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("size", "%u", size);
    traceInputParameter("u1", "%lf", u1);
    traceInputParameter("u2", "%lf", u2);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("order", "%d", order);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMapVertexAttrib1dAPPLE(index, size, u1, u2, stride, order, points);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMapVertexAttrib1fAPPLE(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapVertexAttrib1fAPPLE)
    traceGL_lookupNativeAddress("glMapVertexAttrib1fAPPLE", (void **) &traceGL_Native.glMapVertexAttrib1fAPPLE);

  traceThis = traceEnabled("glMapVertexAttrib1fAPPLE");

  if (!traceGL_Native.glMapVertexAttrib1fAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapVertexAttrib1fAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("size", "%u", size);
    traceInputParameter("u1", "%f", u1);
    traceInputParameter("u2", "%f", u2);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("order", "%d", order);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMapVertexAttrib1fAPPLE(index, size, u1, u2, stride, order, points);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMapVertexAttrib2dAPPLE(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapVertexAttrib2dAPPLE)
    traceGL_lookupNativeAddress("glMapVertexAttrib2dAPPLE", (void **) &traceGL_Native.glMapVertexAttrib2dAPPLE);

  traceThis = traceEnabled("glMapVertexAttrib2dAPPLE");

  if (!traceGL_Native.glMapVertexAttrib2dAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapVertexAttrib2dAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("size", "%u", size);
    traceInputParameter("u1", "%lf", u1);
    traceInputParameter("u2", "%lf", u2);
    traceInputParameter("ustride", "%d", ustride);
    traceInputParameter("uorder", "%d", uorder);
    traceInputParameter("v1", "%lf", v1);
    traceInputParameter("v2", "%lf", v2);
    traceInputParameter("vstride", "%d", vstride);
    traceInputParameter("vorder", "%d", vorder);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMapVertexAttrib2dAPPLE(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMapVertexAttrib2fAPPLE(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapVertexAttrib2fAPPLE)
    traceGL_lookupNativeAddress("glMapVertexAttrib2fAPPLE", (void **) &traceGL_Native.glMapVertexAttrib2fAPPLE);

  traceThis = traceEnabled("glMapVertexAttrib2fAPPLE");

  if (!traceGL_Native.glMapVertexAttrib2fAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapVertexAttrib2fAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("size", "%u", size);
    traceInputParameter("u1", "%f", u1);
    traceInputParameter("u2", "%f", u2);
    traceInputParameter("ustride", "%d", ustride);
    traceInputParameter("uorder", "%d", uorder);
    traceInputParameter("v1", "%f", v1);
    traceInputParameter("v2", "%f", v2);
    traceInputParameter("vstride", "%d", vstride);
    traceInputParameter("vorder", "%d", vorder);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMapVertexAttrib2fAPPLE(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLenum GLAPIENTRY
glObjectPurgeableAPPLE(GLenum objectType, GLuint name, GLenum option)
{
  GLenum ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glObjectPurgeableAPPLE)
    traceGL_lookupNativeAddress("glObjectPurgeableAPPLE", (void **) &traceGL_Native.glObjectPurgeableAPPLE);

  traceThis = traceEnabled("glObjectPurgeableAPPLE");

  if (!traceGL_Native.glObjectPurgeableAPPLE)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glObjectPurgeableAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("objectType", "%u", objectType);
    traceInputParameter("name", "%u", name);
    traceInputParameter("option", "%u", option);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glObjectPurgeableAPPLE(objectType, name, option);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLenum GLAPIENTRY
glObjectUnpurgeableAPPLE(GLenum objectType, GLuint name, GLenum option)
{
  GLenum ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glObjectUnpurgeableAPPLE)
    traceGL_lookupNativeAddress("glObjectUnpurgeableAPPLE", (void **) &traceGL_Native.glObjectUnpurgeableAPPLE);

  traceThis = traceEnabled("glObjectUnpurgeableAPPLE");

  if (!traceGL_Native.glObjectUnpurgeableAPPLE)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glObjectUnpurgeableAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("objectType", "%u", objectType);
    traceInputParameter("name", "%u", name);
    traceInputParameter("option", "%u", option);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glObjectUnpurgeableAPPLE(objectType, name, option);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetObjectParameterivAPPLE(GLenum objectType, GLuint name, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetObjectParameterivAPPLE)
    traceGL_lookupNativeAddress("glGetObjectParameterivAPPLE", (void **) &traceGL_Native.glGetObjectParameterivAPPLE);

  traceThis = traceEnabled("glGetObjectParameterivAPPLE");

  if (!traceGL_Native.glGetObjectParameterivAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetObjectParameterivAPPLE");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("objectType", "%u", objectType);
    traceInputParameter("name", "%u", name);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetObjectParameterivAPPLE(objectType, name, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBeginVideoCaptureNV(GLuint video_capture_slot)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBeginVideoCaptureNV)
    traceGL_lookupNativeAddress("glBeginVideoCaptureNV", (void **) &traceGL_Native.glBeginVideoCaptureNV);

  traceThis = traceEnabled("glBeginVideoCaptureNV");

  if (!traceGL_Native.glBeginVideoCaptureNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBeginVideoCaptureNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("video_capture_slot", "%u", video_capture_slot);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBeginVideoCaptureNV(video_capture_slot);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBindVideoCaptureStreamBufferNV(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptr offset)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindVideoCaptureStreamBufferNV)
    traceGL_lookupNativeAddress("glBindVideoCaptureStreamBufferNV", (void **) &traceGL_Native.glBindVideoCaptureStreamBufferNV);

  traceThis = traceEnabled("glBindVideoCaptureStreamBufferNV");

  if (!traceGL_Native.glBindVideoCaptureStreamBufferNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindVideoCaptureStreamBufferNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("video_capture_slot", "%u", video_capture_slot);
    traceInputParameter("stream", "%u", stream);
    traceInputParameter("frame_region", "%u", frame_region);
    traceInputParameter("offset", "%z", offset);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindVideoCaptureStreamBufferNV(video_capture_slot, stream, frame_region, offset);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBindVideoCaptureStreamTextureNV(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindVideoCaptureStreamTextureNV)
    traceGL_lookupNativeAddress("glBindVideoCaptureStreamTextureNV", (void **) &traceGL_Native.glBindVideoCaptureStreamTextureNV);

  traceThis = traceEnabled("glBindVideoCaptureStreamTextureNV");

  if (!traceGL_Native.glBindVideoCaptureStreamTextureNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindVideoCaptureStreamTextureNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("video_capture_slot", "%u", video_capture_slot);
    traceInputParameter("stream", "%u", stream);
    traceInputParameter("frame_region", "%u", frame_region);
    traceInputParameter("target", "%u", target);
    traceInputParameter("texture", "%u", texture);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindVideoCaptureStreamTextureNV(video_capture_slot, stream, frame_region, target, texture);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEndVideoCaptureNV(GLuint video_capture_slot)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndVideoCaptureNV)
    traceGL_lookupNativeAddress("glEndVideoCaptureNV", (void **) &traceGL_Native.glEndVideoCaptureNV);

  traceThis = traceEnabled("glEndVideoCaptureNV");

  if (!traceGL_Native.glEndVideoCaptureNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEndVideoCaptureNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("video_capture_slot", "%u", video_capture_slot);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEndVideoCaptureNV(video_capture_slot);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVideoCaptureivNV(GLuint video_capture_slot, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVideoCaptureivNV)
    traceGL_lookupNativeAddress("glGetVideoCaptureivNV", (void **) &traceGL_Native.glGetVideoCaptureivNV);

  traceThis = traceEnabled("glGetVideoCaptureivNV");

  if (!traceGL_Native.glGetVideoCaptureivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVideoCaptureivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("video_capture_slot", "%u", video_capture_slot);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVideoCaptureivNV(video_capture_slot, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVideoCaptureStreamivNV(GLuint video_capture_slot, GLuint stream, GLenum pname, GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVideoCaptureStreamivNV)
    traceGL_lookupNativeAddress("glGetVideoCaptureStreamivNV", (void **) &traceGL_Native.glGetVideoCaptureStreamivNV);

  traceThis = traceEnabled("glGetVideoCaptureStreamivNV");

  if (!traceGL_Native.glGetVideoCaptureStreamivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVideoCaptureStreamivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("video_capture_slot", "%u", video_capture_slot);
    traceInputParameter("stream", "%u", stream);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVideoCaptureStreamivNV(video_capture_slot, stream, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVideoCaptureStreamfvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVideoCaptureStreamfvNV)
    traceGL_lookupNativeAddress("glGetVideoCaptureStreamfvNV", (void **) &traceGL_Native.glGetVideoCaptureStreamfvNV);

  traceThis = traceEnabled("glGetVideoCaptureStreamfvNV");

  if (!traceGL_Native.glGetVideoCaptureStreamfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVideoCaptureStreamfvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("video_capture_slot", "%u", video_capture_slot);
    traceInputParameter("stream", "%u", stream);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVideoCaptureStreamfvNV(video_capture_slot, stream, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVideoCaptureStreamdvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVideoCaptureStreamdvNV)
    traceGL_lookupNativeAddress("glGetVideoCaptureStreamdvNV", (void **) &traceGL_Native.glGetVideoCaptureStreamdvNV);

  traceThis = traceEnabled("glGetVideoCaptureStreamdvNV");

  if (!traceGL_Native.glGetVideoCaptureStreamdvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVideoCaptureStreamdvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("video_capture_slot", "%u", video_capture_slot);
    traceInputParameter("stream", "%u", stream);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVideoCaptureStreamdvNV(video_capture_slot, stream, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLenum GLAPIENTRY
glVideoCaptureNV(GLuint video_capture_slot, GLuint *sequence_num, GLuint64EXT *capture_time)
{
  GLenum ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVideoCaptureNV)
    traceGL_lookupNativeAddress("glVideoCaptureNV", (void **) &traceGL_Native.glVideoCaptureNV);

  traceThis = traceEnabled("glVideoCaptureNV");

  if (!traceGL_Native.glVideoCaptureNV)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVideoCaptureNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("video_capture_slot", "%u", video_capture_slot);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glVideoCaptureNV(video_capture_slot, sequence_num, capture_time);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("sequence_num", "%u[%d]", sequence_num, 1);
    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glVideoCaptureStreamParameterivNV(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVideoCaptureStreamParameterivNV)
    traceGL_lookupNativeAddress("glVideoCaptureStreamParameterivNV", (void **) &traceGL_Native.glVideoCaptureStreamParameterivNV);

  traceThis = traceEnabled("glVideoCaptureStreamParameterivNV");

  if (!traceGL_Native.glVideoCaptureStreamParameterivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVideoCaptureStreamParameterivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("video_capture_slot", "%u", video_capture_slot);
    traceInputParameter("stream", "%u", stream);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVideoCaptureStreamParameterivNV(video_capture_slot, stream, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVideoCaptureStreamParameterfvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVideoCaptureStreamParameterfvNV)
    traceGL_lookupNativeAddress("glVideoCaptureStreamParameterfvNV", (void **) &traceGL_Native.glVideoCaptureStreamParameterfvNV);

  traceThis = traceEnabled("glVideoCaptureStreamParameterfvNV");

  if (!traceGL_Native.glVideoCaptureStreamParameterfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVideoCaptureStreamParameterfvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("video_capture_slot", "%u", video_capture_slot);
    traceInputParameter("stream", "%u", stream);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVideoCaptureStreamParameterfvNV(video_capture_slot, stream, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVideoCaptureStreamParameterdvNV(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVideoCaptureStreamParameterdvNV)
    traceGL_lookupNativeAddress("glVideoCaptureStreamParameterdvNV", (void **) &traceGL_Native.glVideoCaptureStreamParameterdvNV);

  traceThis = traceEnabled("glVideoCaptureStreamParameterdvNV");

  if (!traceGL_Native.glVideoCaptureStreamParameterdvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVideoCaptureStreamParameterdvNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("video_capture_slot", "%u", video_capture_slot);
    traceInputParameter("stream", "%u", stream);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVideoCaptureStreamParameterdvNV(video_capture_slot, stream, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCopyImageSubDataNV(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyImageSubDataNV)
    traceGL_lookupNativeAddress("glCopyImageSubDataNV", (void **) &traceGL_Native.glCopyImageSubDataNV);

  traceThis = traceEnabled("glCopyImageSubDataNV");

  if (!traceGL_Native.glCopyImageSubDataNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyImageSubDataNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("srcName", "%u", srcName);
    traceInputParameter("srcTarget", "%u", srcTarget);
    traceInputParameter("srcLevel", "%d", srcLevel);
    traceInputParameter("srcX", "%d", srcX);
    traceInputParameter("srcY", "%d", srcY);
    traceInputParameter("srcZ", "%d", srcZ);
    traceInputParameter("dstName", "%u", dstName);
    traceInputParameter("dstTarget", "%u", dstTarget);
    traceInputParameter("dstLevel", "%d", dstLevel);
    traceInputParameter("dstX", "%d", dstX);
    traceInputParameter("dstY", "%d", dstY);
    traceInputParameter("dstZ", "%d", dstZ);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("depth", "%d", depth);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCopyImageSubDataNV(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUseShaderProgramEXT(GLenum type, GLuint program)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUseShaderProgramEXT)
    traceGL_lookupNativeAddress("glUseShaderProgramEXT", (void **) &traceGL_Native.glUseShaderProgramEXT);

  traceThis = traceEnabled("glUseShaderProgramEXT");

  if (!traceGL_Native.glUseShaderProgramEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUseShaderProgramEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("program", "%u", program);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUseShaderProgramEXT(type, program);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glActiveProgramEXT(GLuint program)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glActiveProgramEXT)
    traceGL_lookupNativeAddress("glActiveProgramEXT", (void **) &traceGL_Native.glActiveProgramEXT);

  traceThis = traceEnabled("glActiveProgramEXT");

  if (!traceGL_Native.glActiveProgramEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glActiveProgramEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glActiveProgramEXT(program);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLuint GLAPIENTRY
glCreateShaderProgramEXT(GLenum type, const GLchar *string)
{
  GLuint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCreateShaderProgramEXT)
    traceGL_lookupNativeAddress("glCreateShaderProgramEXT", (void **) &traceGL_Native.glCreateShaderProgramEXT);

  traceThis = traceEnabled("glCreateShaderProgramEXT");

  if (!traceGL_Native.glCreateShaderProgramEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCreateShaderProgramEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("string", "%s", string);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glCreateShaderProgramEXT(type, string);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glMakeBufferResidentNV(GLenum target, GLenum access)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMakeBufferResidentNV)
    traceGL_lookupNativeAddress("glMakeBufferResidentNV", (void **) &traceGL_Native.glMakeBufferResidentNV);

  traceThis = traceEnabled("glMakeBufferResidentNV");

  if (!traceGL_Native.glMakeBufferResidentNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMakeBufferResidentNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("access", "%u", access);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMakeBufferResidentNV(target, access);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMakeBufferNonResidentNV(GLenum target)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMakeBufferNonResidentNV)
    traceGL_lookupNativeAddress("glMakeBufferNonResidentNV", (void **) &traceGL_Native.glMakeBufferNonResidentNV);

  traceThis = traceEnabled("glMakeBufferNonResidentNV");

  if (!traceGL_Native.glMakeBufferNonResidentNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMakeBufferNonResidentNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMakeBufferNonResidentNV(target);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsBufferResidentNV(GLenum target)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsBufferResidentNV)
    traceGL_lookupNativeAddress("glIsBufferResidentNV", (void **) &traceGL_Native.glIsBufferResidentNV);

  traceThis = traceEnabled("glIsBufferResidentNV");

  if (!traceGL_Native.glIsBufferResidentNV)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsBufferResidentNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsBufferResidentNV(target);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glMakeNamedBufferResidentNV(GLuint buffer, GLenum access)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMakeNamedBufferResidentNV)
    traceGL_lookupNativeAddress("glMakeNamedBufferResidentNV", (void **) &traceGL_Native.glMakeNamedBufferResidentNV);

  traceThis = traceEnabled("glMakeNamedBufferResidentNV");

  if (!traceGL_Native.glMakeNamedBufferResidentNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMakeNamedBufferResidentNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("access", "%u", access);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMakeNamedBufferResidentNV(buffer, access);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMakeNamedBufferNonResidentNV(GLuint buffer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMakeNamedBufferNonResidentNV)
    traceGL_lookupNativeAddress("glMakeNamedBufferNonResidentNV", (void **) &traceGL_Native.glMakeNamedBufferNonResidentNV);

  traceThis = traceEnabled("glMakeNamedBufferNonResidentNV");

  if (!traceGL_Native.glMakeNamedBufferNonResidentNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMakeNamedBufferNonResidentNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buffer", "%u", buffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMakeNamedBufferNonResidentNV(buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsNamedBufferResidentNV(GLuint buffer)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsNamedBufferResidentNV)
    traceGL_lookupNativeAddress("glIsNamedBufferResidentNV", (void **) &traceGL_Native.glIsNamedBufferResidentNV);

  traceThis = traceEnabled("glIsNamedBufferResidentNV");

  if (!traceGL_Native.glIsNamedBufferResidentNV)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsNamedBufferResidentNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buffer", "%u", buffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsNamedBufferResidentNV(buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetBufferParameterui64vNV(GLenum target, GLenum pname, GLuint64EXT *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetBufferParameterui64vNV)
    traceGL_lookupNativeAddress("glGetBufferParameterui64vNV", (void **) &traceGL_Native.glGetBufferParameterui64vNV);

  traceThis = traceEnabled("glGetBufferParameterui64vNV");

  if (!traceGL_Native.glGetBufferParameterui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetBufferParameterui64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetBufferParameterui64vNV(target, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetNamedBufferParameterui64vNV(GLuint buffer, GLenum pname, GLuint64EXT *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedBufferParameterui64vNV)
    traceGL_lookupNativeAddress("glGetNamedBufferParameterui64vNV", (void **) &traceGL_Native.glGetNamedBufferParameterui64vNV);

  traceThis = traceEnabled("glGetNamedBufferParameterui64vNV");

  if (!traceGL_Native.glGetNamedBufferParameterui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedBufferParameterui64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetNamedBufferParameterui64vNV(buffer, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetIntegerui64vNV(GLenum target, GLuint64EXT *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetIntegerui64vNV)
    traceGL_lookupNativeAddress("glGetIntegerui64vNV", (void **) &traceGL_Native.glGetIntegerui64vNV);

  traceThis = traceEnabled("glGetIntegerui64vNV");

  if (!traceGL_Native.glGetIntegerui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetIntegerui64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetIntegerui64vNV(target, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformui64NV(GLint location, GLuint64EXT v0)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformui64NV)
    traceGL_lookupNativeAddress("glUniformui64NV", (void **) &traceGL_Native.glUniformui64NV);

  traceThis = traceEnabled("glUniformui64NV");

  if (!traceGL_Native.glUniformui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformui64NV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniformui64NV(location, v0);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformui64vNV(GLint location, GLsizei count, const GLuint64EXT *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformui64vNV)
    traceGL_lookupNativeAddress("glUniformui64vNV", (void **) &traceGL_Native.glUniformui64vNV);

  traceThis = traceEnabled("glUniformui64vNV");

  if (!traceGL_Native.glUniformui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformui64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniformui64vNV(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetUniformui64vNV(GLuint program, GLint location, GLuint64EXT *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformui64vNV)
    traceGL_lookupNativeAddress("glGetUniformui64vNV", (void **) &traceGL_Native.glGetUniformui64vNV);

  traceThis = traceEnabled("glGetUniformui64vNV");

  if (!traceGL_Native.glGetUniformui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformui64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetUniformui64vNV(program, location, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformui64NV(GLuint program, GLint location, GLuint64EXT v0)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformui64NV)
    traceGL_lookupNativeAddress("glProgramUniformui64NV", (void **) &traceGL_Native.glProgramUniformui64NV);

  traceThis = traceEnabled("glProgramUniformui64NV");

  if (!traceGL_Native.glProgramUniformui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformui64NV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformui64NV(program, location, v0);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniformui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformui64vNV)
    traceGL_lookupNativeAddress("glProgramUniformui64vNV", (void **) &traceGL_Native.glProgramUniformui64vNV);

  traceThis = traceEnabled("glProgramUniformui64vNV");

  if (!traceGL_Native.glProgramUniformui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformui64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniformui64vNV(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBufferAddressRangeNV(GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBufferAddressRangeNV)
    traceGL_lookupNativeAddress("glBufferAddressRangeNV", (void **) &traceGL_Native.glBufferAddressRangeNV);

  traceThis = traceEnabled("glBufferAddressRangeNV");

  if (!traceGL_Native.glBufferAddressRangeNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBufferAddressRangeNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("index", "%u", index);
    traceInputParameter("length", "%z", length);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBufferAddressRangeNV(pname, index, address, length);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexFormatNV(GLint size, GLenum type, GLsizei stride)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexFormatNV)
    traceGL_lookupNativeAddress("glVertexFormatNV", (void **) &traceGL_Native.glVertexFormatNV);

  traceThis = traceEnabled("glVertexFormatNV");

  if (!traceGL_Native.glVertexFormatNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexFormatNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexFormatNV(size, type, stride);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glNormalFormatNV(GLenum type, GLsizei stride)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalFormatNV)
    traceGL_lookupNativeAddress("glNormalFormatNV", (void **) &traceGL_Native.glNormalFormatNV);

  traceThis = traceEnabled("glNormalFormatNV");

  if (!traceGL_Native.glNormalFormatNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalFormatNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glNormalFormatNV(type, stride);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glColorFormatNV(GLint size, GLenum type, GLsizei stride)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorFormatNV)
    traceGL_lookupNativeAddress("glColorFormatNV", (void **) &traceGL_Native.glColorFormatNV);

  traceThis = traceEnabled("glColorFormatNV");

  if (!traceGL_Native.glColorFormatNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorFormatNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glColorFormatNV(size, type, stride);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glIndexFormatNV(GLenum type, GLsizei stride)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIndexFormatNV)
    traceGL_lookupNativeAddress("glIndexFormatNV", (void **) &traceGL_Native.glIndexFormatNV);

  traceThis = traceEnabled("glIndexFormatNV");

  if (!traceGL_Native.glIndexFormatNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIndexFormatNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glIndexFormatNV(type, stride);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTexCoordFormatNV(GLint size, GLenum type, GLsizei stride)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoordFormatNV)
    traceGL_lookupNativeAddress("glTexCoordFormatNV", (void **) &traceGL_Native.glTexCoordFormatNV);

  traceThis = traceEnabled("glTexCoordFormatNV");

  if (!traceGL_Native.glTexCoordFormatNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoordFormatNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTexCoordFormatNV(size, type, stride);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glEdgeFlagFormatNV(GLsizei stride)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEdgeFlagFormatNV)
    traceGL_lookupNativeAddress("glEdgeFlagFormatNV", (void **) &traceGL_Native.glEdgeFlagFormatNV);

  traceThis = traceEnabled("glEdgeFlagFormatNV");

  if (!traceGL_Native.glEdgeFlagFormatNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEdgeFlagFormatNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("stride", "%d", stride);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glEdgeFlagFormatNV(stride);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSecondaryColorFormatNV(GLint size, GLenum type, GLsizei stride)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColorFormatNV)
    traceGL_lookupNativeAddress("glSecondaryColorFormatNV", (void **) &traceGL_Native.glSecondaryColorFormatNV);

  traceThis = traceEnabled("glSecondaryColorFormatNV");

  if (!traceGL_Native.glSecondaryColorFormatNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColorFormatNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSecondaryColorFormatNV(size, type, stride);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFogCoordFormatNV(GLenum type, GLsizei stride)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoordFormatNV)
    traceGL_lookupNativeAddress("glFogCoordFormatNV", (void **) &traceGL_Native.glFogCoordFormatNV);

  traceThis = traceEnabled("glFogCoordFormatNV");

  if (!traceGL_Native.glFogCoordFormatNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoordFormatNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFogCoordFormatNV(type, stride);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribFormatNV(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribFormatNV)
    traceGL_lookupNativeAddress("glVertexAttribFormatNV", (void **) &traceGL_Native.glVertexAttribFormatNV);

  traceThis = traceEnabled("glVertexAttribFormatNV");

  if (!traceGL_Native.glVertexAttribFormatNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribFormatNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("normalized", "%u", (unsigned int) normalized);
    traceInputParameter("stride", "%d", stride);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribFormatNV(index, size, type, normalized, stride);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribIFormatNV(GLuint index, GLint size, GLenum type, GLsizei stride)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribIFormatNV)
    traceGL_lookupNativeAddress("glVertexAttribIFormatNV", (void **) &traceGL_Native.glVertexAttribIFormatNV);

  traceThis = traceEnabled("glVertexAttribIFormatNV");

  if (!traceGL_Native.glVertexAttribIFormatNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribIFormatNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribIFormatNV(index, size, type, stride);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetIntegerui64i_vNV(GLenum target, GLuint index, GLuint64EXT *data)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetIntegerui64i_vNV)
    traceGL_lookupNativeAddress("glGetIntegerui64i_vNV", (void **) &traceGL_Native.glGetIntegerui64i_vNV);

  traceThis = traceEnabled("glGetIntegerui64i_vNV");

  if (!traceGL_Native.glGetIntegerui64i_vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetIntegerui64i_vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("target", "%u", target);
    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetIntegerui64i_vNV(target, index, data);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTextureBarrierNV()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureBarrierNV)
    traceGL_lookupNativeAddress("glTextureBarrierNV", (void **) &traceGL_Native.glTextureBarrierNV);

  traceThis = traceEnabled("glTextureBarrierNV");

  if (!traceGL_Native.glTextureBarrierNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureBarrierNV");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTextureBarrierNV();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBindImageTextureEXT(GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindImageTextureEXT)
    traceGL_lookupNativeAddress("glBindImageTextureEXT", (void **) &traceGL_Native.glBindImageTextureEXT);

  traceThis = traceEnabled("glBindImageTextureEXT");

  if (!traceGL_Native.glBindImageTextureEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindImageTextureEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("texture", "%u", texture);
    traceInputParameter("level", "%d", level);
    traceInputParameter("layered", "%u", (unsigned int) layered);
    traceInputParameter("layer", "%d", layer);
    traceInputParameter("access", "%u", access);
    traceInputParameter("format", "%d", format);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glBindImageTextureEXT(index, texture, level, layered, layer, access, format);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glMemoryBarrierEXT(GLbitfield barriers)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMemoryBarrierEXT)
    traceGL_lookupNativeAddress("glMemoryBarrierEXT", (void **) &traceGL_Native.glMemoryBarrierEXT);

  traceThis = traceEnabled("glMemoryBarrierEXT");

  if (!traceGL_Native.glMemoryBarrierEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMemoryBarrierEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("barriers", "%u", barriers);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glMemoryBarrierEXT(barriers);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL1dEXT(GLuint index, GLdouble x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL1dEXT)
    traceGL_lookupNativeAddress("glVertexAttribL1dEXT", (void **) &traceGL_Native.glVertexAttribL1dEXT);

  traceThis = traceEnabled("glVertexAttribL1dEXT");

  if (!traceGL_Native.glVertexAttribL1dEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL1dEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%lf", x);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL1dEXT(index, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL2dEXT(GLuint index, GLdouble x, GLdouble y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL2dEXT)
    traceGL_lookupNativeAddress("glVertexAttribL2dEXT", (void **) &traceGL_Native.glVertexAttribL2dEXT);

  traceThis = traceEnabled("glVertexAttribL2dEXT");

  if (!traceGL_Native.glVertexAttribL2dEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL2dEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL2dEXT(index, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL3dEXT(GLuint index, GLdouble x, GLdouble y, GLdouble z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL3dEXT)
    traceGL_lookupNativeAddress("glVertexAttribL3dEXT", (void **) &traceGL_Native.glVertexAttribL3dEXT);

  traceThis = traceEnabled("glVertexAttribL3dEXT");

  if (!traceGL_Native.glVertexAttribL3dEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL3dEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL3dEXT(index, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL4dEXT(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL4dEXT)
    traceGL_lookupNativeAddress("glVertexAttribL4dEXT", (void **) &traceGL_Native.glVertexAttribL4dEXT);

  traceThis = traceEnabled("glVertexAttribL4dEXT");

  if (!traceGL_Native.glVertexAttribL4dEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL4dEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("x", "%lf", x);
    traceInputParameter("y", "%lf", y);
    traceInputParameter("z", "%lf", z);
    traceInputParameter("w", "%lf", w);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL4dEXT(index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL1dvEXT(GLuint index, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL1dvEXT)
    traceGL_lookupNativeAddress("glVertexAttribL1dvEXT", (void **) &traceGL_Native.glVertexAttribL1dvEXT);

  traceThis = traceEnabled("glVertexAttribL1dvEXT");

  if (!traceGL_Native.glVertexAttribL1dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL1dvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%lf[%d]", v, 1);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL1dvEXT(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL2dvEXT(GLuint index, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL2dvEXT)
    traceGL_lookupNativeAddress("glVertexAttribL2dvEXT", (void **) &traceGL_Native.glVertexAttribL2dvEXT);

  traceThis = traceEnabled("glVertexAttribL2dvEXT");

  if (!traceGL_Native.glVertexAttribL2dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL2dvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%lf[%d]", v, 2);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL2dvEXT(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL3dvEXT(GLuint index, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL3dvEXT)
    traceGL_lookupNativeAddress("glVertexAttribL3dvEXT", (void **) &traceGL_Native.glVertexAttribL3dvEXT);

  traceThis = traceEnabled("glVertexAttribL3dvEXT");

  if (!traceGL_Native.glVertexAttribL3dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL3dvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%lf[%d]", v, 3);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL3dvEXT(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL4dvEXT(GLuint index, const GLdouble *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL4dvEXT)
    traceGL_lookupNativeAddress("glVertexAttribL4dvEXT", (void **) &traceGL_Native.glVertexAttribL4dvEXT);

  traceThis = traceEnabled("glVertexAttribL4dvEXT");

  if (!traceGL_Native.glVertexAttribL4dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL4dvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("v", "%lf[%d]", v, 4);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL4dvEXT(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribLPointerEXT(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribLPointerEXT)
    traceGL_lookupNativeAddress("glVertexAttribLPointerEXT", (void **) &traceGL_Native.glVertexAttribLPointerEXT);

  traceThis = traceEnabled("glVertexAttribLPointerEXT");

  if (!traceGL_Native.glVertexAttribLPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribLPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("pointer", "%p", pointer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribLPointerEXT(index, size, type, stride, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexArrayVertexAttribLOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexArrayVertexAttribLOffsetEXT)
    traceGL_lookupNativeAddress("glVertexArrayVertexAttribLOffsetEXT", (void **) &traceGL_Native.glVertexArrayVertexAttribLOffsetEXT);

  traceThis = traceEnabled("glVertexArrayVertexAttribLOffsetEXT");

  if (!traceGL_Native.glVertexArrayVertexAttribLOffsetEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexArrayVertexAttribLOffsetEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("vaobj", "%u", vaobj);
    traceInputParameter("buffer", "%u", buffer);
    traceInputParameter("index", "%u", index);
    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);
    traceInputParameter("offset", "%z", offset);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexArrayVertexAttribLOffsetEXT(vaobj, buffer, index, size, type, stride, offset);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribLdvEXT(GLuint index, GLenum pname, GLdouble *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribLdvEXT)
    traceGL_lookupNativeAddress("glGetVertexAttribLdvEXT", (void **) &traceGL_Native.glGetVertexAttribLdvEXT);

  traceThis = traceEnabled("glGetVertexAttribLdvEXT");

  if (!traceGL_Native.glGetVertexAttribLdvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribLdvEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVertexAttribLdvEXT(index, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("params", "%lf[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform1i64NV(GLint location, GLint64EXT x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1i64NV)
    traceGL_lookupNativeAddress("glUniform1i64NV", (void **) &traceGL_Native.glUniform1i64NV);

  traceThis = traceEnabled("glUniform1i64NV");

  if (!traceGL_Native.glUniform1i64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1i64NV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform1i64NV(location, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform2i64NV(GLint location, GLint64EXT x, GLint64EXT y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2i64NV)
    traceGL_lookupNativeAddress("glUniform2i64NV", (void **) &traceGL_Native.glUniform2i64NV);

  traceThis = traceEnabled("glUniform2i64NV");

  if (!traceGL_Native.glUniform2i64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2i64NV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform2i64NV(location, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform3i64NV(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3i64NV)
    traceGL_lookupNativeAddress("glUniform3i64NV", (void **) &traceGL_Native.glUniform3i64NV);

  traceThis = traceEnabled("glUniform3i64NV");

  if (!traceGL_Native.glUniform3i64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3i64NV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform3i64NV(location, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform4i64NV(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4i64NV)
    traceGL_lookupNativeAddress("glUniform4i64NV", (void **) &traceGL_Native.glUniform4i64NV);

  traceThis = traceEnabled("glUniform4i64NV");

  if (!traceGL_Native.glUniform4i64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4i64NV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform4i64NV(location, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform1i64vNV(GLint location, GLsizei count, const GLint64EXT *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1i64vNV)
    traceGL_lookupNativeAddress("glUniform1i64vNV", (void **) &traceGL_Native.glUniform1i64vNV);

  traceThis = traceEnabled("glUniform1i64vNV");

  if (!traceGL_Native.glUniform1i64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1i64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform1i64vNV(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform2i64vNV(GLint location, GLsizei count, const GLint64EXT *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2i64vNV)
    traceGL_lookupNativeAddress("glUniform2i64vNV", (void **) &traceGL_Native.glUniform2i64vNV);

  traceThis = traceEnabled("glUniform2i64vNV");

  if (!traceGL_Native.glUniform2i64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2i64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform2i64vNV(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform3i64vNV(GLint location, GLsizei count, const GLint64EXT *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3i64vNV)
    traceGL_lookupNativeAddress("glUniform3i64vNV", (void **) &traceGL_Native.glUniform3i64vNV);

  traceThis = traceEnabled("glUniform3i64vNV");

  if (!traceGL_Native.glUniform3i64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3i64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform3i64vNV(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform4i64vNV(GLint location, GLsizei count, const GLint64EXT *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4i64vNV)
    traceGL_lookupNativeAddress("glUniform4i64vNV", (void **) &traceGL_Native.glUniform4i64vNV);

  traceThis = traceEnabled("glUniform4i64vNV");

  if (!traceGL_Native.glUniform4i64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4i64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform4i64vNV(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform1ui64NV(GLint location, GLuint64EXT x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1ui64NV)
    traceGL_lookupNativeAddress("glUniform1ui64NV", (void **) &traceGL_Native.glUniform1ui64NV);

  traceThis = traceEnabled("glUniform1ui64NV");

  if (!traceGL_Native.glUniform1ui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1ui64NV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform1ui64NV(location, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform2ui64NV(GLint location, GLuint64EXT x, GLuint64EXT y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2ui64NV)
    traceGL_lookupNativeAddress("glUniform2ui64NV", (void **) &traceGL_Native.glUniform2ui64NV);

  traceThis = traceEnabled("glUniform2ui64NV");

  if (!traceGL_Native.glUniform2ui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2ui64NV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform2ui64NV(location, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform3ui64NV(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3ui64NV)
    traceGL_lookupNativeAddress("glUniform3ui64NV", (void **) &traceGL_Native.glUniform3ui64NV);

  traceThis = traceEnabled("glUniform3ui64NV");

  if (!traceGL_Native.glUniform3ui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3ui64NV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform3ui64NV(location, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform4ui64NV(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4ui64NV)
    traceGL_lookupNativeAddress("glUniform4ui64NV", (void **) &traceGL_Native.glUniform4ui64NV);

  traceThis = traceEnabled("glUniform4ui64NV");

  if (!traceGL_Native.glUniform4ui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4ui64NV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform4ui64NV(location, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform1ui64vNV(GLint location, GLsizei count, const GLuint64EXT *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1ui64vNV)
    traceGL_lookupNativeAddress("glUniform1ui64vNV", (void **) &traceGL_Native.glUniform1ui64vNV);

  traceThis = traceEnabled("glUniform1ui64vNV");

  if (!traceGL_Native.glUniform1ui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1ui64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform1ui64vNV(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform2ui64vNV(GLint location, GLsizei count, const GLuint64EXT *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2ui64vNV)
    traceGL_lookupNativeAddress("glUniform2ui64vNV", (void **) &traceGL_Native.glUniform2ui64vNV);

  traceThis = traceEnabled("glUniform2ui64vNV");

  if (!traceGL_Native.glUniform2ui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2ui64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform2ui64vNV(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform3ui64vNV(GLint location, GLsizei count, const GLuint64EXT *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3ui64vNV)
    traceGL_lookupNativeAddress("glUniform3ui64vNV", (void **) &traceGL_Native.glUniform3ui64vNV);

  traceThis = traceEnabled("glUniform3ui64vNV");

  if (!traceGL_Native.glUniform3ui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3ui64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform3ui64vNV(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform4ui64vNV(GLint location, GLsizei count, const GLuint64EXT *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4ui64vNV)
    traceGL_lookupNativeAddress("glUniform4ui64vNV", (void **) &traceGL_Native.glUniform4ui64vNV);

  traceThis = traceEnabled("glUniform4ui64vNV");

  if (!traceGL_Native.glUniform4ui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4ui64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glUniform4ui64vNV(location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform1i64NV(GLuint program, GLint location, GLint64EXT x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1i64NV)
    traceGL_lookupNativeAddress("glProgramUniform1i64NV", (void **) &traceGL_Native.glProgramUniform1i64NV);

  traceThis = traceEnabled("glProgramUniform1i64NV");

  if (!traceGL_Native.glProgramUniform1i64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1i64NV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform1i64NV(program, location, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform2i64NV(GLuint program, GLint location, GLint64EXT x, GLint64EXT y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2i64NV)
    traceGL_lookupNativeAddress("glProgramUniform2i64NV", (void **) &traceGL_Native.glProgramUniform2i64NV);

  traceThis = traceEnabled("glProgramUniform2i64NV");

  if (!traceGL_Native.glProgramUniform2i64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2i64NV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform2i64NV(program, location, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform3i64NV(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3i64NV)
    traceGL_lookupNativeAddress("glProgramUniform3i64NV", (void **) &traceGL_Native.glProgramUniform3i64NV);

  traceThis = traceEnabled("glProgramUniform3i64NV");

  if (!traceGL_Native.glProgramUniform3i64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3i64NV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform3i64NV(program, location, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform4i64NV(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4i64NV)
    traceGL_lookupNativeAddress("glProgramUniform4i64NV", (void **) &traceGL_Native.glProgramUniform4i64NV);

  traceThis = traceEnabled("glProgramUniform4i64NV");

  if (!traceGL_Native.glProgramUniform4i64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4i64NV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform4i64NV(program, location, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform1i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1i64vNV)
    traceGL_lookupNativeAddress("glProgramUniform1i64vNV", (void **) &traceGL_Native.glProgramUniform1i64vNV);

  traceThis = traceEnabled("glProgramUniform1i64vNV");

  if (!traceGL_Native.glProgramUniform1i64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1i64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform1i64vNV(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform2i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2i64vNV)
    traceGL_lookupNativeAddress("glProgramUniform2i64vNV", (void **) &traceGL_Native.glProgramUniform2i64vNV);

  traceThis = traceEnabled("glProgramUniform2i64vNV");

  if (!traceGL_Native.glProgramUniform2i64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2i64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform2i64vNV(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform3i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3i64vNV)
    traceGL_lookupNativeAddress("glProgramUniform3i64vNV", (void **) &traceGL_Native.glProgramUniform3i64vNV);

  traceThis = traceEnabled("glProgramUniform3i64vNV");

  if (!traceGL_Native.glProgramUniform3i64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3i64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform3i64vNV(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform4i64vNV(GLuint program, GLint location, GLsizei count, const GLint64EXT *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4i64vNV)
    traceGL_lookupNativeAddress("glProgramUniform4i64vNV", (void **) &traceGL_Native.glProgramUniform4i64vNV);

  traceThis = traceEnabled("glProgramUniform4i64vNV");

  if (!traceGL_Native.glProgramUniform4i64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4i64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform4i64vNV(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform1ui64NV(GLuint program, GLint location, GLuint64EXT x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1ui64NV)
    traceGL_lookupNativeAddress("glProgramUniform1ui64NV", (void **) &traceGL_Native.glProgramUniform1ui64NV);

  traceThis = traceEnabled("glProgramUniform1ui64NV");

  if (!traceGL_Native.glProgramUniform1ui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1ui64NV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform1ui64NV(program, location, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform2ui64NV(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2ui64NV)
    traceGL_lookupNativeAddress("glProgramUniform2ui64NV", (void **) &traceGL_Native.glProgramUniform2ui64NV);

  traceThis = traceEnabled("glProgramUniform2ui64NV");

  if (!traceGL_Native.glProgramUniform2ui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2ui64NV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform2ui64NV(program, location, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform3ui64NV(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3ui64NV)
    traceGL_lookupNativeAddress("glProgramUniform3ui64NV", (void **) &traceGL_Native.glProgramUniform3ui64NV);

  traceThis = traceEnabled("glProgramUniform3ui64NV");

  if (!traceGL_Native.glProgramUniform3ui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3ui64NV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform3ui64NV(program, location, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform4ui64NV(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4ui64NV)
    traceGL_lookupNativeAddress("glProgramUniform4ui64NV", (void **) &traceGL_Native.glProgramUniform4ui64NV);

  traceThis = traceEnabled("glProgramUniform4ui64NV");

  if (!traceGL_Native.glProgramUniform4ui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4ui64NV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform4ui64NV(program, location, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform1ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1ui64vNV)
    traceGL_lookupNativeAddress("glProgramUniform1ui64vNV", (void **) &traceGL_Native.glProgramUniform1ui64vNV);

  traceThis = traceEnabled("glProgramUniform1ui64vNV");

  if (!traceGL_Native.glProgramUniform1ui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1ui64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform1ui64vNV(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform2ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2ui64vNV)
    traceGL_lookupNativeAddress("glProgramUniform2ui64vNV", (void **) &traceGL_Native.glProgramUniform2ui64vNV);

  traceThis = traceEnabled("glProgramUniform2ui64vNV");

  if (!traceGL_Native.glProgramUniform2ui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2ui64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform2ui64vNV(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform3ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3ui64vNV)
    traceGL_lookupNativeAddress("glProgramUniform3ui64vNV", (void **) &traceGL_Native.glProgramUniform3ui64vNV);

  traceThis = traceEnabled("glProgramUniform3ui64vNV");

  if (!traceGL_Native.glProgramUniform3ui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3ui64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform3ui64vNV(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramUniform4ui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4ui64vNV)
    traceGL_lookupNativeAddress("glProgramUniform4ui64vNV", (void **) &traceGL_Native.glProgramUniform4ui64vNV);

  traceThis = traceEnabled("glProgramUniform4ui64vNV");

  if (!traceGL_Native.glProgramUniform4ui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4ui64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);
    traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glProgramUniform4ui64vNV(program, location, count, value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetUniformi64vNV(GLuint program, GLint location, GLint64EXT *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformi64vNV)
    traceGL_lookupNativeAddress("glGetUniformi64vNV", (void **) &traceGL_Native.glGetUniformi64vNV);

  traceThis = traceEnabled("glGetUniformi64vNV");

  if (!traceGL_Native.glGetUniformi64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformi64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("program", "%u", program);
    traceInputParameter("location", "%d", location);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetUniformi64vNV(program, location, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL1i64NV(GLuint index, GLint64EXT x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL1i64NV)
    traceGL_lookupNativeAddress("glVertexAttribL1i64NV", (void **) &traceGL_Native.glVertexAttribL1i64NV);

  traceThis = traceEnabled("glVertexAttribL1i64NV");

  if (!traceGL_Native.glVertexAttribL1i64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL1i64NV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL1i64NV(index, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL2i64NV(GLuint index, GLint64EXT x, GLint64EXT y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL2i64NV)
    traceGL_lookupNativeAddress("glVertexAttribL2i64NV", (void **) &traceGL_Native.glVertexAttribL2i64NV);

  traceThis = traceEnabled("glVertexAttribL2i64NV");

  if (!traceGL_Native.glVertexAttribL2i64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL2i64NV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL2i64NV(index, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL3i64NV(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL3i64NV)
    traceGL_lookupNativeAddress("glVertexAttribL3i64NV", (void **) &traceGL_Native.glVertexAttribL3i64NV);

  traceThis = traceEnabled("glVertexAttribL3i64NV");

  if (!traceGL_Native.glVertexAttribL3i64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL3i64NV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL3i64NV(index, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL4i64NV(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL4i64NV)
    traceGL_lookupNativeAddress("glVertexAttribL4i64NV", (void **) &traceGL_Native.glVertexAttribL4i64NV);

  traceThis = traceEnabled("glVertexAttribL4i64NV");

  if (!traceGL_Native.glVertexAttribL4i64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL4i64NV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL4i64NV(index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL1ui64NV(GLuint index, GLuint64EXT x)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL1ui64NV)
    traceGL_lookupNativeAddress("glVertexAttribL1ui64NV", (void **) &traceGL_Native.glVertexAttribL1ui64NV);

  traceThis = traceEnabled("glVertexAttribL1ui64NV");

  if (!traceGL_Native.glVertexAttribL1ui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL1ui64NV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL1ui64NV(index, x);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL2ui64NV(GLuint index, GLuint64EXT x, GLuint64EXT y)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL2ui64NV)
    traceGL_lookupNativeAddress("glVertexAttribL2ui64NV", (void **) &traceGL_Native.glVertexAttribL2ui64NV);

  traceThis = traceEnabled("glVertexAttribL2ui64NV");

  if (!traceGL_Native.glVertexAttribL2ui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL2ui64NV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL2ui64NV(index, x, y);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL3ui64NV(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL3ui64NV)
    traceGL_lookupNativeAddress("glVertexAttribL3ui64NV", (void **) &traceGL_Native.glVertexAttribL3ui64NV);

  traceThis = traceEnabled("glVertexAttribL3ui64NV");

  if (!traceGL_Native.glVertexAttribL3ui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL3ui64NV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL3ui64NV(index, x, y, z);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL4ui64NV(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL4ui64NV)
    traceGL_lookupNativeAddress("glVertexAttribL4ui64NV", (void **) &traceGL_Native.glVertexAttribL4ui64NV);

  traceThis = traceEnabled("glVertexAttribL4ui64NV");

  if (!traceGL_Native.glVertexAttribL4ui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL4ui64NV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL4ui64NV(index, x, y, z, w);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL1i64vNV(GLuint index, const GLint64EXT *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL1i64vNV)
    traceGL_lookupNativeAddress("glVertexAttribL1i64vNV", (void **) &traceGL_Native.glVertexAttribL1i64vNV);

  traceThis = traceEnabled("glVertexAttribL1i64vNV");

  if (!traceGL_Native.glVertexAttribL1i64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL1i64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL1i64vNV(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL2i64vNV(GLuint index, const GLint64EXT *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL2i64vNV)
    traceGL_lookupNativeAddress("glVertexAttribL2i64vNV", (void **) &traceGL_Native.glVertexAttribL2i64vNV);

  traceThis = traceEnabled("glVertexAttribL2i64vNV");

  if (!traceGL_Native.glVertexAttribL2i64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL2i64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL2i64vNV(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL3i64vNV(GLuint index, const GLint64EXT *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL3i64vNV)
    traceGL_lookupNativeAddress("glVertexAttribL3i64vNV", (void **) &traceGL_Native.glVertexAttribL3i64vNV);

  traceThis = traceEnabled("glVertexAttribL3i64vNV");

  if (!traceGL_Native.glVertexAttribL3i64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL3i64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL3i64vNV(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL4i64vNV(GLuint index, const GLint64EXT *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL4i64vNV)
    traceGL_lookupNativeAddress("glVertexAttribL4i64vNV", (void **) &traceGL_Native.glVertexAttribL4i64vNV);

  traceThis = traceEnabled("glVertexAttribL4i64vNV");

  if (!traceGL_Native.glVertexAttribL4i64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL4i64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL4i64vNV(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL1ui64vNV(GLuint index, const GLuint64EXT *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL1ui64vNV)
    traceGL_lookupNativeAddress("glVertexAttribL1ui64vNV", (void **) &traceGL_Native.glVertexAttribL1ui64vNV);

  traceThis = traceEnabled("glVertexAttribL1ui64vNV");

  if (!traceGL_Native.glVertexAttribL1ui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL1ui64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL1ui64vNV(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL2ui64vNV(GLuint index, const GLuint64EXT *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL2ui64vNV)
    traceGL_lookupNativeAddress("glVertexAttribL2ui64vNV", (void **) &traceGL_Native.glVertexAttribL2ui64vNV);

  traceThis = traceEnabled("glVertexAttribL2ui64vNV");

  if (!traceGL_Native.glVertexAttribL2ui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL2ui64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL2ui64vNV(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL3ui64vNV(GLuint index, const GLuint64EXT *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL3ui64vNV)
    traceGL_lookupNativeAddress("glVertexAttribL3ui64vNV", (void **) &traceGL_Native.glVertexAttribL3ui64vNV);

  traceThis = traceEnabled("glVertexAttribL3ui64vNV");

  if (!traceGL_Native.glVertexAttribL3ui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL3ui64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL3ui64vNV(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL4ui64vNV(GLuint index, const GLuint64EXT *v)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL4ui64vNV)
    traceGL_lookupNativeAddress("glVertexAttribL4ui64vNV", (void **) &traceGL_Native.glVertexAttribL4ui64vNV);

  traceThis = traceEnabled("glVertexAttribL4ui64vNV");

  if (!traceGL_Native.glVertexAttribL4ui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL4ui64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribL4ui64vNV(index, v);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribLFormatNV(GLuint index, GLint size, GLenum type, GLsizei stride)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribLFormatNV)
    traceGL_lookupNativeAddress("glVertexAttribLFormatNV", (void **) &traceGL_Native.glVertexAttribLFormatNV);

  traceThis = traceEnabled("glVertexAttribLFormatNV");

  if (!traceGL_Native.glVertexAttribLFormatNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribLFormatNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("size", "%d", size);
    traceInputParameter("type", "%u", type);
    traceInputParameter("stride", "%d", stride);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexAttribLFormatNV(index, size, type, stride);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribLi64vNV(GLuint index, GLenum pname, GLint64EXT *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribLi64vNV)
    traceGL_lookupNativeAddress("glGetVertexAttribLi64vNV", (void **) &traceGL_Native.glGetVertexAttribLi64vNV);

  traceThis = traceEnabled("glGetVertexAttribLi64vNV");

  if (!traceGL_Native.glGetVertexAttribLi64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribLi64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVertexAttribLi64vNV(index, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribLui64vNV(GLuint index, GLenum pname, GLuint64EXT *params)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribLui64vNV)
    traceGL_lookupNativeAddress("glGetVertexAttribLui64vNV", (void **) &traceGL_Native.glGetVertexAttribLui64vNV);

  traceThis = traceEnabled("glGetVertexAttribLui64vNV");

  if (!traceGL_Native.glGetVertexAttribLui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribLui64vNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("index", "%u", index);
    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetVertexAttribLui64vNV(index, pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVDPAUInitNV(const GLvoid *vdpDevice, const GLvoid *getProcAddress)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVDPAUInitNV)
    traceGL_lookupNativeAddress("glVDPAUInitNV", (void **) &traceGL_Native.glVDPAUInitNV);

  traceThis = traceEnabled("glVDPAUInitNV");

  if (!traceGL_Native.glVDPAUInitNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVDPAUInitNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("vdpDevice", "%p", vdpDevice);
    traceInputParameter("getProcAddress", "%p", getProcAddress);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVDPAUInitNV(vdpDevice, getProcAddress);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVDPAUFiniNV()
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVDPAUFiniNV)
    traceGL_lookupNativeAddress("glVDPAUFiniNV", (void **) &traceGL_Native.glVDPAUFiniNV);

  traceThis = traceEnabled("glVDPAUFiniNV");

  if (!traceGL_Native.glVDPAUFiniNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVDPAUFiniNV");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVDPAUFiniNV();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLvdpauSurfaceNV GLAPIENTRY
glVDPAURegisterVideoSurfaceNV(const GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames)
{
  GLvdpauSurfaceNV ret = (GLvdpauSurfaceNV) 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVDPAURegisterVideoSurfaceNV)
    traceGL_lookupNativeAddress("glVDPAURegisterVideoSurfaceNV", (void **) &traceGL_Native.glVDPAURegisterVideoSurfaceNV);

  traceThis = traceEnabled("glVDPAURegisterVideoSurfaceNV");

  if (!traceGL_Native.glVDPAURegisterVideoSurfaceNV)
    return (GLvdpauSurfaceNV) 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVDPAURegisterVideoSurfaceNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("vdpSurface", "%p", vdpSurface);
    traceInputParameter("target", "%u", target);
    traceInputParameter("numTextureNames", "%d", numTextureNames);
    traceInputParameter("textureNames", "%u[%d]", textureNames, numTextureNames);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glVDPAURegisterVideoSurfaceNV(vdpSurface, target, numTextureNames, textureNames);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLvdpauSurfaceNV GLAPIENTRY
glVDPAURegisterOutputSurfaceNV(const GLvoid *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames)
{
  GLvdpauSurfaceNV ret = (GLvdpauSurfaceNV) 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVDPAURegisterOutputSurfaceNV)
    traceGL_lookupNativeAddress("glVDPAURegisterOutputSurfaceNV", (void **) &traceGL_Native.glVDPAURegisterOutputSurfaceNV);

  traceThis = traceEnabled("glVDPAURegisterOutputSurfaceNV");

  if (!traceGL_Native.glVDPAURegisterOutputSurfaceNV)
    return (GLvdpauSurfaceNV) 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVDPAURegisterOutputSurfaceNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("vdpSurface", "%p", vdpSurface);
    traceInputParameter("target", "%u", target);
    traceInputParameter("numTextureNames", "%d", numTextureNames);
    traceInputParameter("textureNames", "%u[%d]", textureNames, numTextureNames);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glVDPAURegisterOutputSurfaceNV(vdpSurface, target, numTextureNames, textureNames);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLboolean GLAPIENTRY
glVDPAUIsSurfaceNV(GLvdpauSurfaceNV surface)
{
  GLboolean ret = GL_FALSE;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVDPAUIsSurfaceNV)
    traceGL_lookupNativeAddress("glVDPAUIsSurfaceNV", (void **) &traceGL_Native.glVDPAUIsSurfaceNV);

  traceThis = traceEnabled("glVDPAUIsSurfaceNV");

  if (!traceGL_Native.glVDPAUIsSurfaceNV)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVDPAUIsSurfaceNV");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glVDPAUIsSurfaceNV(surface);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glVDPAUUnregisterSurfaceNV(GLvdpauSurfaceNV surface)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVDPAUUnregisterSurfaceNV)
    traceGL_lookupNativeAddress("glVDPAUUnregisterSurfaceNV", (void **) &traceGL_Native.glVDPAUUnregisterSurfaceNV);

  traceThis = traceEnabled("glVDPAUUnregisterSurfaceNV");

  if (!traceGL_Native.glVDPAUUnregisterSurfaceNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVDPAUUnregisterSurfaceNV");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVDPAUUnregisterSurfaceNV(surface);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVDPAUGetSurfaceivNV(GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVDPAUGetSurfaceivNV)
    traceGL_lookupNativeAddress("glVDPAUGetSurfaceivNV", (void **) &traceGL_Native.glVDPAUGetSurfaceivNV);

  traceThis = traceEnabled("glVDPAUGetSurfaceivNV");

  if (!traceGL_Native.glVDPAUGetSurfaceivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVDPAUGetSurfaceivNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);
    traceInputParameter("bufSize", "%d", bufSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVDPAUGetSurfaceivNV(surface, pname, bufSize, length, values);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceOutputParameter("length", "%d[%d]", length, 1);
    traceOutputParameter("values", "%d[%d]", values, bufSize);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVDPAUSurfaceAccessNV(GLvdpauSurfaceNV surface, GLenum access)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVDPAUSurfaceAccessNV)
    traceGL_lookupNativeAddress("glVDPAUSurfaceAccessNV", (void **) &traceGL_Native.glVDPAUSurfaceAccessNV);

  traceThis = traceEnabled("glVDPAUSurfaceAccessNV");

  if (!traceGL_Native.glVDPAUSurfaceAccessNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVDPAUSurfaceAccessNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("access", "%u", access);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVDPAUSurfaceAccessNV(surface, access);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVDPAUMapSurfacesNV(GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVDPAUMapSurfacesNV)
    traceGL_lookupNativeAddress("glVDPAUMapSurfacesNV", (void **) &traceGL_Native.glVDPAUMapSurfacesNV);

  traceThis = traceEnabled("glVDPAUMapSurfacesNV");

  if (!traceGL_Native.glVDPAUMapSurfacesNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVDPAUMapSurfacesNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("numSurfaces", "%d", numSurfaces);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVDPAUMapSurfacesNV(numSurfaces, surfaces);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVDPAUUnmapSurfacesNV(GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVDPAUUnmapSurfacesNV)
    traceGL_lookupNativeAddress("glVDPAUUnmapSurfacesNV", (void **) &traceGL_Native.glVDPAUUnmapSurfacesNV);

  traceThis = traceEnabled("glVDPAUUnmapSurfacesNV");

  if (!traceGL_Native.glVDPAUUnmapSurfacesNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVDPAUUnmapSurfacesNV");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("numSurfaces", "%d", numSurfaces);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVDPAUUnmapSurfacesNV(numSurfaces, surfaces);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLuint GLAPIENTRY
glBufferRegionEnabledEXT()
{
  GLuint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBufferRegionEnabledEXT)
    traceGL_lookupNativeAddress("glBufferRegionEnabledEXT", (void **) &traceGL_Native.glBufferRegionEnabledEXT);

  traceThis = traceEnabled("glBufferRegionEnabledEXT");

  if (!traceGL_Native.glBufferRegionEnabledEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBufferRegionEnabledEXT");
    traceBegin();

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glBufferRegionEnabledEXT();

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLuint GLAPIENTRY
glNewBufferRegionEXT(GLenum region)
{
  GLuint ret = 0;
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNewBufferRegionEXT)
    traceGL_lookupNativeAddress("glNewBufferRegionEXT", (void **) &traceGL_Native.glNewBufferRegionEXT);

  traceThis = traceEnabled("glNewBufferRegionEXT");

  if (!traceGL_Native.glNewBufferRegionEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNewBufferRegionEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("region", "%u", region);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glNewBufferRegionEXT(region);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glDeleteBufferRegionEXT(GLenum region)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteBufferRegionEXT)
    traceGL_lookupNativeAddress("glDeleteBufferRegionEXT", (void **) &traceGL_Native.glDeleteBufferRegionEXT);

  traceThis = traceEnabled("glDeleteBufferRegionEXT");

  if (!traceGL_Native.glDeleteBufferRegionEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteBufferRegionEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("region", "%u", region);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDeleteBufferRegionEXT(region);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReadBufferRegionEXT(GLuint region, GLint x, GLint y, GLsizei width, GLsizei height)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReadBufferRegionEXT)
    traceGL_lookupNativeAddress("glReadBufferRegionEXT", (void **) &traceGL_Native.glReadBufferRegionEXT);

  traceThis = traceEnabled("glReadBufferRegionEXT");

  if (!traceGL_Native.glReadBufferRegionEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReadBufferRegionEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("region", "%u", region);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glReadBufferRegionEXT(region, x, y, width, height);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDrawBufferRegionEXT(GLuint region, GLint x, GLint y, GLsizei width, GLsizei height, GLint xDest, GLint yDest)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawBufferRegionEXT)
    traceGL_lookupNativeAddress("glDrawBufferRegionEXT", (void **) &traceGL_Native.glDrawBufferRegionEXT);

  traceThis = traceEnabled("glDrawBufferRegionEXT");

  if (!traceGL_Native.glDrawBufferRegionEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawBufferRegionEXT");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("region", "%u", region);
    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);
    traceInputParameter("xDest", "%d", xDest);
    traceInputParameter("yDest", "%d", yDest);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glDrawBufferRegionEXT(region, x, y, width, height, xDest, yDest);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTextureFogSGIX(GLenum pname)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureFogSGIX)
    traceGL_lookupNativeAddress("glTextureFogSGIX", (void **) &traceGL_Native.glTextureFogSGIX);

  traceThis = traceEnabled("glTextureFogSGIX");

  if (!traceGL_Native.glTextureFogSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureFogSGIX");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glTextureFogSGIX(pname);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glAddSwapHintRectWIN(GLint x, GLint y, GLsizei width, GLsizei height)
{
  int traceThis;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glAddSwapHintRectWIN)
    traceGL_lookupNativeAddress("glAddSwapHintRectWIN", (void **) &traceGL_Native.glAddSwapHintRectWIN);

  traceThis = traceEnabled("glAddSwapHintRectWIN");

  if (!traceGL_Native.glAddSwapHintRectWIN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glAddSwapHintRectWIN");
    traceBegin();

    /* Encode input parameters. */

    traceInputParameter("x", "%d", x);
    traceInputParameter("y", "%d", y);
    traceInputParameter("width", "%d", width);
    traceInputParameter("height", "%d", height);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glAddSwapHintRectWIN(x, y, width, height);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Trace function end. */

    traceEnd();
  }
}

/* GL proc address maps. */

static const char *traceGL_apiFuncNames[2267] = {
  "glAccum",
  "glActiveProgramEXT",
  "glActiveShaderProgram",
  "glActiveStencilFaceEXT",
  "glActiveTexture",
  "glActiveTextureARB",
  "glActiveVaryingNV",
  "glAddSwapHintRectWIN",
  "glAlphaFragmentOp1ATI",
  "glAlphaFragmentOp2ATI",
  "glAlphaFragmentOp3ATI",
  "glAlphaFunc",
  "glApplyTextureEXT",
  "glAreProgramsResidentNV",
  "glAreTexturesResident",
  "glAreTexturesResidentEXT",
  "glArrayElement",
  "glArrayElementEXT",
  "glArrayObjectATI",
  "glAsyncMarkerSGIX",
  "glAttachObjectARB",
  "glAttachShader",
  "glBegin",
  "glBeginConditionalRender",
  "glBeginConditionalRenderNV",
  "glBeginFragmentShaderATI",
  "glBeginOcclusionQueryNV",
  "glBeginPerfMonitorAMD",
  "glBeginQuery",
  "glBeginQueryARB",
  "glBeginQueryIndexed",
  "glBeginTransformFeedback",
  "glBeginTransformFeedbackEXT",
  "glBeginTransformFeedbackNV",
  "glBeginVertexShaderEXT",
  "glBeginVideoCaptureNV",
  "glBindAttribLocation",
  "glBindAttribLocationARB",
  "glBindBuffer",
  "glBindBufferARB",
  "glBindBufferBase",
  "glBindBufferBaseEXT",
  "glBindBufferBaseNV",
  "glBindBufferOffsetEXT",
  "glBindBufferOffsetNV",
  "glBindBufferRange",
  "glBindBufferRangeEXT",
  "glBindBufferRangeNV",
  "glBindFragDataLocation",
  "glBindFragDataLocationEXT",
  "glBindFragDataLocationIndexed",
  "glBindFragmentShaderATI",
  "glBindFramebuffer",
  "glBindFramebufferEXT",
  "glBindImageTextureEXT",
  "glBindLightParameterEXT",
  "glBindMaterialParameterEXT",
  "glBindMultiTextureEXT",
  "glBindParameterEXT",
  "glBindProgramARB",
  "glBindProgramNV",
  "glBindProgramPipeline",
  "glBindRenderbuffer",
  "glBindRenderbufferEXT",
  "glBindSampler",
  "glBindTexGenParameterEXT",
  "glBindTexture",
  "glBindTextureEXT",
  "glBindTextureUnitParameterEXT",
  "glBindTransformFeedback",
  "glBindTransformFeedbackNV",
  "glBindVertexArray",
  "glBindVertexArrayAPPLE",
  "glBindVertexShaderEXT",
  "glBindVideoCaptureStreamBufferNV",
  "glBindVideoCaptureStreamTextureNV",
  "glBinormal3bEXT",
  "glBinormal3bvEXT",
  "glBinormal3dEXT",
  "glBinormal3dvEXT",
  "glBinormal3fEXT",
  "glBinormal3fvEXT",
  "glBinormal3iEXT",
  "glBinormal3ivEXT",
  "glBinormal3sEXT",
  "glBinormal3svEXT",
  "glBinormalPointerEXT",
  "glBitmap",
  "glBlendColor",
  "glBlendColorEXT",
  "glBlendEquation",
  "glBlendEquationEXT",
  "glBlendEquationIndexedAMD",
  "glBlendEquationSeparate",
  "glBlendEquationSeparateEXT",
  "glBlendEquationSeparateIndexedAMD",
  "glBlendEquationSeparatei",
  "glBlendEquationSeparateiARB",
  "glBlendEquationi",
  "glBlendEquationiARB",
  "glBlendFunc",
  "glBlendFuncIndexedAMD",
  "glBlendFuncSeparate",
  "glBlendFuncSeparateEXT",
  "glBlendFuncSeparateINGR",
  "glBlendFuncSeparateIndexedAMD",
  "glBlendFuncSeparatei",
  "glBlendFuncSeparateiARB",
  "glBlendFunci",
  "glBlendFunciARB",
  "glBlitFramebuffer",
  "glBlitFramebufferEXT",
  "glBufferAddressRangeNV",
  "glBufferData",
  "glBufferDataARB",
  "glBufferParameteriAPPLE",
  "glBufferRegionEnabledEXT",
  "glBufferSubData",
  "glBufferSubDataARB",
  "glCallList",
  "glCallLists",
  "glCheckFramebufferStatus",
  "glCheckFramebufferStatusEXT",
  "glCheckNamedFramebufferStatusEXT",
  "glClampColor",
  "glClampColorARB",
  "glClear",
  "glClearAccum",
  "glClearBufferfi",
  "glClearBufferfv",
  "glClearBufferiv",
  "glClearBufferuiv",
  "glClearColor",
  "glClearColorIiEXT",
  "glClearColorIuiEXT",
  "glClearDepth",
  "glClearDepthdNV",
  "glClearDepthf",
  "glClearIndex",
  "glClearStencil",
  "glClientActiveTexture",
  "glClientActiveTextureARB",
  "glClientActiveVertexStreamATI",
  "glClientAttribDefaultEXT",
  "glClientWaitSync",
  "glClipPlane",
  "glColor3b",
  "glColor3bv",
  "glColor3d",
  "glColor3dv",
  "glColor3f",
  "glColor3fVertex3fSUN",
  "glColor3fVertex3fvSUN",
  "glColor3fv",
  "glColor3hNV",
  "glColor3hvNV",
  "glColor3i",
  "glColor3iv",
  "glColor3s",
  "glColor3sv",
  "glColor3ub",
  "glColor3ubv",
  "glColor3ui",
  "glColor3uiv",
  "glColor3us",
  "glColor3usv",
  "glColor4b",
  "glColor4bv",
  "glColor4d",
  "glColor4dv",
  "glColor4f",
  "glColor4fNormal3fVertex3fSUN",
  "glColor4fNormal3fVertex3fvSUN",
  "glColor4fv",
  "glColor4hNV",
  "glColor4hvNV",
  "glColor4i",
  "glColor4iv",
  "glColor4s",
  "glColor4sv",
  "glColor4ub",
  "glColor4ubVertex2fSUN",
  "glColor4ubVertex2fvSUN",
  "glColor4ubVertex3fSUN",
  "glColor4ubVertex3fvSUN",
  "glColor4ubv",
  "glColor4ui",
  "glColor4uiv",
  "glColor4us",
  "glColor4usv",
  "glColorFormatNV",
  "glColorFragmentOp1ATI",
  "glColorFragmentOp2ATI",
  "glColorFragmentOp3ATI",
  "glColorMask",
  "glColorMaskIndexedEXT",
  "glColorMaski",
  "glColorMaterial",
  "glColorP3ui",
  "glColorP3uiv",
  "glColorP4ui",
  "glColorP4uiv",
  "glColorPointer",
  "glColorPointerEXT",
  "glColorPointerListIBM",
  "glColorPointervINTEL",
  "glColorSubTable",
  "glColorSubTableEXT",
  "glColorTable",
  "glColorTableEXT",
  "glColorTableParameterfv",
  "glColorTableParameterfvSGI",
  "glColorTableParameteriv",
  "glColorTableParameterivSGI",
  "glColorTableSGI",
  "glCombinerInputNV",
  "glCombinerOutputNV",
  "glCombinerParameterfNV",
  "glCombinerParameterfvNV",
  "glCombinerParameteriNV",
  "glCombinerParameterivNV",
  "glCombinerStageParameterfvNV",
  "glCompileShader",
  "glCompileShaderARB",
  "glCompileShaderIncludeARB",
  "glCompressedMultiTexImage1DEXT",
  "glCompressedMultiTexImage2DEXT",
  "glCompressedMultiTexImage3DEXT",
  "glCompressedMultiTexSubImage1DEXT",
  "glCompressedMultiTexSubImage2DEXT",
  "glCompressedMultiTexSubImage3DEXT",
  "glCompressedTexImage1D",
  "glCompressedTexImage1DARB",
  "glCompressedTexImage2D",
  "glCompressedTexImage2DARB",
  "glCompressedTexImage3D",
  "glCompressedTexImage3DARB",
  "glCompressedTexSubImage1D",
  "glCompressedTexSubImage1DARB",
  "glCompressedTexSubImage2D",
  "glCompressedTexSubImage2DARB",
  "glCompressedTexSubImage3D",
  "glCompressedTexSubImage3DARB",
  "glCompressedTextureImage1DEXT",
  "glCompressedTextureImage2DEXT",
  "glCompressedTextureImage3DEXT",
  "glCompressedTextureSubImage1DEXT",
  "glCompressedTextureSubImage2DEXT",
  "glCompressedTextureSubImage3DEXT",
  "glConvolutionFilter1D",
  "glConvolutionFilter1DEXT",
  "glConvolutionFilter2D",
  "glConvolutionFilter2DEXT",
  "glConvolutionParameterf",
  "glConvolutionParameterfEXT",
  "glConvolutionParameterfv",
  "glConvolutionParameterfvEXT",
  "glConvolutionParameteri",
  "glConvolutionParameteriEXT",
  "glConvolutionParameteriv",
  "glConvolutionParameterivEXT",
  "glCopyBufferSubData",
  "glCopyColorSubTable",
  "glCopyColorSubTableEXT",
  "glCopyColorTable",
  "glCopyColorTableSGI",
  "glCopyConvolutionFilter1D",
  "glCopyConvolutionFilter1DEXT",
  "glCopyConvolutionFilter2D",
  "glCopyConvolutionFilter2DEXT",
  "glCopyImageSubDataNV",
  "glCopyMultiTexImage1DEXT",
  "glCopyMultiTexImage2DEXT",
  "glCopyMultiTexSubImage1DEXT",
  "glCopyMultiTexSubImage2DEXT",
  "glCopyMultiTexSubImage3DEXT",
  "glCopyPixels",
  "glCopyTexImage1D",
  "glCopyTexImage1DEXT",
  "glCopyTexImage2D",
  "glCopyTexImage2DEXT",
  "glCopyTexSubImage1D",
  "glCopyTexSubImage1DEXT",
  "glCopyTexSubImage2D",
  "glCopyTexSubImage2DEXT",
  "glCopyTexSubImage3D",
  "glCopyTexSubImage3DEXT",
  "glCopyTextureImage1DEXT",
  "glCopyTextureImage2DEXT",
  "glCopyTextureSubImage1DEXT",
  "glCopyTextureSubImage2DEXT",
  "glCopyTextureSubImage3DEXT",
  "glCreateProgram",
  "glCreateProgramObjectARB",
  "glCreateShader",
  "glCreateShaderObjectARB",
  "glCreateShaderProgramEXT",
  "glCreateShaderProgramv",
  "glCullFace",
  "glCullParameterdvEXT",
  "glCullParameterfvEXT",
  "glCurrentPaletteMatrixARB",
  "glDebugMessageCallbackARB",
  "glDebugMessageControlARB",
  "glDebugMessageInsertARB",
  "glDeformSGIX",
  "glDeformationMap3dSGIX",
  "glDeformationMap3fSGIX",
  "glDeleteAsyncMarkersSGIX",
  "glDeleteBufferRegionEXT",
  "glDeleteBuffers",
  "glDeleteBuffersARB",
  "glDeleteFencesAPPLE",
  "glDeleteFencesNV",
  "glDeleteFragmentShaderATI",
  "glDeleteFramebuffers",
  "glDeleteFramebuffersEXT",
  "glDeleteLists",
  "glDeleteNamedStringARB",
  "glDeleteObjectARB",
  "glDeleteOcclusionQueriesNV",
  "glDeletePerfMonitorsAMD",
  "glDeleteProgram",
  "glDeleteProgramPipelines",
  "glDeleteProgramsARB",
  "glDeleteProgramsNV",
  "glDeleteQueries",
  "glDeleteQueriesARB",
  "glDeleteRenderbuffers",
  "glDeleteRenderbuffersEXT",
  "glDeleteSamplers",
  "glDeleteShader",
  "glDeleteSync",
  "glDeleteTextures",
  "glDeleteTexturesEXT",
  "glDeleteTransformFeedbacks",
  "glDeleteTransformFeedbacksNV",
  "glDeleteVertexArrays",
  "glDeleteVertexArraysAPPLE",
  "glDeleteVertexShaderEXT",
  "glDepthBoundsEXT",
  "glDepthBoundsdNV",
  "glDepthFunc",
  "glDepthMask",
  "glDepthRange",
  "glDepthRangeArrayv",
  "glDepthRangeIndexed",
  "glDepthRangedNV",
  "glDepthRangef",
  "glDetachObjectARB",
  "glDetachShader",
  "glDetailTexFuncSGIS",
  "glDisable",
  "glDisableClientState",
  "glDisableClientStateIndexedEXT",
  "glDisableIndexedEXT",
  "glDisableVariantClientStateEXT",
  "glDisableVertexAttribAPPLE",
  "glDisableVertexAttribArray",
  "glDisableVertexAttribArrayARB",
  "glDisablei",
  "glDrawArrays",
  "glDrawArraysEXT",
  "glDrawArraysIndirect",
  "glDrawArraysInstanced",
  "glDrawArraysInstancedARB",
  "glDrawArraysInstancedEXT",
  "glDrawBuffer",
  "glDrawBufferRegionEXT",
  "glDrawBuffers",
  "glDrawBuffersARB",
  "glDrawBuffersATI",
  "glDrawElementArrayAPPLE",
  "glDrawElementArrayATI",
  "glDrawElements",
  "glDrawElementsBaseVertex",
  "glDrawElementsIndirect",
  "glDrawElementsInstanced",
  "glDrawElementsInstancedARB",
  "glDrawElementsInstancedBaseVertex",
  "glDrawElementsInstancedEXT",
  "glDrawMeshArraysSUN",
  "glDrawPixels",
  "glDrawRangeElementArrayAPPLE",
  "glDrawRangeElementArrayATI",
  "glDrawRangeElements",
  "glDrawRangeElementsBaseVertex",
  "glDrawRangeElementsEXT",
  "glDrawTransformFeedback",
  "glDrawTransformFeedbackNV",
  "glDrawTransformFeedbackStream",
  "glEdgeFlag",
  "glEdgeFlagFormatNV",
  "glEdgeFlagPointer",
  "glEdgeFlagPointerEXT",
  "glEdgeFlagPointerListIBM",
  "glEdgeFlagv",
  "glElementPointerAPPLE",
  "glElementPointerATI",
  "glEnable",
  "glEnableClientState",
  "glEnableClientStateIndexedEXT",
  "glEnableIndexedEXT",
  "glEnableVariantClientStateEXT",
  "glEnableVertexAttribAPPLE",
  "glEnableVertexAttribArray",
  "glEnableVertexAttribArrayARB",
  "glEnablei",
  "glEnd",
  "glEndConditionalRender",
  "glEndConditionalRenderNV",
  "glEndFragmentShaderATI",
  "glEndList",
  "glEndOcclusionQueryNV",
  "glEndPerfMonitorAMD",
  "glEndQuery",
  "glEndQueryARB",
  "glEndQueryIndexed",
  "glEndTransformFeedback",
  "glEndTransformFeedbackEXT",
  "glEndTransformFeedbackNV",
  "glEndVertexShaderEXT",
  "glEndVideoCaptureNV",
  "glEvalCoord1d",
  "glEvalCoord1dv",
  "glEvalCoord1f",
  "glEvalCoord1fv",
  "glEvalCoord2d",
  "glEvalCoord2dv",
  "glEvalCoord2f",
  "glEvalCoord2fv",
  "glEvalMapsNV",
  "glEvalMesh1",
  "glEvalMesh2",
  "glEvalPoint1",
  "glEvalPoint2",
  "glExecuteProgramNV",
  "glExtractComponentEXT",
  "glFeedbackBuffer",
  "glFenceSync",
  "glFinalCombinerInputNV",
  "glFinish",
  "glFinishAsyncSGIX",
  "glFinishFenceAPPLE",
  "glFinishFenceNV",
  "glFinishObjectAPPLE",
  "glFinishTextureSUNX",
  "glFlush",
  "glFlushMappedBufferRange",
  "glFlushMappedBufferRangeAPPLE",
  "glFlushMappedNamedBufferRangeEXT",
  "glFlushPixelDataRangeNV",
  "glFlushRasterSGIX",
  "glFlushVertexArrayRangeAPPLE",
  "glFlushVertexArrayRangeNV",
  "glFogCoordFormatNV",
  "glFogCoordPointer",
  "glFogCoordPointerEXT",
  "glFogCoordPointerListIBM",
  "glFogCoordd",
  "glFogCoorddEXT",
  "glFogCoorddv",
  "glFogCoorddvEXT",
  "glFogCoordf",
  "glFogCoordfEXT",
  "glFogCoordfv",
  "glFogCoordfvEXT",
  "glFogCoordhNV",
  "glFogCoordhvNV",
  "glFogFuncSGIS",
  "glFogf",
  "glFogfv",
  "glFogi",
  "glFogiv",
  "glFragmentColorMaterialSGIX",
  "glFragmentLightModelfSGIX",
  "glFragmentLightModelfvSGIX",
  "glFragmentLightModeliSGIX",
  "glFragmentLightModelivSGIX",
  "glFragmentLightfSGIX",
  "glFragmentLightfvSGIX",
  "glFragmentLightiSGIX",
  "glFragmentLightivSGIX",
  "glFragmentMaterialfSGIX",
  "glFragmentMaterialfvSGIX",
  "glFragmentMaterialiSGIX",
  "glFragmentMaterialivSGIX",
  "glFrameTerminatorGREMEDY",
  "glFrameZoomSGIX",
  "glFramebufferDrawBufferEXT",
  "glFramebufferDrawBuffersEXT",
  "glFramebufferReadBufferEXT",
  "glFramebufferRenderbuffer",
  "glFramebufferRenderbufferEXT",
  "glFramebufferTexture",
  "glFramebufferTexture1D",
  "glFramebufferTexture1DEXT",
  "glFramebufferTexture2D",
  "glFramebufferTexture2DEXT",
  "glFramebufferTexture3D",
  "glFramebufferTexture3DEXT",
  "glFramebufferTextureARB",
  "glFramebufferTextureEXT",
  "glFramebufferTextureFace",
  "glFramebufferTextureFaceARB",
  "glFramebufferTextureFaceEXT",
  "glFramebufferTextureLayer",
  "glFramebufferTextureLayerARB",
  "glFramebufferTextureLayerEXT",
  "glFreeObjectBufferATI",
  "glFrontFace",
  "glFrustum",
  "glGenAsyncMarkersSGIX",
  "glGenBuffers",
  "glGenBuffersARB",
  "glGenFencesAPPLE",
  "glGenFencesNV",
  "glGenFragmentShadersATI",
  "glGenFramebuffers",
  "glGenFramebuffersEXT",
  "glGenLists",
  "glGenOcclusionQueriesNV",
  "glGenPerfMonitorsAMD",
  "glGenProgramPipelines",
  "glGenProgramsARB",
  "glGenProgramsNV",
  "glGenQueries",
  "glGenQueriesARB",
  "glGenRenderbuffers",
  "glGenRenderbuffersEXT",
  "glGenSamplers",
  "glGenSymbolsEXT",
  "glGenTextures",
  "glGenTexturesEXT",
  "glGenTransformFeedbacks",
  "glGenTransformFeedbacksNV",
  "glGenVertexArrays",
  "glGenVertexArraysAPPLE",
  "glGenVertexShadersEXT",
  "glGenerateMipmap",
  "glGenerateMipmapEXT",
  "glGenerateMultiTexMipmapEXT",
  "glGenerateTextureMipmapEXT",
  "glGetActiveAttrib",
  "glGetActiveAttribARB",
  "glGetActiveSubroutineName",
  "glGetActiveSubroutineUniformName",
  "glGetActiveSubroutineUniformiv",
  "glGetActiveUniform",
  "glGetActiveUniformARB",
  "glGetActiveUniformBlockName",
  "glGetActiveUniformBlockiv",
  "glGetActiveUniformName",
  "glGetActiveUniformsiv",
  "glGetActiveVaryingNV",
  "glGetArrayObjectfvATI",
  "glGetArrayObjectivATI",
  "glGetAttachedObjectsARB",
  "glGetAttachedShaders",
  "glGetAttribLocation",
  "glGetAttribLocationARB",
  "glGetBooleanIndexedvEXT",
  "glGetBooleani_v",
  "glGetBooleanv",
  "glGetBufferParameteri64v",
  "glGetBufferParameteriv",
  "glGetBufferParameterivARB",
  "glGetBufferParameterui64vNV",
  "glGetBufferPointerv",
  "glGetBufferPointervARB",
  "glGetBufferSubData",
  "glGetBufferSubDataARB",
  "glGetClipPlane",
  "glGetColorTable",
  "glGetColorTableEXT",
  "glGetColorTableParameterfv",
  "glGetColorTableParameterfvEXT",
  "glGetColorTableParameterfvSGI",
  "glGetColorTableParameteriv",
  "glGetColorTableParameterivEXT",
  "glGetColorTableParameterivSGI",
  "glGetColorTableSGI",
  "glGetCombinerInputParameterfvNV",
  "glGetCombinerInputParameterivNV",
  "glGetCombinerOutputParameterfvNV",
  "glGetCombinerOutputParameterivNV",
  "glGetCombinerStageParameterfvNV",
  "glGetCompressedMultiTexImageEXT",
  "glGetCompressedTexImage",
  "glGetCompressedTexImageARB",
  "glGetCompressedTextureImageEXT",
  "glGetConvolutionFilter",
  "glGetConvolutionFilterEXT",
  "glGetConvolutionParameterfv",
  "glGetConvolutionParameterfvEXT",
  "glGetConvolutionParameteriv",
  "glGetConvolutionParameterivEXT",
  "glGetDebugMessageLogARB",
  "glGetDetailTexFuncSGIS",
  "glGetDoubleIndexedvEXT",
  "glGetDoublei_v",
  "glGetDoublev",
  "glGetError",
  "glGetFenceivNV",
  "glGetFinalCombinerInputParameterfvNV",
  "glGetFinalCombinerInputParameterivNV",
  "glGetFloatIndexedvEXT",
  "glGetFloati_v",
  "glGetFloatv",
  "glGetFogFuncSGIS",
  "glGetFragDataIndex",
  "glGetFragDataLocation",
  "glGetFragDataLocationEXT",
  "glGetFragmentLightfvSGIX",
  "glGetFragmentLightivSGIX",
  "glGetFragmentMaterialfvSGIX",
  "glGetFragmentMaterialivSGIX",
  "glGetFramebufferAttachmentParameteriv",
  "glGetFramebufferAttachmentParameterivEXT",
  "glGetFramebufferParameterivEXT",
  "glGetGraphicsResetStatusARB",
  "glGetHandleARB",
  "glGetHistogram",
  "glGetHistogramEXT",
  "glGetHistogramParameterfv",
  "glGetHistogramParameterfvEXT",
  "glGetHistogramParameteriv",
  "glGetHistogramParameterivEXT",
  "glGetImageTransformParameterfvHP",
  "glGetImageTransformParameterivHP",
  "glGetInfoLogARB",
  "glGetInstrumentsSGIX",
  "glGetInteger64i_v",
  "glGetInteger64v",
  "glGetIntegerIndexedvEXT",
  "glGetIntegeri_v",
  "glGetIntegerui64i_vNV",
  "glGetIntegerui64vNV",
  "glGetIntegerv",
  "glGetInvariantBooleanvEXT",
  "glGetInvariantFloatvEXT",
  "glGetInvariantIntegervEXT",
  "glGetLightfv",
  "glGetLightiv",
  "glGetListParameterfvSGIX",
  "glGetListParameterivSGIX",
  "glGetLocalConstantBooleanvEXT",
  "glGetLocalConstantFloatvEXT",
  "glGetLocalConstantIntegervEXT",
  "glGetMapAttribParameterfvNV",
  "glGetMapAttribParameterivNV",
  "glGetMapControlPointsNV",
  "glGetMapParameterfvNV",
  "glGetMapParameterivNV",
  "glGetMapdv",
  "glGetMapfv",
  "glGetMapiv",
  "glGetMaterialfv",
  "glGetMaterialiv",
  "glGetMinmax",
  "glGetMinmaxEXT",
  "glGetMinmaxParameterfv",
  "glGetMinmaxParameterfvEXT",
  "glGetMinmaxParameteriv",
  "glGetMinmaxParameterivEXT",
  "glGetMultiTexEnvfvEXT",
  "glGetMultiTexEnvivEXT",
  "glGetMultiTexGendvEXT",
  "glGetMultiTexGenfvEXT",
  "glGetMultiTexGenivEXT",
  "glGetMultiTexImageEXT",
  "glGetMultiTexLevelParameterfvEXT",
  "glGetMultiTexLevelParameterivEXT",
  "glGetMultiTexParameterIivEXT",
  "glGetMultiTexParameterIuivEXT",
  "glGetMultiTexParameterfvEXT",
  "glGetMultiTexParameterivEXT",
  "glGetMultisamplefv",
  "glGetMultisamplefvNV",
  "glGetNamedBufferParameterivEXT",
  "glGetNamedBufferParameterui64vNV",
  "glGetNamedBufferPointervEXT",
  "glGetNamedBufferSubDataEXT",
  "glGetNamedFramebufferAttachmentParameterivEXT",
  "glGetNamedProgramLocalParameterIivEXT",
  "glGetNamedProgramLocalParameterIuivEXT",
  "glGetNamedProgramLocalParameterdvEXT",
  "glGetNamedProgramLocalParameterfvEXT",
  "glGetNamedProgramStringEXT",
  "glGetNamedProgramivEXT",
  "glGetNamedRenderbufferParameterivEXT",
  "glGetNamedStringARB",
  "glGetNamedStringivARB",
  "glGetObjectBufferfvATI",
  "glGetObjectBufferivATI",
  "glGetObjectParameterfvARB",
  "glGetObjectParameterivAPPLE",
  "glGetObjectParameterivARB",
  "glGetOcclusionQueryivNV",
  "glGetOcclusionQueryuivNV",
  "glGetPerfMonitorCounterDataAMD",
  "glGetPerfMonitorCounterInfoAMD",
  "glGetPerfMonitorCounterStringAMD",
  "glGetPerfMonitorCountersAMD",
  "glGetPerfMonitorGroupStringAMD",
  "glGetPerfMonitorGroupsAMD",
  "glGetPixelMapfv",
  "glGetPixelMapuiv",
  "glGetPixelMapusv",
  "glGetPixelTexGenParameterfvSGIS",
  "glGetPixelTexGenParameterivSGIS",
  "glGetPointerIndexedvEXT",
  "glGetPointerv",
  "glGetPointervEXT",
  "glGetPolygonStipple",
  "glGetProgramBinary",
  "glGetProgramEnvParameterIivNV",
  "glGetProgramEnvParameterIuivNV",
  "glGetProgramEnvParameterdvARB",
  "glGetProgramEnvParameterfvARB",
  "glGetProgramInfoLog",
  "glGetProgramLocalParameterIivNV",
  "glGetProgramLocalParameterIuivNV",
  "glGetProgramLocalParameterdvARB",
  "glGetProgramLocalParameterfvARB",
  "glGetProgramNamedParameterdvNV",
  "glGetProgramNamedParameterfvNV",
  "glGetProgramParameterdvNV",
  "glGetProgramParameterfvNV",
  "glGetProgramPipelineInfoLog",
  "glGetProgramPipelineiv",
  "glGetProgramStageiv",
  "glGetProgramStringARB",
  "glGetProgramStringNV",
  "glGetProgramiv",
  "glGetProgramivARB",
  "glGetProgramivNV",
  "glGetQueryIndexediv",
  "glGetQueryObjecti64v",
  "glGetQueryObjecti64vEXT",
  "glGetQueryObjectiv",
  "glGetQueryObjectivARB",
  "glGetQueryObjectui64v",
  "glGetQueryObjectui64vEXT",
  "glGetQueryObjectuiv",
  "glGetQueryObjectuivARB",
  "glGetQueryiv",
  "glGetQueryivARB",
  "glGetRenderbufferParameteriv",
  "glGetRenderbufferParameterivEXT",
  "glGetSamplerParameterIiv",
  "glGetSamplerParameterIuiv",
  "glGetSamplerParameterfv",
  "glGetSamplerParameteriv",
  "glGetSeparableFilter",
  "glGetSeparableFilterEXT",
  "glGetShaderInfoLog",
  "glGetShaderPrecisionFormat",
  "glGetShaderSource",
  "glGetShaderSourceARB",
  "glGetShaderiv",
  "glGetSharpenTexFuncSGIS",
  "glGetString",
  "glGetStringi",
  "glGetSubroutineIndex",
  "glGetSubroutineUniformLocation",
  "glGetSynciv",
  "glGetTexBumpParameterfvATI",
  "glGetTexBumpParameterivATI",
  "glGetTexEnvfv",
  "glGetTexEnviv",
  "glGetTexFilterFuncSGIS",
  "glGetTexGendv",
  "glGetTexGenfv",
  "glGetTexGeniv",
  "glGetTexImage",
  "glGetTexLevelParameterfv",
  "glGetTexLevelParameteriv",
  "glGetTexParameterIiv",
  "glGetTexParameterIivEXT",
  "glGetTexParameterIuiv",
  "glGetTexParameterIuivEXT",
  "glGetTexParameterPointervAPPLE",
  "glGetTexParameterfv",
  "glGetTexParameteriv",
  "glGetTextureImageEXT",
  "glGetTextureLevelParameterfvEXT",
  "glGetTextureLevelParameterivEXT",
  "glGetTextureParameterIivEXT",
  "glGetTextureParameterIuivEXT",
  "glGetTextureParameterfvEXT",
  "glGetTextureParameterivEXT",
  "glGetTrackMatrixivNV",
  "glGetTransformFeedbackVarying",
  "glGetTransformFeedbackVaryingEXT",
  "glGetTransformFeedbackVaryingNV",
  "glGetUniformBlockIndex",
  "glGetUniformBufferSizeEXT",
  "glGetUniformIndices",
  "glGetUniformLocation",
  "glGetUniformLocationARB",
  "glGetUniformOffsetEXT",
  "glGetUniformSubroutineuiv",
  "glGetUniformdv",
  "glGetUniformfv",
  "glGetUniformfvARB",
  "glGetUniformi64vNV",
  "glGetUniformiv",
  "glGetUniformivARB",
  "glGetUniformui64vNV",
  "glGetUniformuiv",
  "glGetUniformuivEXT",
  "glGetVariantArrayObjectfvATI",
  "glGetVariantArrayObjectivATI",
  "glGetVariantBooleanvEXT",
  "glGetVariantFloatvEXT",
  "glGetVariantIntegervEXT",
  "glGetVariantPointervEXT",
  "glGetVaryingLocationNV",
  "glGetVertexAttribArrayObjectfvATI",
  "glGetVertexAttribArrayObjectivATI",
  "glGetVertexAttribIiv",
  "glGetVertexAttribIivEXT",
  "glGetVertexAttribIuiv",
  "glGetVertexAttribIuivEXT",
  "glGetVertexAttribLdv",
  "glGetVertexAttribLdvEXT",
  "glGetVertexAttribLi64vNV",
  "glGetVertexAttribLui64vNV",
  "glGetVertexAttribPointerv",
  "glGetVertexAttribPointervARB",
  "glGetVertexAttribPointervNV",
  "glGetVertexAttribdv",
  "glGetVertexAttribdvARB",
  "glGetVertexAttribdvNV",
  "glGetVertexAttribfv",
  "glGetVertexAttribfvARB",
  "glGetVertexAttribfvNV",
  "glGetVertexAttribiv",
  "glGetVertexAttribivARB",
  "glGetVertexAttribivNV",
  "glGetVideoCaptureStreamdvNV",
  "glGetVideoCaptureStreamfvNV",
  "glGetVideoCaptureStreamivNV",
  "glGetVideoCaptureivNV",
  "glGetVideoi64vNV",
  "glGetVideoivNV",
  "glGetVideoui64vNV",
  "glGetVideouivNV",
  "glGetnColorTableARB",
  "glGetnCompressedTexImageARB",
  "glGetnConvolutionFilterARB",
  "glGetnHistogramARB",
  "glGetnMapdvARB",
  "glGetnMapfvARB",
  "glGetnMapivARB",
  "glGetnMinmaxARB",
  "glGetnPixelMapfvARB",
  "glGetnPixelMapuivARB",
  "glGetnPixelMapusvARB",
  "glGetnPolygonStippleARB",
  "glGetnSeparableFilterARB",
  "glGetnTexImageARB",
  "glGetnUniformdvARB",
  "glGetnUniformfvARB",
  "glGetnUniformivARB",
  "glGetnUniformuivARB",
  "glGlobalAlphaFactorbSUN",
  "glGlobalAlphaFactordSUN",
  "glGlobalAlphaFactorfSUN",
  "glGlobalAlphaFactoriSUN",
  "glGlobalAlphaFactorsSUN",
  "glGlobalAlphaFactorubSUN",
  "glGlobalAlphaFactoruiSUN",
  "glGlobalAlphaFactorusSUN",
  "glHint",
  "glHintPGI",
  "glHistogram",
  "glHistogramEXT",
  "glIglooInterfaceSGIX",
  "glImageTransformParameterfHP",
  "glImageTransformParameterfvHP",
  "glImageTransformParameteriHP",
  "glImageTransformParameterivHP",
  "glIndexFormatNV",
  "glIndexFuncEXT",
  "glIndexMask",
  "glIndexMaterialEXT",
  "glIndexPointer",
  "glIndexPointerEXT",
  "glIndexPointerListIBM",
  "glIndexd",
  "glIndexdv",
  "glIndexf",
  "glIndexfv",
  "glIndexi",
  "glIndexiv",
  "glIndexs",
  "glIndexsv",
  "glIndexub",
  "glIndexubv",
  "glInitNames",
  "glInsertComponentEXT",
  "glInstrumentsBufferSGIX",
  "glInterleavedArrays",
  "glIsAsyncMarkerSGIX",
  "glIsBuffer",
  "glIsBufferARB",
  "glIsBufferResidentNV",
  "glIsEnabled",
  "glIsEnabledIndexedEXT",
  "glIsEnabledi",
  "glIsFenceAPPLE",
  "glIsFenceNV",
  "glIsFramebuffer",
  "glIsFramebufferEXT",
  "glIsList",
  "glIsNamedBufferResidentNV",
  "glIsNamedStringARB",
  "glIsObjectBufferATI",
  "glIsOcclusionQueryNV",
  "glIsProgram",
  "glIsProgramARB",
  "glIsProgramNV",
  "glIsProgramPipeline",
  "glIsQuery",
  "glIsQueryARB",
  "glIsRenderbuffer",
  "glIsRenderbufferEXT",
  "glIsSampler",
  "glIsShader",
  "glIsSync",
  "glIsTexture",
  "glIsTextureEXT",
  "glIsTransformFeedback",
  "glIsTransformFeedbackNV",
  "glIsVariantEnabledEXT",
  "glIsVertexArray",
  "glIsVertexArrayAPPLE",
  "glIsVertexAttribEnabledAPPLE",
  "glLightEnviSGIX",
  "glLightModelf",
  "glLightModelfv",
  "glLightModeli",
  "glLightModeliv",
  "glLightf",
  "glLightfv",
  "glLighti",
  "glLightiv",
  "glLineStipple",
  "glLineWidth",
  "glLinkProgram",
  "glLinkProgramARB",
  "glListBase",
  "glListParameterfSGIX",
  "glListParameterfvSGIX",
  "glListParameteriSGIX",
  "glListParameterivSGIX",
  "glLoadIdentity",
  "glLoadIdentityDeformationMapSGIX",
  "glLoadMatrixd",
  "glLoadMatrixf",
  "glLoadName",
  "glLoadProgramNV",
  "glLoadTransposeMatrixd",
  "glLoadTransposeMatrixdARB",
  "glLoadTransposeMatrixf",
  "glLoadTransposeMatrixfARB",
  "glLockArraysEXT",
  "glLogicOp",
  "glMakeBufferNonResidentNV",
  "glMakeBufferResidentNV",
  "glMakeNamedBufferNonResidentNV",
  "glMakeNamedBufferResidentNV",
  "glMap1d",
  "glMap1f",
  "glMap2d",
  "glMap2f",
  "glMapBuffer",
  "glMapBufferARB",
  "glMapBufferRange",
  "glMapControlPointsNV",
  "glMapGrid1d",
  "glMapGrid1f",
  "glMapGrid2d",
  "glMapGrid2f",
  "glMapNamedBufferEXT",
  "glMapNamedBufferRangeEXT",
  "glMapObjectBufferATI",
  "glMapParameterfvNV",
  "glMapParameterivNV",
  "glMapVertexAttrib1dAPPLE",
  "glMapVertexAttrib1fAPPLE",
  "glMapVertexAttrib2dAPPLE",
  "glMapVertexAttrib2fAPPLE",
  "glMaterialf",
  "glMaterialfv",
  "glMateriali",
  "glMaterialiv",
  "glMatrixFrustumEXT",
  "glMatrixIndexPointerARB",
  "glMatrixIndexubvARB",
  "glMatrixIndexuivARB",
  "glMatrixIndexusvARB",
  "glMatrixLoadIdentityEXT",
  "glMatrixLoadTransposedEXT",
  "glMatrixLoadTransposefEXT",
  "glMatrixLoaddEXT",
  "glMatrixLoadfEXT",
  "glMatrixMode",
  "glMatrixMultTransposedEXT",
  "glMatrixMultTransposefEXT",
  "glMatrixMultdEXT",
  "glMatrixMultfEXT",
  "glMatrixOrthoEXT",
  "glMatrixPopEXT",
  "glMatrixPushEXT",
  "glMatrixRotatedEXT",
  "glMatrixRotatefEXT",
  "glMatrixScaledEXT",
  "glMatrixScalefEXT",
  "glMatrixTranslatedEXT",
  "glMatrixTranslatefEXT",
  "glMemoryBarrierEXT",
  "glMinSampleShading",
  "glMinSampleShadingARB",
  "glMinmax",
  "glMinmaxEXT",
  "glMultMatrixd",
  "glMultMatrixf",
  "glMultTransposeMatrixd",
  "glMultTransposeMatrixdARB",
  "glMultTransposeMatrixf",
  "glMultTransposeMatrixfARB",
  "glMultiDrawArrays",
  "glMultiDrawArraysEXT",
  "glMultiDrawElementArrayAPPLE",
  "glMultiDrawElements",
  "glMultiDrawElementsBaseVertex",
  "glMultiDrawElementsEXT",
  "glMultiDrawRangeElementArrayAPPLE",
  "glMultiModeDrawArraysIBM",
  "glMultiModeDrawElementsIBM",
  "glMultiTexBufferEXT",
  "glMultiTexCoord1d",
  "glMultiTexCoord1dARB",
  "glMultiTexCoord1dv",
  "glMultiTexCoord1dvARB",
  "glMultiTexCoord1f",
  "glMultiTexCoord1fARB",
  "glMultiTexCoord1fv",
  "glMultiTexCoord1fvARB",
  "glMultiTexCoord1hNV",
  "glMultiTexCoord1hvNV",
  "glMultiTexCoord1i",
  "glMultiTexCoord1iARB",
  "glMultiTexCoord1iv",
  "glMultiTexCoord1ivARB",
  "glMultiTexCoord1s",
  "glMultiTexCoord1sARB",
  "glMultiTexCoord1sv",
  "glMultiTexCoord1svARB",
  "glMultiTexCoord2d",
  "glMultiTexCoord2dARB",
  "glMultiTexCoord2dv",
  "glMultiTexCoord2dvARB",
  "glMultiTexCoord2f",
  "glMultiTexCoord2fARB",
  "glMultiTexCoord2fv",
  "glMultiTexCoord2fvARB",
  "glMultiTexCoord2hNV",
  "glMultiTexCoord2hvNV",
  "glMultiTexCoord2i",
  "glMultiTexCoord2iARB",
  "glMultiTexCoord2iv",
  "glMultiTexCoord2ivARB",
  "glMultiTexCoord2s",
  "glMultiTexCoord2sARB",
  "glMultiTexCoord2sv",
  "glMultiTexCoord2svARB",
  "glMultiTexCoord3d",
  "glMultiTexCoord3dARB",
  "glMultiTexCoord3dv",
  "glMultiTexCoord3dvARB",
  "glMultiTexCoord3f",
  "glMultiTexCoord3fARB",
  "glMultiTexCoord3fv",
  "glMultiTexCoord3fvARB",
  "glMultiTexCoord3hNV",
  "glMultiTexCoord3hvNV",
  "glMultiTexCoord3i",
  "glMultiTexCoord3iARB",
  "glMultiTexCoord3iv",
  "glMultiTexCoord3ivARB",
  "glMultiTexCoord3s",
  "glMultiTexCoord3sARB",
  "glMultiTexCoord3sv",
  "glMultiTexCoord3svARB",
  "glMultiTexCoord4d",
  "glMultiTexCoord4dARB",
  "glMultiTexCoord4dv",
  "glMultiTexCoord4dvARB",
  "glMultiTexCoord4f",
  "glMultiTexCoord4fARB",
  "glMultiTexCoord4fv",
  "glMultiTexCoord4fvARB",
  "glMultiTexCoord4hNV",
  "glMultiTexCoord4hvNV",
  "glMultiTexCoord4i",
  "glMultiTexCoord4iARB",
  "glMultiTexCoord4iv",
  "glMultiTexCoord4ivARB",
  "glMultiTexCoord4s",
  "glMultiTexCoord4sARB",
  "glMultiTexCoord4sv",
  "glMultiTexCoord4svARB",
  "glMultiTexCoordP1ui",
  "glMultiTexCoordP1uiv",
  "glMultiTexCoordP2ui",
  "glMultiTexCoordP2uiv",
  "glMultiTexCoordP3ui",
  "glMultiTexCoordP3uiv",
  "glMultiTexCoordP4ui",
  "glMultiTexCoordP4uiv",
  "glMultiTexCoordPointerEXT",
  "glMultiTexEnvfEXT",
  "glMultiTexEnvfvEXT",
  "glMultiTexEnviEXT",
  "glMultiTexEnvivEXT",
  "glMultiTexGendEXT",
  "glMultiTexGendvEXT",
  "glMultiTexGenfEXT",
  "glMultiTexGenfvEXT",
  "glMultiTexGeniEXT",
  "glMultiTexGenivEXT",
  "glMultiTexImage1DEXT",
  "glMultiTexImage2DEXT",
  "glMultiTexImage3DEXT",
  "glMultiTexParameterIivEXT",
  "glMultiTexParameterIuivEXT",
  "glMultiTexParameterfEXT",
  "glMultiTexParameterfvEXT",
  "glMultiTexParameteriEXT",
  "glMultiTexParameterivEXT",
  "glMultiTexRenderbufferEXT",
  "glMultiTexSubImage1DEXT",
  "glMultiTexSubImage2DEXT",
  "glMultiTexSubImage3DEXT",
  "glNamedBufferDataEXT",
  "glNamedBufferSubDataEXT",
  "glNamedCopyBufferSubDataEXT",
  "glNamedFramebufferRenderbufferEXT",
  "glNamedFramebufferTexture1DEXT",
  "glNamedFramebufferTexture2DEXT",
  "glNamedFramebufferTexture3DEXT",
  "glNamedFramebufferTextureEXT",
  "glNamedFramebufferTextureFaceEXT",
  "glNamedFramebufferTextureLayerEXT",
  "glNamedProgramLocalParameter4dEXT",
  "glNamedProgramLocalParameter4dvEXT",
  "glNamedProgramLocalParameter4fEXT",
  "glNamedProgramLocalParameter4fvEXT",
  "glNamedProgramLocalParameterI4iEXT",
  "glNamedProgramLocalParameterI4ivEXT",
  "glNamedProgramLocalParameterI4uiEXT",
  "glNamedProgramLocalParameterI4uivEXT",
  "glNamedProgramLocalParameters4fvEXT",
  "glNamedProgramLocalParametersI4ivEXT",
  "glNamedProgramLocalParametersI4uivEXT",
  "glNamedProgramStringEXT",
  "glNamedRenderbufferStorageEXT",
  "glNamedRenderbufferStorageMultisampleCoverageEXT",
  "glNamedRenderbufferStorageMultisampleEXT",
  "glNamedStringARB",
  "glNewBufferRegionEXT",
  "glNewList",
  "glNewObjectBufferATI",
  "glNormal3b",
  "glNormal3bv",
  "glNormal3d",
  "glNormal3dv",
  "glNormal3f",
  "glNormal3fVertex3fSUN",
  "glNormal3fVertex3fvSUN",
  "glNormal3fv",
  "glNormal3hNV",
  "glNormal3hvNV",
  "glNormal3i",
  "glNormal3iv",
  "glNormal3s",
  "glNormal3sv",
  "glNormalFormatNV",
  "glNormalP3ui",
  "glNormalP3uiv",
  "glNormalPointer",
  "glNormalPointerEXT",
  "glNormalPointerListIBM",
  "glNormalPointervINTEL",
  "glNormalStream3bATI",
  "glNormalStream3bvATI",
  "glNormalStream3dATI",
  "glNormalStream3dvATI",
  "glNormalStream3fATI",
  "glNormalStream3fvATI",
  "glNormalStream3iATI",
  "glNormalStream3ivATI",
  "glNormalStream3sATI",
  "glNormalStream3svATI",
  "glObjectPurgeableAPPLE",
  "glObjectUnpurgeableAPPLE",
  "glOrtho",
  "glPNTrianglesfATI",
  "glPNTrianglesiATI",
  "glPassTexCoordATI",
  "glPassThrough",
  "glPatchParameterfv",
  "glPatchParameteri",
  "glPauseTransformFeedback",
  "glPauseTransformFeedbackNV",
  "glPixelDataRangeNV",
  "glPixelMapfv",
  "glPixelMapuiv",
  "glPixelMapusv",
  "glPixelStoref",
  "glPixelStorei",
  "glPixelTexGenParameterfSGIS",
  "glPixelTexGenParameterfvSGIS",
  "glPixelTexGenParameteriSGIS",
  "glPixelTexGenParameterivSGIS",
  "glPixelTexGenSGIX",
  "glPixelTransferf",
  "glPixelTransferi",
  "glPixelTransformParameterfEXT",
  "glPixelTransformParameterfvEXT",
  "glPixelTransformParameteriEXT",
  "glPixelTransformParameterivEXT",
  "glPixelZoom",
  "glPointParameterf",
  "glPointParameterfARB",
  "glPointParameterfEXT",
  "glPointParameterfSGIS",
  "glPointParameterfv",
  "glPointParameterfvARB",
  "glPointParameterfvEXT",
  "glPointParameterfvSGIS",
  "glPointParameteri",
  "glPointParameteriNV",
  "glPointParameteriv",
  "glPointParameterivNV",
  "glPointSize",
  "glPollAsyncSGIX",
  "glPollInstrumentsSGIX",
  "glPolygonMode",
  "glPolygonOffset",
  "glPolygonOffsetEXT",
  "glPolygonStipple",
  "glPopAttrib",
  "glPopClientAttrib",
  "glPopMatrix",
  "glPopName",
  "glPresentFrameDualFillNV",
  "glPresentFrameKeyedNV",
  "glPrimitiveRestartIndex",
  "glPrimitiveRestartIndexNV",
  "glPrimitiveRestartNV",
  "glPrioritizeTextures",
  "glPrioritizeTexturesEXT",
  "glProgramBinary",
  "glProgramBufferParametersIivNV",
  "glProgramBufferParametersIuivNV",
  "glProgramBufferParametersfvNV",
  "glProgramEnvParameter4dARB",
  "glProgramEnvParameter4dvARB",
  "glProgramEnvParameter4fARB",
  "glProgramEnvParameter4fvARB",
  "glProgramEnvParameterI4iNV",
  "glProgramEnvParameterI4ivNV",
  "glProgramEnvParameterI4uiNV",
  "glProgramEnvParameterI4uivNV",
  "glProgramEnvParameters4fvEXT",
  "glProgramEnvParametersI4ivNV",
  "glProgramEnvParametersI4uivNV",
  "glProgramLocalParameter4dARB",
  "glProgramLocalParameter4dvARB",
  "glProgramLocalParameter4fARB",
  "glProgramLocalParameter4fvARB",
  "glProgramLocalParameterI4iNV",
  "glProgramLocalParameterI4ivNV",
  "glProgramLocalParameterI4uiNV",
  "glProgramLocalParameterI4uivNV",
  "glProgramLocalParameters4fvEXT",
  "glProgramLocalParametersI4ivNV",
  "glProgramLocalParametersI4uivNV",
  "glProgramNamedParameter4dNV",
  "glProgramNamedParameter4dvNV",
  "glProgramNamedParameter4fNV",
  "glProgramNamedParameter4fvNV",
  "glProgramParameter4dNV",
  "glProgramParameter4dvNV",
  "glProgramParameter4fNV",
  "glProgramParameter4fvNV",
  "glProgramParameteri",
  "glProgramParameteriARB",
  "glProgramParameteriEXT",
  "glProgramParameters4dvNV",
  "glProgramParameters4fvNV",
  "glProgramStringARB",
  "glProgramUniform1d",
  "glProgramUniform1dEXT",
  "glProgramUniform1dv",
  "glProgramUniform1dvEXT",
  "glProgramUniform1f",
  "glProgramUniform1fEXT",
  "glProgramUniform1fv",
  "glProgramUniform1fvEXT",
  "glProgramUniform1i",
  "glProgramUniform1i64NV",
  "glProgramUniform1i64vNV",
  "glProgramUniform1iEXT",
  "glProgramUniform1iv",
  "glProgramUniform1ivEXT",
  "glProgramUniform1ui",
  "glProgramUniform1ui64NV",
  "glProgramUniform1ui64vNV",
  "glProgramUniform1uiEXT",
  "glProgramUniform1uiv",
  "glProgramUniform1uivEXT",
  "glProgramUniform2d",
  "glProgramUniform2dEXT",
  "glProgramUniform2dv",
  "glProgramUniform2dvEXT",
  "glProgramUniform2f",
  "glProgramUniform2fEXT",
  "glProgramUniform2fv",
  "glProgramUniform2fvEXT",
  "glProgramUniform2i",
  "glProgramUniform2i64NV",
  "glProgramUniform2i64vNV",
  "glProgramUniform2iEXT",
  "glProgramUniform2iv",
  "glProgramUniform2ivEXT",
  "glProgramUniform2ui",
  "glProgramUniform2ui64NV",
  "glProgramUniform2ui64vNV",
  "glProgramUniform2uiEXT",
  "glProgramUniform2uiv",
  "glProgramUniform2uivEXT",
  "glProgramUniform3d",
  "glProgramUniform3dEXT",
  "glProgramUniform3dv",
  "glProgramUniform3dvEXT",
  "glProgramUniform3f",
  "glProgramUniform3fEXT",
  "glProgramUniform3fv",
  "glProgramUniform3fvEXT",
  "glProgramUniform3i",
  "glProgramUniform3i64NV",
  "glProgramUniform3i64vNV",
  "glProgramUniform3iEXT",
  "glProgramUniform3iv",
  "glProgramUniform3ivEXT",
  "glProgramUniform3ui",
  "glProgramUniform3ui64NV",
  "glProgramUniform3ui64vNV",
  "glProgramUniform3uiEXT",
  "glProgramUniform3uiv",
  "glProgramUniform3uivEXT",
  "glProgramUniform4d",
  "glProgramUniform4dEXT",
  "glProgramUniform4dv",
  "glProgramUniform4dvEXT",
  "glProgramUniform4f",
  "glProgramUniform4fEXT",
  "glProgramUniform4fv",
  "glProgramUniform4fvEXT",
  "glProgramUniform4i",
  "glProgramUniform4i64NV",
  "glProgramUniform4i64vNV",
  "glProgramUniform4iEXT",
  "glProgramUniform4iv",
  "glProgramUniform4ivEXT",
  "glProgramUniform4ui",
  "glProgramUniform4ui64NV",
  "glProgramUniform4ui64vNV",
  "glProgramUniform4uiEXT",
  "glProgramUniform4uiv",
  "glProgramUniform4uivEXT",
  "glProgramUniformMatrix2dv",
  "glProgramUniformMatrix2dvEXT",
  "glProgramUniformMatrix2fv",
  "glProgramUniformMatrix2fvEXT",
  "glProgramUniformMatrix2x3dv",
  "glProgramUniformMatrix2x3dvEXT",
  "glProgramUniformMatrix2x3fv",
  "glProgramUniformMatrix2x3fvEXT",
  "glProgramUniformMatrix2x4dv",
  "glProgramUniformMatrix2x4dvEXT",
  "glProgramUniformMatrix2x4fv",
  "glProgramUniformMatrix2x4fvEXT",
  "glProgramUniformMatrix3dv",
  "glProgramUniformMatrix3dvEXT",
  "glProgramUniformMatrix3fv",
  "glProgramUniformMatrix3fvEXT",
  "glProgramUniformMatrix3x2dv",
  "glProgramUniformMatrix3x2dvEXT",
  "glProgramUniformMatrix3x2fv",
  "glProgramUniformMatrix3x2fvEXT",
  "glProgramUniformMatrix3x4dv",
  "glProgramUniformMatrix3x4dvEXT",
  "glProgramUniformMatrix3x4fv",
  "glProgramUniformMatrix3x4fvEXT",
  "glProgramUniformMatrix4dv",
  "glProgramUniformMatrix4dvEXT",
  "glProgramUniformMatrix4fv",
  "glProgramUniformMatrix4fvEXT",
  "glProgramUniformMatrix4x2dv",
  "glProgramUniformMatrix4x2dvEXT",
  "glProgramUniformMatrix4x2fv",
  "glProgramUniformMatrix4x2fvEXT",
  "glProgramUniformMatrix4x3dv",
  "glProgramUniformMatrix4x3dvEXT",
  "glProgramUniformMatrix4x3fv",
  "glProgramUniformMatrix4x3fvEXT",
  "glProgramUniformui64NV",
  "glProgramUniformui64vNV",
  "glProgramVertexLimitNV",
  "glProvokingVertex",
  "glProvokingVertexEXT",
  "glPushAttrib",
  "glPushClientAttrib",
  "glPushClientAttribDefaultEXT",
  "glPushMatrix",
  "glPushName",
  "glQueryCounter",
  "glRasterPos2d",
  "glRasterPos2dv",
  "glRasterPos2f",
  "glRasterPos2fv",
  "glRasterPos2i",
  "glRasterPos2iv",
  "glRasterPos2s",
  "glRasterPos2sv",
  "glRasterPos3d",
  "glRasterPos3dv",
  "glRasterPos3f",
  "glRasterPos3fv",
  "glRasterPos3i",
  "glRasterPos3iv",
  "glRasterPos3s",
  "glRasterPos3sv",
  "glRasterPos4d",
  "glRasterPos4dv",
  "glRasterPos4f",
  "glRasterPos4fv",
  "glRasterPos4i",
  "glRasterPos4iv",
  "glRasterPos4s",
  "glRasterPos4sv",
  "glReadBuffer",
  "glReadBufferRegionEXT",
  "glReadInstrumentsSGIX",
  "glReadPixels",
  "glReadnPixelsARB",
  "glRectd",
  "glRectdv",
  "glRectf",
  "glRectfv",
  "glRecti",
  "glRectiv",
  "glRects",
  "glRectsv",
  "glReferencePlaneSGIX",
  "glReleaseShaderCompiler",
  "glRenderMode",
  "glRenderbufferStorage",
  "glRenderbufferStorageEXT",
  "glRenderbufferStorageMultisample",
  "glRenderbufferStorageMultisampleCoverageNV",
  "glRenderbufferStorageMultisampleEXT",
  "glReplacementCodePointerSUN",
  "glReplacementCodeubSUN",
  "glReplacementCodeubvSUN",
  "glReplacementCodeuiColor3fVertex3fSUN",
  "glReplacementCodeuiColor3fVertex3fvSUN",
  "glReplacementCodeuiColor4fNormal3fVertex3fSUN",
  "glReplacementCodeuiColor4fNormal3fVertex3fvSUN",
  "glReplacementCodeuiColor4ubVertex3fSUN",
  "glReplacementCodeuiColor4ubVertex3fvSUN",
  "glReplacementCodeuiNormal3fVertex3fSUN",
  "glReplacementCodeuiNormal3fVertex3fvSUN",
  "glReplacementCodeuiSUN",
  "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN",
  "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN",
  "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN",
  "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN",
  "glReplacementCodeuiTexCoord2fVertex3fSUN",
  "glReplacementCodeuiTexCoord2fVertex3fvSUN",
  "glReplacementCodeuiVertex3fSUN",
  "glReplacementCodeuiVertex3fvSUN",
  "glReplacementCodeuivSUN",
  "glReplacementCodeusSUN",
  "glReplacementCodeusvSUN",
  "glRequestResidentProgramsNV",
  "glResetHistogram",
  "glResetHistogramEXT",
  "glResetMinmax",
  "glResetMinmaxEXT",
  "glResizeBuffersMESA",
  "glResumeTransformFeedback",
  "glResumeTransformFeedbackNV",
  "glRotated",
  "glRotatef",
  "glSampleCoverage",
  "glSampleCoverageARB",
  "glSampleMapATI",
  "glSampleMaskEXT",
  "glSampleMaskIndexedNV",
  "glSampleMaskSGIS",
  "glSampleMaski",
  "glSamplePatternEXT",
  "glSamplePatternSGIS",
  "glSamplerParameterIiv",
  "glSamplerParameterIuiv",
  "glSamplerParameterf",
  "glSamplerParameterfv",
  "glSamplerParameteri",
  "glSamplerParameteriv",
  "glScaled",
  "glScalef",
  "glScissor",
  "glScissorArrayv",
  "glScissorIndexed",
  "glScissorIndexedv",
  "glSecondaryColor3b",
  "glSecondaryColor3bEXT",
  "glSecondaryColor3bv",
  "glSecondaryColor3bvEXT",
  "glSecondaryColor3d",
  "glSecondaryColor3dEXT",
  "glSecondaryColor3dv",
  "glSecondaryColor3dvEXT",
  "glSecondaryColor3f",
  "glSecondaryColor3fEXT",
  "glSecondaryColor3fv",
  "glSecondaryColor3fvEXT",
  "glSecondaryColor3hNV",
  "glSecondaryColor3hvNV",
  "glSecondaryColor3i",
  "glSecondaryColor3iEXT",
  "glSecondaryColor3iv",
  "glSecondaryColor3ivEXT",
  "glSecondaryColor3s",
  "glSecondaryColor3sEXT",
  "glSecondaryColor3sv",
  "glSecondaryColor3svEXT",
  "glSecondaryColor3ub",
  "glSecondaryColor3ubEXT",
  "glSecondaryColor3ubv",
  "glSecondaryColor3ubvEXT",
  "glSecondaryColor3ui",
  "glSecondaryColor3uiEXT",
  "glSecondaryColor3uiv",
  "glSecondaryColor3uivEXT",
  "glSecondaryColor3us",
  "glSecondaryColor3usEXT",
  "glSecondaryColor3usv",
  "glSecondaryColor3usvEXT",
  "glSecondaryColorFormatNV",
  "glSecondaryColorP3ui",
  "glSecondaryColorP3uiv",
  "glSecondaryColorPointer",
  "glSecondaryColorPointerEXT",
  "glSecondaryColorPointerListIBM",
  "glSelectBuffer",
  "glSelectPerfMonitorCountersAMD",
  "glSeparableFilter2D",
  "glSeparableFilter2DEXT",
  "glSetFenceAPPLE",
  "glSetFenceNV",
  "glSetFragmentShaderConstantATI",
  "glSetInvariantEXT",
  "glSetLocalConstantEXT",
  "glShadeModel",
  "glShaderBinary",
  "glShaderOp1EXT",
  "glShaderOp2EXT",
  "glShaderOp3EXT",
  "glShaderSource",
  "glShaderSourceARB",
  "glSharpenTexFuncSGIS",
  "glSpriteParameterfSGIX",
  "glSpriteParameterfvSGIX",
  "glSpriteParameteriSGIX",
  "glSpriteParameterivSGIX",
  "glStartInstrumentsSGIX",
  "glStencilClearTagEXT",
  "glStencilFunc",
  "glStencilFuncSeparate",
  "glStencilFuncSeparateATI",
  "glStencilMask",
  "glStencilMaskSeparate",
  "glStencilOp",
  "glStencilOpSeparate",
  "glStencilOpSeparateATI",
  "glStopInstrumentsSGIX",
  "glStringMarkerGREMEDY",
  "glSwizzleEXT",
  "glTagSampleBufferSGIX",
  "glTangent3bEXT",
  "glTangent3bvEXT",
  "glTangent3dEXT",
  "glTangent3dvEXT",
  "glTangent3fEXT",
  "glTangent3fvEXT",
  "glTangent3iEXT",
  "glTangent3ivEXT",
  "glTangent3sEXT",
  "glTangent3svEXT",
  "glTangentPointerEXT",
  "glTbufferMask3DFX",
  "glTessellationFactorAMD",
  "glTessellationModeAMD",
  "glTestFenceAPPLE",
  "glTestFenceNV",
  "glTestObjectAPPLE",
  "glTexBuffer",
  "glTexBufferARB",
  "glTexBufferEXT",
  "glTexBumpParameterfvATI",
  "glTexBumpParameterivATI",
  "glTexCoord1d",
  "glTexCoord1dv",
  "glTexCoord1f",
  "glTexCoord1fv",
  "glTexCoord1hNV",
  "glTexCoord1hvNV",
  "glTexCoord1i",
  "glTexCoord1iv",
  "glTexCoord1s",
  "glTexCoord1sv",
  "glTexCoord2d",
  "glTexCoord2dv",
  "glTexCoord2f",
  "glTexCoord2fColor3fVertex3fSUN",
  "glTexCoord2fColor3fVertex3fvSUN",
  "glTexCoord2fColor4fNormal3fVertex3fSUN",
  "glTexCoord2fColor4fNormal3fVertex3fvSUN",
  "glTexCoord2fColor4ubVertex3fSUN",
  "glTexCoord2fColor4ubVertex3fvSUN",
  "glTexCoord2fNormal3fVertex3fSUN",
  "glTexCoord2fNormal3fVertex3fvSUN",
  "glTexCoord2fVertex3fSUN",
  "glTexCoord2fVertex3fvSUN",
  "glTexCoord2fv",
  "glTexCoord2hNV",
  "glTexCoord2hvNV",
  "glTexCoord2i",
  "glTexCoord2iv",
  "glTexCoord2s",
  "glTexCoord2sv",
  "glTexCoord3d",
  "glTexCoord3dv",
  "glTexCoord3f",
  "glTexCoord3fv",
  "glTexCoord3hNV",
  "glTexCoord3hvNV",
  "glTexCoord3i",
  "glTexCoord3iv",
  "glTexCoord3s",
  "glTexCoord3sv",
  "glTexCoord4d",
  "glTexCoord4dv",
  "glTexCoord4f",
  "glTexCoord4fColor4fNormal3fVertex4fSUN",
  "glTexCoord4fColor4fNormal3fVertex4fvSUN",
  "glTexCoord4fVertex4fSUN",
  "glTexCoord4fVertex4fvSUN",
  "glTexCoord4fv",
  "glTexCoord4hNV",
  "glTexCoord4hvNV",
  "glTexCoord4i",
  "glTexCoord4iv",
  "glTexCoord4s",
  "glTexCoord4sv",
  "glTexCoordFormatNV",
  "glTexCoordP1ui",
  "glTexCoordP1uiv",
  "glTexCoordP2ui",
  "glTexCoordP2uiv",
  "glTexCoordP3ui",
  "glTexCoordP3uiv",
  "glTexCoordP4ui",
  "glTexCoordP4uiv",
  "glTexCoordPointer",
  "glTexCoordPointerEXT",
  "glTexCoordPointerListIBM",
  "glTexCoordPointervINTEL",
  "glTexEnvf",
  "glTexEnvfv",
  "glTexEnvi",
  "glTexEnviv",
  "glTexFilterFuncSGIS",
  "glTexGend",
  "glTexGendv",
  "glTexGenf",
  "glTexGenfv",
  "glTexGeni",
  "glTexGeniv",
  "glTexImage1D",
  "glTexImage2D",
  "glTexImage2DMultisample",
  "glTexImage3D",
  "glTexImage3DEXT",
  "glTexImage3DMultisample",
  "glTexImage4DSGIS",
  "glTexParameterIiv",
  "glTexParameterIivEXT",
  "glTexParameterIuiv",
  "glTexParameterIuivEXT",
  "glTexParameterf",
  "glTexParameterfv",
  "glTexParameteri",
  "glTexParameteriv",
  "glTexRenderbufferNV",
  "glTexSubImage1D",
  "glTexSubImage1DEXT",
  "glTexSubImage2D",
  "glTexSubImage2DEXT",
  "glTexSubImage3D",
  "glTexSubImage3DEXT",
  "glTexSubImage4DSGIS",
  "glTextureBarrierNV",
  "glTextureBufferEXT",
  "glTextureColorMaskSGIS",
  "glTextureFogSGIX",
  "glTextureImage1DEXT",
  "glTextureImage2DEXT",
  "glTextureImage3DEXT",
  "glTextureLightEXT",
  "glTextureMaterialEXT",
  "glTextureNormalEXT",
  "glTextureParameterIivEXT",
  "glTextureParameterIuivEXT",
  "glTextureParameterfEXT",
  "glTextureParameterfvEXT",
  "glTextureParameteriEXT",
  "glTextureParameterivEXT",
  "glTextureRangeAPPLE",
  "glTextureRenderbufferEXT",
  "glTextureSubImage1DEXT",
  "glTextureSubImage2DEXT",
  "glTextureSubImage3DEXT",
  "glTrackMatrixNV",
  "glTransformFeedbackAttribsNV",
  "glTransformFeedbackVaryings",
  "glTransformFeedbackVaryingsEXT",
  "glTransformFeedbackVaryingsNV",
  "glTranslated",
  "glTranslatef",
  "glUniform1d",
  "glUniform1dv",
  "glUniform1f",
  "glUniform1fARB",
  "glUniform1fv",
  "glUniform1fvARB",
  "glUniform1i",
  "glUniform1i64NV",
  "glUniform1i64vNV",
  "glUniform1iARB",
  "glUniform1iv",
  "glUniform1ivARB",
  "glUniform1ui",
  "glUniform1ui64NV",
  "glUniform1ui64vNV",
  "glUniform1uiEXT",
  "glUniform1uiv",
  "glUniform1uivEXT",
  "glUniform2d",
  "glUniform2dv",
  "glUniform2f",
  "glUniform2fARB",
  "glUniform2fv",
  "glUniform2fvARB",
  "glUniform2i",
  "glUniform2i64NV",
  "glUniform2i64vNV",
  "glUniform2iARB",
  "glUniform2iv",
  "glUniform2ivARB",
  "glUniform2ui",
  "glUniform2ui64NV",
  "glUniform2ui64vNV",
  "glUniform2uiEXT",
  "glUniform2uiv",
  "glUniform2uivEXT",
  "glUniform3d",
  "glUniform3dv",
  "glUniform3f",
  "glUniform3fARB",
  "glUniform3fv",
  "glUniform3fvARB",
  "glUniform3i",
  "glUniform3i64NV",
  "glUniform3i64vNV",
  "glUniform3iARB",
  "glUniform3iv",
  "glUniform3ivARB",
  "glUniform3ui",
  "glUniform3ui64NV",
  "glUniform3ui64vNV",
  "glUniform3uiEXT",
  "glUniform3uiv",
  "glUniform3uivEXT",
  "glUniform4d",
  "glUniform4dv",
  "glUniform4f",
  "glUniform4fARB",
  "glUniform4fv",
  "glUniform4fvARB",
  "glUniform4i",
  "glUniform4i64NV",
  "glUniform4i64vNV",
  "glUniform4iARB",
  "glUniform4iv",
  "glUniform4ivARB",
  "glUniform4ui",
  "glUniform4ui64NV",
  "glUniform4ui64vNV",
  "glUniform4uiEXT",
  "glUniform4uiv",
  "glUniform4uivEXT",
  "glUniformBlockBinding",
  "glUniformBufferEXT",
  "glUniformMatrix2dv",
  "glUniformMatrix2fv",
  "glUniformMatrix2fvARB",
  "glUniformMatrix2x3dv",
  "glUniformMatrix2x3fv",
  "glUniformMatrix2x4dv",
  "glUniformMatrix2x4fv",
  "glUniformMatrix3dv",
  "glUniformMatrix3fv",
  "glUniformMatrix3fvARB",
  "glUniformMatrix3x2dv",
  "glUniformMatrix3x2fv",
  "glUniformMatrix3x4dv",
  "glUniformMatrix3x4fv",
  "glUniformMatrix4dv",
  "glUniformMatrix4fv",
  "glUniformMatrix4fvARB",
  "glUniformMatrix4x2dv",
  "glUniformMatrix4x2fv",
  "glUniformMatrix4x3dv",
  "glUniformMatrix4x3fv",
  "glUniformSubroutinesuiv",
  "glUniformui64NV",
  "glUniformui64vNV",
  "glUnlockArraysEXT",
  "glUnmapBuffer",
  "glUnmapBufferARB",
  "glUnmapNamedBufferEXT",
  "glUnmapObjectBufferATI",
  "glUpdateObjectBufferATI",
  "glUseProgram",
  "glUseProgramObjectARB",
  "glUseProgramStages",
  "glUseShaderProgramEXT",
  "glVDPAUFiniNV",
  "glVDPAUGetSurfaceivNV",
  "glVDPAUInitNV",
  "glVDPAUIsSurfaceNV",
  "glVDPAUMapSurfacesNV",
  "glVDPAURegisterOutputSurfaceNV",
  "glVDPAURegisterVideoSurfaceNV",
  "glVDPAUSurfaceAccessNV",
  "glVDPAUUnmapSurfacesNV",
  "glVDPAUUnregisterSurfaceNV",
  "glValidateProgram",
  "glValidateProgramARB",
  "glValidateProgramPipeline",
  "glVariantArrayObjectATI",
  "glVariantPointerEXT",
  "glVariantbvEXT",
  "glVariantdvEXT",
  "glVariantfvEXT",
  "glVariantivEXT",
  "glVariantsvEXT",
  "glVariantubvEXT",
  "glVariantuivEXT",
  "glVariantusvEXT",
  "glVertex2d",
  "glVertex2dv",
  "glVertex2f",
  "glVertex2fv",
  "glVertex2hNV",
  "glVertex2hvNV",
  "glVertex2i",
  "glVertex2iv",
  "glVertex2s",
  "glVertex2sv",
  "glVertex3d",
  "glVertex3dv",
  "glVertex3f",
  "glVertex3fv",
  "glVertex3hNV",
  "glVertex3hvNV",
  "glVertex3i",
  "glVertex3iv",
  "glVertex3s",
  "glVertex3sv",
  "glVertex4d",
  "glVertex4dv",
  "glVertex4f",
  "glVertex4fv",
  "glVertex4hNV",
  "glVertex4hvNV",
  "glVertex4i",
  "glVertex4iv",
  "glVertex4s",
  "glVertex4sv",
  "glVertexArrayParameteriAPPLE",
  "glVertexArrayRangeAPPLE",
  "glVertexArrayRangeNV",
  "glVertexArrayVertexAttribLOffsetEXT",
  "glVertexAttrib1d",
  "glVertexAttrib1dARB",
  "glVertexAttrib1dNV",
  "glVertexAttrib1dv",
  "glVertexAttrib1dvARB",
  "glVertexAttrib1dvNV",
  "glVertexAttrib1f",
  "glVertexAttrib1fARB",
  "glVertexAttrib1fNV",
  "glVertexAttrib1fv",
  "glVertexAttrib1fvARB",
  "glVertexAttrib1fvNV",
  "glVertexAttrib1hNV",
  "glVertexAttrib1hvNV",
  "glVertexAttrib1s",
  "glVertexAttrib1sARB",
  "glVertexAttrib1sNV",
  "glVertexAttrib1sv",
  "glVertexAttrib1svARB",
  "glVertexAttrib1svNV",
  "glVertexAttrib2d",
  "glVertexAttrib2dARB",
  "glVertexAttrib2dNV",
  "glVertexAttrib2dv",
  "glVertexAttrib2dvARB",
  "glVertexAttrib2dvNV",
  "glVertexAttrib2f",
  "glVertexAttrib2fARB",
  "glVertexAttrib2fNV",
  "glVertexAttrib2fv",
  "glVertexAttrib2fvARB",
  "glVertexAttrib2fvNV",
  "glVertexAttrib2hNV",
  "glVertexAttrib2hvNV",
  "glVertexAttrib2s",
  "glVertexAttrib2sARB",
  "glVertexAttrib2sNV",
  "glVertexAttrib2sv",
  "glVertexAttrib2svARB",
  "glVertexAttrib2svNV",
  "glVertexAttrib3d",
  "glVertexAttrib3dARB",
  "glVertexAttrib3dNV",
  "glVertexAttrib3dv",
  "glVertexAttrib3dvARB",
  "glVertexAttrib3dvNV",
  "glVertexAttrib3f",
  "glVertexAttrib3fARB",
  "glVertexAttrib3fNV",
  "glVertexAttrib3fv",
  "glVertexAttrib3fvARB",
  "glVertexAttrib3fvNV",
  "glVertexAttrib3hNV",
  "glVertexAttrib3hvNV",
  "glVertexAttrib3s",
  "glVertexAttrib3sARB",
  "glVertexAttrib3sNV",
  "glVertexAttrib3sv",
  "glVertexAttrib3svARB",
  "glVertexAttrib3svNV",
  "glVertexAttrib4Nbv",
  "glVertexAttrib4NbvARB",
  "glVertexAttrib4Niv",
  "glVertexAttrib4NivARB",
  "glVertexAttrib4Nsv",
  "glVertexAttrib4NsvARB",
  "glVertexAttrib4Nub",
  "glVertexAttrib4NubARB",
  "glVertexAttrib4Nubv",
  "glVertexAttrib4NubvARB",
  "glVertexAttrib4Nuiv",
  "glVertexAttrib4NuivARB",
  "glVertexAttrib4Nusv",
  "glVertexAttrib4NusvARB",
  "glVertexAttrib4bv",
  "glVertexAttrib4bvARB",
  "glVertexAttrib4d",
  "glVertexAttrib4dARB",
  "glVertexAttrib4dNV",
  "glVertexAttrib4dv",
  "glVertexAttrib4dvARB",
  "glVertexAttrib4dvNV",
  "glVertexAttrib4f",
  "glVertexAttrib4fARB",
  "glVertexAttrib4fNV",
  "glVertexAttrib4fv",
  "glVertexAttrib4fvARB",
  "glVertexAttrib4fvNV",
  "glVertexAttrib4hNV",
  "glVertexAttrib4hvNV",
  "glVertexAttrib4iv",
  "glVertexAttrib4ivARB",
  "glVertexAttrib4s",
  "glVertexAttrib4sARB",
  "glVertexAttrib4sNV",
  "glVertexAttrib4sv",
  "glVertexAttrib4svARB",
  "glVertexAttrib4svNV",
  "glVertexAttrib4ubNV",
  "glVertexAttrib4ubv",
  "glVertexAttrib4ubvARB",
  "glVertexAttrib4ubvNV",
  "glVertexAttrib4uiv",
  "glVertexAttrib4uivARB",
  "glVertexAttrib4usv",
  "glVertexAttrib4usvARB",
  "glVertexAttribArrayObjectATI",
  "glVertexAttribDivisor",
  "glVertexAttribDivisorARB",
  "glVertexAttribFormatNV",
  "glVertexAttribI1i",
  "glVertexAttribI1iEXT",
  "glVertexAttribI1iv",
  "glVertexAttribI1ivEXT",
  "glVertexAttribI1ui",
  "glVertexAttribI1uiEXT",
  "glVertexAttribI1uiv",
  "glVertexAttribI1uivEXT",
  "glVertexAttribI2i",
  "glVertexAttribI2iEXT",
  "glVertexAttribI2iv",
  "glVertexAttribI2ivEXT",
  "glVertexAttribI2ui",
  "glVertexAttribI2uiEXT",
  "glVertexAttribI2uiv",
  "glVertexAttribI2uivEXT",
  "glVertexAttribI3i",
  "glVertexAttribI3iEXT",
  "glVertexAttribI3iv",
  "glVertexAttribI3ivEXT",
  "glVertexAttribI3ui",
  "glVertexAttribI3uiEXT",
  "glVertexAttribI3uiv",
  "glVertexAttribI3uivEXT",
  "glVertexAttribI4bv",
  "glVertexAttribI4bvEXT",
  "glVertexAttribI4i",
  "glVertexAttribI4iEXT",
  "glVertexAttribI4iv",
  "glVertexAttribI4ivEXT",
  "glVertexAttribI4sv",
  "glVertexAttribI4svEXT",
  "glVertexAttribI4ubv",
  "glVertexAttribI4ubvEXT",
  "glVertexAttribI4ui",
  "glVertexAttribI4uiEXT",
  "glVertexAttribI4uiv",
  "glVertexAttribI4uivEXT",
  "glVertexAttribI4usv",
  "glVertexAttribI4usvEXT",
  "glVertexAttribIFormatNV",
  "glVertexAttribIPointer",
  "glVertexAttribIPointerEXT",
  "glVertexAttribL1d",
  "glVertexAttribL1dEXT",
  "glVertexAttribL1dv",
  "glVertexAttribL1dvEXT",
  "glVertexAttribL1i64NV",
  "glVertexAttribL1i64vNV",
  "glVertexAttribL1ui64NV",
  "glVertexAttribL1ui64vNV",
  "glVertexAttribL2d",
  "glVertexAttribL2dEXT",
  "glVertexAttribL2dv",
  "glVertexAttribL2dvEXT",
  "glVertexAttribL2i64NV",
  "glVertexAttribL2i64vNV",
  "glVertexAttribL2ui64NV",
  "glVertexAttribL2ui64vNV",
  "glVertexAttribL3d",
  "glVertexAttribL3dEXT",
  "glVertexAttribL3dv",
  "glVertexAttribL3dvEXT",
  "glVertexAttribL3i64NV",
  "glVertexAttribL3i64vNV",
  "glVertexAttribL3ui64NV",
  "glVertexAttribL3ui64vNV",
  "glVertexAttribL4d",
  "glVertexAttribL4dEXT",
  "glVertexAttribL4dv",
  "glVertexAttribL4dvEXT",
  "glVertexAttribL4i64NV",
  "glVertexAttribL4i64vNV",
  "glVertexAttribL4ui64NV",
  "glVertexAttribL4ui64vNV",
  "glVertexAttribLFormatNV",
  "glVertexAttribLPointer",
  "glVertexAttribLPointerEXT",
  "glVertexAttribP1ui",
  "glVertexAttribP1uiv",
  "glVertexAttribP2ui",
  "glVertexAttribP2uiv",
  "glVertexAttribP3ui",
  "glVertexAttribP3uiv",
  "glVertexAttribP4ui",
  "glVertexAttribP4uiv",
  "glVertexAttribPointer",
  "glVertexAttribPointerARB",
  "glVertexAttribPointerNV",
  "glVertexAttribs1dvNV",
  "glVertexAttribs1fvNV",
  "glVertexAttribs1hvNV",
  "glVertexAttribs1svNV",
  "glVertexAttribs2dvNV",
  "glVertexAttribs2fvNV",
  "glVertexAttribs2hvNV",
  "glVertexAttribs2svNV",
  "glVertexAttribs3dvNV",
  "glVertexAttribs3fvNV",
  "glVertexAttribs3hvNV",
  "glVertexAttribs3svNV",
  "glVertexAttribs4dvNV",
  "glVertexAttribs4fvNV",
  "glVertexAttribs4hvNV",
  "glVertexAttribs4svNV",
  "glVertexAttribs4ubvNV",
  "glVertexBlendARB",
  "glVertexBlendEnvfATI",
  "glVertexBlendEnviATI",
  "glVertexFormatNV",
  "glVertexP2ui",
  "glVertexP2uiv",
  "glVertexP3ui",
  "glVertexP3uiv",
  "glVertexP4ui",
  "glVertexP4uiv",
  "glVertexPointer",
  "glVertexPointerEXT",
  "glVertexPointerListIBM",
  "glVertexPointervINTEL",
  "glVertexStream1dATI",
  "glVertexStream1dvATI",
  "glVertexStream1fATI",
  "glVertexStream1fvATI",
  "glVertexStream1iATI",
  "glVertexStream1ivATI",
  "glVertexStream1sATI",
  "glVertexStream1svATI",
  "glVertexStream2dATI",
  "glVertexStream2dvATI",
  "glVertexStream2fATI",
  "glVertexStream2fvATI",
  "glVertexStream2iATI",
  "glVertexStream2ivATI",
  "glVertexStream2sATI",
  "glVertexStream2svATI",
  "glVertexStream3dATI",
  "glVertexStream3dvATI",
  "glVertexStream3fATI",
  "glVertexStream3fvATI",
  "glVertexStream3iATI",
  "glVertexStream3ivATI",
  "glVertexStream3sATI",
  "glVertexStream3svATI",
  "glVertexStream4dATI",
  "glVertexStream4dvATI",
  "glVertexStream4fATI",
  "glVertexStream4fvATI",
  "glVertexStream4iATI",
  "glVertexStream4ivATI",
  "glVertexStream4sATI",
  "glVertexStream4svATI",
  "glVertexWeightPointerEXT",
  "glVertexWeightfEXT",
  "glVertexWeightfvEXT",
  "glVertexWeighthNV",
  "glVertexWeighthvNV",
  "glVideoCaptureNV",
  "glVideoCaptureStreamParameterdvNV",
  "glVideoCaptureStreamParameterfvNV",
  "glVideoCaptureStreamParameterivNV",
  "glViewport",
  "glViewportArrayv",
  "glViewportIndexedf",
  "glViewportIndexedfv",
  "glWaitSync",
  "glWeightPointerARB",
  "glWeightbvARB",
  "glWeightdvARB",
  "glWeightfvARB",
  "glWeightivARB",
  "glWeightsvARB",
  "glWeightubvARB",
  "glWeightuivARB",
  "glWeightusvARB",
  "glWindowPos2d",
  "glWindowPos2dARB",
  "glWindowPos2dMESA",
  "glWindowPos2dv",
  "glWindowPos2dvARB",
  "glWindowPos2dvMESA",
  "glWindowPos2f",
  "glWindowPos2fARB",
  "glWindowPos2fMESA",
  "glWindowPos2fv",
  "glWindowPos2fvARB",
  "glWindowPos2fvMESA",
  "glWindowPos2i",
  "glWindowPos2iARB",
  "glWindowPos2iMESA",
  "glWindowPos2iv",
  "glWindowPos2ivARB",
  "glWindowPos2ivMESA",
  "glWindowPos2s",
  "glWindowPos2sARB",
  "glWindowPos2sMESA",
  "glWindowPos2sv",
  "glWindowPos2svARB",
  "glWindowPos2svMESA",
  "glWindowPos3d",
  "glWindowPos3dARB",
  "glWindowPos3dMESA",
  "glWindowPos3dv",
  "glWindowPos3dvARB",
  "glWindowPos3dvMESA",
  "glWindowPos3f",
  "glWindowPos3fARB",
  "glWindowPos3fMESA",
  "glWindowPos3fv",
  "glWindowPos3fvARB",
  "glWindowPos3fvMESA",
  "glWindowPos3i",
  "glWindowPos3iARB",
  "glWindowPos3iMESA",
  "glWindowPos3iv",
  "glWindowPos3ivARB",
  "glWindowPos3ivMESA",
  "glWindowPos3s",
  "glWindowPos3sARB",
  "glWindowPos3sMESA",
  "glWindowPos3sv",
  "glWindowPos3svARB",
  "glWindowPos3svMESA",
  "glWindowPos4dMESA",
  "glWindowPos4dvMESA",
  "glWindowPos4fMESA",
  "glWindowPos4fvMESA",
  "glWindowPos4iMESA",
  "glWindowPos4ivMESA",
  "glWindowPos4sMESA",
  "glWindowPos4svMESA",
  "glWriteMaskEXT",
  NULL
};

static void *traceGL_WrapperArray[2267] = {
  (void *) glAccum,
  (void *) glActiveProgramEXT,
  (void *) glActiveShaderProgram,
  (void *) glActiveStencilFaceEXT,
  (void *) glActiveTexture,
  (void *) glActiveTextureARB,
  (void *) glActiveVaryingNV,
  (void *) glAddSwapHintRectWIN,
  (void *) glAlphaFragmentOp1ATI,
  (void *) glAlphaFragmentOp2ATI,
  (void *) glAlphaFragmentOp3ATI,
  (void *) glAlphaFunc,
  (void *) glApplyTextureEXT,
  (void *) glAreProgramsResidentNV,
  (void *) glAreTexturesResident,
  (void *) glAreTexturesResidentEXT,
  (void *) glArrayElement,
  (void *) glArrayElementEXT,
  (void *) glArrayObjectATI,
  (void *) glAsyncMarkerSGIX,
  (void *) glAttachObjectARB,
  (void *) glAttachShader,
  (void *) glBegin,
  (void *) glBeginConditionalRender,
  (void *) glBeginConditionalRenderNV,
  (void *) glBeginFragmentShaderATI,
  (void *) glBeginOcclusionQueryNV,
  (void *) glBeginPerfMonitorAMD,
  (void *) glBeginQuery,
  (void *) glBeginQueryARB,
  (void *) glBeginQueryIndexed,
  (void *) glBeginTransformFeedback,
  (void *) glBeginTransformFeedbackEXT,
  (void *) glBeginTransformFeedbackNV,
  (void *) glBeginVertexShaderEXT,
  (void *) glBeginVideoCaptureNV,
  (void *) glBindAttribLocation,
  (void *) glBindAttribLocationARB,
  (void *) glBindBuffer,
  (void *) glBindBufferARB,
  (void *) glBindBufferBase,
  (void *) glBindBufferBaseEXT,
  (void *) glBindBufferBaseNV,
  (void *) glBindBufferOffsetEXT,
  (void *) glBindBufferOffsetNV,
  (void *) glBindBufferRange,
  (void *) glBindBufferRangeEXT,
  (void *) glBindBufferRangeNV,
  (void *) glBindFragDataLocation,
  (void *) glBindFragDataLocationEXT,
  (void *) glBindFragDataLocationIndexed,
  (void *) glBindFragmentShaderATI,
  (void *) glBindFramebuffer,
  (void *) glBindFramebufferEXT,
  (void *) glBindImageTextureEXT,
  (void *) glBindLightParameterEXT,
  (void *) glBindMaterialParameterEXT,
  (void *) glBindMultiTextureEXT,
  (void *) glBindParameterEXT,
  (void *) glBindProgramARB,
  (void *) glBindProgramNV,
  (void *) glBindProgramPipeline,
  (void *) glBindRenderbuffer,
  (void *) glBindRenderbufferEXT,
  (void *) glBindSampler,
  (void *) glBindTexGenParameterEXT,
  (void *) glBindTexture,
  (void *) glBindTextureEXT,
  (void *) glBindTextureUnitParameterEXT,
  (void *) glBindTransformFeedback,
  (void *) glBindTransformFeedbackNV,
  (void *) glBindVertexArray,
  (void *) glBindVertexArrayAPPLE,
  (void *) glBindVertexShaderEXT,
  (void *) glBindVideoCaptureStreamBufferNV,
  (void *) glBindVideoCaptureStreamTextureNV,
  (void *) glBinormal3bEXT,
  (void *) glBinormal3bvEXT,
  (void *) glBinormal3dEXT,
  (void *) glBinormal3dvEXT,
  (void *) glBinormal3fEXT,
  (void *) glBinormal3fvEXT,
  (void *) glBinormal3iEXT,
  (void *) glBinormal3ivEXT,
  (void *) glBinormal3sEXT,
  (void *) glBinormal3svEXT,
  (void *) glBinormalPointerEXT,
  (void *) glBitmap,
  (void *) glBlendColor,
  (void *) glBlendColorEXT,
  (void *) glBlendEquation,
  (void *) glBlendEquationEXT,
  (void *) glBlendEquationIndexedAMD,
  (void *) glBlendEquationSeparate,
  (void *) glBlendEquationSeparateEXT,
  (void *) glBlendEquationSeparateIndexedAMD,
  (void *) glBlendEquationSeparatei,
  (void *) glBlendEquationSeparateiARB,
  (void *) glBlendEquationi,
  (void *) glBlendEquationiARB,
  (void *) glBlendFunc,
  (void *) glBlendFuncIndexedAMD,
  (void *) glBlendFuncSeparate,
  (void *) glBlendFuncSeparateEXT,
  (void *) glBlendFuncSeparateINGR,
  (void *) glBlendFuncSeparateIndexedAMD,
  (void *) glBlendFuncSeparatei,
  (void *) glBlendFuncSeparateiARB,
  (void *) glBlendFunci,
  (void *) glBlendFunciARB,
  (void *) glBlitFramebuffer,
  (void *) glBlitFramebufferEXT,
  (void *) glBufferAddressRangeNV,
  (void *) glBufferData,
  (void *) glBufferDataARB,
  (void *) glBufferParameteriAPPLE,
  (void *) glBufferRegionEnabledEXT,
  (void *) glBufferSubData,
  (void *) glBufferSubDataARB,
  (void *) glCallList,
  (void *) glCallLists,
  (void *) glCheckFramebufferStatus,
  (void *) glCheckFramebufferStatusEXT,
  (void *) glCheckNamedFramebufferStatusEXT,
  (void *) glClampColor,
  (void *) glClampColorARB,
  (void *) glClear,
  (void *) glClearAccum,
  (void *) glClearBufferfi,
  (void *) glClearBufferfv,
  (void *) glClearBufferiv,
  (void *) glClearBufferuiv,
  (void *) glClearColor,
  (void *) glClearColorIiEXT,
  (void *) glClearColorIuiEXT,
  (void *) glClearDepth,
  (void *) glClearDepthdNV,
  (void *) glClearDepthf,
  (void *) glClearIndex,
  (void *) glClearStencil,
  (void *) glClientActiveTexture,
  (void *) glClientActiveTextureARB,
  (void *) glClientActiveVertexStreamATI,
  (void *) glClientAttribDefaultEXT,
  (void *) glClientWaitSync,
  (void *) glClipPlane,
  (void *) glColor3b,
  (void *) glColor3bv,
  (void *) glColor3d,
  (void *) glColor3dv,
  (void *) glColor3f,
  (void *) glColor3fVertex3fSUN,
  (void *) glColor3fVertex3fvSUN,
  (void *) glColor3fv,
  (void *) glColor3hNV,
  (void *) glColor3hvNV,
  (void *) glColor3i,
  (void *) glColor3iv,
  (void *) glColor3s,
  (void *) glColor3sv,
  (void *) glColor3ub,
  (void *) glColor3ubv,
  (void *) glColor3ui,
  (void *) glColor3uiv,
  (void *) glColor3us,
  (void *) glColor3usv,
  (void *) glColor4b,
  (void *) glColor4bv,
  (void *) glColor4d,
  (void *) glColor4dv,
  (void *) glColor4f,
  (void *) glColor4fNormal3fVertex3fSUN,
  (void *) glColor4fNormal3fVertex3fvSUN,
  (void *) glColor4fv,
  (void *) glColor4hNV,
  (void *) glColor4hvNV,
  (void *) glColor4i,
  (void *) glColor4iv,
  (void *) glColor4s,
  (void *) glColor4sv,
  (void *) glColor4ub,
  (void *) glColor4ubVertex2fSUN,
  (void *) glColor4ubVertex2fvSUN,
  (void *) glColor4ubVertex3fSUN,
  (void *) glColor4ubVertex3fvSUN,
  (void *) glColor4ubv,
  (void *) glColor4ui,
  (void *) glColor4uiv,
  (void *) glColor4us,
  (void *) glColor4usv,
  (void *) glColorFormatNV,
  (void *) glColorFragmentOp1ATI,
  (void *) glColorFragmentOp2ATI,
  (void *) glColorFragmentOp3ATI,
  (void *) glColorMask,
  (void *) glColorMaskIndexedEXT,
  (void *) glColorMaski,
  (void *) glColorMaterial,
  (void *) glColorP3ui,
  (void *) glColorP3uiv,
  (void *) glColorP4ui,
  (void *) glColorP4uiv,
  (void *) glColorPointer,
  (void *) glColorPointerEXT,
  (void *) glColorPointerListIBM,
  (void *) glColorPointervINTEL,
  (void *) glColorSubTable,
  (void *) glColorSubTableEXT,
  (void *) glColorTable,
  (void *) glColorTableEXT,
  (void *) glColorTableParameterfv,
  (void *) glColorTableParameterfvSGI,
  (void *) glColorTableParameteriv,
  (void *) glColorTableParameterivSGI,
  (void *) glColorTableSGI,
  (void *) glCombinerInputNV,
  (void *) glCombinerOutputNV,
  (void *) glCombinerParameterfNV,
  (void *) glCombinerParameterfvNV,
  (void *) glCombinerParameteriNV,
  (void *) glCombinerParameterivNV,
  (void *) glCombinerStageParameterfvNV,
  (void *) glCompileShader,
  (void *) glCompileShaderARB,
  (void *) glCompileShaderIncludeARB,
  (void *) glCompressedMultiTexImage1DEXT,
  (void *) glCompressedMultiTexImage2DEXT,
  (void *) glCompressedMultiTexImage3DEXT,
  (void *) glCompressedMultiTexSubImage1DEXT,
  (void *) glCompressedMultiTexSubImage2DEXT,
  (void *) glCompressedMultiTexSubImage3DEXT,
  (void *) glCompressedTexImage1D,
  (void *) glCompressedTexImage1DARB,
  (void *) glCompressedTexImage2D,
  (void *) glCompressedTexImage2DARB,
  (void *) glCompressedTexImage3D,
  (void *) glCompressedTexImage3DARB,
  (void *) glCompressedTexSubImage1D,
  (void *) glCompressedTexSubImage1DARB,
  (void *) glCompressedTexSubImage2D,
  (void *) glCompressedTexSubImage2DARB,
  (void *) glCompressedTexSubImage3D,
  (void *) glCompressedTexSubImage3DARB,
  (void *) glCompressedTextureImage1DEXT,
  (void *) glCompressedTextureImage2DEXT,
  (void *) glCompressedTextureImage3DEXT,
  (void *) glCompressedTextureSubImage1DEXT,
  (void *) glCompressedTextureSubImage2DEXT,
  (void *) glCompressedTextureSubImage3DEXT,
  (void *) glConvolutionFilter1D,
  (void *) glConvolutionFilter1DEXT,
  (void *) glConvolutionFilter2D,
  (void *) glConvolutionFilter2DEXT,
  (void *) glConvolutionParameterf,
  (void *) glConvolutionParameterfEXT,
  (void *) glConvolutionParameterfv,
  (void *) glConvolutionParameterfvEXT,
  (void *) glConvolutionParameteri,
  (void *) glConvolutionParameteriEXT,
  (void *) glConvolutionParameteriv,
  (void *) glConvolutionParameterivEXT,
  (void *) glCopyBufferSubData,
  (void *) glCopyColorSubTable,
  (void *) glCopyColorSubTableEXT,
  (void *) glCopyColorTable,
  (void *) glCopyColorTableSGI,
  (void *) glCopyConvolutionFilter1D,
  (void *) glCopyConvolutionFilter1DEXT,
  (void *) glCopyConvolutionFilter2D,
  (void *) glCopyConvolutionFilter2DEXT,
  (void *) glCopyImageSubDataNV,
  (void *) glCopyMultiTexImage1DEXT,
  (void *) glCopyMultiTexImage2DEXT,
  (void *) glCopyMultiTexSubImage1DEXT,
  (void *) glCopyMultiTexSubImage2DEXT,
  (void *) glCopyMultiTexSubImage3DEXT,
  (void *) glCopyPixels,
  (void *) glCopyTexImage1D,
  (void *) glCopyTexImage1DEXT,
  (void *) glCopyTexImage2D,
  (void *) glCopyTexImage2DEXT,
  (void *) glCopyTexSubImage1D,
  (void *) glCopyTexSubImage1DEXT,
  (void *) glCopyTexSubImage2D,
  (void *) glCopyTexSubImage2DEXT,
  (void *) glCopyTexSubImage3D,
  (void *) glCopyTexSubImage3DEXT,
  (void *) glCopyTextureImage1DEXT,
  (void *) glCopyTextureImage2DEXT,
  (void *) glCopyTextureSubImage1DEXT,
  (void *) glCopyTextureSubImage2DEXT,
  (void *) glCopyTextureSubImage3DEXT,
  (void *) glCreateProgram,
  (void *) glCreateProgramObjectARB,
  (void *) glCreateShader,
  (void *) glCreateShaderObjectARB,
  (void *) glCreateShaderProgramEXT,
  (void *) glCreateShaderProgramv,
  (void *) glCullFace,
  (void *) glCullParameterdvEXT,
  (void *) glCullParameterfvEXT,
  (void *) glCurrentPaletteMatrixARB,
  (void *) glDebugMessageCallbackARB,
  (void *) glDebugMessageControlARB,
  (void *) glDebugMessageInsertARB,
  (void *) glDeformSGIX,
  (void *) glDeformationMap3dSGIX,
  (void *) glDeformationMap3fSGIX,
  (void *) glDeleteAsyncMarkersSGIX,
  (void *) glDeleteBufferRegionEXT,
  (void *) glDeleteBuffers,
  (void *) glDeleteBuffersARB,
  (void *) glDeleteFencesAPPLE,
  (void *) glDeleteFencesNV,
  (void *) glDeleteFragmentShaderATI,
  (void *) glDeleteFramebuffers,
  (void *) glDeleteFramebuffersEXT,
  (void *) glDeleteLists,
  (void *) glDeleteNamedStringARB,
  (void *) glDeleteObjectARB,
  (void *) glDeleteOcclusionQueriesNV,
  (void *) glDeletePerfMonitorsAMD,
  (void *) glDeleteProgram,
  (void *) glDeleteProgramPipelines,
  (void *) glDeleteProgramsARB,
  (void *) glDeleteProgramsNV,
  (void *) glDeleteQueries,
  (void *) glDeleteQueriesARB,
  (void *) glDeleteRenderbuffers,
  (void *) glDeleteRenderbuffersEXT,
  (void *) glDeleteSamplers,
  (void *) glDeleteShader,
  (void *) glDeleteSync,
  (void *) glDeleteTextures,
  (void *) glDeleteTexturesEXT,
  (void *) glDeleteTransformFeedbacks,
  (void *) glDeleteTransformFeedbacksNV,
  (void *) glDeleteVertexArrays,
  (void *) glDeleteVertexArraysAPPLE,
  (void *) glDeleteVertexShaderEXT,
  (void *) glDepthBoundsEXT,
  (void *) glDepthBoundsdNV,
  (void *) glDepthFunc,
  (void *) glDepthMask,
  (void *) glDepthRange,
  (void *) glDepthRangeArrayv,
  (void *) glDepthRangeIndexed,
  (void *) glDepthRangedNV,
  (void *) glDepthRangef,
  (void *) glDetachObjectARB,
  (void *) glDetachShader,
  (void *) glDetailTexFuncSGIS,
  (void *) glDisable,
  (void *) glDisableClientState,
  (void *) glDisableClientStateIndexedEXT,
  (void *) glDisableIndexedEXT,
  (void *) glDisableVariantClientStateEXT,
  (void *) glDisableVertexAttribAPPLE,
  (void *) glDisableVertexAttribArray,
  (void *) glDisableVertexAttribArrayARB,
  (void *) glDisablei,
  (void *) glDrawArrays,
  (void *) glDrawArraysEXT,
  (void *) glDrawArraysIndirect,
  (void *) glDrawArraysInstanced,
  (void *) glDrawArraysInstancedARB,
  (void *) glDrawArraysInstancedEXT,
  (void *) glDrawBuffer,
  (void *) glDrawBufferRegionEXT,
  (void *) glDrawBuffers,
  (void *) glDrawBuffersARB,
  (void *) glDrawBuffersATI,
  (void *) glDrawElementArrayAPPLE,
  (void *) glDrawElementArrayATI,
  (void *) glDrawElements,
  (void *) glDrawElementsBaseVertex,
  (void *) glDrawElementsIndirect,
  (void *) glDrawElementsInstanced,
  (void *) glDrawElementsInstancedARB,
  (void *) glDrawElementsInstancedBaseVertex,
  (void *) glDrawElementsInstancedEXT,
  (void *) glDrawMeshArraysSUN,
  (void *) glDrawPixels,
  (void *) glDrawRangeElementArrayAPPLE,
  (void *) glDrawRangeElementArrayATI,
  (void *) glDrawRangeElements,
  (void *) glDrawRangeElementsBaseVertex,
  (void *) glDrawRangeElementsEXT,
  (void *) glDrawTransformFeedback,
  (void *) glDrawTransformFeedbackNV,
  (void *) glDrawTransformFeedbackStream,
  (void *) glEdgeFlag,
  (void *) glEdgeFlagFormatNV,
  (void *) glEdgeFlagPointer,
  (void *) glEdgeFlagPointerEXT,
  (void *) glEdgeFlagPointerListIBM,
  (void *) glEdgeFlagv,
  (void *) glElementPointerAPPLE,
  (void *) glElementPointerATI,
  (void *) glEnable,
  (void *) glEnableClientState,
  (void *) glEnableClientStateIndexedEXT,
  (void *) glEnableIndexedEXT,
  (void *) glEnableVariantClientStateEXT,
  (void *) glEnableVertexAttribAPPLE,
  (void *) glEnableVertexAttribArray,
  (void *) glEnableVertexAttribArrayARB,
  (void *) glEnablei,
  (void *) glEnd,
  (void *) glEndConditionalRender,
  (void *) glEndConditionalRenderNV,
  (void *) glEndFragmentShaderATI,
  (void *) glEndList,
  (void *) glEndOcclusionQueryNV,
  (void *) glEndPerfMonitorAMD,
  (void *) glEndQuery,
  (void *) glEndQueryARB,
  (void *) glEndQueryIndexed,
  (void *) glEndTransformFeedback,
  (void *) glEndTransformFeedbackEXT,
  (void *) glEndTransformFeedbackNV,
  (void *) glEndVertexShaderEXT,
  (void *) glEndVideoCaptureNV,
  (void *) glEvalCoord1d,
  (void *) glEvalCoord1dv,
  (void *) glEvalCoord1f,
  (void *) glEvalCoord1fv,
  (void *) glEvalCoord2d,
  (void *) glEvalCoord2dv,
  (void *) glEvalCoord2f,
  (void *) glEvalCoord2fv,
  (void *) glEvalMapsNV,
  (void *) glEvalMesh1,
  (void *) glEvalMesh2,
  (void *) glEvalPoint1,
  (void *) glEvalPoint2,
  (void *) glExecuteProgramNV,
  (void *) glExtractComponentEXT,
  (void *) glFeedbackBuffer,
  (void *) glFenceSync,
  (void *) glFinalCombinerInputNV,
  (void *) glFinish,
  (void *) glFinishAsyncSGIX,
  (void *) glFinishFenceAPPLE,
  (void *) glFinishFenceNV,
  (void *) glFinishObjectAPPLE,
  (void *) glFinishTextureSUNX,
  (void *) glFlush,
  (void *) glFlushMappedBufferRange,
  (void *) glFlushMappedBufferRangeAPPLE,
  (void *) glFlushMappedNamedBufferRangeEXT,
  (void *) glFlushPixelDataRangeNV,
  (void *) glFlushRasterSGIX,
  (void *) glFlushVertexArrayRangeAPPLE,
  (void *) glFlushVertexArrayRangeNV,
  (void *) glFogCoordFormatNV,
  (void *) glFogCoordPointer,
  (void *) glFogCoordPointerEXT,
  (void *) glFogCoordPointerListIBM,
  (void *) glFogCoordd,
  (void *) glFogCoorddEXT,
  (void *) glFogCoorddv,
  (void *) glFogCoorddvEXT,
  (void *) glFogCoordf,
  (void *) glFogCoordfEXT,
  (void *) glFogCoordfv,
  (void *) glFogCoordfvEXT,
  (void *) glFogCoordhNV,
  (void *) glFogCoordhvNV,
  (void *) glFogFuncSGIS,
  (void *) glFogf,
  (void *) glFogfv,
  (void *) glFogi,
  (void *) glFogiv,
  (void *) glFragmentColorMaterialSGIX,
  (void *) glFragmentLightModelfSGIX,
  (void *) glFragmentLightModelfvSGIX,
  (void *) glFragmentLightModeliSGIX,
  (void *) glFragmentLightModelivSGIX,
  (void *) glFragmentLightfSGIX,
  (void *) glFragmentLightfvSGIX,
  (void *) glFragmentLightiSGIX,
  (void *) glFragmentLightivSGIX,
  (void *) glFragmentMaterialfSGIX,
  (void *) glFragmentMaterialfvSGIX,
  (void *) glFragmentMaterialiSGIX,
  (void *) glFragmentMaterialivSGIX,
  (void *) glFrameTerminatorGREMEDY,
  (void *) glFrameZoomSGIX,
  (void *) glFramebufferDrawBufferEXT,
  (void *) glFramebufferDrawBuffersEXT,
  (void *) glFramebufferReadBufferEXT,
  (void *) glFramebufferRenderbuffer,
  (void *) glFramebufferRenderbufferEXT,
  (void *) glFramebufferTexture,
  (void *) glFramebufferTexture1D,
  (void *) glFramebufferTexture1DEXT,
  (void *) glFramebufferTexture2D,
  (void *) glFramebufferTexture2DEXT,
  (void *) glFramebufferTexture3D,
  (void *) glFramebufferTexture3DEXT,
  (void *) glFramebufferTextureARB,
  (void *) glFramebufferTextureEXT,
  (void *) glFramebufferTextureFace,
  (void *) glFramebufferTextureFaceARB,
  (void *) glFramebufferTextureFaceEXT,
  (void *) glFramebufferTextureLayer,
  (void *) glFramebufferTextureLayerARB,
  (void *) glFramebufferTextureLayerEXT,
  (void *) glFreeObjectBufferATI,
  (void *) glFrontFace,
  (void *) glFrustum,
  (void *) glGenAsyncMarkersSGIX,
  (void *) glGenBuffers,
  (void *) glGenBuffersARB,
  (void *) glGenFencesAPPLE,
  (void *) glGenFencesNV,
  (void *) glGenFragmentShadersATI,
  (void *) glGenFramebuffers,
  (void *) glGenFramebuffersEXT,
  (void *) glGenLists,
  (void *) glGenOcclusionQueriesNV,
  (void *) glGenPerfMonitorsAMD,
  (void *) glGenProgramPipelines,
  (void *) glGenProgramsARB,
  (void *) glGenProgramsNV,
  (void *) glGenQueries,
  (void *) glGenQueriesARB,
  (void *) glGenRenderbuffers,
  (void *) glGenRenderbuffersEXT,
  (void *) glGenSamplers,
  (void *) glGenSymbolsEXT,
  (void *) glGenTextures,
  (void *) glGenTexturesEXT,
  (void *) glGenTransformFeedbacks,
  (void *) glGenTransformFeedbacksNV,
  (void *) glGenVertexArrays,
  (void *) glGenVertexArraysAPPLE,
  (void *) glGenVertexShadersEXT,
  (void *) glGenerateMipmap,
  (void *) glGenerateMipmapEXT,
  (void *) glGenerateMultiTexMipmapEXT,
  (void *) glGenerateTextureMipmapEXT,
  (void *) glGetActiveAttrib,
  (void *) glGetActiveAttribARB,
  (void *) glGetActiveSubroutineName,
  (void *) glGetActiveSubroutineUniformName,
  (void *) glGetActiveSubroutineUniformiv,
  (void *) glGetActiveUniform,
  (void *) glGetActiveUniformARB,
  (void *) glGetActiveUniformBlockName,
  (void *) glGetActiveUniformBlockiv,
  (void *) glGetActiveUniformName,
  (void *) glGetActiveUniformsiv,
  (void *) glGetActiveVaryingNV,
  (void *) glGetArrayObjectfvATI,
  (void *) glGetArrayObjectivATI,
  (void *) glGetAttachedObjectsARB,
  (void *) glGetAttachedShaders,
  (void *) glGetAttribLocation,
  (void *) glGetAttribLocationARB,
  (void *) glGetBooleanIndexedvEXT,
  (void *) glGetBooleani_v,
  (void *) glGetBooleanv,
  (void *) glGetBufferParameteri64v,
  (void *) glGetBufferParameteriv,
  (void *) glGetBufferParameterivARB,
  (void *) glGetBufferParameterui64vNV,
  (void *) glGetBufferPointerv,
  (void *) glGetBufferPointervARB,
  (void *) glGetBufferSubData,
  (void *) glGetBufferSubDataARB,
  (void *) glGetClipPlane,
  (void *) glGetColorTable,
  (void *) glGetColorTableEXT,
  (void *) glGetColorTableParameterfv,
  (void *) glGetColorTableParameterfvEXT,
  (void *) glGetColorTableParameterfvSGI,
  (void *) glGetColorTableParameteriv,
  (void *) glGetColorTableParameterivEXT,
  (void *) glGetColorTableParameterivSGI,
  (void *) glGetColorTableSGI,
  (void *) glGetCombinerInputParameterfvNV,
  (void *) glGetCombinerInputParameterivNV,
  (void *) glGetCombinerOutputParameterfvNV,
  (void *) glGetCombinerOutputParameterivNV,
  (void *) glGetCombinerStageParameterfvNV,
  (void *) glGetCompressedMultiTexImageEXT,
  (void *) glGetCompressedTexImage,
  (void *) glGetCompressedTexImageARB,
  (void *) glGetCompressedTextureImageEXT,
  (void *) glGetConvolutionFilter,
  (void *) glGetConvolutionFilterEXT,
  (void *) glGetConvolutionParameterfv,
  (void *) glGetConvolutionParameterfvEXT,
  (void *) glGetConvolutionParameteriv,
  (void *) glGetConvolutionParameterivEXT,
  (void *) glGetDebugMessageLogARB,
  (void *) glGetDetailTexFuncSGIS,
  (void *) glGetDoubleIndexedvEXT,
  (void *) glGetDoublei_v,
  (void *) glGetDoublev,
  (void *) glGetError,
  (void *) glGetFenceivNV,
  (void *) glGetFinalCombinerInputParameterfvNV,
  (void *) glGetFinalCombinerInputParameterivNV,
  (void *) glGetFloatIndexedvEXT,
  (void *) glGetFloati_v,
  (void *) glGetFloatv,
  (void *) glGetFogFuncSGIS,
  (void *) glGetFragDataIndex,
  (void *) glGetFragDataLocation,
  (void *) glGetFragDataLocationEXT,
  (void *) glGetFragmentLightfvSGIX,
  (void *) glGetFragmentLightivSGIX,
  (void *) glGetFragmentMaterialfvSGIX,
  (void *) glGetFragmentMaterialivSGIX,
  (void *) glGetFramebufferAttachmentParameteriv,
  (void *) glGetFramebufferAttachmentParameterivEXT,
  (void *) glGetFramebufferParameterivEXT,
  (void *) glGetGraphicsResetStatusARB,
  (void *) glGetHandleARB,
  (void *) glGetHistogram,
  (void *) glGetHistogramEXT,
  (void *) glGetHistogramParameterfv,
  (void *) glGetHistogramParameterfvEXT,
  (void *) glGetHistogramParameteriv,
  (void *) glGetHistogramParameterivEXT,
  (void *) glGetImageTransformParameterfvHP,
  (void *) glGetImageTransformParameterivHP,
  (void *) glGetInfoLogARB,
  (void *) glGetInstrumentsSGIX,
  (void *) glGetInteger64i_v,
  (void *) glGetInteger64v,
  (void *) glGetIntegerIndexedvEXT,
  (void *) glGetIntegeri_v,
  (void *) glGetIntegerui64i_vNV,
  (void *) glGetIntegerui64vNV,
  (void *) glGetIntegerv,
  (void *) glGetInvariantBooleanvEXT,
  (void *) glGetInvariantFloatvEXT,
  (void *) glGetInvariantIntegervEXT,
  (void *) glGetLightfv,
  (void *) glGetLightiv,
  (void *) glGetListParameterfvSGIX,
  (void *) glGetListParameterivSGIX,
  (void *) glGetLocalConstantBooleanvEXT,
  (void *) glGetLocalConstantFloatvEXT,
  (void *) glGetLocalConstantIntegervEXT,
  (void *) glGetMapAttribParameterfvNV,
  (void *) glGetMapAttribParameterivNV,
  (void *) glGetMapControlPointsNV,
  (void *) glGetMapParameterfvNV,
  (void *) glGetMapParameterivNV,
  (void *) glGetMapdv,
  (void *) glGetMapfv,
  (void *) glGetMapiv,
  (void *) glGetMaterialfv,
  (void *) glGetMaterialiv,
  (void *) glGetMinmax,
  (void *) glGetMinmaxEXT,
  (void *) glGetMinmaxParameterfv,
  (void *) glGetMinmaxParameterfvEXT,
  (void *) glGetMinmaxParameteriv,
  (void *) glGetMinmaxParameterivEXT,
  (void *) glGetMultiTexEnvfvEXT,
  (void *) glGetMultiTexEnvivEXT,
  (void *) glGetMultiTexGendvEXT,
  (void *) glGetMultiTexGenfvEXT,
  (void *) glGetMultiTexGenivEXT,
  (void *) glGetMultiTexImageEXT,
  (void *) glGetMultiTexLevelParameterfvEXT,
  (void *) glGetMultiTexLevelParameterivEXT,
  (void *) glGetMultiTexParameterIivEXT,
  (void *) glGetMultiTexParameterIuivEXT,
  (void *) glGetMultiTexParameterfvEXT,
  (void *) glGetMultiTexParameterivEXT,
  (void *) glGetMultisamplefv,
  (void *) glGetMultisamplefvNV,
  (void *) glGetNamedBufferParameterivEXT,
  (void *) glGetNamedBufferParameterui64vNV,
  (void *) glGetNamedBufferPointervEXT,
  (void *) glGetNamedBufferSubDataEXT,
  (void *) glGetNamedFramebufferAttachmentParameterivEXT,
  (void *) glGetNamedProgramLocalParameterIivEXT,
  (void *) glGetNamedProgramLocalParameterIuivEXT,
  (void *) glGetNamedProgramLocalParameterdvEXT,
  (void *) glGetNamedProgramLocalParameterfvEXT,
  (void *) glGetNamedProgramStringEXT,
  (void *) glGetNamedProgramivEXT,
  (void *) glGetNamedRenderbufferParameterivEXT,
  (void *) glGetNamedStringARB,
  (void *) glGetNamedStringivARB,
  (void *) glGetObjectBufferfvATI,
  (void *) glGetObjectBufferivATI,
  (void *) glGetObjectParameterfvARB,
  (void *) glGetObjectParameterivAPPLE,
  (void *) glGetObjectParameterivARB,
  (void *) glGetOcclusionQueryivNV,
  (void *) glGetOcclusionQueryuivNV,
  (void *) glGetPerfMonitorCounterDataAMD,
  (void *) glGetPerfMonitorCounterInfoAMD,
  (void *) glGetPerfMonitorCounterStringAMD,
  (void *) glGetPerfMonitorCountersAMD,
  (void *) glGetPerfMonitorGroupStringAMD,
  (void *) glGetPerfMonitorGroupsAMD,
  (void *) glGetPixelMapfv,
  (void *) glGetPixelMapuiv,
  (void *) glGetPixelMapusv,
  (void *) glGetPixelTexGenParameterfvSGIS,
  (void *) glGetPixelTexGenParameterivSGIS,
  (void *) glGetPointerIndexedvEXT,
  (void *) glGetPointerv,
  (void *) glGetPointervEXT,
  (void *) glGetPolygonStipple,
  (void *) glGetProgramBinary,
  (void *) glGetProgramEnvParameterIivNV,
  (void *) glGetProgramEnvParameterIuivNV,
  (void *) glGetProgramEnvParameterdvARB,
  (void *) glGetProgramEnvParameterfvARB,
  (void *) glGetProgramInfoLog,
  (void *) glGetProgramLocalParameterIivNV,
  (void *) glGetProgramLocalParameterIuivNV,
  (void *) glGetProgramLocalParameterdvARB,
  (void *) glGetProgramLocalParameterfvARB,
  (void *) glGetProgramNamedParameterdvNV,
  (void *) glGetProgramNamedParameterfvNV,
  (void *) glGetProgramParameterdvNV,
  (void *) glGetProgramParameterfvNV,
  (void *) glGetProgramPipelineInfoLog,
  (void *) glGetProgramPipelineiv,
  (void *) glGetProgramStageiv,
  (void *) glGetProgramStringARB,
  (void *) glGetProgramStringNV,
  (void *) glGetProgramiv,
  (void *) glGetProgramivARB,
  (void *) glGetProgramivNV,
  (void *) glGetQueryIndexediv,
  (void *) glGetQueryObjecti64v,
  (void *) glGetQueryObjecti64vEXT,
  (void *) glGetQueryObjectiv,
  (void *) glGetQueryObjectivARB,
  (void *) glGetQueryObjectui64v,
  (void *) glGetQueryObjectui64vEXT,
  (void *) glGetQueryObjectuiv,
  (void *) glGetQueryObjectuivARB,
  (void *) glGetQueryiv,
  (void *) glGetQueryivARB,
  (void *) glGetRenderbufferParameteriv,
  (void *) glGetRenderbufferParameterivEXT,
  (void *) glGetSamplerParameterIiv,
  (void *) glGetSamplerParameterIuiv,
  (void *) glGetSamplerParameterfv,
  (void *) glGetSamplerParameteriv,
  (void *) glGetSeparableFilter,
  (void *) glGetSeparableFilterEXT,
  (void *) glGetShaderInfoLog,
  (void *) glGetShaderPrecisionFormat,
  (void *) glGetShaderSource,
  (void *) glGetShaderSourceARB,
  (void *) glGetShaderiv,
  (void *) glGetSharpenTexFuncSGIS,
  (void *) glGetString,
  (void *) glGetStringi,
  (void *) glGetSubroutineIndex,
  (void *) glGetSubroutineUniformLocation,
  (void *) glGetSynciv,
  (void *) glGetTexBumpParameterfvATI,
  (void *) glGetTexBumpParameterivATI,
  (void *) glGetTexEnvfv,
  (void *) glGetTexEnviv,
  (void *) glGetTexFilterFuncSGIS,
  (void *) glGetTexGendv,
  (void *) glGetTexGenfv,
  (void *) glGetTexGeniv,
  (void *) glGetTexImage,
  (void *) glGetTexLevelParameterfv,
  (void *) glGetTexLevelParameteriv,
  (void *) glGetTexParameterIiv,
  (void *) glGetTexParameterIivEXT,
  (void *) glGetTexParameterIuiv,
  (void *) glGetTexParameterIuivEXT,
  (void *) glGetTexParameterPointervAPPLE,
  (void *) glGetTexParameterfv,
  (void *) glGetTexParameteriv,
  (void *) glGetTextureImageEXT,
  (void *) glGetTextureLevelParameterfvEXT,
  (void *) glGetTextureLevelParameterivEXT,
  (void *) glGetTextureParameterIivEXT,
  (void *) glGetTextureParameterIuivEXT,
  (void *) glGetTextureParameterfvEXT,
  (void *) glGetTextureParameterivEXT,
  (void *) glGetTrackMatrixivNV,
  (void *) glGetTransformFeedbackVarying,
  (void *) glGetTransformFeedbackVaryingEXT,
  (void *) glGetTransformFeedbackVaryingNV,
  (void *) glGetUniformBlockIndex,
  (void *) glGetUniformBufferSizeEXT,
  (void *) glGetUniformIndices,
  (void *) glGetUniformLocation,
  (void *) glGetUniformLocationARB,
  (void *) glGetUniformOffsetEXT,
  (void *) glGetUniformSubroutineuiv,
  (void *) glGetUniformdv,
  (void *) glGetUniformfv,
  (void *) glGetUniformfvARB,
  (void *) glGetUniformi64vNV,
  (void *) glGetUniformiv,
  (void *) glGetUniformivARB,
  (void *) glGetUniformui64vNV,
  (void *) glGetUniformuiv,
  (void *) glGetUniformuivEXT,
  (void *) glGetVariantArrayObjectfvATI,
  (void *) glGetVariantArrayObjectivATI,
  (void *) glGetVariantBooleanvEXT,
  (void *) glGetVariantFloatvEXT,
  (void *) glGetVariantIntegervEXT,
  (void *) glGetVariantPointervEXT,
  (void *) glGetVaryingLocationNV,
  (void *) glGetVertexAttribArrayObjectfvATI,
  (void *) glGetVertexAttribArrayObjectivATI,
  (void *) glGetVertexAttribIiv,
  (void *) glGetVertexAttribIivEXT,
  (void *) glGetVertexAttribIuiv,
  (void *) glGetVertexAttribIuivEXT,
  (void *) glGetVertexAttribLdv,
  (void *) glGetVertexAttribLdvEXT,
  (void *) glGetVertexAttribLi64vNV,
  (void *) glGetVertexAttribLui64vNV,
  (void *) glGetVertexAttribPointerv,
  (void *) glGetVertexAttribPointervARB,
  (void *) glGetVertexAttribPointervNV,
  (void *) glGetVertexAttribdv,
  (void *) glGetVertexAttribdvARB,
  (void *) glGetVertexAttribdvNV,
  (void *) glGetVertexAttribfv,
  (void *) glGetVertexAttribfvARB,
  (void *) glGetVertexAttribfvNV,
  (void *) glGetVertexAttribiv,
  (void *) glGetVertexAttribivARB,
  (void *) glGetVertexAttribivNV,
  (void *) glGetVideoCaptureStreamdvNV,
  (void *) glGetVideoCaptureStreamfvNV,
  (void *) glGetVideoCaptureStreamivNV,
  (void *) glGetVideoCaptureivNV,
  (void *) glGetVideoi64vNV,
  (void *) glGetVideoivNV,
  (void *) glGetVideoui64vNV,
  (void *) glGetVideouivNV,
  (void *) glGetnColorTableARB,
  (void *) glGetnCompressedTexImageARB,
  (void *) glGetnConvolutionFilterARB,
  (void *) glGetnHistogramARB,
  (void *) glGetnMapdvARB,
  (void *) glGetnMapfvARB,
  (void *) glGetnMapivARB,
  (void *) glGetnMinmaxARB,
  (void *) glGetnPixelMapfvARB,
  (void *) glGetnPixelMapuivARB,
  (void *) glGetnPixelMapusvARB,
  (void *) glGetnPolygonStippleARB,
  (void *) glGetnSeparableFilterARB,
  (void *) glGetnTexImageARB,
  (void *) glGetnUniformdvARB,
  (void *) glGetnUniformfvARB,
  (void *) glGetnUniformivARB,
  (void *) glGetnUniformuivARB,
  (void *) glGlobalAlphaFactorbSUN,
  (void *) glGlobalAlphaFactordSUN,
  (void *) glGlobalAlphaFactorfSUN,
  (void *) glGlobalAlphaFactoriSUN,
  (void *) glGlobalAlphaFactorsSUN,
  (void *) glGlobalAlphaFactorubSUN,
  (void *) glGlobalAlphaFactoruiSUN,
  (void *) glGlobalAlphaFactorusSUN,
  (void *) glHint,
  (void *) glHintPGI,
  (void *) glHistogram,
  (void *) glHistogramEXT,
  (void *) glIglooInterfaceSGIX,
  (void *) glImageTransformParameterfHP,
  (void *) glImageTransformParameterfvHP,
  (void *) glImageTransformParameteriHP,
  (void *) glImageTransformParameterivHP,
  (void *) glIndexFormatNV,
  (void *) glIndexFuncEXT,
  (void *) glIndexMask,
  (void *) glIndexMaterialEXT,
  (void *) glIndexPointer,
  (void *) glIndexPointerEXT,
  (void *) glIndexPointerListIBM,
  (void *) glIndexd,
  (void *) glIndexdv,
  (void *) glIndexf,
  (void *) glIndexfv,
  (void *) glIndexi,
  (void *) glIndexiv,
  (void *) glIndexs,
  (void *) glIndexsv,
  (void *) glIndexub,
  (void *) glIndexubv,
  (void *) glInitNames,
  (void *) glInsertComponentEXT,
  (void *) glInstrumentsBufferSGIX,
  (void *) glInterleavedArrays,
  (void *) glIsAsyncMarkerSGIX,
  (void *) glIsBuffer,
  (void *) glIsBufferARB,
  (void *) glIsBufferResidentNV,
  (void *) glIsEnabled,
  (void *) glIsEnabledIndexedEXT,
  (void *) glIsEnabledi,
  (void *) glIsFenceAPPLE,
  (void *) glIsFenceNV,
  (void *) glIsFramebuffer,
  (void *) glIsFramebufferEXT,
  (void *) glIsList,
  (void *) glIsNamedBufferResidentNV,
  (void *) glIsNamedStringARB,
  (void *) glIsObjectBufferATI,
  (void *) glIsOcclusionQueryNV,
  (void *) glIsProgram,
  (void *) glIsProgramARB,
  (void *) glIsProgramNV,
  (void *) glIsProgramPipeline,
  (void *) glIsQuery,
  (void *) glIsQueryARB,
  (void *) glIsRenderbuffer,
  (void *) glIsRenderbufferEXT,
  (void *) glIsSampler,
  (void *) glIsShader,
  (void *) glIsSync,
  (void *) glIsTexture,
  (void *) glIsTextureEXT,
  (void *) glIsTransformFeedback,
  (void *) glIsTransformFeedbackNV,
  (void *) glIsVariantEnabledEXT,
  (void *) glIsVertexArray,
  (void *) glIsVertexArrayAPPLE,
  (void *) glIsVertexAttribEnabledAPPLE,
  (void *) glLightEnviSGIX,
  (void *) glLightModelf,
  (void *) glLightModelfv,
  (void *) glLightModeli,
  (void *) glLightModeliv,
  (void *) glLightf,
  (void *) glLightfv,
  (void *) glLighti,
  (void *) glLightiv,
  (void *) glLineStipple,
  (void *) glLineWidth,
  (void *) glLinkProgram,
  (void *) glLinkProgramARB,
  (void *) glListBase,
  (void *) glListParameterfSGIX,
  (void *) glListParameterfvSGIX,
  (void *) glListParameteriSGIX,
  (void *) glListParameterivSGIX,
  (void *) glLoadIdentity,
  (void *) glLoadIdentityDeformationMapSGIX,
  (void *) glLoadMatrixd,
  (void *) glLoadMatrixf,
  (void *) glLoadName,
  (void *) glLoadProgramNV,
  (void *) glLoadTransposeMatrixd,
  (void *) glLoadTransposeMatrixdARB,
  (void *) glLoadTransposeMatrixf,
  (void *) glLoadTransposeMatrixfARB,
  (void *) glLockArraysEXT,
  (void *) glLogicOp,
  (void *) glMakeBufferNonResidentNV,
  (void *) glMakeBufferResidentNV,
  (void *) glMakeNamedBufferNonResidentNV,
  (void *) glMakeNamedBufferResidentNV,
  (void *) glMap1d,
  (void *) glMap1f,
  (void *) glMap2d,
  (void *) glMap2f,
  (void *) glMapBuffer,
  (void *) glMapBufferARB,
  (void *) glMapBufferRange,
  (void *) glMapControlPointsNV,
  (void *) glMapGrid1d,
  (void *) glMapGrid1f,
  (void *) glMapGrid2d,
  (void *) glMapGrid2f,
  (void *) glMapNamedBufferEXT,
  (void *) glMapNamedBufferRangeEXT,
  (void *) glMapObjectBufferATI,
  (void *) glMapParameterfvNV,
  (void *) glMapParameterivNV,
  (void *) glMapVertexAttrib1dAPPLE,
  (void *) glMapVertexAttrib1fAPPLE,
  (void *) glMapVertexAttrib2dAPPLE,
  (void *) glMapVertexAttrib2fAPPLE,
  (void *) glMaterialf,
  (void *) glMaterialfv,
  (void *) glMateriali,
  (void *) glMaterialiv,
  (void *) glMatrixFrustumEXT,
  (void *) glMatrixIndexPointerARB,
  (void *) glMatrixIndexubvARB,
  (void *) glMatrixIndexuivARB,
  (void *) glMatrixIndexusvARB,
  (void *) glMatrixLoadIdentityEXT,
  (void *) glMatrixLoadTransposedEXT,
  (void *) glMatrixLoadTransposefEXT,
  (void *) glMatrixLoaddEXT,
  (void *) glMatrixLoadfEXT,
  (void *) glMatrixMode,
  (void *) glMatrixMultTransposedEXT,
  (void *) glMatrixMultTransposefEXT,
  (void *) glMatrixMultdEXT,
  (void *) glMatrixMultfEXT,
  (void *) glMatrixOrthoEXT,
  (void *) glMatrixPopEXT,
  (void *) glMatrixPushEXT,
  (void *) glMatrixRotatedEXT,
  (void *) glMatrixRotatefEXT,
  (void *) glMatrixScaledEXT,
  (void *) glMatrixScalefEXT,
  (void *) glMatrixTranslatedEXT,
  (void *) glMatrixTranslatefEXT,
  (void *) glMemoryBarrierEXT,
  (void *) glMinSampleShading,
  (void *) glMinSampleShadingARB,
  (void *) glMinmax,
  (void *) glMinmaxEXT,
  (void *) glMultMatrixd,
  (void *) glMultMatrixf,
  (void *) glMultTransposeMatrixd,
  (void *) glMultTransposeMatrixdARB,
  (void *) glMultTransposeMatrixf,
  (void *) glMultTransposeMatrixfARB,
  (void *) glMultiDrawArrays,
  (void *) glMultiDrawArraysEXT,
  (void *) glMultiDrawElementArrayAPPLE,
  (void *) glMultiDrawElements,
  (void *) glMultiDrawElementsBaseVertex,
  (void *) glMultiDrawElementsEXT,
  (void *) glMultiDrawRangeElementArrayAPPLE,
  (void *) glMultiModeDrawArraysIBM,
  (void *) glMultiModeDrawElementsIBM,
  (void *) glMultiTexBufferEXT,
  (void *) glMultiTexCoord1d,
  (void *) glMultiTexCoord1dARB,
  (void *) glMultiTexCoord1dv,
  (void *) glMultiTexCoord1dvARB,
  (void *) glMultiTexCoord1f,
  (void *) glMultiTexCoord1fARB,
  (void *) glMultiTexCoord1fv,
  (void *) glMultiTexCoord1fvARB,
  (void *) glMultiTexCoord1hNV,
  (void *) glMultiTexCoord1hvNV,
  (void *) glMultiTexCoord1i,
  (void *) glMultiTexCoord1iARB,
  (void *) glMultiTexCoord1iv,
  (void *) glMultiTexCoord1ivARB,
  (void *) glMultiTexCoord1s,
  (void *) glMultiTexCoord1sARB,
  (void *) glMultiTexCoord1sv,
  (void *) glMultiTexCoord1svARB,
  (void *) glMultiTexCoord2d,
  (void *) glMultiTexCoord2dARB,
  (void *) glMultiTexCoord2dv,
  (void *) glMultiTexCoord2dvARB,
  (void *) glMultiTexCoord2f,
  (void *) glMultiTexCoord2fARB,
  (void *) glMultiTexCoord2fv,
  (void *) glMultiTexCoord2fvARB,
  (void *) glMultiTexCoord2hNV,
  (void *) glMultiTexCoord2hvNV,
  (void *) glMultiTexCoord2i,
  (void *) glMultiTexCoord2iARB,
  (void *) glMultiTexCoord2iv,
  (void *) glMultiTexCoord2ivARB,
  (void *) glMultiTexCoord2s,
  (void *) glMultiTexCoord2sARB,
  (void *) glMultiTexCoord2sv,
  (void *) glMultiTexCoord2svARB,
  (void *) glMultiTexCoord3d,
  (void *) glMultiTexCoord3dARB,
  (void *) glMultiTexCoord3dv,
  (void *) glMultiTexCoord3dvARB,
  (void *) glMultiTexCoord3f,
  (void *) glMultiTexCoord3fARB,
  (void *) glMultiTexCoord3fv,
  (void *) glMultiTexCoord3fvARB,
  (void *) glMultiTexCoord3hNV,
  (void *) glMultiTexCoord3hvNV,
  (void *) glMultiTexCoord3i,
  (void *) glMultiTexCoord3iARB,
  (void *) glMultiTexCoord3iv,
  (void *) glMultiTexCoord3ivARB,
  (void *) glMultiTexCoord3s,
  (void *) glMultiTexCoord3sARB,
  (void *) glMultiTexCoord3sv,
  (void *) glMultiTexCoord3svARB,
  (void *) glMultiTexCoord4d,
  (void *) glMultiTexCoord4dARB,
  (void *) glMultiTexCoord4dv,
  (void *) glMultiTexCoord4dvARB,
  (void *) glMultiTexCoord4f,
  (void *) glMultiTexCoord4fARB,
  (void *) glMultiTexCoord4fv,
  (void *) glMultiTexCoord4fvARB,
  (void *) glMultiTexCoord4hNV,
  (void *) glMultiTexCoord4hvNV,
  (void *) glMultiTexCoord4i,
  (void *) glMultiTexCoord4iARB,
  (void *) glMultiTexCoord4iv,
  (void *) glMultiTexCoord4ivARB,
  (void *) glMultiTexCoord4s,
  (void *) glMultiTexCoord4sARB,
  (void *) glMultiTexCoord4sv,
  (void *) glMultiTexCoord4svARB,
  (void *) glMultiTexCoordP1ui,
  (void *) glMultiTexCoordP1uiv,
  (void *) glMultiTexCoordP2ui,
  (void *) glMultiTexCoordP2uiv,
  (void *) glMultiTexCoordP3ui,
  (void *) glMultiTexCoordP3uiv,
  (void *) glMultiTexCoordP4ui,
  (void *) glMultiTexCoordP4uiv,
  (void *) glMultiTexCoordPointerEXT,
  (void *) glMultiTexEnvfEXT,
  (void *) glMultiTexEnvfvEXT,
  (void *) glMultiTexEnviEXT,
  (void *) glMultiTexEnvivEXT,
  (void *) glMultiTexGendEXT,
  (void *) glMultiTexGendvEXT,
  (void *) glMultiTexGenfEXT,
  (void *) glMultiTexGenfvEXT,
  (void *) glMultiTexGeniEXT,
  (void *) glMultiTexGenivEXT,
  (void *) glMultiTexImage1DEXT,
  (void *) glMultiTexImage2DEXT,
  (void *) glMultiTexImage3DEXT,
  (void *) glMultiTexParameterIivEXT,
  (void *) glMultiTexParameterIuivEXT,
  (void *) glMultiTexParameterfEXT,
  (void *) glMultiTexParameterfvEXT,
  (void *) glMultiTexParameteriEXT,
  (void *) glMultiTexParameterivEXT,
  (void *) glMultiTexRenderbufferEXT,
  (void *) glMultiTexSubImage1DEXT,
  (void *) glMultiTexSubImage2DEXT,
  (void *) glMultiTexSubImage3DEXT,
  (void *) glNamedBufferDataEXT,
  (void *) glNamedBufferSubDataEXT,
  (void *) glNamedCopyBufferSubDataEXT,
  (void *) glNamedFramebufferRenderbufferEXT,
  (void *) glNamedFramebufferTexture1DEXT,
  (void *) glNamedFramebufferTexture2DEXT,
  (void *) glNamedFramebufferTexture3DEXT,
  (void *) glNamedFramebufferTextureEXT,
  (void *) glNamedFramebufferTextureFaceEXT,
  (void *) glNamedFramebufferTextureLayerEXT,
  (void *) glNamedProgramLocalParameter4dEXT,
  (void *) glNamedProgramLocalParameter4dvEXT,
  (void *) glNamedProgramLocalParameter4fEXT,
  (void *) glNamedProgramLocalParameter4fvEXT,
  (void *) glNamedProgramLocalParameterI4iEXT,
  (void *) glNamedProgramLocalParameterI4ivEXT,
  (void *) glNamedProgramLocalParameterI4uiEXT,
  (void *) glNamedProgramLocalParameterI4uivEXT,
  (void *) glNamedProgramLocalParameters4fvEXT,
  (void *) glNamedProgramLocalParametersI4ivEXT,
  (void *) glNamedProgramLocalParametersI4uivEXT,
  (void *) glNamedProgramStringEXT,
  (void *) glNamedRenderbufferStorageEXT,
  (void *) glNamedRenderbufferStorageMultisampleCoverageEXT,
  (void *) glNamedRenderbufferStorageMultisampleEXT,
  (void *) glNamedStringARB,
  (void *) glNewBufferRegionEXT,
  (void *) glNewList,
  (void *) glNewObjectBufferATI,
  (void *) glNormal3b,
  (void *) glNormal3bv,
  (void *) glNormal3d,
  (void *) glNormal3dv,
  (void *) glNormal3f,
  (void *) glNormal3fVertex3fSUN,
  (void *) glNormal3fVertex3fvSUN,
  (void *) glNormal3fv,
  (void *) glNormal3hNV,
  (void *) glNormal3hvNV,
  (void *) glNormal3i,
  (void *) glNormal3iv,
  (void *) glNormal3s,
  (void *) glNormal3sv,
  (void *) glNormalFormatNV,
  (void *) glNormalP3ui,
  (void *) glNormalP3uiv,
  (void *) glNormalPointer,
  (void *) glNormalPointerEXT,
  (void *) glNormalPointerListIBM,
  (void *) glNormalPointervINTEL,
  (void *) glNormalStream3bATI,
  (void *) glNormalStream3bvATI,
  (void *) glNormalStream3dATI,
  (void *) glNormalStream3dvATI,
  (void *) glNormalStream3fATI,
  (void *) glNormalStream3fvATI,
  (void *) glNormalStream3iATI,
  (void *) glNormalStream3ivATI,
  (void *) glNormalStream3sATI,
  (void *) glNormalStream3svATI,
  (void *) glObjectPurgeableAPPLE,
  (void *) glObjectUnpurgeableAPPLE,
  (void *) glOrtho,
  (void *) glPNTrianglesfATI,
  (void *) glPNTrianglesiATI,
  (void *) glPassTexCoordATI,
  (void *) glPassThrough,
  (void *) glPatchParameterfv,
  (void *) glPatchParameteri,
  (void *) glPauseTransformFeedback,
  (void *) glPauseTransformFeedbackNV,
  (void *) glPixelDataRangeNV,
  (void *) glPixelMapfv,
  (void *) glPixelMapuiv,
  (void *) glPixelMapusv,
  (void *) glPixelStoref,
  (void *) glPixelStorei,
  (void *) glPixelTexGenParameterfSGIS,
  (void *) glPixelTexGenParameterfvSGIS,
  (void *) glPixelTexGenParameteriSGIS,
  (void *) glPixelTexGenParameterivSGIS,
  (void *) glPixelTexGenSGIX,
  (void *) glPixelTransferf,
  (void *) glPixelTransferi,
  (void *) glPixelTransformParameterfEXT,
  (void *) glPixelTransformParameterfvEXT,
  (void *) glPixelTransformParameteriEXT,
  (void *) glPixelTransformParameterivEXT,
  (void *) glPixelZoom,
  (void *) glPointParameterf,
  (void *) glPointParameterfARB,
  (void *) glPointParameterfEXT,
  (void *) glPointParameterfSGIS,
  (void *) glPointParameterfv,
  (void *) glPointParameterfvARB,
  (void *) glPointParameterfvEXT,
  (void *) glPointParameterfvSGIS,
  (void *) glPointParameteri,
  (void *) glPointParameteriNV,
  (void *) glPointParameteriv,
  (void *) glPointParameterivNV,
  (void *) glPointSize,
  (void *) glPollAsyncSGIX,
  (void *) glPollInstrumentsSGIX,
  (void *) glPolygonMode,
  (void *) glPolygonOffset,
  (void *) glPolygonOffsetEXT,
  (void *) glPolygonStipple,
  (void *) glPopAttrib,
  (void *) glPopClientAttrib,
  (void *) glPopMatrix,
  (void *) glPopName,
  (void *) glPresentFrameDualFillNV,
  (void *) glPresentFrameKeyedNV,
  (void *) glPrimitiveRestartIndex,
  (void *) glPrimitiveRestartIndexNV,
  (void *) glPrimitiveRestartNV,
  (void *) glPrioritizeTextures,
  (void *) glPrioritizeTexturesEXT,
  (void *) glProgramBinary,
  (void *) glProgramBufferParametersIivNV,
  (void *) glProgramBufferParametersIuivNV,
  (void *) glProgramBufferParametersfvNV,
  (void *) glProgramEnvParameter4dARB,
  (void *) glProgramEnvParameter4dvARB,
  (void *) glProgramEnvParameter4fARB,
  (void *) glProgramEnvParameter4fvARB,
  (void *) glProgramEnvParameterI4iNV,
  (void *) glProgramEnvParameterI4ivNV,
  (void *) glProgramEnvParameterI4uiNV,
  (void *) glProgramEnvParameterI4uivNV,
  (void *) glProgramEnvParameters4fvEXT,
  (void *) glProgramEnvParametersI4ivNV,
  (void *) glProgramEnvParametersI4uivNV,
  (void *) glProgramLocalParameter4dARB,
  (void *) glProgramLocalParameter4dvARB,
  (void *) glProgramLocalParameter4fARB,
  (void *) glProgramLocalParameter4fvARB,
  (void *) glProgramLocalParameterI4iNV,
  (void *) glProgramLocalParameterI4ivNV,
  (void *) glProgramLocalParameterI4uiNV,
  (void *) glProgramLocalParameterI4uivNV,
  (void *) glProgramLocalParameters4fvEXT,
  (void *) glProgramLocalParametersI4ivNV,
  (void *) glProgramLocalParametersI4uivNV,
  (void *) glProgramNamedParameter4dNV,
  (void *) glProgramNamedParameter4dvNV,
  (void *) glProgramNamedParameter4fNV,
  (void *) glProgramNamedParameter4fvNV,
  (void *) glProgramParameter4dNV,
  (void *) glProgramParameter4dvNV,
  (void *) glProgramParameter4fNV,
  (void *) glProgramParameter4fvNV,
  (void *) glProgramParameteri,
  (void *) glProgramParameteriARB,
  (void *) glProgramParameteriEXT,
  (void *) glProgramParameters4dvNV,
  (void *) glProgramParameters4fvNV,
  (void *) glProgramStringARB,
  (void *) glProgramUniform1d,
  (void *) glProgramUniform1dEXT,
  (void *) glProgramUniform1dv,
  (void *) glProgramUniform1dvEXT,
  (void *) glProgramUniform1f,
  (void *) glProgramUniform1fEXT,
  (void *) glProgramUniform1fv,
  (void *) glProgramUniform1fvEXT,
  (void *) glProgramUniform1i,
  (void *) glProgramUniform1i64NV,
  (void *) glProgramUniform1i64vNV,
  (void *) glProgramUniform1iEXT,
  (void *) glProgramUniform1iv,
  (void *) glProgramUniform1ivEXT,
  (void *) glProgramUniform1ui,
  (void *) glProgramUniform1ui64NV,
  (void *) glProgramUniform1ui64vNV,
  (void *) glProgramUniform1uiEXT,
  (void *) glProgramUniform1uiv,
  (void *) glProgramUniform1uivEXT,
  (void *) glProgramUniform2d,
  (void *) glProgramUniform2dEXT,
  (void *) glProgramUniform2dv,
  (void *) glProgramUniform2dvEXT,
  (void *) glProgramUniform2f,
  (void *) glProgramUniform2fEXT,
  (void *) glProgramUniform2fv,
  (void *) glProgramUniform2fvEXT,
  (void *) glProgramUniform2i,
  (void *) glProgramUniform2i64NV,
  (void *) glProgramUniform2i64vNV,
  (void *) glProgramUniform2iEXT,
  (void *) glProgramUniform2iv,
  (void *) glProgramUniform2ivEXT,
  (void *) glProgramUniform2ui,
  (void *) glProgramUniform2ui64NV,
  (void *) glProgramUniform2ui64vNV,
  (void *) glProgramUniform2uiEXT,
  (void *) glProgramUniform2uiv,
  (void *) glProgramUniform2uivEXT,
  (void *) glProgramUniform3d,
  (void *) glProgramUniform3dEXT,
  (void *) glProgramUniform3dv,
  (void *) glProgramUniform3dvEXT,
  (void *) glProgramUniform3f,
  (void *) glProgramUniform3fEXT,
  (void *) glProgramUniform3fv,
  (void *) glProgramUniform3fvEXT,
  (void *) glProgramUniform3i,
  (void *) glProgramUniform3i64NV,
  (void *) glProgramUniform3i64vNV,
  (void *) glProgramUniform3iEXT,
  (void *) glProgramUniform3iv,
  (void *) glProgramUniform3ivEXT,
  (void *) glProgramUniform3ui,
  (void *) glProgramUniform3ui64NV,
  (void *) glProgramUniform3ui64vNV,
  (void *) glProgramUniform3uiEXT,
  (void *) glProgramUniform3uiv,
  (void *) glProgramUniform3uivEXT,
  (void *) glProgramUniform4d,
  (void *) glProgramUniform4dEXT,
  (void *) glProgramUniform4dv,
  (void *) glProgramUniform4dvEXT,
  (void *) glProgramUniform4f,
  (void *) glProgramUniform4fEXT,
  (void *) glProgramUniform4fv,
  (void *) glProgramUniform4fvEXT,
  (void *) glProgramUniform4i,
  (void *) glProgramUniform4i64NV,
  (void *) glProgramUniform4i64vNV,
  (void *) glProgramUniform4iEXT,
  (void *) glProgramUniform4iv,
  (void *) glProgramUniform4ivEXT,
  (void *) glProgramUniform4ui,
  (void *) glProgramUniform4ui64NV,
  (void *) glProgramUniform4ui64vNV,
  (void *) glProgramUniform4uiEXT,
  (void *) glProgramUniform4uiv,
  (void *) glProgramUniform4uivEXT,
  (void *) glProgramUniformMatrix2dv,
  (void *) glProgramUniformMatrix2dvEXT,
  (void *) glProgramUniformMatrix2fv,
  (void *) glProgramUniformMatrix2fvEXT,
  (void *) glProgramUniformMatrix2x3dv,
  (void *) glProgramUniformMatrix2x3dvEXT,
  (void *) glProgramUniformMatrix2x3fv,
  (void *) glProgramUniformMatrix2x3fvEXT,
  (void *) glProgramUniformMatrix2x4dv,
  (void *) glProgramUniformMatrix2x4dvEXT,
  (void *) glProgramUniformMatrix2x4fv,
  (void *) glProgramUniformMatrix2x4fvEXT,
  (void *) glProgramUniformMatrix3dv,
  (void *) glProgramUniformMatrix3dvEXT,
  (void *) glProgramUniformMatrix3fv,
  (void *) glProgramUniformMatrix3fvEXT,
  (void *) glProgramUniformMatrix3x2dv,
  (void *) glProgramUniformMatrix3x2dvEXT,
  (void *) glProgramUniformMatrix3x2fv,
  (void *) glProgramUniformMatrix3x2fvEXT,
  (void *) glProgramUniformMatrix3x4dv,
  (void *) glProgramUniformMatrix3x4dvEXT,
  (void *) glProgramUniformMatrix3x4fv,
  (void *) glProgramUniformMatrix3x4fvEXT,
  (void *) glProgramUniformMatrix4dv,
  (void *) glProgramUniformMatrix4dvEXT,
  (void *) glProgramUniformMatrix4fv,
  (void *) glProgramUniformMatrix4fvEXT,
  (void *) glProgramUniformMatrix4x2dv,
  (void *) glProgramUniformMatrix4x2dvEXT,
  (void *) glProgramUniformMatrix4x2fv,
  (void *) glProgramUniformMatrix4x2fvEXT,
  (void *) glProgramUniformMatrix4x3dv,
  (void *) glProgramUniformMatrix4x3dvEXT,
  (void *) glProgramUniformMatrix4x3fv,
  (void *) glProgramUniformMatrix4x3fvEXT,
  (void *) glProgramUniformui64NV,
  (void *) glProgramUniformui64vNV,
  (void *) glProgramVertexLimitNV,
  (void *) glProvokingVertex,
  (void *) glProvokingVertexEXT,
  (void *) glPushAttrib,
  (void *) glPushClientAttrib,
  (void *) glPushClientAttribDefaultEXT,
  (void *) glPushMatrix,
  (void *) glPushName,
  (void *) glQueryCounter,
  (void *) glRasterPos2d,
  (void *) glRasterPos2dv,
  (void *) glRasterPos2f,
  (void *) glRasterPos2fv,
  (void *) glRasterPos2i,
  (void *) glRasterPos2iv,
  (void *) glRasterPos2s,
  (void *) glRasterPos2sv,
  (void *) glRasterPos3d,
  (void *) glRasterPos3dv,
  (void *) glRasterPos3f,
  (void *) glRasterPos3fv,
  (void *) glRasterPos3i,
  (void *) glRasterPos3iv,
  (void *) glRasterPos3s,
  (void *) glRasterPos3sv,
  (void *) glRasterPos4d,
  (void *) glRasterPos4dv,
  (void *) glRasterPos4f,
  (void *) glRasterPos4fv,
  (void *) glRasterPos4i,
  (void *) glRasterPos4iv,
  (void *) glRasterPos4s,
  (void *) glRasterPos4sv,
  (void *) glReadBuffer,
  (void *) glReadBufferRegionEXT,
  (void *) glReadInstrumentsSGIX,
  (void *) glReadPixels,
  (void *) glReadnPixelsARB,
  (void *) glRectd,
  (void *) glRectdv,
  (void *) glRectf,
  (void *) glRectfv,
  (void *) glRecti,
  (void *) glRectiv,
  (void *) glRects,
  (void *) glRectsv,
  (void *) glReferencePlaneSGIX,
  (void *) glReleaseShaderCompiler,
  (void *) glRenderMode,
  (void *) glRenderbufferStorage,
  (void *) glRenderbufferStorageEXT,
  (void *) glRenderbufferStorageMultisample,
  (void *) glRenderbufferStorageMultisampleCoverageNV,
  (void *) glRenderbufferStorageMultisampleEXT,
  (void *) glReplacementCodePointerSUN,
  (void *) glReplacementCodeubSUN,
  (void *) glReplacementCodeubvSUN,
  (void *) glReplacementCodeuiColor3fVertex3fSUN,
  (void *) glReplacementCodeuiColor3fVertex3fvSUN,
  (void *) glReplacementCodeuiColor4fNormal3fVertex3fSUN,
  (void *) glReplacementCodeuiColor4fNormal3fVertex3fvSUN,
  (void *) glReplacementCodeuiColor4ubVertex3fSUN,
  (void *) glReplacementCodeuiColor4ubVertex3fvSUN,
  (void *) glReplacementCodeuiNormal3fVertex3fSUN,
  (void *) glReplacementCodeuiNormal3fVertex3fvSUN,
  (void *) glReplacementCodeuiSUN,
  (void *) glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN,
  (void *) glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN,
  (void *) glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN,
  (void *) glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN,
  (void *) glReplacementCodeuiTexCoord2fVertex3fSUN,
  (void *) glReplacementCodeuiTexCoord2fVertex3fvSUN,
  (void *) glReplacementCodeuiVertex3fSUN,
  (void *) glReplacementCodeuiVertex3fvSUN,
  (void *) glReplacementCodeuivSUN,
  (void *) glReplacementCodeusSUN,
  (void *) glReplacementCodeusvSUN,
  (void *) glRequestResidentProgramsNV,
  (void *) glResetHistogram,
  (void *) glResetHistogramEXT,
  (void *) glResetMinmax,
  (void *) glResetMinmaxEXT,
  (void *) glResizeBuffersMESA,
  (void *) glResumeTransformFeedback,
  (void *) glResumeTransformFeedbackNV,
  (void *) glRotated,
  (void *) glRotatef,
  (void *) glSampleCoverage,
  (void *) glSampleCoverageARB,
  (void *) glSampleMapATI,
  (void *) glSampleMaskEXT,
  (void *) glSampleMaskIndexedNV,
  (void *) glSampleMaskSGIS,
  (void *) glSampleMaski,
  (void *) glSamplePatternEXT,
  (void *) glSamplePatternSGIS,
  (void *) glSamplerParameterIiv,
  (void *) glSamplerParameterIuiv,
  (void *) glSamplerParameterf,
  (void *) glSamplerParameterfv,
  (void *) glSamplerParameteri,
  (void *) glSamplerParameteriv,
  (void *) glScaled,
  (void *) glScalef,
  (void *) glScissor,
  (void *) glScissorArrayv,
  (void *) glScissorIndexed,
  (void *) glScissorIndexedv,
  (void *) glSecondaryColor3b,
  (void *) glSecondaryColor3bEXT,
  (void *) glSecondaryColor3bv,
  (void *) glSecondaryColor3bvEXT,
  (void *) glSecondaryColor3d,
  (void *) glSecondaryColor3dEXT,
  (void *) glSecondaryColor3dv,
  (void *) glSecondaryColor3dvEXT,
  (void *) glSecondaryColor3f,
  (void *) glSecondaryColor3fEXT,
  (void *) glSecondaryColor3fv,
  (void *) glSecondaryColor3fvEXT,
  (void *) glSecondaryColor3hNV,
  (void *) glSecondaryColor3hvNV,
  (void *) glSecondaryColor3i,
  (void *) glSecondaryColor3iEXT,
  (void *) glSecondaryColor3iv,
  (void *) glSecondaryColor3ivEXT,
  (void *) glSecondaryColor3s,
  (void *) glSecondaryColor3sEXT,
  (void *) glSecondaryColor3sv,
  (void *) glSecondaryColor3svEXT,
  (void *) glSecondaryColor3ub,
  (void *) glSecondaryColor3ubEXT,
  (void *) glSecondaryColor3ubv,
  (void *) glSecondaryColor3ubvEXT,
  (void *) glSecondaryColor3ui,
  (void *) glSecondaryColor3uiEXT,
  (void *) glSecondaryColor3uiv,
  (void *) glSecondaryColor3uivEXT,
  (void *) glSecondaryColor3us,
  (void *) glSecondaryColor3usEXT,
  (void *) glSecondaryColor3usv,
  (void *) glSecondaryColor3usvEXT,
  (void *) glSecondaryColorFormatNV,
  (void *) glSecondaryColorP3ui,
  (void *) glSecondaryColorP3uiv,
  (void *) glSecondaryColorPointer,
  (void *) glSecondaryColorPointerEXT,
  (void *) glSecondaryColorPointerListIBM,
  (void *) glSelectBuffer,
  (void *) glSelectPerfMonitorCountersAMD,
  (void *) glSeparableFilter2D,
  (void *) glSeparableFilter2DEXT,
  (void *) glSetFenceAPPLE,
  (void *) glSetFenceNV,
  (void *) glSetFragmentShaderConstantATI,
  (void *) glSetInvariantEXT,
  (void *) glSetLocalConstantEXT,
  (void *) glShadeModel,
  (void *) glShaderBinary,
  (void *) glShaderOp1EXT,
  (void *) glShaderOp2EXT,
  (void *) glShaderOp3EXT,
  (void *) glShaderSource,
  (void *) glShaderSourceARB,
  (void *) glSharpenTexFuncSGIS,
  (void *) glSpriteParameterfSGIX,
  (void *) glSpriteParameterfvSGIX,
  (void *) glSpriteParameteriSGIX,
  (void *) glSpriteParameterivSGIX,
  (void *) glStartInstrumentsSGIX,
  (void *) glStencilClearTagEXT,
  (void *) glStencilFunc,
  (void *) glStencilFuncSeparate,
  (void *) glStencilFuncSeparateATI,
  (void *) glStencilMask,
  (void *) glStencilMaskSeparate,
  (void *) glStencilOp,
  (void *) glStencilOpSeparate,
  (void *) glStencilOpSeparateATI,
  (void *) glStopInstrumentsSGIX,
  (void *) glStringMarkerGREMEDY,
  (void *) glSwizzleEXT,
  (void *) glTagSampleBufferSGIX,
  (void *) glTangent3bEXT,
  (void *) glTangent3bvEXT,
  (void *) glTangent3dEXT,
  (void *) glTangent3dvEXT,
  (void *) glTangent3fEXT,
  (void *) glTangent3fvEXT,
  (void *) glTangent3iEXT,
  (void *) glTangent3ivEXT,
  (void *) glTangent3sEXT,
  (void *) glTangent3svEXT,
  (void *) glTangentPointerEXT,
  (void *) glTbufferMask3DFX,
  (void *) glTessellationFactorAMD,
  (void *) glTessellationModeAMD,
  (void *) glTestFenceAPPLE,
  (void *) glTestFenceNV,
  (void *) glTestObjectAPPLE,
  (void *) glTexBuffer,
  (void *) glTexBufferARB,
  (void *) glTexBufferEXT,
  (void *) glTexBumpParameterfvATI,
  (void *) glTexBumpParameterivATI,
  (void *) glTexCoord1d,
  (void *) glTexCoord1dv,
  (void *) glTexCoord1f,
  (void *) glTexCoord1fv,
  (void *) glTexCoord1hNV,
  (void *) glTexCoord1hvNV,
  (void *) glTexCoord1i,
  (void *) glTexCoord1iv,
  (void *) glTexCoord1s,
  (void *) glTexCoord1sv,
  (void *) glTexCoord2d,
  (void *) glTexCoord2dv,
  (void *) glTexCoord2f,
  (void *) glTexCoord2fColor3fVertex3fSUN,
  (void *) glTexCoord2fColor3fVertex3fvSUN,
  (void *) glTexCoord2fColor4fNormal3fVertex3fSUN,
  (void *) glTexCoord2fColor4fNormal3fVertex3fvSUN,
  (void *) glTexCoord2fColor4ubVertex3fSUN,
  (void *) glTexCoord2fColor4ubVertex3fvSUN,
  (void *) glTexCoord2fNormal3fVertex3fSUN,
  (void *) glTexCoord2fNormal3fVertex3fvSUN,
  (void *) glTexCoord2fVertex3fSUN,
  (void *) glTexCoord2fVertex3fvSUN,
  (void *) glTexCoord2fv,
  (void *) glTexCoord2hNV,
  (void *) glTexCoord2hvNV,
  (void *) glTexCoord2i,
  (void *) glTexCoord2iv,
  (void *) glTexCoord2s,
  (void *) glTexCoord2sv,
  (void *) glTexCoord3d,
  (void *) glTexCoord3dv,
  (void *) glTexCoord3f,
  (void *) glTexCoord3fv,
  (void *) glTexCoord3hNV,
  (void *) glTexCoord3hvNV,
  (void *) glTexCoord3i,
  (void *) glTexCoord3iv,
  (void *) glTexCoord3s,
  (void *) glTexCoord3sv,
  (void *) glTexCoord4d,
  (void *) glTexCoord4dv,
  (void *) glTexCoord4f,
  (void *) glTexCoord4fColor4fNormal3fVertex4fSUN,
  (void *) glTexCoord4fColor4fNormal3fVertex4fvSUN,
  (void *) glTexCoord4fVertex4fSUN,
  (void *) glTexCoord4fVertex4fvSUN,
  (void *) glTexCoord4fv,
  (void *) glTexCoord4hNV,
  (void *) glTexCoord4hvNV,
  (void *) glTexCoord4i,
  (void *) glTexCoord4iv,
  (void *) glTexCoord4s,
  (void *) glTexCoord4sv,
  (void *) glTexCoordFormatNV,
  (void *) glTexCoordP1ui,
  (void *) glTexCoordP1uiv,
  (void *) glTexCoordP2ui,
  (void *) glTexCoordP2uiv,
  (void *) glTexCoordP3ui,
  (void *) glTexCoordP3uiv,
  (void *) glTexCoordP4ui,
  (void *) glTexCoordP4uiv,
  (void *) glTexCoordPointer,
  (void *) glTexCoordPointerEXT,
  (void *) glTexCoordPointerListIBM,
  (void *) glTexCoordPointervINTEL,
  (void *) glTexEnvf,
  (void *) glTexEnvfv,
  (void *) glTexEnvi,
  (void *) glTexEnviv,
  (void *) glTexFilterFuncSGIS,
  (void *) glTexGend,
  (void *) glTexGendv,
  (void *) glTexGenf,
  (void *) glTexGenfv,
  (void *) glTexGeni,
  (void *) glTexGeniv,
  (void *) glTexImage1D,
  (void *) glTexImage2D,
  (void *) glTexImage2DMultisample,
  (void *) glTexImage3D,
  (void *) glTexImage3DEXT,
  (void *) glTexImage3DMultisample,
  (void *) glTexImage4DSGIS,
  (void *) glTexParameterIiv,
  (void *) glTexParameterIivEXT,
  (void *) glTexParameterIuiv,
  (void *) glTexParameterIuivEXT,
  (void *) glTexParameterf,
  (void *) glTexParameterfv,
  (void *) glTexParameteri,
  (void *) glTexParameteriv,
  (void *) glTexRenderbufferNV,
  (void *) glTexSubImage1D,
  (void *) glTexSubImage1DEXT,
  (void *) glTexSubImage2D,
  (void *) glTexSubImage2DEXT,
  (void *) glTexSubImage3D,
  (void *) glTexSubImage3DEXT,
  (void *) glTexSubImage4DSGIS,
  (void *) glTextureBarrierNV,
  (void *) glTextureBufferEXT,
  (void *) glTextureColorMaskSGIS,
  (void *) glTextureFogSGIX,
  (void *) glTextureImage1DEXT,
  (void *) glTextureImage2DEXT,
  (void *) glTextureImage3DEXT,
  (void *) glTextureLightEXT,
  (void *) glTextureMaterialEXT,
  (void *) glTextureNormalEXT,
  (void *) glTextureParameterIivEXT,
  (void *) glTextureParameterIuivEXT,
  (void *) glTextureParameterfEXT,
  (void *) glTextureParameterfvEXT,
  (void *) glTextureParameteriEXT,
  (void *) glTextureParameterivEXT,
  (void *) glTextureRangeAPPLE,
  (void *) glTextureRenderbufferEXT,
  (void *) glTextureSubImage1DEXT,
  (void *) glTextureSubImage2DEXT,
  (void *) glTextureSubImage3DEXT,
  (void *) glTrackMatrixNV,
  (void *) glTransformFeedbackAttribsNV,
  (void *) glTransformFeedbackVaryings,
  (void *) glTransformFeedbackVaryingsEXT,
  (void *) glTransformFeedbackVaryingsNV,
  (void *) glTranslated,
  (void *) glTranslatef,
  (void *) glUniform1d,
  (void *) glUniform1dv,
  (void *) glUniform1f,
  (void *) glUniform1fARB,
  (void *) glUniform1fv,
  (void *) glUniform1fvARB,
  (void *) glUniform1i,
  (void *) glUniform1i64NV,
  (void *) glUniform1i64vNV,
  (void *) glUniform1iARB,
  (void *) glUniform1iv,
  (void *) glUniform1ivARB,
  (void *) glUniform1ui,
  (void *) glUniform1ui64NV,
  (void *) glUniform1ui64vNV,
  (void *) glUniform1uiEXT,
  (void *) glUniform1uiv,
  (void *) glUniform1uivEXT,
  (void *) glUniform2d,
  (void *) glUniform2dv,
  (void *) glUniform2f,
  (void *) glUniform2fARB,
  (void *) glUniform2fv,
  (void *) glUniform2fvARB,
  (void *) glUniform2i,
  (void *) glUniform2i64NV,
  (void *) glUniform2i64vNV,
  (void *) glUniform2iARB,
  (void *) glUniform2iv,
  (void *) glUniform2ivARB,
  (void *) glUniform2ui,
  (void *) glUniform2ui64NV,
  (void *) glUniform2ui64vNV,
  (void *) glUniform2uiEXT,
  (void *) glUniform2uiv,
  (void *) glUniform2uivEXT,
  (void *) glUniform3d,
  (void *) glUniform3dv,
  (void *) glUniform3f,
  (void *) glUniform3fARB,
  (void *) glUniform3fv,
  (void *) glUniform3fvARB,
  (void *) glUniform3i,
  (void *) glUniform3i64NV,
  (void *) glUniform3i64vNV,
  (void *) glUniform3iARB,
  (void *) glUniform3iv,
  (void *) glUniform3ivARB,
  (void *) glUniform3ui,
  (void *) glUniform3ui64NV,
  (void *) glUniform3ui64vNV,
  (void *) glUniform3uiEXT,
  (void *) glUniform3uiv,
  (void *) glUniform3uivEXT,
  (void *) glUniform4d,
  (void *) glUniform4dv,
  (void *) glUniform4f,
  (void *) glUniform4fARB,
  (void *) glUniform4fv,
  (void *) glUniform4fvARB,
  (void *) glUniform4i,
  (void *) glUniform4i64NV,
  (void *) glUniform4i64vNV,
  (void *) glUniform4iARB,
  (void *) glUniform4iv,
  (void *) glUniform4ivARB,
  (void *) glUniform4ui,
  (void *) glUniform4ui64NV,
  (void *) glUniform4ui64vNV,
  (void *) glUniform4uiEXT,
  (void *) glUniform4uiv,
  (void *) glUniform4uivEXT,
  (void *) glUniformBlockBinding,
  (void *) glUniformBufferEXT,
  (void *) glUniformMatrix2dv,
  (void *) glUniformMatrix2fv,
  (void *) glUniformMatrix2fvARB,
  (void *) glUniformMatrix2x3dv,
  (void *) glUniformMatrix2x3fv,
  (void *) glUniformMatrix2x4dv,
  (void *) glUniformMatrix2x4fv,
  (void *) glUniformMatrix3dv,
  (void *) glUniformMatrix3fv,
  (void *) glUniformMatrix3fvARB,
  (void *) glUniformMatrix3x2dv,
  (void *) glUniformMatrix3x2fv,
  (void *) glUniformMatrix3x4dv,
  (void *) glUniformMatrix3x4fv,
  (void *) glUniformMatrix4dv,
  (void *) glUniformMatrix4fv,
  (void *) glUniformMatrix4fvARB,
  (void *) glUniformMatrix4x2dv,
  (void *) glUniformMatrix4x2fv,
  (void *) glUniformMatrix4x3dv,
  (void *) glUniformMatrix4x3fv,
  (void *) glUniformSubroutinesuiv,
  (void *) glUniformui64NV,
  (void *) glUniformui64vNV,
  (void *) glUnlockArraysEXT,
  (void *) glUnmapBuffer,
  (void *) glUnmapBufferARB,
  (void *) glUnmapNamedBufferEXT,
  (void *) glUnmapObjectBufferATI,
  (void *) glUpdateObjectBufferATI,
  (void *) glUseProgram,
  (void *) glUseProgramObjectARB,
  (void *) glUseProgramStages,
  (void *) glUseShaderProgramEXT,
  (void *) glVDPAUFiniNV,
  (void *) glVDPAUGetSurfaceivNV,
  (void *) glVDPAUInitNV,
  (void *) glVDPAUIsSurfaceNV,
  (void *) glVDPAUMapSurfacesNV,
  (void *) glVDPAURegisterOutputSurfaceNV,
  (void *) glVDPAURegisterVideoSurfaceNV,
  (void *) glVDPAUSurfaceAccessNV,
  (void *) glVDPAUUnmapSurfacesNV,
  (void *) glVDPAUUnregisterSurfaceNV,
  (void *) glValidateProgram,
  (void *) glValidateProgramARB,
  (void *) glValidateProgramPipeline,
  (void *) glVariantArrayObjectATI,
  (void *) glVariantPointerEXT,
  (void *) glVariantbvEXT,
  (void *) glVariantdvEXT,
  (void *) glVariantfvEXT,
  (void *) glVariantivEXT,
  (void *) glVariantsvEXT,
  (void *) glVariantubvEXT,
  (void *) glVariantuivEXT,
  (void *) glVariantusvEXT,
  (void *) glVertex2d,
  (void *) glVertex2dv,
  (void *) glVertex2f,
  (void *) glVertex2fv,
  (void *) glVertex2hNV,
  (void *) glVertex2hvNV,
  (void *) glVertex2i,
  (void *) glVertex2iv,
  (void *) glVertex2s,
  (void *) glVertex2sv,
  (void *) glVertex3d,
  (void *) glVertex3dv,
  (void *) glVertex3f,
  (void *) glVertex3fv,
  (void *) glVertex3hNV,
  (void *) glVertex3hvNV,
  (void *) glVertex3i,
  (void *) glVertex3iv,
  (void *) glVertex3s,
  (void *) glVertex3sv,
  (void *) glVertex4d,
  (void *) glVertex4dv,
  (void *) glVertex4f,
  (void *) glVertex4fv,
  (void *) glVertex4hNV,
  (void *) glVertex4hvNV,
  (void *) glVertex4i,
  (void *) glVertex4iv,
  (void *) glVertex4s,
  (void *) glVertex4sv,
  (void *) glVertexArrayParameteriAPPLE,
  (void *) glVertexArrayRangeAPPLE,
  (void *) glVertexArrayRangeNV,
  (void *) glVertexArrayVertexAttribLOffsetEXT,
  (void *) glVertexAttrib1d,
  (void *) glVertexAttrib1dARB,
  (void *) glVertexAttrib1dNV,
  (void *) glVertexAttrib1dv,
  (void *) glVertexAttrib1dvARB,
  (void *) glVertexAttrib1dvNV,
  (void *) glVertexAttrib1f,
  (void *) glVertexAttrib1fARB,
  (void *) glVertexAttrib1fNV,
  (void *) glVertexAttrib1fv,
  (void *) glVertexAttrib1fvARB,
  (void *) glVertexAttrib1fvNV,
  (void *) glVertexAttrib1hNV,
  (void *) glVertexAttrib1hvNV,
  (void *) glVertexAttrib1s,
  (void *) glVertexAttrib1sARB,
  (void *) glVertexAttrib1sNV,
  (void *) glVertexAttrib1sv,
  (void *) glVertexAttrib1svARB,
  (void *) glVertexAttrib1svNV,
  (void *) glVertexAttrib2d,
  (void *) glVertexAttrib2dARB,
  (void *) glVertexAttrib2dNV,
  (void *) glVertexAttrib2dv,
  (void *) glVertexAttrib2dvARB,
  (void *) glVertexAttrib2dvNV,
  (void *) glVertexAttrib2f,
  (void *) glVertexAttrib2fARB,
  (void *) glVertexAttrib2fNV,
  (void *) glVertexAttrib2fv,
  (void *) glVertexAttrib2fvARB,
  (void *) glVertexAttrib2fvNV,
  (void *) glVertexAttrib2hNV,
  (void *) glVertexAttrib2hvNV,
  (void *) glVertexAttrib2s,
  (void *) glVertexAttrib2sARB,
  (void *) glVertexAttrib2sNV,
  (void *) glVertexAttrib2sv,
  (void *) glVertexAttrib2svARB,
  (void *) glVertexAttrib2svNV,
  (void *) glVertexAttrib3d,
  (void *) glVertexAttrib3dARB,
  (void *) glVertexAttrib3dNV,
  (void *) glVertexAttrib3dv,
  (void *) glVertexAttrib3dvARB,
  (void *) glVertexAttrib3dvNV,
  (void *) glVertexAttrib3f,
  (void *) glVertexAttrib3fARB,
  (void *) glVertexAttrib3fNV,
  (void *) glVertexAttrib3fv,
  (void *) glVertexAttrib3fvARB,
  (void *) glVertexAttrib3fvNV,
  (void *) glVertexAttrib3hNV,
  (void *) glVertexAttrib3hvNV,
  (void *) glVertexAttrib3s,
  (void *) glVertexAttrib3sARB,
  (void *) glVertexAttrib3sNV,
  (void *) glVertexAttrib3sv,
  (void *) glVertexAttrib3svARB,
  (void *) glVertexAttrib3svNV,
  (void *) glVertexAttrib4Nbv,
  (void *) glVertexAttrib4NbvARB,
  (void *) glVertexAttrib4Niv,
  (void *) glVertexAttrib4NivARB,
  (void *) glVertexAttrib4Nsv,
  (void *) glVertexAttrib4NsvARB,
  (void *) glVertexAttrib4Nub,
  (void *) glVertexAttrib4NubARB,
  (void *) glVertexAttrib4Nubv,
  (void *) glVertexAttrib4NubvARB,
  (void *) glVertexAttrib4Nuiv,
  (void *) glVertexAttrib4NuivARB,
  (void *) glVertexAttrib4Nusv,
  (void *) glVertexAttrib4NusvARB,
  (void *) glVertexAttrib4bv,
  (void *) glVertexAttrib4bvARB,
  (void *) glVertexAttrib4d,
  (void *) glVertexAttrib4dARB,
  (void *) glVertexAttrib4dNV,
  (void *) glVertexAttrib4dv,
  (void *) glVertexAttrib4dvARB,
  (void *) glVertexAttrib4dvNV,
  (void *) glVertexAttrib4f,
  (void *) glVertexAttrib4fARB,
  (void *) glVertexAttrib4fNV,
  (void *) glVertexAttrib4fv,
  (void *) glVertexAttrib4fvARB,
  (void *) glVertexAttrib4fvNV,
  (void *) glVertexAttrib4hNV,
  (void *) glVertexAttrib4hvNV,
  (void *) glVertexAttrib4iv,
  (void *) glVertexAttrib4ivARB,
  (void *) glVertexAttrib4s,
  (void *) glVertexAttrib4sARB,
  (void *) glVertexAttrib4sNV,
  (void *) glVertexAttrib4sv,
  (void *) glVertexAttrib4svARB,
  (void *) glVertexAttrib4svNV,
  (void *) glVertexAttrib4ubNV,
  (void *) glVertexAttrib4ubv,
  (void *) glVertexAttrib4ubvARB,
  (void *) glVertexAttrib4ubvNV,
  (void *) glVertexAttrib4uiv,
  (void *) glVertexAttrib4uivARB,
  (void *) glVertexAttrib4usv,
  (void *) glVertexAttrib4usvARB,
  (void *) glVertexAttribArrayObjectATI,
  (void *) glVertexAttribDivisor,
  (void *) glVertexAttribDivisorARB,
  (void *) glVertexAttribFormatNV,
  (void *) glVertexAttribI1i,
  (void *) glVertexAttribI1iEXT,
  (void *) glVertexAttribI1iv,
  (void *) glVertexAttribI1ivEXT,
  (void *) glVertexAttribI1ui,
  (void *) glVertexAttribI1uiEXT,
  (void *) glVertexAttribI1uiv,
  (void *) glVertexAttribI1uivEXT,
  (void *) glVertexAttribI2i,
  (void *) glVertexAttribI2iEXT,
  (void *) glVertexAttribI2iv,
  (void *) glVertexAttribI2ivEXT,
  (void *) glVertexAttribI2ui,
  (void *) glVertexAttribI2uiEXT,
  (void *) glVertexAttribI2uiv,
  (void *) glVertexAttribI2uivEXT,
  (void *) glVertexAttribI3i,
  (void *) glVertexAttribI3iEXT,
  (void *) glVertexAttribI3iv,
  (void *) glVertexAttribI3ivEXT,
  (void *) glVertexAttribI3ui,
  (void *) glVertexAttribI3uiEXT,
  (void *) glVertexAttribI3uiv,
  (void *) glVertexAttribI3uivEXT,
  (void *) glVertexAttribI4bv,
  (void *) glVertexAttribI4bvEXT,
  (void *) glVertexAttribI4i,
  (void *) glVertexAttribI4iEXT,
  (void *) glVertexAttribI4iv,
  (void *) glVertexAttribI4ivEXT,
  (void *) glVertexAttribI4sv,
  (void *) glVertexAttribI4svEXT,
  (void *) glVertexAttribI4ubv,
  (void *) glVertexAttribI4ubvEXT,
  (void *) glVertexAttribI4ui,
  (void *) glVertexAttribI4uiEXT,
  (void *) glVertexAttribI4uiv,
  (void *) glVertexAttribI4uivEXT,
  (void *) glVertexAttribI4usv,
  (void *) glVertexAttribI4usvEXT,
  (void *) glVertexAttribIFormatNV,
  (void *) glVertexAttribIPointer,
  (void *) glVertexAttribIPointerEXT,
  (void *) glVertexAttribL1d,
  (void *) glVertexAttribL1dEXT,
  (void *) glVertexAttribL1dv,
  (void *) glVertexAttribL1dvEXT,
  (void *) glVertexAttribL1i64NV,
  (void *) glVertexAttribL1i64vNV,
  (void *) glVertexAttribL1ui64NV,
  (void *) glVertexAttribL1ui64vNV,
  (void *) glVertexAttribL2d,
  (void *) glVertexAttribL2dEXT,
  (void *) glVertexAttribL2dv,
  (void *) glVertexAttribL2dvEXT,
  (void *) glVertexAttribL2i64NV,
  (void *) glVertexAttribL2i64vNV,
  (void *) glVertexAttribL2ui64NV,
  (void *) glVertexAttribL2ui64vNV,
  (void *) glVertexAttribL3d,
  (void *) glVertexAttribL3dEXT,
  (void *) glVertexAttribL3dv,
  (void *) glVertexAttribL3dvEXT,
  (void *) glVertexAttribL3i64NV,
  (void *) glVertexAttribL3i64vNV,
  (void *) glVertexAttribL3ui64NV,
  (void *) glVertexAttribL3ui64vNV,
  (void *) glVertexAttribL4d,
  (void *) glVertexAttribL4dEXT,
  (void *) glVertexAttribL4dv,
  (void *) glVertexAttribL4dvEXT,
  (void *) glVertexAttribL4i64NV,
  (void *) glVertexAttribL4i64vNV,
  (void *) glVertexAttribL4ui64NV,
  (void *) glVertexAttribL4ui64vNV,
  (void *) glVertexAttribLFormatNV,
  (void *) glVertexAttribLPointer,
  (void *) glVertexAttribLPointerEXT,
  (void *) glVertexAttribP1ui,
  (void *) glVertexAttribP1uiv,
  (void *) glVertexAttribP2ui,
  (void *) glVertexAttribP2uiv,
  (void *) glVertexAttribP3ui,
  (void *) glVertexAttribP3uiv,
  (void *) glVertexAttribP4ui,
  (void *) glVertexAttribP4uiv,
  (void *) glVertexAttribPointer,
  (void *) glVertexAttribPointerARB,
  (void *) glVertexAttribPointerNV,
  (void *) glVertexAttribs1dvNV,
  (void *) glVertexAttribs1fvNV,
  (void *) glVertexAttribs1hvNV,
  (void *) glVertexAttribs1svNV,
  (void *) glVertexAttribs2dvNV,
  (void *) glVertexAttribs2fvNV,
  (void *) glVertexAttribs2hvNV,
  (void *) glVertexAttribs2svNV,
  (void *) glVertexAttribs3dvNV,
  (void *) glVertexAttribs3fvNV,
  (void *) glVertexAttribs3hvNV,
  (void *) glVertexAttribs3svNV,
  (void *) glVertexAttribs4dvNV,
  (void *) glVertexAttribs4fvNV,
  (void *) glVertexAttribs4hvNV,
  (void *) glVertexAttribs4svNV,
  (void *) glVertexAttribs4ubvNV,
  (void *) glVertexBlendARB,
  (void *) glVertexBlendEnvfATI,
  (void *) glVertexBlendEnviATI,
  (void *) glVertexFormatNV,
  (void *) glVertexP2ui,
  (void *) glVertexP2uiv,
  (void *) glVertexP3ui,
  (void *) glVertexP3uiv,
  (void *) glVertexP4ui,
  (void *) glVertexP4uiv,
  (void *) glVertexPointer,
  (void *) glVertexPointerEXT,
  (void *) glVertexPointerListIBM,
  (void *) glVertexPointervINTEL,
  (void *) glVertexStream1dATI,
  (void *) glVertexStream1dvATI,
  (void *) glVertexStream1fATI,
  (void *) glVertexStream1fvATI,
  (void *) glVertexStream1iATI,
  (void *) glVertexStream1ivATI,
  (void *) glVertexStream1sATI,
  (void *) glVertexStream1svATI,
  (void *) glVertexStream2dATI,
  (void *) glVertexStream2dvATI,
  (void *) glVertexStream2fATI,
  (void *) glVertexStream2fvATI,
  (void *) glVertexStream2iATI,
  (void *) glVertexStream2ivATI,
  (void *) glVertexStream2sATI,
  (void *) glVertexStream2svATI,
  (void *) glVertexStream3dATI,
  (void *) glVertexStream3dvATI,
  (void *) glVertexStream3fATI,
  (void *) glVertexStream3fvATI,
  (void *) glVertexStream3iATI,
  (void *) glVertexStream3ivATI,
  (void *) glVertexStream3sATI,
  (void *) glVertexStream3svATI,
  (void *) glVertexStream4dATI,
  (void *) glVertexStream4dvATI,
  (void *) glVertexStream4fATI,
  (void *) glVertexStream4fvATI,
  (void *) glVertexStream4iATI,
  (void *) glVertexStream4ivATI,
  (void *) glVertexStream4sATI,
  (void *) glVertexStream4svATI,
  (void *) glVertexWeightPointerEXT,
  (void *) glVertexWeightfEXT,
  (void *) glVertexWeightfvEXT,
  (void *) glVertexWeighthNV,
  (void *) glVertexWeighthvNV,
  (void *) glVideoCaptureNV,
  (void *) glVideoCaptureStreamParameterdvNV,
  (void *) glVideoCaptureStreamParameterfvNV,
  (void *) glVideoCaptureStreamParameterivNV,
  (void *) glViewport,
  (void *) glViewportArrayv,
  (void *) glViewportIndexedf,
  (void *) glViewportIndexedfv,
  (void *) glWaitSync,
  (void *) glWeightPointerARB,
  (void *) glWeightbvARB,
  (void *) glWeightdvARB,
  (void *) glWeightfvARB,
  (void *) glWeightivARB,
  (void *) glWeightsvARB,
  (void *) glWeightubvARB,
  (void *) glWeightuivARB,
  (void *) glWeightusvARB,
  (void *) glWindowPos2d,
  (void *) glWindowPos2dARB,
  (void *) glWindowPos2dMESA,
  (void *) glWindowPos2dv,
  (void *) glWindowPos2dvARB,
  (void *) glWindowPos2dvMESA,
  (void *) glWindowPos2f,
  (void *) glWindowPos2fARB,
  (void *) glWindowPos2fMESA,
  (void *) glWindowPos2fv,
  (void *) glWindowPos2fvARB,
  (void *) glWindowPos2fvMESA,
  (void *) glWindowPos2i,
  (void *) glWindowPos2iARB,
  (void *) glWindowPos2iMESA,
  (void *) glWindowPos2iv,
  (void *) glWindowPos2ivARB,
  (void *) glWindowPos2ivMESA,
  (void *) glWindowPos2s,
  (void *) glWindowPos2sARB,
  (void *) glWindowPos2sMESA,
  (void *) glWindowPos2sv,
  (void *) glWindowPos2svARB,
  (void *) glWindowPos2svMESA,
  (void *) glWindowPos3d,
  (void *) glWindowPos3dARB,
  (void *) glWindowPos3dMESA,
  (void *) glWindowPos3dv,
  (void *) glWindowPos3dvARB,
  (void *) glWindowPos3dvMESA,
  (void *) glWindowPos3f,
  (void *) glWindowPos3fARB,
  (void *) glWindowPos3fMESA,
  (void *) glWindowPos3fv,
  (void *) glWindowPos3fvARB,
  (void *) glWindowPos3fvMESA,
  (void *) glWindowPos3i,
  (void *) glWindowPos3iARB,
  (void *) glWindowPos3iMESA,
  (void *) glWindowPos3iv,
  (void *) glWindowPos3ivARB,
  (void *) glWindowPos3ivMESA,
  (void *) glWindowPos3s,
  (void *) glWindowPos3sARB,
  (void *) glWindowPos3sMESA,
  (void *) glWindowPos3sv,
  (void *) glWindowPos3svARB,
  (void *) glWindowPos3svMESA,
  (void *) glWindowPos4dMESA,
  (void *) glWindowPos4dvMESA,
  (void *) glWindowPos4fMESA,
  (void *) glWindowPos4fvMESA,
  (void *) glWindowPos4iMESA,
  (void *) glWindowPos4ivMESA,
  (void *) glWindowPos4sMESA,
  (void *) glWindowPos4svMESA,
  (void *) glWriteMaskEXT,
  NULL
};

static void **traceGL_NativeArray = (void **) &traceGL_Native;

static void *traceGL_lazyGetProcAddress(const char *name);

/* Lookup native proc address for API function and update traceGL_NativeArray. */

void
traceGL_lookupNativeAddress(const char *name, void **procPtr)
{
  void *proc = NULL;
  size_t index = procPtr - traceGL_NativeArray;

  assert(name);
  assert(index < 2266);
  assert(!strcmp(name, traceGL_apiFuncNames[index]));

  /* Check if API function address already loaded. */

  if (traceGL_NativeArray[index])
    return;

  /* Obtain proc address using GL GetProcAddress API function. */

  proc = traceGL_lazyGetProcAddress(name);

  /* Check if API function address loaded from traceGL. */

  if (proc == traceGL_WrapperArray[index])
  {
    traceWarning("Ignoring %s loaded from traceGL library.", name);
    proc = NULL;
  }

  traceGL_NativeArray[index] = proc;
}

/* Binary search function for proc address lookup. */

static int CompareStrcmp(const void *a, const void *b)
{
  return strcmp(*(const char **) a, *(const char **) b);
}

/* Lookup wrapper proc address for the GL API function. */

void *
traceGL_lookupWrapperAddress(const char *name, void *proc)
{
  const char **res = NULL;

  if (!name)
  {
    traceWarning("Cannot load function without name.");
    return NULL;
  }

  res = (const char **) bsearch(&name, traceGL_apiFuncNames, 2265, sizeof(const char *), CompareStrcmp);
  if (res)
    return traceGL_WrapperArray[(size_t) (res - traceGL_apiFuncNames)];

  traceWarning("Trace does not support %s.", name);
  return proc;
}

/* TraceGL wrapper for GetProcAddress. */

static void *
traceGL_lazyGetProcAddress(const char *name)
{
#if defined(_WIN32)
  return traceGL_wglGetProcAddress ? traceGL_wglGetProcAddress(name) : NULL;
#elif !defined(__APPLE__)
  return traceGL_glXGetProcAddress ? traceGL_glXGetProcAddress(name) : NULL;
#else
  return NULL;
#endif
}
