/* NOTE: Do not edit this file, it is generated by a script:
   ExportTrace.py --api gl 3.1 --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. */

/* GL_VERSION_1_1 */

#define GL_ACCUM 0x0100
#define GL_LOAD 0x0101
#define GL_RETURN 0x0102
#define GL_MULT 0x0103
#define GL_ADD 0x0104
#define GL_NEVER 0x0200
#define GL_LESS 0x0201
#define GL_EQUAL 0x0202
#define GL_LEQUAL 0x0203
#define GL_GREATER 0x0204
#define GL_NOTEQUAL 0x0205
#define GL_GEQUAL 0x0206
#define GL_ALWAYS 0x0207
#define GL_CURRENT_BIT 0x0001
#define GL_POINT_BIT 0x0002
#define GL_LINE_BIT 0x0004
#define GL_POLYGON_BIT 0x0008
#define GL_POLYGON_STIPPLE_BIT 0x0010
#define GL_PIXEL_MODE_BIT 0x0020
#define GL_LIGHTING_BIT 0x0040
#define GL_FOG_BIT 0x0080
#define GL_DEPTH_BUFFER_BIT 0x0100
#define GL_ACCUM_BUFFER_BIT 0x0200
#define GL_STENCIL_BUFFER_BIT 0x0400
#define GL_VIEWPORT_BIT 0x0800
#define GL_TRANSFORM_BIT 0x1000
#define GL_ENABLE_BIT 0x2000
#define GL_COLOR_BUFFER_BIT 0x4000
#define GL_HINT_BIT 0x8000
#define GL_EVAL_BIT 0x10000
#define GL_LIST_BIT 0x20000
#define GL_TEXTURE_BIT 0x40000
#define GL_SCISSOR_BIT 0x80000
#define GL_ALL_ATTRIB_BITS 0xFFFFF
#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
#define GL_ZERO 0x0000
#define GL_ONE 0x0001
#define GL_SRC_COLOR 0x0300
#define GL_ONE_MINUS_SRC_COLOR 0x0301
#define GL_SRC_ALPHA 0x0302
#define GL_ONE_MINUS_SRC_ALPHA 0x0303
#define GL_DST_ALPHA 0x0304
#define GL_ONE_MINUS_DST_ALPHA 0x0305
#define GL_DST_COLOR 0x0306
#define GL_ONE_MINUS_DST_COLOR 0x0307
#define GL_SRC_ALPHA_SATURATE 0x0308
#define GL_TRUE 0x0001
#define GL_FALSE 0x0000
#define GL_CLIP_PLANE0 0x3000
#define GL_CLIP_PLANE1 0x3001
#define GL_CLIP_PLANE2 0x3002
#define GL_CLIP_PLANE3 0x3003
#define GL_CLIP_PLANE4 0x3004
#define GL_CLIP_PLANE5 0x3005

/* GL_OES_byte_coordinates */

#define GL_BYTE 0x1400

/* GL_VERSION_1_1 */

#define GL_UNSIGNED_BYTE 0x1401
#define GL_SHORT 0x1402
#define GL_UNSIGNED_SHORT 0x1403
#define GL_INT 0x1404

/* GL_AMD_performance_monitor */

#define GL_UNSIGNED_INT 0x1405
#define GL_FLOAT 0x1406

/* GL_VERSION_1_1 */

#define GL_2_BYTES 0x1407
#define GL_3_BYTES 0x1408
#define GL_4_BYTES 0x1409
#define GL_DOUBLE 0x140A
#define GL_NONE 0x0000
#define GL_FRONT_LEFT 0x0400
#define GL_FRONT_RIGHT 0x0401
#define GL_BACK_LEFT 0x0402
#define GL_BACK_RIGHT 0x0403
#define GL_FRONT 0x0404
#define GL_BACK 0x0405
#define GL_LEFT 0x0406
#define GL_RIGHT 0x0407
#define GL_FRONT_AND_BACK 0x0408
#define GL_AUX0 0x0409
#define GL_AUX1 0x040A
#define GL_AUX2 0x040B
#define GL_AUX3 0x040C
#define GL_NO_ERROR 0x0000
#define GL_INVALID_ENUM 0x0500
#define GL_INVALID_VALUE 0x0501
#define GL_INVALID_OPERATION 0x0502
#define GL_STACK_OVERFLOW 0x0503
#define GL_STACK_UNDERFLOW 0x0504
#define GL_OUT_OF_MEMORY 0x0505
#define GL_2D 0x0600
#define GL_3D 0x0601
#define GL_3D_COLOR 0x0602
#define GL_3D_COLOR_TEXTURE 0x0603
#define GL_4D_COLOR_TEXTURE 0x0604
#define GL_PASS_THROUGH_TOKEN 0x0700
#define GL_POINT_TOKEN 0x0701
#define GL_LINE_TOKEN 0x0702
#define GL_POLYGON_TOKEN 0x0703
#define GL_BITMAP_TOKEN 0x0704
#define GL_DRAW_PIXEL_TOKEN 0x0705
#define GL_COPY_PIXEL_TOKEN 0x0706
#define GL_LINE_RESET_TOKEN 0x0707
#define GL_EXP 0x0800
#define GL_EXP2 0x0801
#define GL_CW 0x0900
#define GL_CCW 0x0901
#define GL_COEFF 0x0A00
#define GL_ORDER 0x0A01
#define GL_DOMAIN 0x0A02
#define GL_CURRENT_COLOR 0x0B00
#define GL_CURRENT_INDEX 0x0B01
#define GL_CURRENT_NORMAL 0x0B02
#define GL_CURRENT_TEXTURE_COORDS 0x0B03
#define GL_CURRENT_RASTER_COLOR 0x0B04
#define GL_CURRENT_RASTER_INDEX 0x0B05
#define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06
#define GL_CURRENT_RASTER_POSITION 0x0B07
#define GL_CURRENT_RASTER_POSITION_VALID 0x0B08
#define GL_CURRENT_RASTER_DISTANCE 0x0B09
#define GL_POINT_SMOOTH 0x0B10
#define GL_POINT_SIZE 0x0B11
#define GL_POINT_SIZE_RANGE 0x0B12
#define GL_POINT_SIZE_GRANULARITY 0x0B13
#define GL_LINE_SMOOTH 0x0B20
#define GL_LINE_WIDTH 0x0B21
#define GL_LINE_WIDTH_RANGE 0x0B22
#define GL_LINE_WIDTH_GRANULARITY 0x0B23
#define GL_LINE_STIPPLE 0x0B24
#define GL_LINE_STIPPLE_PATTERN 0x0B25
#define GL_LINE_STIPPLE_REPEAT 0x0B26
#define GL_LIST_MODE 0x0B30
#define GL_MAX_LIST_NESTING 0x0B31
#define GL_LIST_BASE 0x0B32
#define GL_LIST_INDEX 0x0B33
#define GL_POLYGON_MODE 0x0B40
#define GL_POLYGON_SMOOTH 0x0B41
#define GL_POLYGON_STIPPLE 0x0B42
#define GL_EDGE_FLAG 0x0B43
#define GL_CULL_FACE 0x0B44
#define GL_CULL_FACE_MODE 0x0B45
#define GL_FRONT_FACE 0x0B46
#define GL_LIGHTING 0x0B50
#define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51
#define GL_LIGHT_MODEL_TWO_SIDE 0x0B52
#define GL_LIGHT_MODEL_AMBIENT 0x0B53
#define GL_SHADE_MODEL 0x0B54
#define GL_COLOR_MATERIAL_FACE 0x0B55
#define GL_COLOR_MATERIAL_PARAMETER 0x0B56
#define GL_COLOR_MATERIAL 0x0B57
#define GL_FOG 0x0B60
#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
#define GL_DEPTH_RANGE 0x0B70
#define GL_DEPTH_TEST 0x0B71
#define GL_DEPTH_WRITEMASK 0x0B72
#define GL_DEPTH_CLEAR_VALUE 0x0B73
#define GL_DEPTH_FUNC 0x0B74
#define GL_ACCUM_CLEAR_VALUE 0x0B80
#define GL_STENCIL_TEST 0x0B90
#define GL_STENCIL_CLEAR_VALUE 0x0B91
#define GL_STENCIL_FUNC 0x0B92
#define GL_STENCIL_VALUE_MASK 0x0B93
#define GL_STENCIL_FAIL 0x0B94
#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
#define GL_STENCIL_REF 0x0B97
#define GL_STENCIL_WRITEMASK 0x0B98
#define GL_MATRIX_MODE 0x0BA0
#define GL_NORMALIZE 0x0BA1
#define GL_VIEWPORT 0x0BA2
#define GL_MODELVIEW_STACK_DEPTH 0x0BA3
#define GL_PROJECTION_STACK_DEPTH 0x0BA4
#define GL_TEXTURE_STACK_DEPTH 0x0BA5
#define GL_MODELVIEW_MATRIX 0x0BA6
#define GL_PROJECTION_MATRIX 0x0BA7
#define GL_TEXTURE_MATRIX 0x0BA8
#define GL_ATTRIB_STACK_DEPTH 0x0BB0
#define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1
#define GL_ALPHA_TEST 0x0BC0
#define GL_ALPHA_TEST_FUNC 0x0BC1
#define GL_ALPHA_TEST_REF 0x0BC2
#define GL_DITHER 0x0BD0
#define GL_BLEND_DST 0x0BE0
#define GL_BLEND_SRC 0x0BE1
#define GL_BLEND 0x0BE2
#define GL_LOGIC_OP_MODE 0x0BF0
#define GL_INDEX_LOGIC_OP 0x0BF1
#define GL_COLOR_LOGIC_OP 0x0BF2
#define GL_AUX_BUFFERS 0x0C00
#define GL_DRAW_BUFFER 0x0C01
#define GL_READ_BUFFER 0x0C02
#define GL_SCISSOR_BOX 0x0C10
#define GL_SCISSOR_TEST 0x0C11
#define GL_INDEX_CLEAR_VALUE 0x0C20
#define GL_INDEX_WRITEMASK 0x0C21
#define GL_COLOR_CLEAR_VALUE 0x0C22
#define GL_COLOR_WRITEMASK 0x0C23
#define GL_INDEX_MODE 0x0C30
#define GL_RGBA_MODE 0x0C31
#define GL_DOUBLEBUFFER 0x0C32
#define GL_STEREO 0x0C33
#define GL_RENDER_MODE 0x0C40
#define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50
#define GL_POINT_SMOOTH_HINT 0x0C51
#define GL_LINE_SMOOTH_HINT 0x0C52
#define GL_POLYGON_SMOOTH_HINT 0x0C53
#define GL_FOG_HINT 0x0C54
#define GL_TEXTURE_GEN_S 0x0C60
#define GL_TEXTURE_GEN_T 0x0C61
#define GL_TEXTURE_GEN_R 0x0C62
#define GL_TEXTURE_GEN_Q 0x0C63
#define GL_PIXEL_MAP_I_TO_I 0x0C70
#define GL_PIXEL_MAP_S_TO_S 0x0C71
#define GL_PIXEL_MAP_I_TO_R 0x0C72
#define GL_PIXEL_MAP_I_TO_G 0x0C73
#define GL_PIXEL_MAP_I_TO_B 0x0C74
#define GL_PIXEL_MAP_I_TO_A 0x0C75
#define GL_PIXEL_MAP_R_TO_R 0x0C76
#define GL_PIXEL_MAP_G_TO_G 0x0C77
#define GL_PIXEL_MAP_B_TO_B 0x0C78
#define GL_PIXEL_MAP_A_TO_A 0x0C79
#define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0
#define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1
#define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2
#define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3
#define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4
#define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5
#define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6
#define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7
#define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8
#define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9
#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
#define GL_MAP_COLOR 0x0D10
#define GL_MAP_STENCIL 0x0D11
#define GL_INDEX_SHIFT 0x0D12
#define GL_INDEX_OFFSET 0x0D13
#define GL_RED_SCALE 0x0D14
#define GL_RED_BIAS 0x0D15
#define GL_ZOOM_X 0x0D16
#define GL_ZOOM_Y 0x0D17
#define GL_GREEN_SCALE 0x0D18
#define GL_GREEN_BIAS 0x0D19
#define GL_BLUE_SCALE 0x0D1A
#define GL_BLUE_BIAS 0x0D1B
#define GL_ALPHA_SCALE 0x0D1C
#define GL_ALPHA_BIAS 0x0D1D
#define GL_DEPTH_SCALE 0x0D1E
#define GL_DEPTH_BIAS 0x0D1F
#define GL_MAX_EVAL_ORDER 0x0D30
#define GL_MAX_LIGHTS 0x0D31
#define GL_MAX_CLIP_PLANES 0x0D32
#define GL_MAX_TEXTURE_SIZE 0x0D33
#define GL_MAX_PIXEL_MAP_TABLE 0x0D34
#define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35
#define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36
#define GL_MAX_NAME_STACK_DEPTH 0x0D37
#define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38
#define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39
#define GL_MAX_VIEWPORT_DIMS 0x0D3A
#define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B
#define GL_SUBPIXEL_BITS 0x0D50
#define GL_INDEX_BITS 0x0D51
#define GL_RED_BITS 0x0D52
#define GL_GREEN_BITS 0x0D53
#define GL_BLUE_BITS 0x0D54
#define GL_ALPHA_BITS 0x0D55
#define GL_DEPTH_BITS 0x0D56
#define GL_STENCIL_BITS 0x0D57
#define GL_ACCUM_RED_BITS 0x0D58
#define GL_ACCUM_GREEN_BITS 0x0D59
#define GL_ACCUM_BLUE_BITS 0x0D5A
#define GL_ACCUM_ALPHA_BITS 0x0D5B
#define GL_NAME_STACK_DEPTH 0x0D70
#define GL_AUTO_NORMAL 0x0D80
#define GL_MAP1_COLOR_4 0x0D90
#define GL_MAP1_INDEX 0x0D91
#define GL_MAP1_NORMAL 0x0D92
#define GL_MAP1_TEXTURE_COORD_1 0x0D93
#define GL_MAP1_TEXTURE_COORD_2 0x0D94
#define GL_MAP1_TEXTURE_COORD_3 0x0D95
#define GL_MAP1_TEXTURE_COORD_4 0x0D96
#define GL_MAP1_VERTEX_3 0x0D97
#define GL_MAP1_VERTEX_4 0x0D98
#define GL_MAP2_COLOR_4 0x0DB0
#define GL_MAP2_INDEX 0x0DB1
#define GL_MAP2_NORMAL 0x0DB2
#define GL_MAP2_TEXTURE_COORD_1 0x0DB3
#define GL_MAP2_TEXTURE_COORD_2 0x0DB4
#define GL_MAP2_TEXTURE_COORD_3 0x0DB5
#define GL_MAP2_TEXTURE_COORD_4 0x0DB6
#define GL_MAP2_VERTEX_3 0x0DB7
#define GL_MAP2_VERTEX_4 0x0DB8
#define GL_MAP1_GRID_DOMAIN 0x0DD0
#define GL_MAP1_GRID_SEGMENTS 0x0DD1
#define GL_MAP2_GRID_DOMAIN 0x0DD2
#define GL_MAP2_GRID_SEGMENTS 0x0DD3

/* GL_EXT_paletted_texture */

#define GL_TEXTURE_1D 0x0DE0
#define GL_TEXTURE_2D 0x0DE1

/* GL_VERSION_1_1 */

#define GL_FEEDBACK_BUFFER_POINTER 0x0DF0
#define GL_FEEDBACK_BUFFER_SIZE 0x0DF1
#define GL_FEEDBACK_BUFFER_TYPE 0x0DF2
#define GL_SELECTION_BUFFER_POINTER 0x0DF3
#define GL_SELECTION_BUFFER_SIZE 0x0DF4
#define GL_TEXTURE_WIDTH 0x1000
#define GL_TEXTURE_HEIGHT 0x1001
#define GL_TEXTURE_INTERNAL_FORMAT 0x1003
#define GL_TEXTURE_BORDER_COLOR 0x1004
#define GL_TEXTURE_BORDER 0x1005
#define GL_DONT_CARE 0x1100
#define GL_FASTEST 0x1101
#define GL_NICEST 0x1102
#define GL_LIGHT0 0x4000
#define GL_LIGHT1 0x4001
#define GL_LIGHT2 0x4002
#define GL_LIGHT3 0x4003
#define GL_LIGHT4 0x4004
#define GL_LIGHT5 0x4005
#define GL_LIGHT6 0x4006
#define GL_LIGHT7 0x4007
#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
#define GL_COMPILE 0x1300
#define GL_COMPILE_AND_EXECUTE 0x1301
#define GL_CLEAR 0x1500
#define GL_AND 0x1501
#define GL_AND_REVERSE 0x1502
#define GL_COPY 0x1503
#define GL_AND_INVERTED 0x1504
#define GL_NOOP 0x1505
#define GL_XOR 0x1506
#define GL_OR 0x1507
#define GL_NOR 0x1508
#define GL_EQUIV 0x1509
#define GL_INVERT 0x150A
#define GL_OR_REVERSE 0x150B
#define GL_COPY_INVERTED 0x150C
#define GL_OR_INVERTED 0x150D
#define GL_NAND 0x150E
#define GL_SET 0x150F
#define GL_EMISSION 0x1600
#define GL_SHININESS 0x1601
#define GL_AMBIENT_AND_DIFFUSE 0x1602
#define GL_COLOR_INDEXES 0x1603
#define GL_MODELVIEW 0x1700
#define GL_PROJECTION 0x1701
#define GL_TEXTURE 0x1702
#define GL_COLOR 0x1800
#define GL_DEPTH 0x1801
#define GL_STENCIL 0x1802
#define GL_COLOR_INDEX 0x1900
#define GL_STENCIL_INDEX 0x1901
#define GL_DEPTH_COMPONENT 0x1902

/* GL_ARB_texture_rg */

#define GL_RED 0x1903

/* GL_VERSION_1_1 */

#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
#define GL_BITMAP 0x1A00
#define GL_POINT 0x1B00
#define GL_LINE 0x1B01
#define GL_FILL 0x1B02
#define GL_RENDER 0x1C00
#define GL_FEEDBACK 0x1C01
#define GL_SELECT 0x1C02
#define GL_FLAT 0x1D00
#define GL_SMOOTH 0x1D01
#define GL_KEEP 0x1E00
#define GL_REPLACE 0x1E01
#define GL_INCR 0x1E02
#define GL_DECR 0x1E03
#define GL_VENDOR 0x1F00
#define GL_RENDERER 0x1F01
#define GL_VERSION 0x1F02
#define GL_EXTENSIONS 0x1F03
#define GL_S 0x2000
#define GL_T 0x2001
#define GL_R 0x2002
#define GL_Q 0x2003
#define GL_MODULATE 0x2100
#define GL_DECAL 0x2101
#define GL_TEXTURE_ENV_MODE 0x2200
#define GL_TEXTURE_ENV_COLOR 0x2201
#define GL_TEXTURE_ENV 0x2300
#define GL_EYE_LINEAR 0x2400
#define GL_OBJECT_LINEAR 0x2401
#define GL_SPHERE_MAP 0x2402
#define GL_TEXTURE_GEN_MODE 0x2500
#define GL_OBJECT_PLANE 0x2501
#define GL_EYE_PLANE 0x2502
#define GL_NEAREST 0x2600
#define GL_LINEAR 0x2601
#define GL_NEAREST_MIPMAP_NEAREST 0x2700
#define GL_LINEAR_MIPMAP_NEAREST 0x2701
#define GL_NEAREST_MIPMAP_LINEAR 0x2702
#define GL_LINEAR_MIPMAP_LINEAR 0x2703
#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_CLAMP 0x2900
#define GL_REPEAT 0x2901
#define GL_CLIENT_PIXEL_STORE_BIT 0x0001
#define GL_CLIENT_VERTEX_ARRAY_BIT 0x0002
#define GL_CLIENT_ALL_ATTRIB_BITS 0xFFFFFFFF
#define GL_POLYGON_OFFSET_FACTOR 0x8038
#define GL_POLYGON_OFFSET_UNITS 0x2A00
#define GL_POLYGON_OFFSET_POINT 0x2A01
#define GL_POLYGON_OFFSET_LINE 0x2A02
#define GL_POLYGON_OFFSET_FILL 0x8037
#define GL_ALPHA4 0x803B
#define GL_ALPHA8 0x803C
#define GL_ALPHA12 0x803D
#define GL_ALPHA16 0x803E
#define GL_LUMINANCE4 0x803F
#define GL_LUMINANCE8 0x8040
#define GL_LUMINANCE12 0x8041
#define GL_LUMINANCE16 0x8042
#define GL_LUMINANCE4_ALPHA4 0x8043
#define GL_LUMINANCE6_ALPHA2 0x8044
#define GL_LUMINANCE8_ALPHA8 0x8045
#define GL_LUMINANCE12_ALPHA4 0x8046
#define GL_LUMINANCE12_ALPHA12 0x8047
#define GL_LUMINANCE16_ALPHA16 0x8048
#define GL_INTENSITY 0x8049
#define GL_INTENSITY4 0x804A
#define GL_INTENSITY8 0x804B
#define GL_INTENSITY12 0x804C
#define GL_INTENSITY16 0x804D
#define GL_R3_G3_B2 0x2A10
#define GL_RGB4 0x804F
#define GL_RGB5 0x8050
#define GL_RGB8 0x8051
#define GL_RGB10 0x8052
#define GL_RGB12 0x8053
#define GL_RGB16 0x8054
#define GL_RGBA2 0x8055
#define GL_RGBA4 0x8056
#define GL_RGB5_A1 0x8057
#define GL_RGBA8 0x8058
#define GL_RGB10_A2 0x8059
#define GL_RGBA12 0x805A
#define GL_RGBA16 0x805B
#define GL_TEXTURE_RED_SIZE 0x805C
#define GL_TEXTURE_GREEN_SIZE 0x805D
#define GL_TEXTURE_BLUE_SIZE 0x805E
#define GL_TEXTURE_ALPHA_SIZE 0x805F
#define GL_TEXTURE_LUMINANCE_SIZE 0x8060
#define GL_TEXTURE_INTENSITY_SIZE 0x8061

/* GL_EXT_paletted_texture */

#define GL_PROXY_TEXTURE_1D 0x8063
#define GL_PROXY_TEXTURE_2D 0x8064

/* GL_VERSION_1_1 */

#define GL_TEXTURE_PRIORITY 0x8066
#define GL_TEXTURE_RESIDENT 0x8067
#define GL_TEXTURE_BINDING_1D 0x8068
#define GL_TEXTURE_BINDING_2D 0x8069
#define GL_VERTEX_ARRAY 0x8074
#define GL_NORMAL_ARRAY 0x8075
#define GL_COLOR_ARRAY 0x8076
#define GL_INDEX_ARRAY 0x8077
#define GL_TEXTURE_COORD_ARRAY 0x8078
#define GL_EDGE_FLAG_ARRAY 0x8079
#define GL_VERTEX_ARRAY_SIZE 0x807A
#define GL_VERTEX_ARRAY_TYPE 0x807B
#define GL_VERTEX_ARRAY_STRIDE 0x807C
#define GL_NORMAL_ARRAY_TYPE 0x807E
#define GL_NORMAL_ARRAY_STRIDE 0x807F
#define GL_COLOR_ARRAY_SIZE 0x8081
#define GL_COLOR_ARRAY_TYPE 0x8082
#define GL_COLOR_ARRAY_STRIDE 0x8083
#define GL_INDEX_ARRAY_TYPE 0x8085
#define GL_INDEX_ARRAY_STRIDE 0x8086
#define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088
#define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089
#define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A
#define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C
#define GL_VERTEX_ARRAY_POINTER 0x808E
#define GL_NORMAL_ARRAY_POINTER 0x808F
#define GL_COLOR_ARRAY_POINTER 0x8090
#define GL_INDEX_ARRAY_POINTER 0x8091
#define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092
#define GL_EDGE_FLAG_ARRAY_POINTER 0x8093
#define GL_V2F 0x2A20
#define GL_V3F 0x2A21
#define GL_C4UB_V2F 0x2A22
#define GL_C4UB_V3F 0x2A23
#define GL_C3F_V3F 0x2A24
#define GL_N3F_V3F 0x2A25
#define GL_C4F_N3F_V3F 0x2A26
#define GL_T2F_V3F 0x2A27
#define GL_T4F_V4F 0x2A28
#define GL_T2F_C4UB_V3F 0x2A29
#define GL_T2F_C3F_V3F 0x2A2A
#define GL_T2F_N3F_V3F 0x2A2B
#define GL_T2F_C4F_N3F_V3F 0x2A2C
#define GL_T4F_C4F_N3F_V4F 0x2A2D
#define GL_LOGIC_OP GL_INDEX_LOGIC_OP
#define GL_TEXTURE_COMPONENTS GL_TEXTURE_INTERNAL_FORMAT

/* GL_EXT_paletted_texture */

#define GL_COLOR_INDEX1_EXT 0x80E2
#define GL_COLOR_INDEX2_EXT 0x80E3
#define GL_COLOR_INDEX4_EXT 0x80E4
#define GL_COLOR_INDEX8_EXT 0x80E5
#define GL_COLOR_INDEX12_EXT 0x80E6
#define GL_COLOR_INDEX16_EXT 0x80E7

/* GL_VERSION_1_2 */

#define GL_UNSIGNED_BYTE_3_3_2 0x8032
#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
#define GL_UNSIGNED_INT_8_8_8_8 0x8035
#define GL_UNSIGNED_INT_10_10_10_2 0x8036
#define GL_RESCALE_NORMAL 0x803A
#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_REV 0x8365
#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367

/* GL_ARB_vertex_type_2_10_10_10_rev */

#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368

/* GL_VERSION_1_2 */

#define GL_BGR 0x80E0

/* GL_EXT_vertex_array_bgra */

#define GL_BGRA 0x80E1

/* GL_EXT_draw_range_elements */

#define GL_MAX_ELEMENTS_VERTICES 0x80E8
#define GL_MAX_ELEMENTS_INDICES 0x80E9

/* GL_VERSION_1_2 */

#define GL_CLAMP_TO_EDGE 0x812F
#define GL_TEXTURE_MIN_LOD 0x813A
#define GL_TEXTURE_MAX_LOD 0x813B
#define GL_TEXTURE_BASE_LEVEL 0x813C
#define GL_TEXTURE_MAX_LEVEL 0x813D
#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
#define GL_SINGLE_COLOR 0x81F9
#define GL_SEPARATE_SPECULAR_COLOR 0x81FA
#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
#define GL_PACK_SKIP_IMAGES 0x806B
#define GL_PACK_IMAGE_HEIGHT 0x806C
#define GL_UNPACK_SKIP_IMAGES 0x806D
#define GL_UNPACK_IMAGE_HEIGHT 0x806E
#define GL_TEXTURE_3D 0x806F
#define GL_PROXY_TEXTURE_3D 0x8070
#define GL_TEXTURE_DEPTH 0x8071
#define GL_TEXTURE_WRAP_R 0x8072
#define GL_MAX_3D_TEXTURE_SIZE 0x8073
#define GL_TEXTURE_BINDING_3D 0x806A

/* GL_ARB_imaging */

#define GL_CONSTANT_COLOR 0x8001
#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
#define GL_CONSTANT_ALPHA 0x8003
#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
#define GL_BLEND_COLOR 0x8005
#define GL_FUNC_ADD 0x8006
#define GL_MIN 0x8007
#define GL_MAX 0x8008
#define GL_BLEND_EQUATION 0x8009
#define GL_FUNC_SUBTRACT 0x800A
#define GL_FUNC_REVERSE_SUBTRACT 0x800B
#define GL_CONVOLUTION_1D 0x8010
#define GL_CONVOLUTION_2D 0x8011
#define GL_SEPARABLE_2D 0x8012
#define GL_CONVOLUTION_BORDER_MODE 0x8013
#define GL_CONVOLUTION_FILTER_SCALE 0x8014
#define GL_CONVOLUTION_FILTER_BIAS 0x8015
#define GL_REDUCE 0x8016
#define GL_CONVOLUTION_FORMAT 0x8017
#define GL_CONVOLUTION_WIDTH 0x8018
#define GL_CONVOLUTION_HEIGHT 0x8019
#define GL_MAX_CONVOLUTION_WIDTH 0x801A
#define GL_MAX_CONVOLUTION_HEIGHT 0x801B
#define GL_POST_CONVOLUTION_RED_SCALE 0x801C
#define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D
#define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E
#define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F
#define GL_POST_CONVOLUTION_RED_BIAS 0x8020
#define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021
#define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022
#define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023
#define GL_HISTOGRAM 0x8024
#define GL_PROXY_HISTOGRAM 0x8025
#define GL_HISTOGRAM_WIDTH 0x8026
#define GL_HISTOGRAM_FORMAT 0x8027
#define GL_HISTOGRAM_RED_SIZE 0x8028
#define GL_HISTOGRAM_GREEN_SIZE 0x8029
#define GL_HISTOGRAM_BLUE_SIZE 0x802A
#define GL_HISTOGRAM_ALPHA_SIZE 0x802B
#define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C
#define GL_HISTOGRAM_SINK 0x802D
#define GL_MINMAX 0x802E
#define GL_MINMAX_FORMAT 0x802F
#define GL_MINMAX_SINK 0x8030
#define GL_TABLE_TOO_LARGE 0x8031
#define GL_COLOR_MATRIX 0x80B1
#define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2
#define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3
#define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4
#define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5
#define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6
#define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7
#define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8
#define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9
#define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA
#define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB
#define GL_COLOR_TABLE 0x80D0
#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1
#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2
#define GL_PROXY_COLOR_TABLE 0x80D3
#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4
#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
#define GL_COLOR_TABLE_SCALE 0x80D6
#define GL_COLOR_TABLE_BIAS 0x80D7
#define GL_COLOR_TABLE_FORMAT 0x80D8
#define GL_COLOR_TABLE_WIDTH 0x80D9
#define GL_COLOR_TABLE_RED_SIZE 0x80DA
#define GL_COLOR_TABLE_GREEN_SIZE 0x80DB
#define GL_COLOR_TABLE_BLUE_SIZE 0x80DC
#define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD
#define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE
#define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF
#define GL_IGNORE_BORDER 0x8150
#define GL_CONSTANT_BORDER 0x8151
#define GL_WRAP_BORDER 0x8152
#define GL_REPLICATE_BORDER 0x8153
#define GL_CONVOLUTION_BORDER_COLOR 0x8154

/* GL_VERSION_1_3 */

#define GL_TEXTURE0 0x84C0
#define GL_TEXTURE1 0x84C1
#define GL_TEXTURE2 0x84C2
#define GL_TEXTURE3 0x84C3
#define GL_TEXTURE4 0x84C4
#define GL_TEXTURE5 0x84C5
#define GL_TEXTURE6 0x84C6
#define GL_TEXTURE7 0x84C7
#define GL_TEXTURE8 0x84C8
#define GL_TEXTURE9 0x84C9
#define GL_TEXTURE10 0x84CA
#define GL_TEXTURE11 0x84CB
#define GL_TEXTURE12 0x84CC
#define GL_TEXTURE13 0x84CD
#define GL_TEXTURE14 0x84CE
#define GL_TEXTURE15 0x84CF
#define GL_TEXTURE16 0x84D0
#define GL_TEXTURE17 0x84D1
#define GL_TEXTURE18 0x84D2
#define GL_TEXTURE19 0x84D3
#define GL_TEXTURE20 0x84D4
#define GL_TEXTURE21 0x84D5
#define GL_TEXTURE22 0x84D6
#define GL_TEXTURE23 0x84D7
#define GL_TEXTURE24 0x84D8
#define GL_TEXTURE25 0x84D9
#define GL_TEXTURE26 0x84DA
#define GL_TEXTURE27 0x84DB
#define GL_TEXTURE28 0x84DC
#define GL_TEXTURE29 0x84DD
#define GL_TEXTURE30 0x84DE
#define GL_TEXTURE31 0x84DF
#define GL_ACTIVE_TEXTURE 0x84E0
#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
#define GL_MAX_TEXTURE_UNITS 0x84E2
#define GL_NORMAL_MAP 0x8511
#define GL_REFLECTION_MAP 0x8512
#define GL_TEXTURE_CUBE_MAP 0x8513
#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
#define GL_COMPRESSED_ALPHA 0x84E9
#define GL_COMPRESSED_LUMINANCE 0x84EA
#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB
#define GL_COMPRESSED_INTENSITY 0x84EC
#define GL_COMPRESSED_RGB 0x84ED
#define GL_COMPRESSED_RGBA 0x84EE
#define GL_TEXTURE_COMPRESSION_HINT 0x84EF
#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
#define GL_TEXTURE_COMPRESSED 0x86A1
#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
#define GL_MULTISAMPLE 0x809D
#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
#define GL_SAMPLE_COVERAGE 0x80A0
#define GL_SAMPLE_BUFFERS 0x80A8
#define GL_SAMPLES 0x80A9
#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
#define GL_MULTISAMPLE_BIT 0x20000000
#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3
#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4
#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5
#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6
#define GL_COMBINE 0x8570
#define GL_COMBINE_RGB 0x8571
#define GL_COMBINE_ALPHA 0x8572
#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
#define GL_RGB_SCALE 0x8573
#define GL_ADD_SIGNED 0x8574
#define GL_INTERPOLATE 0x8575
#define GL_SUBTRACT 0x84E7
#define GL_CONSTANT 0x8576
#define GL_PRIMARY_COLOR 0x8577
#define GL_PREVIOUS 0x8578
#define GL_DOT3_RGB 0x86AE
#define GL_DOT3_RGBA 0x86AF
#define GL_CLAMP_TO_BORDER 0x812D

/* GL_VERSION_1_4 */

#define GL_GENERATE_MIPMAP 0x8191
#define GL_GENERATE_MIPMAP_HINT 0x8192
#define GL_DEPTH_COMPONENT16 0x81A5
#define GL_DEPTH_COMPONENT24 0x81A6
#define GL_DEPTH_COMPONENT32 0x81A7
#define GL_TEXTURE_DEPTH_SIZE 0x884A
#define GL_DEPTH_TEXTURE_MODE 0x884B
#define GL_TEXTURE_COMPARE_MODE 0x884C
#define GL_TEXTURE_COMPARE_FUNC 0x884D
#define GL_COMPARE_R_TO_TEXTURE 0x884E
#define GL_FOG_COORDINATE_SOURCE 0x8450
#define GL_FOG_COORDINATE 0x8451
#define GL_FRAGMENT_DEPTH 0x8452
#define GL_CURRENT_FOG_COORDINATE 0x8453
#define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454
#define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455
#define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456
#define GL_FOG_COORDINATE_ARRAY 0x8457
#define GL_POINT_SIZE_MIN 0x8126
#define GL_POINT_SIZE_MAX 0x8127
#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
#define GL_POINT_DISTANCE_ATTENUATION 0x8129
#define GL_COLOR_SUM 0x8458
#define GL_CURRENT_SECONDARY_COLOR 0x8459
#define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A
#define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B
#define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C
#define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D
#define GL_SECONDARY_COLOR_ARRAY 0x845E
#define GL_BLEND_DST_RGB 0x80C8
#define GL_BLEND_SRC_RGB 0x80C9
#define GL_BLEND_DST_ALPHA 0x80CA
#define GL_BLEND_SRC_ALPHA 0x80CB
#define GL_INCR_WRAP 0x8507
#define GL_DECR_WRAP 0x8508
#define GL_TEXTURE_FILTER_CONTROL 0x8500
#define GL_TEXTURE_LOD_BIAS 0x8501
#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
#define GL_MIRRORED_REPEAT 0x8370

/* GL_VERSION_1_5 */

#define GL_BUFFER_SIZE 0x8764
#define GL_BUFFER_USAGE 0x8765
#define GL_QUERY_COUNTER_BITS 0x8864
#define GL_CURRENT_QUERY 0x8865
#define GL_QUERY_RESULT 0x8866
#define GL_QUERY_RESULT_AVAILABLE 0x8867
#define GL_ARRAY_BUFFER 0x8892
#define GL_ELEMENT_ARRAY_BUFFER 0x8893
#define GL_ARRAY_BUFFER_BINDING 0x8894
#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
#define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896
#define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897
#define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898
#define GL_INDEX_ARRAY_BUFFER_BINDING 0x8899
#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A
#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B
#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C
#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING 0x889D
#define GL_WEIGHT_ARRAY_BUFFER_BINDING 0x889E
#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
#define GL_READ_ONLY 0x88B8
#define GL_WRITE_ONLY 0x88B9
#define GL_READ_WRITE 0x88BA
#define GL_BUFFER_ACCESS 0x88BB
#define GL_BUFFER_MAPPED 0x88BC
#define GL_BUFFER_MAP_POINTER 0x88BD
#define GL_STREAM_DRAW 0x88E0
#define GL_STREAM_READ 0x88E1
#define GL_STREAM_COPY 0x88E2
#define GL_STATIC_DRAW 0x88E4
#define GL_STATIC_READ 0x88E5
#define GL_STATIC_COPY 0x88E6
#define GL_DYNAMIC_DRAW 0x88E8
#define GL_DYNAMIC_READ 0x88E9
#define GL_DYNAMIC_COPY 0x88EA
#define GL_SAMPLES_PASSED 0x8914
#define GL_FOG_COORD_SRC GL_FOG_COORDINATE_SOURCE
#define GL_FOG_COORD GL_FOG_COORDINATE
#define GL_CURRENT_FOG_COORD GL_CURRENT_FOG_COORDINATE
#define GL_FOG_COORD_ARRAY_TYPE GL_FOG_COORDINATE_ARRAY_TYPE
#define GL_FOG_COORD_ARRAY_STRIDE GL_FOG_COORDINATE_ARRAY_STRIDE
#define GL_FOG_COORD_ARRAY_POINTER GL_FOG_COORDINATE_ARRAY_POINTER
#define GL_FOG_COORD_ARRAY GL_FOG_COORDINATE_ARRAY
#define GL_FOG_COORD_ARRAY_BUFFER_BINDING GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING
#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

/* GL_VERSION_2_0 */

#define GL_BLEND_EQUATION_RGB GL_BLEND_EQUATION
#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
#define GL_CURRENT_VERTEX_ATTRIB 0x8626
#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642
#define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643
#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
#define GL_STENCIL_BACK_FUNC 0x8800
#define GL_STENCIL_BACK_FAIL 0x8801
#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
#define GL_MAX_DRAW_BUFFERS 0x8824
#define GL_DRAW_BUFFER0 0x8825
#define GL_DRAW_BUFFER1 0x8826
#define GL_DRAW_BUFFER2 0x8827
#define GL_DRAW_BUFFER3 0x8828
#define GL_DRAW_BUFFER4 0x8829
#define GL_DRAW_BUFFER5 0x882A
#define GL_DRAW_BUFFER6 0x882B
#define GL_DRAW_BUFFER7 0x882C
#define GL_DRAW_BUFFER8 0x882D
#define GL_DRAW_BUFFER9 0x882E
#define GL_DRAW_BUFFER10 0x882F
#define GL_DRAW_BUFFER11 0x8830
#define GL_DRAW_BUFFER12 0x8831
#define GL_DRAW_BUFFER13 0x8832
#define GL_DRAW_BUFFER14 0x8833
#define GL_DRAW_BUFFER15 0x8834
#define GL_BLEND_EQUATION_ALPHA 0x883D
#define GL_POINT_SPRITE 0x8861
#define GL_COORD_REPLACE 0x8862
#define GL_MAX_VERTEX_ATTRIBS 0x8869
#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
#define GL_MAX_TEXTURE_COORDS 0x8871
#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
#define GL_FRAGMENT_SHADER 0x8B30
#define GL_VERTEX_SHADER 0x8B31
#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
#define GL_MAX_VARYING_FLOATS 0x8B4B
#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
#define GL_SHADER_TYPE 0x8B4F
#define GL_FLOAT_VEC2 0x8B50
#define GL_FLOAT_VEC3 0x8B51
#define GL_FLOAT_VEC4 0x8B52
#define GL_INT_VEC2 0x8B53
#define GL_INT_VEC3 0x8B54
#define GL_INT_VEC4 0x8B55
#define GL_BOOL 0x8B56
#define GL_BOOL_VEC2 0x8B57
#define GL_BOOL_VEC3 0x8B58
#define GL_BOOL_VEC4 0x8B59
#define GL_FLOAT_MAT2 0x8B5A
#define GL_FLOAT_MAT3 0x8B5B
#define GL_FLOAT_MAT4 0x8B5C
#define GL_SAMPLER_1D 0x8B5D
#define GL_SAMPLER_2D 0x8B5E
#define GL_SAMPLER_3D 0x8B5F
#define GL_SAMPLER_CUBE 0x8B60
#define GL_SAMPLER_1D_SHADOW 0x8B61
#define GL_SAMPLER_2D_SHADOW 0x8B62
#define GL_DELETE_STATUS 0x8B80
#define GL_COMPILE_STATUS 0x8B81
#define GL_LINK_STATUS 0x8B82
#define GL_VALIDATE_STATUS 0x8B83
#define GL_INFO_LOG_LENGTH 0x8B84
#define GL_ATTACHED_SHADERS 0x8B85
#define GL_ACTIVE_UNIFORMS 0x8B86
#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
#define GL_SHADER_SOURCE_LENGTH 0x8B88
#define GL_ACTIVE_ATTRIBUTES 0x8B89
#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
#define GL_CURRENT_PROGRAM 0x8B8D
#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0
#define GL_LOWER_LEFT 0x8CA1
#define GL_UPPER_LEFT 0x8CA2
#define GL_STENCIL_BACK_REF 0x8CA3
#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
#define GL_STENCIL_BACK_WRITEMASK 0x8CA5

/* GL_VERSION_2_1 */

#define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845F
#define GL_PIXEL_PACK_BUFFER 0x88EB
#define GL_PIXEL_UNPACK_BUFFER 0x88EC
#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED
#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF

/* GL_ARB_framebuffer_object */

#define GL_SRGB 0x8C40

/* GL_VERSION_2_1 */

#define GL_SRGB8 0x8C41
#define GL_SRGB_ALPHA 0x8C42
#define GL_SRGB8_ALPHA8 0x8C43
#define GL_SLUMINANCE_ALPHA 0x8C44
#define GL_SLUMINANCE8_ALPHA8 0x8C45
#define GL_SLUMINANCE 0x8C46
#define GL_SLUMINANCE8 0x8C47
#define GL_COMPRESSED_SRGB 0x8C48
#define GL_COMPRESSED_SRGB_ALPHA 0x8C49
#define GL_COMPRESSED_SLUMINANCE 0x8C4A
#define GL_COMPRESSED_SLUMINANCE_ALPHA 0x8C4B

/* GL_VERSION_3_0 */

#define GL_COMPARE_REF_TO_TEXTURE GL_COMPARE_R_TO_TEXTURE_ARB
#define GL_CLIP_DISTANCE0 GL_CLIP_PLANE0
#define GL_CLIP_DISTANCE1 GL_CLIP_PLANE1
#define GL_CLIP_DISTANCE2 GL_CLIP_PLANE2
#define GL_CLIP_DISTANCE3 GL_CLIP_PLANE3
#define GL_CLIP_DISTANCE4 GL_CLIP_PLANE4
#define GL_CLIP_DISTANCE5 GL_CLIP_PLANE5
#define GL_MAX_CLIP_DISTANCES GL_MAX_CLIP_PLANES
#define GL_MAJOR_VERSION 0x821B
#define GL_MINOR_VERSION 0x821C
#define GL_NUM_EXTENSIONS 0x821D
#define GL_CONTEXT_FLAGS 0x821E
#define GL_DEPTH_BUFFER 0x8223
#define GL_STENCIL_BUFFER 0x8224

/* GL_ARB_texture_rg */

#define GL_COMPRESSED_RED 0x8225
#define GL_COMPRESSED_RG 0x8226

/* GL_VERSION_3_0 */

#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x0001
#define GL_RGBA32F 0x8814
#define GL_RGB32F 0x8815
#define GL_RGBA16F 0x881A
#define GL_RGB16F 0x881B
#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD
#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF
#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904
#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905
#define GL_CLAMP_VERTEX_COLOR 0x891A
#define GL_CLAMP_FRAGMENT_COLOR 0x891B
#define GL_CLAMP_READ_COLOR 0x891C
#define GL_FIXED_ONLY 0x891D
#define GL_MAX_VARYING_COMPONENTS GL_MAX_VARYING_FLOATS
#define GL_TEXTURE_RED_TYPE 0x8C10
#define GL_TEXTURE_GREEN_TYPE 0x8C11
#define GL_TEXTURE_BLUE_TYPE 0x8C12
#define GL_TEXTURE_ALPHA_TYPE 0x8C13
#define GL_TEXTURE_LUMINANCE_TYPE 0x8C14
#define GL_TEXTURE_INTENSITY_TYPE 0x8C15
#define GL_TEXTURE_DEPTH_TYPE 0x8C16

/* GL_ARB_framebuffer_object */

#define GL_UNSIGNED_NORMALIZED 0x8C17

/* GL_VERSION_3_0 */

#define GL_TEXTURE_1D_ARRAY 0x8C18
#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19
#define GL_TEXTURE_2D_ARRAY 0x8C1A
#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B
#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C
#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D
#define GL_R11F_G11F_B10F 0x8C3A
#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B
#define GL_RGB9_E5 0x8C3D
#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E
#define GL_TEXTURE_SHARED_SIZE 0x8C3F
#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76
#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F
#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80
#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83
#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84
#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85
#define GL_PRIMITIVES_GENERATED 0x8C87
#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88
#define GL_RASTERIZER_DISCARD 0x8C89
#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A
#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B
#define GL_INTERLEAVED_ATTRIBS 0x8C8C
#define GL_SEPARATE_ATTRIBS 0x8C8D
#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E
#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F
#define GL_RGBA32UI 0x8D70
#define GL_RGB32UI 0x8D71
#define GL_RGBA16UI 0x8D76
#define GL_RGB16UI 0x8D77
#define GL_RGBA8UI 0x8D7C
#define GL_RGB8UI 0x8D7D
#define GL_RGBA32I 0x8D82
#define GL_RGB32I 0x8D83
#define GL_RGBA16I 0x8D88
#define GL_RGB16I 0x8D89
#define GL_RGBA8I 0x8D8E
#define GL_RGB8I 0x8D8F
#define GL_RED_INTEGER 0x8D94
#define GL_GREEN_INTEGER 0x8D95
#define GL_BLUE_INTEGER 0x8D96
#define GL_ALPHA_INTEGER 0x8D97
#define GL_RGB_INTEGER 0x8D98
#define GL_RGBA_INTEGER 0x8D99
#define GL_BGR_INTEGER 0x8D9A
#define GL_BGRA_INTEGER 0x8D9B
#define GL_SAMPLER_1D_ARRAY 0x8DC0
#define GL_SAMPLER_2D_ARRAY 0x8DC1
#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3
#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4
#define GL_SAMPLER_CUBE_SHADOW 0x8DC5
#define GL_UNSIGNED_INT_VEC2 0x8DC6
#define GL_UNSIGNED_INT_VEC3 0x8DC7
#define GL_UNSIGNED_INT_VEC4 0x8DC8
#define GL_INT_SAMPLER_1D 0x8DC9
#define GL_INT_SAMPLER_2D 0x8DCA
#define GL_INT_SAMPLER_3D 0x8DCB
#define GL_INT_SAMPLER_CUBE 0x8DCC
#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE
#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF
#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1
#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2
#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3
#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4
#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6
#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7
#define GL_QUERY_WAIT 0x8E13
#define GL_QUERY_NO_WAIT 0x8E14
#define GL_QUERY_BY_REGION_WAIT 0x8E15
#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16

/* GL_VERSION_3_1 */

#define GL_SAMPLER_2D_RECT 0x8B63
#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64
#define GL_SAMPLER_BUFFER 0x8DC2
#define GL_INT_SAMPLER_2D_RECT 0x8DCD
#define GL_INT_SAMPLER_BUFFER 0x8DD0
#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5
#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8
#define GL_TEXTURE_BUFFER 0x8C2A
#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B
#define GL_TEXTURE_BINDING_BUFFER 0x8C2C
#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D
#define GL_TEXTURE_BUFFER_FORMAT 0x8C2E
#define GL_TEXTURE_RECTANGLE 0x84F5
#define GL_TEXTURE_BINDING_RECTANGLE 0x84F6
#define GL_PROXY_TEXTURE_RECTANGLE 0x84F7
#define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8

/* GL_EXT_texture_snorm */

#define GL_RED_SNORM 0x8F90
#define GL_RG_SNORM 0x8F91
#define GL_RGB_SNORM 0x8F92
#define GL_RGBA_SNORM 0x8F93
#define GL_R8_SNORM 0x8F94
#define GL_RG8_SNORM 0x8F95
#define GL_RGB8_SNORM 0x8F96
#define GL_RGBA8_SNORM 0x8F97
#define GL_R16_SNORM 0x8F98
#define GL_RG16_SNORM 0x8F99
#define GL_RGB16_SNORM 0x8F9A
#define GL_RGBA16_SNORM 0x8F9B
#define GL_SIGNED_NORMALIZED 0x8F9C

/* GL_VERSION_3_1 */

#define GL_PRIMITIVE_RESTART 0x8F9D
#define GL_PRIMITIVE_RESTART_INDEX 0x8F9E
#define GL_BUFFER_ACCESS_FLAGS 0x911F
#define GL_BUFFER_MAP_LENGTH 0x9120
#define GL_BUFFER_MAP_OFFSET 0x9121

/* GL_VERSION_3_2 */

#define GL_CONTEXT_CORE_PROFILE_BIT 0x0001
#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x0002
#define GL_LINES_ADJACENCY 0x000A
#define GL_LINE_STRIP_ADJACENCY 0x000B
#define GL_TRIANGLES_ADJACENCY 0x000C
#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D
#define GL_PROGRAM_POINT_SIZE 0x8642
#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29
#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7
#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8
#define GL_GEOMETRY_SHADER 0x8DD9
#define GL_GEOMETRY_VERTICES_OUT 0x8916
#define GL_GEOMETRY_INPUT_TYPE 0x8917
#define GL_GEOMETRY_OUTPUT_TYPE 0x8918
#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF
#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0
#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1
#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122
#define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123
#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124
#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125
#define GL_CONTEXT_PROFILE_MASK 0x9126

/* GL_ARB_texture_swizzle */

#define GL_TEXTURE_SWIZZLE_R 0x8E42
#define GL_TEXTURE_SWIZZLE_G 0x8E43
#define GL_TEXTURE_SWIZZLE_B 0x8E44
#define GL_TEXTURE_SWIZZLE_A 0x8E45
#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46

/* GL_ARB_texture_rgb10_a2ui */

#define GL_RGB10_A2UI 0x906F

/* GL_ARB_occlusion_query2 */

#define GL_ANY_SAMPLES_PASSED 0x8C2F

/* GL_VERSION_3_3 */

#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE

/* GL_VERSION_4_0 */

#define GL_SAMPLE_SHADING 0x8C36
#define GL_MIN_SAMPLE_SHADING_VALUE 0x8C37

/* GL_ARB_gpu_shader5 */

#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F
#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A
#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B
#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C
#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D

/* GL_VERSION_4_0 */

#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E
#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F
#define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS 0x8F9F
#define GL_TEXTURE_CUBE_MAP_ARRAY 0x9009
#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A
#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY 0x900B
#define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C
#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D
#define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E
#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F

/* GL_ARB_multitexture */

#define GL_TEXTURE0_ARB 0x84C0
#define GL_TEXTURE1_ARB 0x84C1
#define GL_TEXTURE2_ARB 0x84C2
#define GL_TEXTURE3_ARB 0x84C3
#define GL_TEXTURE4_ARB 0x84C4
#define GL_TEXTURE5_ARB 0x84C5
#define GL_TEXTURE6_ARB 0x84C6
#define GL_TEXTURE7_ARB 0x84C7
#define GL_TEXTURE8_ARB 0x84C8
#define GL_TEXTURE9_ARB 0x84C9
#define GL_TEXTURE10_ARB 0x84CA
#define GL_TEXTURE11_ARB 0x84CB
#define GL_TEXTURE12_ARB 0x84CC
#define GL_TEXTURE13_ARB 0x84CD
#define GL_TEXTURE14_ARB 0x84CE
#define GL_TEXTURE15_ARB 0x84CF
#define GL_TEXTURE16_ARB 0x84D0
#define GL_TEXTURE17_ARB 0x84D1
#define GL_TEXTURE18_ARB 0x84D2
#define GL_TEXTURE19_ARB 0x84D3
#define GL_TEXTURE20_ARB 0x84D4
#define GL_TEXTURE21_ARB 0x84D5
#define GL_TEXTURE22_ARB 0x84D6
#define GL_TEXTURE23_ARB 0x84D7
#define GL_TEXTURE24_ARB 0x84D8
#define GL_TEXTURE25_ARB 0x84D9
#define GL_TEXTURE26_ARB 0x84DA
#define GL_TEXTURE27_ARB 0x84DB
#define GL_TEXTURE28_ARB 0x84DC
#define GL_TEXTURE29_ARB 0x84DD
#define GL_TEXTURE30_ARB 0x84DE
#define GL_TEXTURE31_ARB 0x84DF
#define GL_ACTIVE_TEXTURE_ARB 0x84E0
#define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1
#define GL_MAX_TEXTURE_UNITS_ARB 0x84E2

/* GL_ARB_transpose_matrix */

#define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3
#define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4
#define GL_TRANSPOSE_TEXTURE_MATRIX_ARB 0x84E5
#define GL_TRANSPOSE_COLOR_MATRIX_ARB 0x84E6

/* GL_ARB_multisample */

#define GL_MULTISAMPLE_ARB 0x809D
#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809E
#define GL_SAMPLE_ALPHA_TO_ONE_ARB 0x809F
#define GL_SAMPLE_COVERAGE_ARB 0x80A0
#define GL_SAMPLE_BUFFERS_ARB 0x80A8
#define GL_SAMPLES_ARB 0x80A9
#define GL_SAMPLE_COVERAGE_VALUE_ARB 0x80AA
#define GL_SAMPLE_COVERAGE_INVERT_ARB 0x80AB
#define GL_MULTISAMPLE_BIT_ARB 0x20000000

/* GL_ARB_texture_cube_map */

#define GL_NORMAL_MAP_ARB 0x8511
#define GL_REFLECTION_MAP_ARB 0x8512

/* GL_EXT_paletted_texture */

#define GL_TEXTURE_CUBE_MAP_ARB 0x8513

/* GL_ARB_texture_cube_map */

#define GL_TEXTURE_BINDING_CUBE_MAP_ARB 0x8514
#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A

/* GL_EXT_paletted_texture */

#define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B

/* GL_ARB_texture_cube_map */

#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB 0x851C

/* GL_ARB_texture_compression */

#define GL_COMPRESSED_ALPHA_ARB 0x84E9
#define GL_COMPRESSED_LUMINANCE_ARB 0x84EA
#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB
#define GL_COMPRESSED_INTENSITY_ARB 0x84EC
#define GL_COMPRESSED_RGB_ARB 0x84ED
#define GL_COMPRESSED_RGBA_ARB 0x84EE
#define GL_TEXTURE_COMPRESSION_HINT_ARB 0x84EF
#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0
#define GL_TEXTURE_COMPRESSED_ARB 0x86A1
#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2
#define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3

/* GL_ARB_texture_border_clamp */

#define GL_CLAMP_TO_BORDER_ARB 0x812D

/* GL_ARB_point_parameters */

#define GL_POINT_SIZE_MIN_ARB 0x8126
#define GL_POINT_SIZE_MAX_ARB 0x8127
#define GL_POINT_FADE_THRESHOLD_SIZE_ARB 0x8128
#define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129

/* GL_ARB_vertex_blend */

#define GL_MAX_VERTEX_UNITS_ARB 0x86A4
#define GL_ACTIVE_VERTEX_UNITS_ARB 0x86A5
#define GL_WEIGHT_SUM_UNITY_ARB 0x86A6
#define GL_VERTEX_BLEND_ARB 0x86A7
#define GL_CURRENT_WEIGHT_ARB 0x86A8
#define GL_WEIGHT_ARRAY_TYPE_ARB 0x86A9
#define GL_WEIGHT_ARRAY_STRIDE_ARB 0x86AA
#define GL_WEIGHT_ARRAY_SIZE_ARB 0x86AB
#define GL_WEIGHT_ARRAY_POINTER_ARB 0x86AC
#define GL_WEIGHT_ARRAY_ARB 0x86AD
#define GL_MODELVIEW0_ARB 0x1700
#define GL_MODELVIEW1_ARB 0x850A
#define GL_MODELVIEW2_ARB 0x8722
#define GL_MODELVIEW3_ARB 0x8723
#define GL_MODELVIEW4_ARB 0x8724
#define GL_MODELVIEW5_ARB 0x8725
#define GL_MODELVIEW6_ARB 0x8726
#define GL_MODELVIEW7_ARB 0x8727
#define GL_MODELVIEW8_ARB 0x8728
#define GL_MODELVIEW9_ARB 0x8729
#define GL_MODELVIEW10_ARB 0x872A
#define GL_MODELVIEW11_ARB 0x872B
#define GL_MODELVIEW12_ARB 0x872C
#define GL_MODELVIEW13_ARB 0x872D
#define GL_MODELVIEW14_ARB 0x872E
#define GL_MODELVIEW15_ARB 0x872F
#define GL_MODELVIEW16_ARB 0x8730
#define GL_MODELVIEW17_ARB 0x8731
#define GL_MODELVIEW18_ARB 0x8732
#define GL_MODELVIEW19_ARB 0x8733
#define GL_MODELVIEW20_ARB 0x8734
#define GL_MODELVIEW21_ARB 0x8735
#define GL_MODELVIEW22_ARB 0x8736
#define GL_MODELVIEW23_ARB 0x8737
#define GL_MODELVIEW24_ARB 0x8738
#define GL_MODELVIEW25_ARB 0x8739
#define GL_MODELVIEW26_ARB 0x873A
#define GL_MODELVIEW27_ARB 0x873B
#define GL_MODELVIEW28_ARB 0x873C
#define GL_MODELVIEW29_ARB 0x873D
#define GL_MODELVIEW30_ARB 0x873E
#define GL_MODELVIEW31_ARB 0x873F

/* GL_ARB_matrix_palette */

#define GL_MATRIX_PALETTE_ARB 0x8840
#define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841
#define GL_MAX_PALETTE_MATRICES_ARB 0x8842
#define GL_CURRENT_PALETTE_MATRIX_ARB 0x8843
#define GL_MATRIX_INDEX_ARRAY_ARB 0x8844
#define GL_CURRENT_MATRIX_INDEX_ARB 0x8845
#define GL_MATRIX_INDEX_ARRAY_SIZE_ARB 0x8846
#define GL_MATRIX_INDEX_ARRAY_TYPE_ARB 0x8847
#define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB 0x8848
#define GL_MATRIX_INDEX_ARRAY_POINTER_ARB 0x8849

/* GL_ARB_texture_env_combine */

#define GL_SUBTRACT_ARB 0x84E7
#define GL_COMBINE_ARB 0x8570
#define GL_COMBINE_RGB_ARB 0x8571
#define GL_COMBINE_ALPHA_ARB 0x8572
#define GL_RGB_SCALE_ARB 0x8573
#define GL_ADD_SIGNED_ARB 0x8574
#define GL_INTERPOLATE_ARB 0x8575
#define GL_CONSTANT_ARB 0x8576
#define GL_PRIMARY_COLOR_ARB 0x8577
#define GL_PREVIOUS_ARB 0x8578
#define GL_SOURCE0_RGB_ARB 0x8580
#define GL_SOURCE1_RGB_ARB 0x8581
#define GL_SOURCE2_RGB_ARB 0x8582
#define GL_SOURCE0_ALPHA_ARB 0x8588
#define GL_SOURCE1_ALPHA_ARB 0x8589
#define GL_SOURCE2_ALPHA_ARB 0x858A
#define GL_OPERAND0_RGB_ARB 0x8590
#define GL_OPERAND1_RGB_ARB 0x8591
#define GL_OPERAND2_RGB_ARB 0x8592
#define GL_OPERAND0_ALPHA_ARB 0x8598
#define GL_OPERAND1_ALPHA_ARB 0x8599
#define GL_OPERAND2_ALPHA_ARB 0x859A

/* GL_ARB_texture_env_dot3 */

#define GL_DOT3_RGB_ARB 0x86AE
#define GL_DOT3_RGBA_ARB 0x86AF

/* GL_ARB_texture_mirrored_repeat */

#define GL_MIRRORED_REPEAT_ARB 0x8370

/* GL_ARB_depth_texture */

#define GL_DEPTH_COMPONENT16_ARB 0x81A5
#define GL_DEPTH_COMPONENT24_ARB 0x81A6
#define GL_DEPTH_COMPONENT32_ARB 0x81A7
#define GL_TEXTURE_DEPTH_SIZE_ARB 0x884A
#define GL_DEPTH_TEXTURE_MODE_ARB 0x884B

/* GL_ARB_shadow */

#define GL_TEXTURE_COMPARE_MODE_ARB 0x884C
#define GL_TEXTURE_COMPARE_FUNC_ARB 0x884D
#define GL_COMPARE_R_TO_TEXTURE_ARB 0x884E

/* GL_ARB_shadow_ambient */

#define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF

/* GL_ARB_vertex_program */

#define GL_COLOR_SUM_ARB 0x8458
#define GL_VERTEX_PROGRAM_ARB 0x8620
#define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622
#define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB 0x8623
#define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624
#define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB 0x8625
#define GL_CURRENT_VERTEX_ATTRIB_ARB 0x8626
#define GL_PROGRAM_LENGTH_ARB 0x8627
#define GL_PROGRAM_STRING_ARB 0x8628
#define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E
#define GL_MAX_PROGRAM_MATRICES_ARB 0x862F
#define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640
#define GL_CURRENT_MATRIX_ARB 0x8641
#define GL_VERTEX_PROGRAM_POINT_SIZE_ARB 0x8642
#define GL_VERTEX_PROGRAM_TWO_SIDE_ARB 0x8643
#define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645
#define GL_PROGRAM_ERROR_POSITION_ARB 0x864B
#define GL_PROGRAM_BINDING_ARB 0x8677
#define GL_MAX_VERTEX_ATTRIBS_ARB 0x8869
#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A
#define GL_PROGRAM_ERROR_STRING_ARB 0x8874
#define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875
#define GL_PROGRAM_FORMAT_ARB 0x8876
#define GL_PROGRAM_INSTRUCTIONS_ARB 0x88A0
#define GL_MAX_PROGRAM_INSTRUCTIONS_ARB 0x88A1
#define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2
#define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3
#define GL_PROGRAM_TEMPORARIES_ARB 0x88A4
#define GL_MAX_PROGRAM_TEMPORARIES_ARB 0x88A5
#define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6
#define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7
#define GL_PROGRAM_PARAMETERS_ARB 0x88A8
#define GL_MAX_PROGRAM_PARAMETERS_ARB 0x88A9
#define GL_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AA
#define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB
#define GL_PROGRAM_ATTRIBS_ARB 0x88AC
#define GL_MAX_PROGRAM_ATTRIBS_ARB 0x88AD
#define GL_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AE
#define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF
#define GL_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B0
#define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1
#define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2
#define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3
#define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4
#define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5
#define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6
#define GL_TRANSPOSE_CURRENT_MATRIX_ARB 0x88B7
#define GL_MATRIX0_ARB 0x88C0
#define GL_MATRIX1_ARB 0x88C1
#define GL_MATRIX2_ARB 0x88C2
#define GL_MATRIX3_ARB 0x88C3
#define GL_MATRIX4_ARB 0x88C4
#define GL_MATRIX5_ARB 0x88C5
#define GL_MATRIX6_ARB 0x88C6
#define GL_MATRIX7_ARB 0x88C7
#define GL_MATRIX8_ARB 0x88C8
#define GL_MATRIX9_ARB 0x88C9
#define GL_MATRIX10_ARB 0x88CA
#define GL_MATRIX11_ARB 0x88CB
#define GL_MATRIX12_ARB 0x88CC
#define GL_MATRIX13_ARB 0x88CD
#define GL_MATRIX14_ARB 0x88CE
#define GL_MATRIX15_ARB 0x88CF
#define GL_MATRIX16_ARB 0x88D0
#define GL_MATRIX17_ARB 0x88D1
#define GL_MATRIX18_ARB 0x88D2
#define GL_MATRIX19_ARB 0x88D3
#define GL_MATRIX20_ARB 0x88D4
#define GL_MATRIX21_ARB 0x88D5
#define GL_MATRIX22_ARB 0x88D6
#define GL_MATRIX23_ARB 0x88D7
#define GL_MATRIX24_ARB 0x88D8
#define GL_MATRIX25_ARB 0x88D9
#define GL_MATRIX26_ARB 0x88DA
#define GL_MATRIX27_ARB 0x88DB
#define GL_MATRIX28_ARB 0x88DC
#define GL_MATRIX29_ARB 0x88DD
#define GL_MATRIX30_ARB 0x88DE
#define GL_MATRIX31_ARB 0x88DF

/* GL_ARB_fragment_program */

#define GL_FRAGMENT_PROGRAM_ARB 0x8804
#define GL_PROGRAM_ALU_INSTRUCTIONS_ARB 0x8805
#define GL_PROGRAM_TEX_INSTRUCTIONS_ARB 0x8806
#define GL_PROGRAM_TEX_INDIRECTIONS_ARB 0x8807
#define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x8808
#define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x8809
#define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x880A
#define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0x880B
#define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0x880C
#define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0x880D
#define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E
#define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F
#define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810
#define GL_MAX_TEXTURE_COORDS_ARB 0x8871
#define GL_MAX_TEXTURE_IMAGE_UNITS_ARB 0x8872

/* GL_ARB_vertex_buffer_object */

#define GL_BUFFER_SIZE_ARB 0x8764
#define GL_BUFFER_USAGE_ARB 0x8765
#define GL_ARRAY_BUFFER_ARB 0x8892
#define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893
#define GL_ARRAY_BUFFER_BINDING_ARB 0x8894
#define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895
#define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896
#define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897
#define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898
#define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899
#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A
#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B
#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C
#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D
#define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E
#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F
#define GL_READ_ONLY_ARB 0x88B8
#define GL_WRITE_ONLY_ARB 0x88B9
#define GL_READ_WRITE_ARB 0x88BA
#define GL_BUFFER_ACCESS_ARB 0x88BB
#define GL_BUFFER_MAPPED_ARB 0x88BC
#define GL_BUFFER_MAP_POINTER_ARB 0x88BD
#define GL_STREAM_DRAW_ARB 0x88E0
#define GL_STREAM_READ_ARB 0x88E1
#define GL_STREAM_COPY_ARB 0x88E2
#define GL_STATIC_DRAW_ARB 0x88E4
#define GL_STATIC_READ_ARB 0x88E5
#define GL_STATIC_COPY_ARB 0x88E6
#define GL_DYNAMIC_DRAW_ARB 0x88E8
#define GL_DYNAMIC_READ_ARB 0x88E9
#define GL_DYNAMIC_COPY_ARB 0x88EA

/* GL_ARB_occlusion_query */

#define GL_QUERY_COUNTER_BITS_ARB 0x8864
#define GL_CURRENT_QUERY_ARB 0x8865
#define GL_QUERY_RESULT_ARB 0x8866
#define GL_QUERY_RESULT_AVAILABLE_ARB 0x8867
#define GL_SAMPLES_PASSED_ARB 0x8914

/* GL_ARB_shader_objects */

#define GL_PROGRAM_OBJECT_ARB 0x8B40
#define GL_SHADER_OBJECT_ARB 0x8B48
#define GL_OBJECT_TYPE_ARB 0x8B4E
#define GL_OBJECT_SUBTYPE_ARB 0x8B4F
#define GL_FLOAT_VEC2_ARB 0x8B50
#define GL_FLOAT_VEC3_ARB 0x8B51
#define GL_FLOAT_VEC4_ARB 0x8B52
#define GL_INT_VEC2_ARB 0x8B53
#define GL_INT_VEC3_ARB 0x8B54
#define GL_INT_VEC4_ARB 0x8B55
#define GL_BOOL_ARB 0x8B56
#define GL_BOOL_VEC2_ARB 0x8B57
#define GL_BOOL_VEC3_ARB 0x8B58
#define GL_BOOL_VEC4_ARB 0x8B59
#define GL_FLOAT_MAT2_ARB 0x8B5A
#define GL_FLOAT_MAT3_ARB 0x8B5B
#define GL_FLOAT_MAT4_ARB 0x8B5C
#define GL_SAMPLER_1D_ARB 0x8B5D
#define GL_SAMPLER_2D_ARB 0x8B5E
#define GL_SAMPLER_3D_ARB 0x8B5F
#define GL_SAMPLER_CUBE_ARB 0x8B60
#define GL_SAMPLER_1D_SHADOW_ARB 0x8B61
#define GL_SAMPLER_2D_SHADOW_ARB 0x8B62

/* GL_ARB_texture_rectangle */

#define GL_SAMPLER_2D_RECT_ARB 0x8B63
#define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64

/* GL_ARB_shader_objects */

#define GL_OBJECT_DELETE_STATUS_ARB 0x8B80
#define GL_OBJECT_COMPILE_STATUS_ARB 0x8B81
#define GL_OBJECT_LINK_STATUS_ARB 0x8B82
#define GL_OBJECT_VALIDATE_STATUS_ARB 0x8B83
#define GL_OBJECT_INFO_LOG_LENGTH_ARB 0x8B84
#define GL_OBJECT_ATTACHED_OBJECTS_ARB 0x8B85
#define GL_OBJECT_ACTIVE_UNIFORMS_ARB 0x8B86
#define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87
#define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88

/* GL_ARB_vertex_shader */

#define GL_VERTEX_SHADER_ARB 0x8B31
#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A
#define GL_MAX_VARYING_FLOATS_ARB 0x8B4B
#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C
#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D
#define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB 0x8B89
#define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A

/* GL_ARB_fragment_shader */

#define GL_FRAGMENT_SHADER_ARB 0x8B30
#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49
#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B

/* GL_ARB_shading_language_100 */

#define GL_SHADING_LANGUAGE_VERSION_ARB 0x8B8C

/* GL_ARB_point_sprite */

#define GL_POINT_SPRITE_ARB 0x8861
#define GL_COORD_REPLACE_ARB 0x8862

/* GL_ARB_draw_buffers */

#define GL_MAX_DRAW_BUFFERS_ARB 0x8824
#define GL_DRAW_BUFFER0_ARB 0x8825
#define GL_DRAW_BUFFER1_ARB 0x8826
#define GL_DRAW_BUFFER2_ARB 0x8827
#define GL_DRAW_BUFFER3_ARB 0x8828
#define GL_DRAW_BUFFER4_ARB 0x8829
#define GL_DRAW_BUFFER5_ARB 0x882A
#define GL_DRAW_BUFFER6_ARB 0x882B
#define GL_DRAW_BUFFER7_ARB 0x882C
#define GL_DRAW_BUFFER8_ARB 0x882D
#define GL_DRAW_BUFFER9_ARB 0x882E
#define GL_DRAW_BUFFER10_ARB 0x882F
#define GL_DRAW_BUFFER11_ARB 0x8830
#define GL_DRAW_BUFFER12_ARB 0x8831
#define GL_DRAW_BUFFER13_ARB 0x8832
#define GL_DRAW_BUFFER14_ARB 0x8833
#define GL_DRAW_BUFFER15_ARB 0x8834

/* GL_ARB_texture_rectangle */

#define GL_TEXTURE_RECTANGLE_ARB 0x84F5
#define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
#define GL_PROXY_TEXTURE_RECTANGLE_ARB 0x84F7
#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8
#define GL_SAMPLER_2D_RECT_ARB 0x8B63
#define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64

/* GL_ARB_color_buffer_float */

#define GL_RGBA_FLOAT_MODE_ARB 0x8820
#define GL_CLAMP_VERTEX_COLOR_ARB 0x891A
#define GL_CLAMP_FRAGMENT_COLOR_ARB 0x891B
#define GL_CLAMP_READ_COLOR_ARB 0x891C
#define GL_FIXED_ONLY_ARB 0x891D

/* GL_ARB_half_float_pixel */

#define GL_HALF_FLOAT_ARB 0x140B

/* GL_ARB_texture_float */

#define GL_RGBA32F_ARB 0x8814
#define GL_RGB32F_ARB 0x8815
#define GL_ALPHA32F_ARB 0x8816
#define GL_INTENSITY32F_ARB 0x8817
#define GL_LUMINANCE32F_ARB 0x8818
#define GL_LUMINANCE_ALPHA32F_ARB 0x8819
#define GL_RGBA16F_ARB 0x881A
#define GL_RGB16F_ARB 0x881B
#define GL_ALPHA16F_ARB 0x881C
#define GL_INTENSITY16F_ARB 0x881D
#define GL_LUMINANCE16F_ARB 0x881E
#define GL_LUMINANCE_ALPHA16F_ARB 0x881F
#define GL_TEXTURE_RED_TYPE_ARB 0x8C10
#define GL_TEXTURE_GREEN_TYPE_ARB 0x8C11
#define GL_TEXTURE_BLUE_TYPE_ARB 0x8C12
#define GL_TEXTURE_ALPHA_TYPE_ARB 0x8C13
#define GL_TEXTURE_LUMINANCE_TYPE_ARB 0x8C14
#define GL_TEXTURE_INTENSITY_TYPE_ARB 0x8C15
#define GL_TEXTURE_DEPTH_TYPE_ARB 0x8C16
#define GL_UNSIGNED_NORMALIZED_ARB 0x8C17

/* GL_ARB_pixel_buffer_object */

#define GL_PIXEL_PACK_BUFFER_ARB 0x88EB
#define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC
#define GL_PIXEL_PACK_BUFFER_BINDING_ARB 0x88ED
#define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF

/* GL_ARB_depth_buffer_float */

#define GL_DEPTH_COMPONENT32F 0x8CAC
#define GL_DEPTH32F_STENCIL8 0x8CAD
#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD

/* GL_ARB_framebuffer_object */

#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
#define GL_FRAMEBUFFER_DEFAULT 0x8218
#define GL_FRAMEBUFFER_UNDEFINED 0x8219
#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A
#define GL_INDEX 0x8222
#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
#define GL_DEPTH_STENCIL 0x84F9
#define GL_UNSIGNED_INT_24_8 0x84FA
#define GL_DEPTH24_STENCIL8 0x88F0
#define GL_TEXTURE_STENCIL_SIZE 0x88F1
#define GL_UNSIGNED_NORMALIZED 0x8C17
#define GL_SRGB 0x8C40
#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
#define GL_FRAMEBUFFER_BINDING 0x8CA6
#define GL_RENDERBUFFER_BINDING 0x8CA7
#define GL_READ_FRAMEBUFFER 0x8CA8
#define GL_DRAW_FRAMEBUFFER 0x8CA9
#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
#define GL_RENDERBUFFER_SAMPLES 0x8CAB
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3

/* GL_ARB_geometry_shader4 */

#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4

/* GL_ARB_framebuffer_object */

#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB
#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC
#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF
#define GL_COLOR_ATTACHMENT0 0x8CE0
#define GL_COLOR_ATTACHMENT1 0x8CE1
#define GL_COLOR_ATTACHMENT2 0x8CE2
#define GL_COLOR_ATTACHMENT3 0x8CE3
#define GL_COLOR_ATTACHMENT4 0x8CE4
#define GL_COLOR_ATTACHMENT5 0x8CE5
#define GL_COLOR_ATTACHMENT6 0x8CE6
#define GL_COLOR_ATTACHMENT7 0x8CE7
#define GL_COLOR_ATTACHMENT8 0x8CE8
#define GL_COLOR_ATTACHMENT9 0x8CE9
#define GL_COLOR_ATTACHMENT10 0x8CEA
#define GL_COLOR_ATTACHMENT11 0x8CEB
#define GL_COLOR_ATTACHMENT12 0x8CEC
#define GL_COLOR_ATTACHMENT13 0x8CED
#define GL_COLOR_ATTACHMENT14 0x8CEE
#define GL_COLOR_ATTACHMENT15 0x8CEF
#define GL_DEPTH_ATTACHMENT 0x8D00
#define GL_STENCIL_ATTACHMENT 0x8D20
#define GL_FRAMEBUFFER 0x8D40
#define GL_RENDERBUFFER 0x8D41
#define GL_RENDERBUFFER_WIDTH 0x8D42
#define GL_RENDERBUFFER_HEIGHT 0x8D43
#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
#define GL_STENCIL_INDEX1 0x8D46
#define GL_STENCIL_INDEX4 0x8D47
#define GL_STENCIL_INDEX8 0x8D48
#define GL_STENCIL_INDEX16 0x8D49
#define GL_RENDERBUFFER_RED_SIZE 0x8D50
#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
#define GL_MAX_SAMPLES 0x8D57

/* GL_ARB_framebuffer_sRGB */

#define GL_FRAMEBUFFER_SRGB 0x8DB9

/* GL_ARB_geometry_shader4 */

#define GL_LINES_ADJACENCY_ARB 0x000A
#define GL_LINE_STRIP_ADJACENCY_ARB 0x000B
#define GL_TRIANGLES_ADJACENCY_ARB 0x000C
#define GL_TRIANGLE_STRIP_ADJACENCY_ARB 0x000D
#define GL_PROGRAM_POINT_SIZE_ARB 0x8642
#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB 0x8C29
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB 0x8DA7
#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB 0x8DA8
#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB 0x8DA9
#define GL_GEOMETRY_SHADER_ARB 0x8DD9
#define GL_GEOMETRY_VERTICES_OUT_ARB 0x8DDA
#define GL_GEOMETRY_INPUT_TYPE_ARB 0x8DDB
#define GL_GEOMETRY_OUTPUT_TYPE_ARB 0x8DDC
#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB 0x8DDD
#define GL_MAX_VERTEX_VARYING_COMPONENTS_ARB 0x8DDE
#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB 0x8DDF
#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB 0x8DE0
#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB 0x8DE1

/* GL_ARB_half_float_vertex */

#define GL_HALF_FLOAT 0x140B

/* GL_ARB_instanced_arrays */

#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE

/* GL_ARB_map_buffer_range */

#define GL_MAP_READ_BIT 0x0001
#define GL_MAP_WRITE_BIT 0x0002
#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004
#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010
#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020

/* GL_ARB_texture_buffer_object */

#define GL_TEXTURE_BUFFER_ARB 0x8C2A
#define GL_MAX_TEXTURE_BUFFER_SIZE_ARB 0x8C2B
#define GL_TEXTURE_BINDING_BUFFER_ARB 0x8C2C
#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB 0x8C2D
#define GL_TEXTURE_BUFFER_FORMAT_ARB 0x8C2E

/* GL_ARB_texture_compression_rgtc */

#define GL_COMPRESSED_RED_RGTC1 0x8DBB
#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC
#define GL_COMPRESSED_RG_RGTC2 0x8DBD
#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE

/* GL_ARB_texture_rg */

#define GL_RED 0x1903
#define GL_COMPRESSED_RED 0x8225
#define GL_COMPRESSED_RG 0x8226
#define GL_RG 0x8227
#define GL_RG_INTEGER 0x8228
#define GL_R8 0x8229
#define GL_R16 0x822A
#define GL_RG8 0x822B
#define GL_RG16 0x822C
#define GL_R16F 0x822D
#define GL_R32F 0x822E
#define GL_RG16F 0x822F
#define GL_RG32F 0x8230
#define GL_R8I 0x8231
#define GL_R8UI 0x8232
#define GL_R16I 0x8233
#define GL_R16UI 0x8234
#define GL_R32I 0x8235
#define GL_R32UI 0x8236
#define GL_RG8I 0x8237
#define GL_RG8UI 0x8238
#define GL_RG16I 0x8239
#define GL_RG16UI 0x823A
#define GL_RG32I 0x823B
#define GL_RG32UI 0x823C

/* GL_ARB_vertex_array_object */

#define GL_VERTEX_ARRAY_BINDING 0x85B5

/* GL_ARB_uniform_buffer_object */

#define GL_UNIFORM_BUFFER 0x8A11
#define GL_UNIFORM_BUFFER_BINDING 0x8A28
#define GL_UNIFORM_BUFFER_START 0x8A29
#define GL_UNIFORM_BUFFER_SIZE 0x8A2A
#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B
#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C
#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D
#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E
#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F
#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30
#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31
#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32
#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33
#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34
#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35
#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36
#define GL_UNIFORM_TYPE 0x8A37
#define GL_UNIFORM_SIZE 0x8A38
#define GL_UNIFORM_NAME_LENGTH 0x8A39
#define GL_UNIFORM_BLOCK_INDEX 0x8A3A
#define GL_UNIFORM_OFFSET 0x8A3B
#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C
#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D
#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E
#define GL_UNIFORM_BLOCK_BINDING 0x8A3F
#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40
#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41
#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42
#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43
#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44
#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45
#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46
#define GL_INVALID_INDEX 0xFFFFFFFF

/* GL_ARB_copy_buffer */

#define GL_COPY_READ_BUFFER 0x8F36
#define GL_COPY_WRITE_BUFFER 0x8F37

/* GL_ARB_depth_clamp */

#define GL_DEPTH_CLAMP 0x864F

/* GL_ARB_provoking_vertex */

#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C
#define GL_FIRST_VERTEX_CONVENTION 0x8E4D
#define GL_LAST_VERTEX_CONVENTION 0x8E4E
#define GL_PROVOKING_VERTEX 0x8E4F

/* GL_ARB_seamless_cube_map */

#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F

/* GL_ARB_sync */

#define GL_SYNC_FLUSH_COMMANDS_BIT 0x0001
#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111
#define GL_OBJECT_TYPE 0x9112
#define GL_SYNC_CONDITION 0x9113
#define GL_SYNC_STATUS 0x9114
#define GL_SYNC_FLAGS 0x9115
#define GL_SYNC_FENCE 0x9116
#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117
#define GL_UNSIGNALED 0x9118
#define GL_SIGNALED 0x9119
#define GL_ALREADY_SIGNALED 0x911A
#define GL_TIMEOUT_EXPIRED 0x911B
#define GL_CONDITION_SATISFIED 0x911C
#define GL_WAIT_FAILED 0x911D
#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFF

/* GL_ARB_texture_multisample */

#define GL_SAMPLE_POSITION 0x8E50
#define GL_SAMPLE_MASK 0x8E51
#define GL_SAMPLE_MASK_VALUE 0x8E52
#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59
#define GL_TEXTURE_2D_MULTISAMPLE 0x9100
#define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101
#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102
#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103
#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104
#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105
#define GL_TEXTURE_SAMPLES 0x9106
#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107
#define GL_SAMPLER_2D_MULTISAMPLE 0x9108
#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109
#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A
#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B
#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C
#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D
#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E
#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F
#define GL_MAX_INTEGER_SAMPLES 0x9110

/* GL_EXT_vertex_array_bgra */

#define GL_BGRA 0x80E1

/* GL_ARB_sample_shading */

#define GL_SAMPLE_SHADING_ARB 0x8C36
#define GL_MIN_SAMPLE_SHADING_VALUE_ARB 0x8C37

/* GL_ARB_texture_cube_map_array */

#define GL_TEXTURE_CUBE_MAP_ARRAY_ARB 0x9009
#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB 0x900A
#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB 0x900B
#define GL_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900C
#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB 0x900D
#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900E
#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900F

/* GL_ARB_texture_gather */

#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5E
#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5F
#define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB 0x8F9F

/* GL_ARB_shading_language_include */

#define GL_SHADER_INCLUDE_ARB 0x8DAE
#define GL_NAMED_STRING_LENGTH_ARB 0x8DE9
#define GL_NAMED_STRING_TYPE_ARB 0x8DEA

/* GL_ARB_texture_compression_bptc */

#define GL_COMPRESSED_RGBA_BPTC_UNORM_ARB 0x8E8C
#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB 0x8E8D
#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB 0x8E8E
#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB 0x8E8F

/* GL_ARB_blend_func_extended */

#define GL_SRC1_COLOR 0x88F9
#define GL_ONE_MINUS_SRC1_COLOR 0x88FA
#define GL_ONE_MINUS_SRC1_ALPHA 0x88FB
#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88FC

/* GL_ARB_occlusion_query2 */

#define GL_ANY_SAMPLES_PASSED 0x8C2F

/* GL_ARB_sampler_objects */

#define GL_SAMPLER_BINDING 0x8919

/* GL_ARB_texture_rgb10_a2ui */

#define GL_RGB10_A2UI 0x906F

/* GL_ARB_texture_swizzle */

#define GL_TEXTURE_SWIZZLE_R 0x8E42
#define GL_TEXTURE_SWIZZLE_G 0x8E43
#define GL_TEXTURE_SWIZZLE_B 0x8E44
#define GL_TEXTURE_SWIZZLE_A 0x8E45
#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46

/* GL_ARB_timer_query */

#define GL_TIME_ELAPSED 0x88BF
#define GL_TIMESTAMP 0x8E28

/* GL_ARB_vertex_type_2_10_10_10_rev */

#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
#define GL_INT_2_10_10_10_REV 0x8D9F

/* GL_ARB_draw_indirect */

#define GL_DRAW_INDIRECT_BUFFER 0x8F3F
#define GL_DRAW_INDIRECT_BUFFER_BINDING 0x8F43

/* GL_ARB_gpu_shader5 */

#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F
#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A
#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B
#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C
#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D

/* GL_ARB_transform_feedback3 */

#define GL_MAX_VERTEX_STREAMS 0x8E71

/* GL_ARB_gpu_shader_fp64 */

#define GL_DOUBLE_MAT2 0x8F46
#define GL_DOUBLE_MAT3 0x8F47
#define GL_DOUBLE_MAT4 0x8F48
#define GL_DOUBLE_VEC2 0x8FFC
#define GL_DOUBLE_VEC3 0x8FFD
#define GL_DOUBLE_VEC4 0x8FFE

/* GL_ARB_shader_subroutine */

#define GL_ACTIVE_SUBROUTINES 0x8DE5
#define GL_ACTIVE_SUBROUTINE_UNIFORMS 0x8DE6
#define GL_MAX_SUBROUTINES 0x8DE7
#define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS 0x8DE8
#define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 0x8E47
#define GL_ACTIVE_SUBROUTINE_MAX_LENGTH 0x8E48
#define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH 0x8E49
#define GL_NUM_COMPATIBLE_SUBROUTINES 0x8E4A
#define GL_COMPATIBLE_SUBROUTINES 0x8E4B

/* GL_ARB_tessellation_shader */

#define GL_PATCHES 0x000E
#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER 0x84F0
#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER 0x84F1
#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS 0x886C
#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS 0x886D
#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E1E
#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E1F
#define GL_PATCH_VERTICES 0x8E72
#define GL_PATCH_DEFAULT_INNER_LEVEL 0x8E73
#define GL_PATCH_DEFAULT_OUTER_LEVEL 0x8E74
#define GL_TESS_CONTROL_OUTPUT_VERTICES 0x8E75
#define GL_TESS_GEN_MODE 0x8E76
#define GL_TESS_GEN_SPACING 0x8E77
#define GL_TESS_GEN_VERTEX_ORDER 0x8E78
#define GL_TESS_GEN_POINT_MODE 0x8E79
#define GL_ISOLINES 0x8E7A
#define GL_FRACTIONAL_ODD 0x8E7B
#define GL_FRACTIONAL_EVEN 0x8E7C
#define GL_MAX_PATCH_VERTICES 0x8E7D
#define GL_MAX_TESS_GEN_LEVEL 0x8E7E
#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E7F
#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E80
#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS 0x8E81
#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS 0x8E82
#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS 0x8E83
#define GL_MAX_TESS_PATCH_COMPONENTS 0x8E84
#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS 0x8E85
#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS 0x8E86
#define GL_TESS_EVALUATION_SHADER 0x8E87
#define GL_TESS_CONTROL_SHADER 0x8E88
#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS 0x8E89
#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS 0x8E8A

/* GL_ARB_transform_feedback2 */

#define GL_TRANSFORM_FEEDBACK 0x8E22
#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED 0x8E23
#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE 0x8E24
#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25

/* GL_ARB_transform_feedback3 */

#define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS 0x8E70
#define GL_MAX_VERTEX_STREAMS 0x8E71

/* GL_ARB_debug_output */

#define GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB 0x8242
#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB 0x8243
#define GL_DEBUG_CALLBACK_FUNCTION_ARB 0x8244
#define GL_DEBUG_CALLBACK_USER_PARAM_ARB 0x8245
#define GL_DEBUG_SOURCE_API_ARB 0x8246
#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB 0x8247
#define GL_DEBUG_SOURCE_SHADER_COMPILER_ARB 0x8248
#define GL_DEBUG_SOURCE_THIRD_PARTY_ARB 0x8249
#define GL_DEBUG_SOURCE_APPLICATION_ARB 0x824A
#define GL_DEBUG_SOURCE_OTHER_ARB 0x824B
#define GL_DEBUG_TYPE_ERROR_ARB 0x824C
#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB 0x824D
#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB 0x824E
#define GL_DEBUG_TYPE_PORTABILITY_ARB 0x824F
#define GL_DEBUG_TYPE_PERFORMANCE_ARB 0x8250
#define GL_DEBUG_TYPE_OTHER_ARB 0x8251
#define GL_MAX_DEBUG_MESSAGE_LENGTH_ARB 0x9143
#define GL_MAX_DEBUG_LOGGED_MESSAGES_ARB 0x9144
#define GL_DEBUG_LOGGED_MESSAGES_ARB 0x9145
#define GL_DEBUG_SEVERITY_HIGH_ARB 0x9146
#define GL_DEBUG_SEVERITY_MEDIUM_ARB 0x9147
#define GL_DEBUG_SEVERITY_LOW_ARB 0x9148

/* GL_EXT_abgr */

#define GL_ABGR_EXT 0x8000

/* GL_EXT_blend_color */

#define GL_CONSTANT_COLOR_EXT 0x8001
#define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002
#define GL_CONSTANT_ALPHA_EXT 0x8003
#define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004
#define GL_BLEND_COLOR_EXT 0x8005

/* GL_EXT_polygon_offset */

#define GL_POLYGON_OFFSET_EXT 0x8037
#define GL_POLYGON_OFFSET_FACTOR_EXT 0x8038
#define GL_POLYGON_OFFSET_BIAS_EXT 0x8039

/* GL_EXT_texture */

#define GL_ALPHA4_EXT 0x803B
#define GL_ALPHA8_EXT 0x803C
#define GL_ALPHA12_EXT 0x803D
#define GL_ALPHA16_EXT 0x803E
#define GL_LUMINANCE4_EXT 0x803F
#define GL_LUMINANCE8_EXT 0x8040
#define GL_LUMINANCE12_EXT 0x8041
#define GL_LUMINANCE16_EXT 0x8042
#define GL_LUMINANCE4_ALPHA4_EXT 0x8043
#define GL_LUMINANCE6_ALPHA2_EXT 0x8044
#define GL_LUMINANCE8_ALPHA8_EXT 0x8045
#define GL_LUMINANCE12_ALPHA4_EXT 0x8046
#define GL_LUMINANCE12_ALPHA12_EXT 0x8047
#define GL_LUMINANCE16_ALPHA16_EXT 0x8048
#define GL_INTENSITY_EXT 0x8049
#define GL_INTENSITY4_EXT 0x804A
#define GL_INTENSITY8_EXT 0x804B
#define GL_INTENSITY12_EXT 0x804C
#define GL_INTENSITY16_EXT 0x804D
#define GL_RGB2_EXT 0x804E
#define GL_RGB4_EXT 0x804F
#define GL_RGB5_EXT 0x8050
#define GL_RGB8_EXT 0x8051
#define GL_RGB10_EXT 0x8052
#define GL_RGB12_EXT 0x8053
#define GL_RGB16_EXT 0x8054
#define GL_RGBA2_EXT 0x8055
#define GL_RGBA4_EXT 0x8056
#define GL_RGB5_A1_EXT 0x8057
#define GL_RGBA8_EXT 0x8058
#define GL_RGB10_A2_EXT 0x8059
#define GL_RGBA12_EXT 0x805A
#define GL_RGBA16_EXT 0x805B
#define GL_TEXTURE_RED_SIZE_EXT 0x805C
#define GL_TEXTURE_GREEN_SIZE_EXT 0x805D
#define GL_TEXTURE_BLUE_SIZE_EXT 0x805E
#define GL_TEXTURE_ALPHA_SIZE_EXT 0x805F
#define GL_TEXTURE_LUMINANCE_SIZE_EXT 0x8060
#define GL_TEXTURE_INTENSITY_SIZE_EXT 0x8061
#define GL_REPLACE_EXT 0x8062
#define GL_PROXY_TEXTURE_1D_EXT 0x8063
#define GL_PROXY_TEXTURE_2D_EXT 0x8064

/* GL_EXT_texture3D */

#define GL_PACK_SKIP_IMAGES_EXT 0x806B
#define GL_PACK_IMAGE_HEIGHT_EXT 0x806C
#define GL_UNPACK_SKIP_IMAGES_EXT 0x806D
#define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E

/* GL_EXT_paletted_texture */

#define GL_TEXTURE_3D_EXT 0x806F
#define GL_PROXY_TEXTURE_3D_EXT 0x8070

/* GL_EXT_texture3D */

#define GL_TEXTURE_DEPTH_EXT 0x8071
#define GL_TEXTURE_WRAP_R_EXT 0x8072
#define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073

/* GL_EXT_histogram */

#define GL_HISTOGRAM_EXT 0x8024
#define GL_PROXY_HISTOGRAM_EXT 0x8025
#define GL_HISTOGRAM_WIDTH_EXT 0x8026
#define GL_HISTOGRAM_FORMAT_EXT 0x8027
#define GL_HISTOGRAM_RED_SIZE_EXT 0x8028
#define GL_HISTOGRAM_GREEN_SIZE_EXT 0x8029
#define GL_HISTOGRAM_BLUE_SIZE_EXT 0x802A
#define GL_HISTOGRAM_ALPHA_SIZE_EXT 0x802B
#define GL_HISTOGRAM_LUMINANCE_SIZE_EXT 0x802C
#define GL_HISTOGRAM_SINK_EXT 0x802D
#define GL_MINMAX_EXT 0x802E
#define GL_MINMAX_FORMAT_EXT 0x802F
#define GL_MINMAX_SINK_EXT 0x8030

/* GL_EXT_convolution */

#define GL_CONVOLUTION_1D_EXT 0x8010
#define GL_CONVOLUTION_2D_EXT 0x8011
#define GL_SEPARABLE_2D_EXT 0x8012
#define GL_CONVOLUTION_BORDER_MODE_EXT 0x8013
#define GL_CONVOLUTION_FILTER_SCALE_EXT 0x8014
#define GL_CONVOLUTION_FILTER_BIAS_EXT 0x8015
#define GL_REDUCE_EXT 0x8016
#define GL_CONVOLUTION_FORMAT_EXT 0x8017
#define GL_CONVOLUTION_WIDTH_EXT 0x8018
#define GL_CONVOLUTION_HEIGHT_EXT 0x8019
#define GL_MAX_CONVOLUTION_WIDTH_EXT 0x801A
#define GL_MAX_CONVOLUTION_HEIGHT_EXT 0x801B
#define GL_POST_CONVOLUTION_RED_SCALE_EXT 0x801C
#define GL_POST_CONVOLUTION_GREEN_SCALE_EXT 0x801D
#define GL_POST_CONVOLUTION_BLUE_SCALE_EXT 0x801E
#define GL_POST_CONVOLUTION_ALPHA_SCALE_EXT 0x801F
#define GL_POST_CONVOLUTION_RED_BIAS_EXT 0x8020
#define GL_POST_CONVOLUTION_GREEN_BIAS_EXT 0x8021
#define GL_POST_CONVOLUTION_BLUE_BIAS_EXT 0x8022
#define GL_POST_CONVOLUTION_ALPHA_BIAS_EXT 0x8023

/* GL_SGI_color_matrix */

#define GL_COLOR_MATRIX_SGI 0x80B1
#define GL_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B2
#define GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B3
#define GL_POST_COLOR_MATRIX_RED_SCALE_SGI 0x80B4
#define GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI 0x80B5
#define GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI 0x80B6
#define GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI 0x80B7
#define GL_POST_COLOR_MATRIX_RED_BIAS_SGI 0x80B8
#define GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI 0x80B9
#define GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI 0x80BA
#define GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI 0x80BB

/* GL_SGI_color_table */

#define GL_COLOR_TABLE_SGI 0x80D0
#define GL_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D1
#define GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D2
#define GL_PROXY_COLOR_TABLE_SGI 0x80D3
#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D4
#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D5
#define GL_COLOR_TABLE_SCALE_SGI 0x80D6
#define GL_COLOR_TABLE_BIAS_SGI 0x80D7
#define GL_COLOR_TABLE_FORMAT_SGI 0x80D8
#define GL_COLOR_TABLE_WIDTH_SGI 0x80D9
#define GL_COLOR_TABLE_RED_SIZE_SGI 0x80DA
#define GL_COLOR_TABLE_GREEN_SIZE_SGI 0x80DB
#define GL_COLOR_TABLE_BLUE_SIZE_SGI 0x80DC
#define GL_COLOR_TABLE_ALPHA_SIZE_SGI 0x80DD
#define GL_COLOR_TABLE_LUMINANCE_SIZE_SGI 0x80DE
#define GL_COLOR_TABLE_INTENSITY_SIZE_SGI 0x80DF

/* GL_SGI_texture_color_table */

#define GL_TEXTURE_COLOR_TABLE_SGI 0x80BC
#define GL_PROXY_TEXTURE_COLOR_TABLE_SGI 0x80BD

/* GL_EXT_cmyka */

#define GL_CMYK_EXT 0x800C
#define GL_CMYKA_EXT 0x800D
#define GL_PACK_CMYK_HINT_EXT 0x800E
#define GL_UNPACK_CMYK_HINT_EXT 0x800F

/* GL_EXT_texture_object */

#define GL_TEXTURE_PRIORITY_EXT 0x8066
#define GL_TEXTURE_RESIDENT_EXT 0x8067
#define GL_TEXTURE_1D_BINDING_EXT 0x8068
#define GL_TEXTURE_2D_BINDING_EXT 0x8069
#define GL_TEXTURE_3D_BINDING_EXT 0x806A

/* GL_EXT_packed_pixels */

#define GL_UNSIGNED_BYTE_3_3_2_EXT 0x8032
#define GL_UNSIGNED_SHORT_4_4_4_4_EXT 0x8033
#define GL_UNSIGNED_SHORT_5_5_5_1_EXT 0x8034
#define GL_UNSIGNED_INT_8_8_8_8_EXT 0x8035
#define GL_UNSIGNED_INT_10_10_10_2_EXT 0x8036

/* GL_SGIS_texture_lod */

#define GL_TEXTURE_MIN_LOD_SGIS 0x813A
#define GL_TEXTURE_MAX_LOD_SGIS 0x813B
#define GL_TEXTURE_BASE_LEVEL_SGIS 0x813C
#define GL_TEXTURE_MAX_LEVEL_SGIS 0x813D

/* GL_SGIS_multisample */

#define GL_MULTISAMPLE_SGIS 0x809D
#define GL_SAMPLE_ALPHA_TO_MASK_SGIS 0x809E
#define GL_SAMPLE_ALPHA_TO_ONE_SGIS 0x809F
#define GL_SAMPLE_MASK_SGIS 0x80A0
#define GL_1PASS_SGIS 0x80A1
#define GL_2PASS_0_SGIS 0x80A2
#define GL_2PASS_1_SGIS 0x80A3
#define GL_4PASS_0_SGIS 0x80A4
#define GL_4PASS_1_SGIS 0x80A5
#define GL_4PASS_2_SGIS 0x80A6
#define GL_4PASS_3_SGIS 0x80A7
#define GL_SAMPLE_BUFFERS_SGIS 0x80A8
#define GL_SAMPLES_SGIS 0x80A9
#define GL_SAMPLE_MASK_VALUE_SGIS 0x80AA
#define GL_SAMPLE_MASK_INVERT_SGIS 0x80AB
#define GL_SAMPLE_PATTERN_SGIS 0x80AC

/* GL_EXT_multisample */

#define GL_MULTISAMPLE_BIT_EXT 0x20000000

/* GL_EXT_rescale_normal */

#define GL_RESCALE_NORMAL_EXT 0x803A

/* GL_EXT_vertex_array */

#define GL_DOUBLE_EXT 0x140A
#define GL_VERTEX_ARRAY_EXT 0x8074
#define GL_NORMAL_ARRAY_EXT 0x8075
#define GL_COLOR_ARRAY_EXT 0x8076
#define GL_INDEX_ARRAY_EXT 0x8077
#define GL_TEXTURE_COORD_ARRAY_EXT 0x8078
#define GL_EDGE_FLAG_ARRAY_EXT 0x8079
#define GL_VERTEX_ARRAY_SIZE_EXT 0x807A
#define GL_VERTEX_ARRAY_TYPE_EXT 0x807B
#define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C
#define GL_VERTEX_ARRAY_COUNT_EXT 0x807D
#define GL_NORMAL_ARRAY_TYPE_EXT 0x807E
#define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F
#define GL_NORMAL_ARRAY_COUNT_EXT 0x8080
#define GL_COLOR_ARRAY_SIZE_EXT 0x8081
#define GL_COLOR_ARRAY_TYPE_EXT 0x8082
#define GL_COLOR_ARRAY_STRIDE_EXT 0x8083
#define GL_COLOR_ARRAY_COUNT_EXT 0x8084
#define GL_INDEX_ARRAY_TYPE_EXT 0x8085
#define GL_INDEX_ARRAY_STRIDE_EXT 0x8086
#define GL_INDEX_ARRAY_COUNT_EXT 0x8087
#define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088
#define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089
#define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A
#define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B
#define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C
#define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D
#define GL_VERTEX_ARRAY_POINTER_EXT 0x808E
#define GL_NORMAL_ARRAY_POINTER_EXT 0x808F
#define GL_COLOR_ARRAY_POINTER_EXT 0x8090
#define GL_INDEX_ARRAY_POINTER_EXT 0x8091
#define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092
#define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093

/* GL_SGIS_generate_mipmap */

#define GL_GENERATE_MIPMAP_SGIS 0x8191
#define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192

/* GL_SGIX_shadow */

#define GL_TEXTURE_COMPARE_SGIX 0x819A
#define GL_TEXTURE_COMPARE_OPERATOR_SGIX 0x819B
#define GL_TEXTURE_LEQUAL_R_SGIX 0x819C
#define GL_TEXTURE_GEQUAL_R_SGIX 0x819D

/* GL_SGIS_texture_edge_clamp */

#define GL_CLAMP_TO_EDGE_SGIS 0x812F

/* GL_SGIS_texture_border_clamp */

#define GL_CLAMP_TO_BORDER_SGIS 0x812D

/* GL_EXT_blend_minmax */

#define GL_FUNC_ADD_EXT 0x8006
#define GL_MIN_EXT 0x8007
#define GL_MAX_EXT 0x8008
#define GL_BLEND_EQUATION_EXT 0x8009

/* GL_EXT_blend_subtract */

#define GL_FUNC_SUBTRACT_EXT 0x800A
#define GL_FUNC_REVERSE_SUBTRACT_EXT 0x800B

/* GL_SGIX_interlace */

#define GL_INTERLACE_SGIX 0x8094

/* GL_SGIX_texture_multi_buffer */

#define GL_TEXTURE_MULTI_BUFFER_HINT_SGIX 0x812E

/* GL_EXT_point_parameters */

#define GL_POINT_SIZE_MIN_EXT 0x8126
#define GL_POINT_SIZE_MAX_EXT 0x8127
#define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128
#define GL_DISTANCE_ATTENUATION_EXT 0x8129

/* GL_SGIX_texture_scale_bias */

#define GL_POST_TEXTURE_FILTER_BIAS_SGIX 0x8179
#define GL_POST_TEXTURE_FILTER_SCALE_SGIX 0x817A
#define GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX 0x817B
#define GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX 0x817C

/* GL_SGIX_depth_texture */

#define GL_DEPTH_COMPONENT16_SGIX 0x81A5
#define GL_DEPTH_COMPONENT24_SGIX 0x81A6
#define GL_DEPTH_COMPONENT32_SGIX 0x81A7

/* GL_SGIX_fog_offset */

#define GL_FOG_OFFSET_SGIX 0x8198
#define GL_FOG_OFFSET_VALUE_SGIX 0x8199

/* GL_PGI_vertex_hints */

#define GL_VERTEX23_BIT_PGI 0x0004
#define GL_VERTEX4_BIT_PGI 0x0008
#define GL_COLOR3_BIT_PGI 0x10000
#define GL_COLOR4_BIT_PGI 0x20000
#define GL_EDGEFLAG_BIT_PGI 0x40000
#define GL_INDEX_BIT_PGI 0x80000
#define GL_MAT_AMBIENT_BIT_PGI 0x100000
#define GL_VERTEX_DATA_HINT_PGI 0x1A22A
#define GL_VERTEX_CONSISTENT_HINT_PGI 0x1A22B
#define GL_MATERIAL_SIDE_HINT_PGI 0x1A22C
#define GL_MAX_VERTEX_HINT_PGI 0x1A22D
#define GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI 0x200000
#define GL_MAT_DIFFUSE_BIT_PGI 0x400000
#define GL_MAT_EMISSION_BIT_PGI 0x800000
#define GL_MAT_COLOR_INDEXES_BIT_PGI 0x1000000
#define GL_MAT_SHININESS_BIT_PGI 0x2000000
#define GL_MAT_SPECULAR_BIT_PGI 0x4000000
#define GL_NORMAL_BIT_PGI 0x8000000
#define GL_TEXCOORD1_BIT_PGI 0x10000000
#define GL_TEXCOORD2_BIT_PGI 0x20000000
#define GL_TEXCOORD3_BIT_PGI 0x40000000
#define GL_TEXCOORD4_BIT_PGI 0x80000000

/* GL_PGI_misc_hints */

#define GL_PREFER_DOUBLEBUFFER_HINT_PGI 0x1A1F8
#define GL_CONSERVE_MEMORY_HINT_PGI 0x1A1FD
#define GL_RECLAIM_MEMORY_HINT_PGI 0x1A1FE
#define GL_NATIVE_GRAPHICS_HANDLE_PGI 0x1A202
#define GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI 0x1A203
#define GL_NATIVE_GRAPHICS_END_HINT_PGI 0x1A204
#define GL_ALWAYS_FAST_HINT_PGI 0x1A20C
#define GL_ALWAYS_SOFT_HINT_PGI 0x1A20D
#define GL_ALLOW_DRAW_OBJ_HINT_PGI 0x1A20E
#define GL_ALLOW_DRAW_WIN_HINT_PGI 0x1A20F
#define GL_ALLOW_DRAW_FRG_HINT_PGI 0x1A210
#define GL_ALLOW_DRAW_MEM_HINT_PGI 0x1A211
#define GL_STRICT_DEPTHFUNC_HINT_PGI 0x1A216
#define GL_STRICT_LIGHTING_HINT_PGI 0x1A217
#define GL_STRICT_SCISSOR_HINT_PGI 0x1A218
#define GL_FULL_STIPPLE_HINT_PGI 0x1A219
#define GL_CLIP_NEAR_HINT_PGI 0x1A220
#define GL_CLIP_FAR_HINT_PGI 0x1A221
#define GL_WIDE_LINE_HINT_PGI 0x1A222
#define GL_BACK_NORMALS_HINT_PGI 0x1A223

/* GL_EXT_paletted_texture */

#define GL_TEXTURE_1D 0x0DE0
#define GL_TEXTURE_2D 0x0DE1
#define GL_PROXY_TEXTURE_1D 0x8063
#define GL_PROXY_TEXTURE_2D 0x8064
#define GL_TEXTURE_3D_EXT 0x806F
#define GL_PROXY_TEXTURE_3D_EXT 0x8070
#define GL_COLOR_TABLE_FORMAT_EXT 0x80D8
#define GL_COLOR_TABLE_WIDTH_EXT 0x80D9
#define GL_COLOR_TABLE_RED_SIZE_EXT 0x80DA
#define GL_COLOR_TABLE_GREEN_SIZE_EXT 0x80DB
#define GL_COLOR_TABLE_BLUE_SIZE_EXT 0x80DC
#define GL_COLOR_TABLE_ALPHA_SIZE_EXT 0x80DD
#define GL_COLOR_TABLE_LUMINANCE_SIZE_EXT 0x80DE
#define GL_COLOR_TABLE_INTENSITY_SIZE_EXT 0x80DF
#define GL_COLOR_INDEX1_EXT 0x80E2
#define GL_COLOR_INDEX2_EXT 0x80E3
#define GL_COLOR_INDEX4_EXT 0x80E4
#define GL_COLOR_INDEX8_EXT 0x80E5
#define GL_COLOR_INDEX12_EXT 0x80E6
#define GL_COLOR_INDEX16_EXT 0x80E7
#define GL_TEXTURE_INDEX_SIZE_EXT 0x80ED
#define GL_TEXTURE_CUBE_MAP_ARB 0x8513
#define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B

/* GL_EXT_clip_volume_hint */

#define GL_CLIP_VOLUME_CLIPPING_HINT_EXT 0x80F0

/* GL_SGIX_shadow_ambient */

#define GL_SHADOW_AMBIENT_SGIX 0x80BF

/* GL_EXT_compiled_vertex_array */

#define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT 0x81A8
#define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT 0x81A9

/* GL_EXT_cull_vertex */

#define GL_CULL_VERTEX_EXT 0x81AA
#define GL_CULL_VERTEX_EYE_POSITION_EXT 0x81AB
#define GL_CULL_VERTEX_OBJECT_POSITION_EXT 0x81AC

/* GL_EXT_fragment_lighting */

#define GL_FRAGMENT_LIGHTING_EXT 0x8400
#define GL_FRAGMENT_COLOR_MATERIAL_EXT 0x8401
#define GL_FRAGMENT_COLOR_MATERIAL_FACE_EXT 0x8402
#define GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_EXT 0x8403
#define GL_MAX_FRAGMENT_LIGHTS_EXT 0x8404
#define GL_MAX_ACTIVE_LIGHTS_EXT 0x8405
#define GL_CURRENT_RASTER_NORMAL_EXT 0x8406
#define GL_LIGHT_ENV_MODE_EXT 0x8407
#define GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_EXT 0x8408
#define GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_EXT 0x8409
#define GL_FRAGMENT_LIGHT_MODEL_AMBIENT_EXT 0x840A
#define GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_EXT 0x840B
#define GL_FRAGMENT_LIGHT0_EXT 0x840C
#define GL_FRAGMENT_LIGHT7_EXT 0x8413

/* GL_IBM_rasterpos_clip */

#define GL_RASTER_POSITION_UNCLIPPED_IBM 0x19262

/* GL_EXT_draw_range_elements */

#define GL_MAX_ELEMENTS_VERTICES 0x80E8
#define GL_MAX_ELEMENTS_INDICES 0x80E9

/* GL_WIN_phong_shading */

#define GL_PHONG_WIN 0x80EA
#define GL_PHONG_HINT_WIN 0x80EB

/* GL_WIN_specular_fog */

#define GL_FOG_SPECULAR_TEXTURE_WIN 0x80EC

/* GL_SGIS_color_range */

#define GL_EXTENDED_RANGE_SGIS 0x85A5
#define GL_MIN_RED_SGIS 0x85A6
#define GL_MAX_RED_SGIS 0x85A7
#define GL_MIN_GREEN_SGIS 0x85A8
#define GL_MAX_GREEN_SGIS 0x85A9
#define GL_MIN_BLUE_SGIS 0x85AA
#define GL_MAX_BLUE_SGIS 0x85AB
#define GL_MIN_ALPHA_SGIS 0x85AC
#define GL_MAX_ALPHA_SGIS 0x85AD

/* GL_EXT_light_texture */

#define GL_FRAGMENT_MATERIAL_EXT 0x8349
#define GL_FRAGMENT_NORMAL_EXT 0x834A
#define GL_FRAGMENT_COLOR_EXT 0x834C
#define GL_ATTENUATION_EXT 0x834D
#define GL_SHADOW_ATTENUATION_EXT 0x834E
#define GL_TEXTURE_APPLICATION_MODE_EXT 0x834F
#define GL_TEXTURE_LIGHT_EXT 0x8350
#define GL_TEXTURE_MATERIAL_FACE_EXT 0x8351
#define GL_TEXTURE_MATERIAL_PARAMETER_EXT 0x8352

/* GL_EXT_fog_coord */

#define GL_FRAGMENT_DEPTH_EXT 0x8452

/* GL_SGIX_blend_alpha_minmax */

#define GL_ALPHA_MIN_SGIX 0x8320
#define GL_ALPHA_MAX_SGIX 0x8321

/* GL_EXT_bgra */

#define GL_BGR_EXT 0x80E0
#define GL_BGRA_EXT 0x80E1

/* GL_SGIX_async */

#define GL_ASYNC_MARKER_SGIX 0x8329

/* GL_SGIX_async_pixel */

#define GL_ASYNC_TEX_IMAGE_SGIX 0x835C
#define GL_ASYNC_DRAW_PIXELS_SGIX 0x835D
#define GL_ASYNC_READ_PIXELS_SGIX 0x835E
#define GL_MAX_ASYNC_TEX_IMAGE_SGIX 0x835F
#define GL_MAX_ASYNC_DRAW_PIXELS_SGIX 0x8360
#define GL_MAX_ASYNC_READ_PIXELS_SGIX 0x8361

/* GL_SGIX_async_histogram */

#define GL_ASYNC_HISTOGRAM_SGIX 0x832C
#define GL_MAX_ASYNC_HISTOGRAM_SGIX 0x832D

/* GL_INTEL_parallel_arrays */

#define GL_PARALLEL_ARRAYS_INTEL 0x83F4
#define GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL 0x83F5
#define GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL 0x83F6
#define GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL 0x83F7
#define GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL 0x83F8

/* GL_HP_occlusion_test */

#define GL_OCCLUSION_TEST_RESULT_HP 0x8166
#define GL_OCCLUSION_TEST_HP 0x8165

/* GL_EXT_pixel_transform */

#define GL_PIXEL_TRANSFORM_2D_EXT 0x8330
#define GL_PIXEL_MAG_FILTER_EXT 0x8331
#define GL_PIXEL_MIN_FILTER_EXT 0x8332
#define GL_PIXEL_CUBIC_WEIGHT_EXT 0x8333
#define GL_CUBIC_EXT 0x8334
#define GL_AVERAGE_EXT 0x8335
#define GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8336
#define GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8337
#define GL_PIXEL_TRANSFORM_2D_MATRIX_EXT 0x8338

/* GL_EXT_shared_texture_palette */

#define GL_SHARED_TEXTURE_PALETTE_EXT 0x81FB

/* GL_EXT_separate_specular_color */

#define GL_LIGHT_MODEL_COLOR_CONTROL_EXT 0x81F8
#define GL_SINGLE_COLOR_EXT 0x81F9
#define GL_SEPARATE_SPECULAR_COLOR_EXT 0x81FA

/* GL_EXT_secondary_color */

#define GL_COLOR_SUM_EXT 0x8458
#define GL_CURRENT_SECONDARY_COLOR_EXT 0x8459
#define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A
#define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT 0x845B
#define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT 0x845C
#define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D
#define GL_SECONDARY_COLOR_ARRAY_EXT 0x845E

/* GL_EXT_texture_env */

#define GL_TEXTURE_ENV0_EXT 0x0000
#define GL_TEXTURE_ENV_SHIFT_EXT 0x0000
#define GL_ENV_BLEND_EXT 0x0000
#define GL_ENV_ADD_EXT 0x0000
#define GL_ENV_REPLACE_EXT 0x0000
#define GL_ENV_SUBTRACT_EXT 0x0000
#define GL_TEXTURE_ENV_MODE_ALPHA_EXT 0x0000
#define GL_ENV_REVERSE_BLEND_EXT 0x0000
#define GL_ENV_REVERSE_SUBTRACT_EXT 0x0000
#define GL_ENV_COPY_EXT 0x0000
#define GL_ENV_MODULATE_EXT 0x0000

/* GL_EXT_texture_perturb_normal */

#define GL_PERTURB_EXT 0x85AE
#define GL_TEXTURE_NORMAL_EXT 0x85AF

/* GL_EXT_fog_coord */

#define GL_FOG_COORDINATE_SOURCE_EXT 0x8450
#define GL_FOG_COORDINATE_EXT 0x8451
#define GL_FRAGMENT_DEPTH_EXT 0x8452
#define GL_CURRENT_FOG_COORDINATE_EXT 0x8453
#define GL_FOG_COORDINATE_ARRAY_TYPE_EXT 0x8454
#define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT 0x8455
#define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456
#define GL_FOG_COORDINATE_ARRAY_EXT 0x8457

/* GL_REND_screen_coordinates */

#define GL_SCREEN_COORDINATES_REND 0x8490
#define GL_INVERTED_SCREEN_W_REND 0x8491

/* GL_EXT_coordinate_frame */

#define GL_TANGENT_ARRAY_EXT 0x8439
#define GL_BINORMAL_ARRAY_EXT 0x843A
#define GL_CURRENT_TANGENT_EXT 0x843B
#define GL_CURRENT_BINORMAL_EXT 0x843C
#define GL_TANGENT_ARRAY_TYPE_EXT 0x843E
#define GL_TANGENT_ARRAY_STRIDE_EXT 0x843F
#define GL_BINORMAL_ARRAY_TYPE_EXT 0x8440
#define GL_BINORMAL_ARRAY_STRIDE_EXT 0x8441
#define GL_TANGENT_ARRAY_POINTER_EXT 0x8442
#define GL_BINORMAL_ARRAY_POINTER_EXT 0x8443
#define GL_MAP1_TANGENT_EXT 0x8444
#define GL_MAP2_TANGENT_EXT 0x8445
#define GL_MAP1_BINORMAL_EXT 0x8446
#define GL_MAP2_BINORMAL_EXT 0x8447

/* GL_EXT_texture_env_combine */

#define GL_COMBINE_EXT 0x8570
#define GL_COMBINE_RGB_EXT 0x8571
#define GL_COMBINE_ALPHA_EXT 0x8572
#define GL_RGB_SCALE_EXT 0x8573
#define GL_ADD_SIGNED_EXT 0x8574
#define GL_INTERPOLATE_EXT 0x8575
#define GL_CONSTANT_EXT 0x8576
#define GL_PRIMARY_COLOR_EXT 0x8577
#define GL_PREVIOUS_EXT 0x8578
#define GL_SOURCE0_RGB_EXT 0x8580
#define GL_SOURCE1_RGB_EXT 0x8581
#define GL_SOURCE2_RGB_EXT 0x8582
#define GL_SOURCE0_ALPHA_EXT 0x8588
#define GL_SOURCE1_ALPHA_EXT 0x8589
#define GL_SOURCE2_ALPHA_EXT 0x858A
#define GL_OPERAND0_RGB_EXT 0x8590
#define GL_OPERAND1_RGB_EXT 0x8591
#define GL_OPERAND2_RGB_EXT 0x8592
#define GL_OPERAND0_ALPHA_EXT 0x8598
#define GL_OPERAND1_ALPHA_EXT 0x8599
#define GL_OPERAND2_ALPHA_EXT 0x859A

/* GL_APPLE_specular_vector */

#define GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE 0x85B0

/* GL_APPLE_transform_hint */

#define GL_TRANSFORM_HINT_APPLE 0x85B1

/* GL_SUNX_constant_data */

#define GL_UNPACK_CONSTANT_DATA_SUNX 0x81D5
#define GL_TEXTURE_CONSTANT_DATA_SUNX 0x81D6

/* GL_SUN_global_alpha */

#define GL_GLOBAL_ALPHA_SUN 0x81D9
#define GL_GLOBAL_ALPHA_FACTOR_SUN 0x81DA

/* GL_SUN_triangle_list */

#define GL_RESTART_SUN 0x0001
#define GL_REPLACE_MIDDLE_SUN 0x0002
#define GL_REPLACE_OLDEST_SUN 0x0003
#define GL_TRIANGLE_LIST_SUN 0x81D7
#define GL_REPLACEMENT_CODE_SUN 0x81D8
#define GL_REPLACEMENT_CODE_ARRAY_SUN 0x85C0
#define GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN 0x85C1
#define GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN 0x85C2
#define GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN 0x85C3
#define GL_R1UI_V3F_SUN 0x85C4
#define GL_R1UI_C4UB_V3F_SUN 0x85C5
#define GL_R1UI_C3F_V3F_SUN 0x85C6
#define GL_R1UI_N3F_V3F_SUN 0x85C7
#define GL_R1UI_C4F_N3F_V3F_SUN 0x85C8
#define GL_R1UI_T2F_V3F_SUN 0x85C9
#define GL_R1UI_T2F_N3F_V3F_SUN 0x85CA
#define GL_R1UI_T2F_C4F_N3F_V3F_SUN 0x85CB

/* GL_EXT_blend_func_separate */

#define GL_BLEND_DST_RGB_EXT 0x80C8
#define GL_BLEND_SRC_RGB_EXT 0x80C9
#define GL_BLEND_DST_ALPHA_EXT 0x80CA
#define GL_BLEND_SRC_ALPHA_EXT 0x80CB

/* GL_INGR_color_clamp */

#define GL_RED_MIN_CLAMP_INGR 0x8560
#define GL_GREEN_MIN_CLAMP_INGR 0x8561
#define GL_BLUE_MIN_CLAMP_INGR 0x8562
#define GL_ALPHA_MIN_CLAMP_INGR 0x8563
#define GL_RED_MAX_CLAMP_INGR 0x8564
#define GL_GREEN_MAX_CLAMP_INGR 0x8565
#define GL_BLUE_MAX_CLAMP_INGR 0x8566
#define GL_ALPHA_MAX_CLAMP_INGR 0x8567

/* GL_INGR_interlace_read */

#define GL_INTERLACE_READ_INGR 0x8568

/* GL_EXT_stencil_wrap */

#define GL_INCR_WRAP_EXT 0x8507
#define GL_DECR_WRAP_EXT 0x8508

/* GL_EXT_422_pixels */

#define GL_422_EXT 0x80CC
#define GL_422_REV_EXT 0x80CD
#define GL_422_AVERAGE_EXT 0x80CE
#define GL_422_REV_AVERAGE_EXT 0x80CF

/* GL_NV_texgen_reflection */

#define GL_NORMAL_MAP_NV 0x8511
#define GL_REFLECTION_MAP_NV 0x8512

/* GL_SGIX_texture_range */

#define GL_RGB_SIGNED_SGIX 0x85E0
#define GL_RGBA_SIGNED_SGIX 0x85E1
#define GL_ALPHA_SIGNED_SGIX 0x85E2
#define GL_LUMINANCE_SIGNED_SGIX 0x85E3
#define GL_INTENSITY_SIGNED_SGIX 0x85E4
#define GL_LUMINANCE_ALPHA_SIGNED_SGIX 0x85E5
#define GL_RGB16_SIGNED_SGIX 0x85E6
#define GL_RGBA16_SIGNED_SGIX 0x85E7
#define GL_ALPHA16_SIGNED_SGIX 0x85E8
#define GL_LUMINANCE16_SIGNED_SGIX 0x85E9
#define GL_INTENSITY16_SIGNED_SGIX 0x85EA
#define GL_LUMINANCE16_ALPHA16_SIGNED_SGIX 0x85EB
#define GL_RGB_EXTENDED_RANGE_SGIX 0x85EC
#define GL_RGBA_EXTENDED_RANGE_SGIX 0x85ED
#define GL_ALPHA_EXTENDED_RANGE_SGIX 0x85EE
#define GL_LUMINANCE_EXTENDED_RANGE_SGIX 0x85EF
#define GL_INTENSITY_EXTENDED_RANGE_SGIX 0x85F0
#define GL_LUMINANCE_ALPHA_EXTENDED_RANGE_SGIX 0x85F1
#define GL_RGB16_EXTENDED_RANGE_SGIX 0x85F2
#define GL_RGBA16_EXTENDED_RANGE_SGIX 0x85F3
#define GL_ALPHA16_EXTENDED_RANGE_SGIX 0x85F4
#define GL_LUMINANCE16_EXTENDED_RANGE_SGIX 0x85F5
#define GL_INTENSITY16_EXTENDED_RANGE_SGIX 0x85F6
#define GL_LUMINANCE16_ALPHA16_EXTENDED_RANGE_SGIX 0x85F7
#define GL_MIN_LUMINANCE_SGIS 0x85F8
#define GL_MAX_LUMINANCE_SGIS 0x85F9
#define GL_MIN_INTENSITY_SGIS 0x85FA
#define GL_MAX_INTENSITY_SGIS 0x85FB

/* GL_SUN_convolution_border_modes */

#define GL_WRAP_BORDER_SUN 0x81D4

/* GL_EXT_texture_lod_bias */

#define GL_MAX_TEXTURE_LOD_BIAS_EXT 0x84FD
#define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500
#define GL_TEXTURE_LOD_BIAS_EXT 0x8501

/* GL_EXT_texture_filter_anisotropic */

#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF

/* GL_EXT_vertex_weighting */

#define GL_MODELVIEW0_STACK_DEPTH_EXT 0x0BA3
#define GL_MODELVIEW0_MATRIX_EXT 0x0BA6
#define GL_MODELVIEW0_EXT 0x1700
#define GL_MODELVIEW1_STACK_DEPTH_EXT 0x8502
#define GL_MODELVIEW1_MATRIX_EXT 0x8506
#define GL_VERTEX_WEIGHTING_EXT 0x8509
#define GL_MODELVIEW1_EXT 0x850A
#define GL_CURRENT_VERTEX_WEIGHT_EXT 0x850B
#define GL_VERTEX_WEIGHT_ARRAY_EXT 0x850C
#define GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT 0x850D
#define GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT 0x850E
#define GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT 0x850F
#define GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT 0x8510

/* GL_NV_light_max_exponent */

#define GL_MAX_SHININESS_NV 0x8504
#define GL_MAX_SPOT_EXPONENT_NV 0x8505

/* GL_NV_vertex_array_range */

#define GL_VERTEX_ARRAY_RANGE_NV 0x851D
#define GL_VERTEX_ARRAY_RANGE_LENGTH_NV 0x851E
#define GL_VERTEX_ARRAY_RANGE_VALID_NV 0x851F
#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV 0x8520
#define GL_VERTEX_ARRAY_RANGE_POINTER_NV 0x8521

/* GL_NV_register_combiners */

#define GL_REGISTER_COMBINERS_NV 0x8522
#define GL_VARIABLE_A_NV 0x8523
#define GL_VARIABLE_B_NV 0x8524
#define GL_VARIABLE_C_NV 0x8525
#define GL_VARIABLE_D_NV 0x8526
#define GL_VARIABLE_E_NV 0x8527
#define GL_VARIABLE_F_NV 0x8528
#define GL_VARIABLE_G_NV 0x8529
#define GL_CONSTANT_COLOR0_NV 0x852A
#define GL_CONSTANT_COLOR1_NV 0x852B
#define GL_PRIMARY_COLOR_NV 0x852C
#define GL_SECONDARY_COLOR_NV 0x852D
#define GL_SPARE0_NV 0x852E
#define GL_SPARE1_NV 0x852F
#define GL_DISCARD_NV 0x8530
#define GL_E_TIMES_F_NV 0x8531
#define GL_SPARE0_PLUS_SECONDARY_COLOR_NV 0x8532
#define GL_UNSIGNED_IDENTITY_NV 0x8536
#define GL_UNSIGNED_INVERT_NV 0x8537
#define GL_EXPAND_NORMAL_NV 0x8538
#define GL_EXPAND_NEGATE_NV 0x8539
#define GL_HALF_BIAS_NORMAL_NV 0x853A
#define GL_HALF_BIAS_NEGATE_NV 0x853B
#define GL_SIGNED_IDENTITY_NV 0x853C
#define GL_SIGNED_NEGATE_NV 0x853D
#define GL_SCALE_BY_TWO_NV 0x853E
#define GL_SCALE_BY_FOUR_NV 0x853F
#define GL_SCALE_BY_ONE_HALF_NV 0x8540
#define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV 0x8541
#define GL_COMBINER_INPUT_NV 0x8542
#define GL_COMBINER_MAPPING_NV 0x8543
#define GL_COMBINER_COMPONENT_USAGE_NV 0x8544
#define GL_COMBINER_AB_DOT_PRODUCT_NV 0x8545
#define GL_COMBINER_CD_DOT_PRODUCT_NV 0x8546
#define GL_COMBINER_MUX_SUM_NV 0x8547
#define GL_COMBINER_SCALE_NV 0x8548
#define GL_COMBINER_BIAS_NV 0x8549
#define GL_COMBINER_AB_OUTPUT_NV 0x854A
#define GL_COMBINER_CD_OUTPUT_NV 0x854B
#define GL_COMBINER_SUM_OUTPUT_NV 0x854C
#define GL_MAX_GENERAL_COMBINERS_NV 0x854D
#define GL_NUM_GENERAL_COMBINERS_NV 0x854E
#define GL_COLOR_SUM_CLAMP_NV 0x854F
#define GL_COMBINER0_NV 0x8550
#define GL_COMBINER1_NV 0x8551
#define GL_COMBINER2_NV 0x8552
#define GL_COMBINER3_NV 0x8553
#define GL_COMBINER4_NV 0x8554
#define GL_COMBINER5_NV 0x8555
#define GL_COMBINER6_NV 0x8556
#define GL_COMBINER7_NV 0x8557

/* GL_NV_fog_distance */

#define GL_FOG_DISTANCE_MODE_NV 0x855A
#define GL_EYE_RADIAL_NV 0x855B
#define GL_EYE_PLANE_ABSOLUTE_NV 0x855C

/* GL_NV_texgen_emboss */

#define GL_EMBOSS_LIGHT_NV 0x855D
#define GL_EMBOSS_CONSTANT_NV 0x855E
#define GL_EMBOSS_MAP_NV 0x855F

/* GL_NV_texture_env_combine4 */

#define GL_COMBINE4_NV 0x8503
#define GL_SOURCE3_RGB_NV 0x8583
#define GL_SOURCE3_ALPHA_NV 0x858B
#define GL_OPERAND3_RGB_NV 0x8593
#define GL_OPERAND3_ALPHA_NV 0x859B

/* GL_EXT_texture_compression_dxt1 */

#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1

/* GL_EXT_texture_compression_s3tc */

#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3

/* GL_IBM_cull_vertex */

#define GL_CULL_VERTEX_IBM 0x1928A

/* GL_IBM_vertex_array_lists */

#define GL_VERTEX_ARRAY_LIST_IBM 0x1929E
#define GL_NORMAL_ARRAY_LIST_IBM 0x1929F
#define GL_COLOR_ARRAY_LIST_IBM 0x192A0
#define GL_INDEX_ARRAY_LIST_IBM 0x192A1
#define GL_TEXTURE_COORD_ARRAY_LIST_IBM 0x192A2
#define GL_EDGE_FLAG_ARRAY_LIST_IBM 0x192A3
#define GL_FOG_COORDINATE_ARRAY_LIST_IBM 0x192A4
#define GL_SECONDARY_COLOR_ARRAY_LIST_IBM 0x192A5
#define GL_VERTEX_ARRAY_LIST_STRIDE_IBM 0x192A8
#define GL_NORMAL_ARRAY_LIST_STRIDE_IBM 0x192A9
#define GL_COLOR_ARRAY_LIST_STRIDE_IBM 0x192AA
#define GL_INDEX_ARRAY_LIST_STRIDE_IBM 0x192AB
#define GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM 0x192AC
#define GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM 0x192AD
#define GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM 0x192AE
#define GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM 0x192AF

/* GL_3DFX_texture_compression_FXT1 */

#define GL_COMPRESSED_RGB_FXT1_3DFX 0x86B0
#define GL_COMPRESSED_RGBA_FXT1_3DFX 0x86B1

/* GL_3DFX_multisample */

#define GL_MULTISAMPLE_3DFX 0x86B2
#define GL_SAMPLE_BUFFERS_3DFX 0x86B3
#define GL_SAMPLES_3DFX 0x86B4
#define GL_MULTISAMPLE_BIT_3DFX 0x20000000

/* GL_EXT_multisample */

#define GL_MULTISAMPLE_EXT 0x809D
#define GL_SAMPLE_ALPHA_TO_MASK_EXT 0x809E
#define GL_SAMPLE_ALPHA_TO_ONE_EXT 0x809F
#define GL_SAMPLE_MASK_EXT 0x80A0
#define GL_1PASS_EXT 0x80A1
#define GL_2PASS_0_EXT 0x80A2
#define GL_2PASS_1_EXT 0x80A3
#define GL_4PASS_0_EXT 0x80A4
#define GL_4PASS_1_EXT 0x80A5
#define GL_4PASS_2_EXT 0x80A6
#define GL_4PASS_3_EXT 0x80A7
#define GL_SAMPLE_BUFFERS_EXT 0x80A8
#define GL_SAMPLES_EXT 0x80A9
#define GL_SAMPLE_MASK_VALUE_EXT 0x80AA
#define GL_SAMPLE_MASK_INVERT_EXT 0x80AB
#define GL_SAMPLE_PATTERN_EXT 0x80AC
#define GL_MULTISAMPLE_BIT_EXT 0x20000000

/* GL_SGIX_vertex_preclip_hint */

#define GL_VERTEX_PRECLIP_SGIX 0x83EE
#define GL_VERTEX_PRECLIP_HINT_SGIX 0x83EF
#define GL_VERTEX_PRECLIP_SGIX 0x83EE
#define GL_VERTEX_PRECLIP_HINT_SGIX 0x83EF

/* GL_SGIX_convolution_accuracy */

#define GL_CONVOLUTION_HINT_SGIX 0x8316

/* GL_SGIX_resample */

#define GL_PACK_RESAMPLE_SGIX 0x842E
#define GL_UNPACK_RESAMPLE_SGIX 0x842F
#define GL_RESAMPLE_DECIMATE_SGIX 0x8430
#define GL_RESAMPLE_REPLICATE_SGIX 0x8433
#define GL_RESAMPLE_ZERO_FILL_SGIX 0x8434

/* GL_SGIS_point_line_texgen */

#define GL_EYE_DISTANCE_TO_POINT_SGIS 0x81F0
#define GL_OBJECT_DISTANCE_TO_POINT_SGIS 0x81F1
#define GL_EYE_DISTANCE_TO_LINE_SGIS 0x81F2
#define GL_OBJECT_DISTANCE_TO_LINE_SGIS 0x81F3
#define GL_EYE_POINT_SGIS 0x81F4
#define GL_OBJECT_POINT_SGIS 0x81F5
#define GL_EYE_LINE_SGIS 0x81F6
#define GL_OBJECT_LINE_SGIS 0x81F7

/* GL_EXT_texture_env_dot3 */

#define GL_DOT3_RGB_EXT 0x8740
#define GL_DOT3_RGBA_EXT 0x8741

/* GL_ATI_texture_mirror_once */

#define GL_MIRROR_CLAMP_ATI 0x8742
#define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743

/* GL_NV_fence */

#define GL_ALL_COMPLETED_NV 0x84F2
#define GL_FENCE_STATUS_NV 0x84F3
#define GL_FENCE_CONDITION_NV 0x84F4

/* GL_IBM_static_data */

#define GL_ALL_STATIC_DATA_IBM 0x19294
#define GL_STATIC_VERTEX_ARRAY_IBM 0x19295

/* GL_IBM_texture_mirrored_repeat */

#define GL_MIRRORED_REPEAT_IBM 0x8370

/* GL_NV_evaluators */

#define GL_EVAL_2D_NV 0x86C0
#define GL_EVAL_TRIANGULAR_2D_NV 0x86C1
#define GL_MAP_TESSELLATION_NV 0x86C2
#define GL_MAP_ATTRIB_U_ORDER_NV 0x86C3
#define GL_MAP_ATTRIB_V_ORDER_NV 0x86C4
#define GL_EVAL_FRACTIONAL_TESSELLATION_NV 0x86C5
#define GL_EVAL_VERTEX_ATTRIB0_NV 0x86C6
#define GL_EVAL_VERTEX_ATTRIB1_NV 0x86C7
#define GL_EVAL_VERTEX_ATTRIB2_NV 0x86C8
#define GL_EVAL_VERTEX_ATTRIB3_NV 0x86C9
#define GL_EVAL_VERTEX_ATTRIB4_NV 0x86CA
#define GL_EVAL_VERTEX_ATTRIB5_NV 0x86CB
#define GL_EVAL_VERTEX_ATTRIB6_NV 0x86CC
#define GL_EVAL_VERTEX_ATTRIB7_NV 0x86CD
#define GL_EVAL_VERTEX_ATTRIB8_NV 0x86CE
#define GL_EVAL_VERTEX_ATTRIB9_NV 0x86CF
#define GL_EVAL_VERTEX_ATTRIB10_NV 0x86D0
#define GL_EVAL_VERTEX_ATTRIB11_NV 0x86D1
#define GL_EVAL_VERTEX_ATTRIB12_NV 0x86D2
#define GL_EVAL_VERTEX_ATTRIB13_NV 0x86D3
#define GL_EVAL_VERTEX_ATTRIB14_NV 0x86D4
#define GL_EVAL_VERTEX_ATTRIB15_NV 0x86D5
#define GL_MAX_MAP_TESSELLATION_NV 0x86D6
#define GL_MAX_RATIONAL_EVAL_ORDER_NV 0x86D7

/* GL_NV_packed_depth_stencil */

#define GL_DEPTH_STENCIL_NV 0x84F9
#define GL_UNSIGNED_INT_24_8_NV 0x84FA

/* GL_NV_register_combiners2 */

#define GL_PER_STAGE_CONSTANTS_NV 0x8535

/* GL_NV_texture_rectangle */

#define GL_TEXTURE_RECTANGLE_NV 0x84F5
#define GL_TEXTURE_BINDING_RECTANGLE_NV 0x84F6
#define GL_PROXY_TEXTURE_RECTANGLE_NV 0x84F7
#define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84F8

/* GL_NV_texture_shader */

#define GL_OFFSET_TEXTURE_RECTANGLE_NV 0x864C
#define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV 0x864D
#define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV 0x864E
#define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV 0x86D9

/* GL_NV_texture_shader2 */

#define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA
#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV 0x86DB
#define GL_DSDT_MAG_INTENSITY_NV 0x86DC

/* GL_NV_texture_shader */

#define GL_SHADER_CONSISTENT_NV 0x86DD
#define GL_TEXTURE_SHADER_NV 0x86DE
#define GL_SHADER_OPERATION_NV 0x86DF
#define GL_CULL_MODES_NV 0x86E0
#define GL_OFFSET_TEXTURE_MATRIX_NV 0x86E1
#define GL_OFFSET_TEXTURE_SCALE_NV 0x86E2
#define GL_OFFSET_TEXTURE_BIAS_NV 0x86E3
#define GL_PREVIOUS_TEXTURE_INPUT_NV 0x86E4
#define GL_CONST_EYE_NV 0x86E5
#define GL_PASS_THROUGH_NV 0x86E6
#define GL_CULL_FRAGMENT_NV 0x86E7
#define GL_OFFSET_TEXTURE_2D_NV 0x86E8
#define GL_DEPENDENT_AR_TEXTURE_2D_NV 0x86E9
#define GL_DEPENDENT_GB_TEXTURE_2D_NV 0x86EA
#define GL_DOT_PRODUCT_NV 0x86EC
#define GL_DOT_PRODUCT_DEPTH_REPLACE_NV 0x86ED
#define GL_DOT_PRODUCT_TEXTURE_2D_NV 0x86EE
#define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV 0x86F0
#define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV 0x86F1
#define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV 0x86F2
#define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV 0x86F3

/* GL_NV_texture_shader2 */

#define GL_HILO_NV 0x86F4
#define GL_DSDT_NV 0x86F5
#define GL_DSDT_MAG_NV 0x86F6
#define GL_DSDT_MAG_VIB_NV 0x86F7
#define GL_HILO16_NV 0x86F8
#define GL_SIGNED_HILO_NV 0x86F9
#define GL_SIGNED_HILO16_NV 0x86FA
#define GL_SIGNED_RGBA_NV 0x86FB
#define GL_SIGNED_RGBA8_NV 0x86FC
#define GL_SIGNED_RGB_NV 0x86FE
#define GL_SIGNED_RGB8_NV 0x86FF
#define GL_SIGNED_LUMINANCE_NV 0x8701
#define GL_SIGNED_LUMINANCE8_NV 0x8702
#define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703
#define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704
#define GL_SIGNED_ALPHA_NV 0x8705
#define GL_SIGNED_ALPHA8_NV 0x8706
#define GL_SIGNED_INTENSITY_NV 0x8707
#define GL_SIGNED_INTENSITY8_NV 0x8708
#define GL_DSDT8_NV 0x8709
#define GL_DSDT8_MAG8_NV 0x870A
#define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B
#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C
#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D

/* GL_NV_texture_shader */

#define GL_HI_SCALE_NV 0x870E
#define GL_LO_SCALE_NV 0x870F
#define GL_DS_SCALE_NV 0x8710
#define GL_DT_SCALE_NV 0x8711
#define GL_MAGNITUDE_SCALE_NV 0x8712
#define GL_VIBRANCE_SCALE_NV 0x8713
#define GL_HI_BIAS_NV 0x8714
#define GL_LO_BIAS_NV 0x8715
#define GL_DS_BIAS_NV 0x8716
#define GL_DT_BIAS_NV 0x8717
#define GL_MAGNITUDE_BIAS_NV 0x8718
#define GL_VIBRANCE_BIAS_NV 0x8719
#define GL_TEXTURE_BORDER_VALUES_NV 0x871A
#define GL_TEXTURE_HI_SIZE_NV 0x871B
#define GL_TEXTURE_LO_SIZE_NV 0x871C
#define GL_TEXTURE_DS_SIZE_NV 0x871D
#define GL_TEXTURE_DT_SIZE_NV 0x871E
#define GL_TEXTURE_MAG_SIZE_NV 0x871F
#define GL_OFFSET_TEXTURE_2D_MATRIX_NV 0x86E1
#define GL_OFFSET_TEXTURE_2D_BIAS_NV 0x86E3
#define GL_OFFSET_TEXTURE_2D_SCALE_NV 0x86E2

/* GL_NV_texture_shader2 */

#define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA
#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV 0x86DB
#define GL_DSDT_MAG_INTENSITY_NV 0x86DC
#define GL_DOT_PRODUCT_TEXTURE_3D_NV 0x86EF
#define GL_HILO_NV 0x86F4
#define GL_DSDT_NV 0x86F5
#define GL_DSDT_MAG_NV 0x86F6
#define GL_DSDT_MAG_VIB_NV 0x86F7
#define GL_HILO16_NV 0x86F8
#define GL_SIGNED_HILO_NV 0x86F9
#define GL_SIGNED_HILO16_NV 0x86FA
#define GL_SIGNED_RGBA_NV 0x86FB
#define GL_SIGNED_RGBA8_NV 0x86FC
#define GL_SIGNED_RGB_NV 0x86FE
#define GL_SIGNED_RGB8_NV 0x86FF
#define GL_SIGNED_LUMINANCE_NV 0x8701
#define GL_SIGNED_LUMINANCE8_NV 0x8702
#define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703
#define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704
#define GL_SIGNED_ALPHA_NV 0x8705
#define GL_SIGNED_ALPHA8_NV 0x8706
#define GL_SIGNED_INTENSITY_NV 0x8707
#define GL_SIGNED_INTENSITY8_NV 0x8708
#define GL_DSDT8_NV 0x8709
#define GL_DSDT8_MAG8_NV 0x870A
#define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B
#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C
#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D

/* GL_NV_vertex_array_range2 */

#define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV 0x8533

/* GL_NV_vertex_program */

#define GL_VERTEX_PROGRAM_NV 0x8620
#define GL_VERTEX_STATE_PROGRAM_NV 0x8621
#define GL_ATTRIB_ARRAY_SIZE_NV 0x8623
#define GL_ATTRIB_ARRAY_STRIDE_NV 0x8624
#define GL_ATTRIB_ARRAY_TYPE_NV 0x8625
#define GL_CURRENT_ATTRIB_NV 0x8626
#define GL_PROGRAM_LENGTH_NV 0x8627
#define GL_PROGRAM_STRING_NV 0x8628
#define GL_MODELVIEW_PROJECTION_NV 0x8629
#define GL_IDENTITY_NV 0x862A
#define GL_INVERSE_NV 0x862B
#define GL_TRANSPOSE_NV 0x862C
#define GL_INVERSE_TRANSPOSE_NV 0x862D
#define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E
#define GL_MAX_TRACK_MATRICES_NV 0x862F
#define GL_MATRIX0_NV 0x8630
#define GL_MATRIX1_NV 0x8631
#define GL_MATRIX2_NV 0x8632
#define GL_MATRIX3_NV 0x8633
#define GL_MATRIX4_NV 0x8634
#define GL_MATRIX5_NV 0x8635
#define GL_MATRIX6_NV 0x8636
#define GL_MATRIX7_NV 0x8637
#define GL_CURRENT_MATRIX_STACK_DEPTH_NV 0x8640
#define GL_CURRENT_MATRIX_NV 0x8641
#define GL_VERTEX_PROGRAM_POINT_SIZE_NV 0x8642
#define GL_VERTEX_PROGRAM_TWO_SIDE_NV 0x8643
#define GL_PROGRAM_PARAMETER_NV 0x8644
#define GL_ATTRIB_ARRAY_POINTER_NV 0x8645
#define GL_PROGRAM_TARGET_NV 0x8646
#define GL_PROGRAM_RESIDENT_NV 0x8647
#define GL_TRACK_MATRIX_NV 0x8648
#define GL_TRACK_MATRIX_TRANSFORM_NV 0x8649
#define GL_VERTEX_PROGRAM_BINDING_NV 0x864A
#define GL_PROGRAM_ERROR_POSITION_NV 0x864B
#define GL_VERTEX_ATTRIB_ARRAY0_NV 0x8650
#define GL_VERTEX_ATTRIB_ARRAY1_NV 0x8651
#define GL_VERTEX_ATTRIB_ARRAY2_NV 0x8652
#define GL_VERTEX_ATTRIB_ARRAY3_NV 0x8653
#define GL_VERTEX_ATTRIB_ARRAY4_NV 0x8654
#define GL_VERTEX_ATTRIB_ARRAY5_NV 0x8655
#define GL_VERTEX_ATTRIB_ARRAY6_NV 0x8656
#define GL_VERTEX_ATTRIB_ARRAY7_NV 0x8657
#define GL_VERTEX_ATTRIB_ARRAY8_NV 0x8658
#define GL_VERTEX_ATTRIB_ARRAY9_NV 0x8659
#define GL_VERTEX_ATTRIB_ARRAY10_NV 0x865A
#define GL_VERTEX_ATTRIB_ARRAY11_NV 0x865B
#define GL_VERTEX_ATTRIB_ARRAY12_NV 0x865C
#define GL_VERTEX_ATTRIB_ARRAY13_NV 0x865D
#define GL_VERTEX_ATTRIB_ARRAY14_NV 0x865E
#define GL_VERTEX_ATTRIB_ARRAY15_NV 0x865F
#define GL_MAP1_VERTEX_ATTRIB0_4_NV 0x8660
#define GL_MAP1_VERTEX_ATTRIB1_4_NV 0x8661
#define GL_MAP1_VERTEX_ATTRIB2_4_NV 0x8662
#define GL_MAP1_VERTEX_ATTRIB3_4_NV 0x8663
#define GL_MAP1_VERTEX_ATTRIB4_4_NV 0x8664
#define GL_MAP1_VERTEX_ATTRIB5_4_NV 0x8665
#define GL_MAP1_VERTEX_ATTRIB6_4_NV 0x8666
#define GL_MAP1_VERTEX_ATTRIB7_4_NV 0x8667
#define GL_MAP1_VERTEX_ATTRIB8_4_NV 0x8668
#define GL_MAP1_VERTEX_ATTRIB9_4_NV 0x8669
#define GL_MAP1_VERTEX_ATTRIB10_4_NV 0x866A
#define GL_MAP1_VERTEX_ATTRIB11_4_NV 0x866B
#define GL_MAP1_VERTEX_ATTRIB12_4_NV 0x866C
#define GL_MAP1_VERTEX_ATTRIB13_4_NV 0x866D
#define GL_MAP1_VERTEX_ATTRIB14_4_NV 0x866E
#define GL_MAP1_VERTEX_ATTRIB15_4_NV 0x866F
#define GL_MAP2_VERTEX_ATTRIB0_4_NV 0x8670
#define GL_MAP2_VERTEX_ATTRIB1_4_NV 0x8671
#define GL_MAP2_VERTEX_ATTRIB2_4_NV 0x8672
#define GL_MAP2_VERTEX_ATTRIB3_4_NV 0x8673
#define GL_MAP2_VERTEX_ATTRIB4_4_NV 0x8674
#define GL_MAP2_VERTEX_ATTRIB5_4_NV 0x8675
#define GL_MAP2_VERTEX_ATTRIB6_4_NV 0x8676
#define GL_MAP2_VERTEX_ATTRIB7_4_NV 0x8677
#define GL_MAP2_VERTEX_ATTRIB8_4_NV 0x8678
#define GL_MAP2_VERTEX_ATTRIB9_4_NV 0x8679
#define GL_MAP2_VERTEX_ATTRIB10_4_NV 0x867A
#define GL_MAP2_VERTEX_ATTRIB11_4_NV 0x867B
#define GL_MAP2_VERTEX_ATTRIB12_4_NV 0x867C
#define GL_MAP2_VERTEX_ATTRIB13_4_NV 0x867D
#define GL_MAP2_VERTEX_ATTRIB14_4_NV 0x867E
#define GL_MAP2_VERTEX_ATTRIB15_4_NV 0x867F

/* GL_SGIX_texture_coordinate_clamp */

#define GL_TEXTURE_MAX_CLAMP_S_SGIX 0x8369
#define GL_TEXTURE_MAX_CLAMP_T_SGIX 0x836A
#define GL_TEXTURE_MAX_CLAMP_R_SGIX 0x836B

/* GL_OML_interlace */

#define GL_INTERLACE_OML 0x8980
#define GL_INTERLACE_READ_OML 0x8981

/* GL_OML_subsample */

#define GL_FORMAT_SUBSAMPLE_24_24_OML 0x8982
#define GL_FORMAT_SUBSAMPLE_244_244_OML 0x8983

/* GL_OML_resample */

#define GL_PACK_RESAMPLE_OML 0x8984
#define GL_UNPACK_RESAMPLE_OML 0x8985
#define GL_RESAMPLE_REPLICATE_OML 0x8986
#define GL_RESAMPLE_ZERO_FILL_OML 0x8987
#define GL_RESAMPLE_AVERAGE_OML 0x8988
#define GL_RESAMPLE_DECIMATE_OML 0x8989

/* GL_NV_copy_depth_to_color */

#define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886E
#define GL_DEPTH_STENCIL_TO_BGRA_NV 0x886F

/* GL_ATI_envmap_bumpmap */

#define GL_BUMP_ROT_MATRIX_ATI 0x8775
#define GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776
#define GL_BUMP_NUM_TEX_UNITS_ATI 0x8777
#define GL_BUMP_TEX_UNITS_ATI 0x8778
#define GL_DUDV_ATI 0x8779
#define GL_DU8DV8_ATI 0x877A
#define GL_BUMP_ENVMAP_ATI 0x877B
#define GL_BUMP_TARGET_ATI 0x877C

/* GL_ATI_fragment_shader */

#define GL_RED_BIT_ATI 0x0001
#define GL_2X_BIT_ATI 0x0001
#define GL_4X_BIT_ATI 0x0002
#define GL_GREEN_BIT_ATI 0x0002
#define GL_COMP_BIT_ATI 0x0002
#define GL_BLUE_BIT_ATI 0x0004
#define GL_8X_BIT_ATI 0x0004
#define GL_NEGATE_BIT_ATI 0x0004
#define GL_BIAS_BIT_ATI 0x0008
#define GL_HALF_BIT_ATI 0x0008
#define GL_QUARTER_BIT_ATI 0x0010
#define GL_EIGHTH_BIT_ATI 0x0020
#define GL_SATURATE_BIT_ATI 0x0040
#define GL_FRAGMENT_SHADER_ATI 0x8920
#define GL_REG_0_ATI 0x8921
#define GL_REG_1_ATI 0x8922
#define GL_REG_2_ATI 0x8923
#define GL_REG_3_ATI 0x8924
#define GL_REG_4_ATI 0x8925
#define GL_REG_5_ATI 0x8926
#define GL_CON_0_ATI 0x8941
#define GL_CON_1_ATI 0x8942
#define GL_CON_2_ATI 0x8943
#define GL_CON_3_ATI 0x8944
#define GL_CON_4_ATI 0x8945
#define GL_CON_5_ATI 0x8946
#define GL_CON_6_ATI 0x8947
#define GL_CON_7_ATI 0x8948
#define GL_MOV_ATI 0x8961
#define GL_ADD_ATI 0x8963
#define GL_MUL_ATI 0x8964
#define GL_SUB_ATI 0x8965
#define GL_DOT3_ATI 0x8966
#define GL_DOT4_ATI 0x8967
#define GL_MAD_ATI 0x8968
#define GL_LERP_ATI 0x8969
#define GL_CND_ATI 0x896A
#define GL_CND0_ATI 0x896B
#define GL_DOT2_ADD_ATI 0x896C
#define GL_SECONDARY_INTERPOLATOR_ATI 0x896D
#define GL_SWIZZLE_STR_ATI 0x8976
#define GL_SWIZZLE_STQ_ATI 0x8977
#define GL_SWIZZLE_STR_DR_ATI 0x8978
#define GL_SWIZZLE_STQ_DQ_ATI 0x8979
#define GL_NUM_FRAGMENT_REGISTERS_ATI 0x896E
#define GL_NUM_FRAGMENT_CONSTANTS_ATI 0x896F
#define GL_NUM_PASSES_ATI 0x8970
#define GL_NUM_INSTRUCTIONS_PER_PASS_ATI 0x8971
#define GL_NUM_INSTRUCTIONS_TOTAL_ATI 0x8972
#define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973
#define GL_NUM_LOOPBACK_COMPONENTS_ATI 0x8974
#define GL_COLOR_ALPHA_PAIRING_ATI 0x8975
#define GL_SWIZZLE_STRQ_ATI 0x897A
#define GL_SWIZZLE_STRQ_DQ_ATI 0x897B

/* GL_ATI_pn_triangles */

#define GL_PN_TRIANGLES_ATI 0x87F0
#define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1
#define GL_PN_TRIANGLES_POINT_MODE_ATI 0x87F2
#define GL_PN_TRIANGLES_NORMAL_MODE_ATI 0x87F3
#define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F4
#define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI 0x87F5
#define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI 0x87F6
#define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI 0x87F7
#define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI 0x87F8

/* GL_ATI_vertex_array_object */

#define GL_STATIC_ATI 0x8760
#define GL_DYNAMIC_ATI 0x8761
#define GL_PRESERVE_ATI 0x8762
#define GL_DISCARD_ATI 0x8763
#define GL_OBJECT_BUFFER_SIZE_ATI 0x8764
#define GL_OBJECT_BUFFER_USAGE_ATI 0x8765
#define GL_ARRAY_OBJECT_BUFFER_ATI 0x8766
#define GL_ARRAY_OBJECT_OFFSET_ATI 0x8767

/* GL_EXT_vertex_shader */

#define GL_VERTEX_SHADER_EXT 0x8780
#define GL_VERTEX_SHADER_BINDING_EXT 0x8781
#define GL_OP_INDEX_EXT 0x8782
#define GL_OP_NEGATE_EXT 0x8783
#define GL_OP_DOT3_EXT 0x8784
#define GL_OP_DOT4_EXT 0x8785
#define GL_OP_MUL_EXT 0x8786
#define GL_OP_ADD_EXT 0x8787
#define GL_OP_MADD_EXT 0x8788
#define GL_OP_FRAC_EXT 0x8789
#define GL_OP_MAX_EXT 0x878A
#define GL_OP_MIN_EXT 0x878B
#define GL_OP_SET_GE_EXT 0x878C
#define GL_OP_SET_LT_EXT 0x878D
#define GL_OP_CLAMP_EXT 0x878E
#define GL_OP_FLOOR_EXT 0x878F
#define GL_OP_ROUND_EXT 0x8790
#define GL_OP_EXP_BASE_2_EXT 0x8791
#define GL_OP_LOG_BASE_2_EXT 0x8792
#define GL_OP_POWER_EXT 0x8793
#define GL_OP_RECIP_EXT 0x8794
#define GL_OP_RECIP_SQRT_EXT 0x8795
#define GL_OP_SUB_EXT 0x8796
#define GL_OP_CROSS_PRODUCT_EXT 0x8797
#define GL_OP_MULTIPLY_MATRIX_EXT 0x8798
#define GL_OP_MOV_EXT 0x8799
#define GL_OUTPUT_VERTEX_EXT 0x879A
#define GL_OUTPUT_COLOR0_EXT 0x879B
#define GL_OUTPUT_COLOR1_EXT 0x879C
#define GL_OUTPUT_TEXTURE_COORD0_EXT 0x879D
#define GL_OUTPUT_TEXTURE_COORD1_EXT 0x879E
#define GL_OUTPUT_TEXTURE_COORD2_EXT 0x879F
#define GL_OUTPUT_TEXTURE_COORD3_EXT 0x87A0
#define GL_OUTPUT_TEXTURE_COORD4_EXT 0x87A1
#define GL_OUTPUT_TEXTURE_COORD5_EXT 0x87A2
#define GL_OUTPUT_TEXTURE_COORD6_EXT 0x87A3
#define GL_OUTPUT_TEXTURE_COORD7_EXT 0x87A4
#define GL_OUTPUT_TEXTURE_COORD8_EXT 0x87A5
#define GL_OUTPUT_TEXTURE_COORD9_EXT 0x87A6
#define GL_OUTPUT_TEXTURE_COORD10_EXT 0x87A7
#define GL_OUTPUT_TEXTURE_COORD11_EXT 0x87A8
#define GL_OUTPUT_TEXTURE_COORD12_EXT 0x87A9
#define GL_OUTPUT_TEXTURE_COORD13_EXT 0x87AA
#define GL_OUTPUT_TEXTURE_COORD14_EXT 0x87AB
#define GL_OUTPUT_TEXTURE_COORD15_EXT 0x87AC
#define GL_OUTPUT_TEXTURE_COORD16_EXT 0x87AD
#define GL_OUTPUT_TEXTURE_COORD17_EXT 0x87AE
#define GL_OUTPUT_TEXTURE_COORD18_EXT 0x87AF
#define GL_OUTPUT_TEXTURE_COORD19_EXT 0x87B0
#define GL_OUTPUT_TEXTURE_COORD20_EXT 0x87B1
#define GL_OUTPUT_TEXTURE_COORD21_EXT 0x87B2
#define GL_OUTPUT_TEXTURE_COORD22_EXT 0x87B3
#define GL_OUTPUT_TEXTURE_COORD23_EXT 0x87B4
#define GL_OUTPUT_TEXTURE_COORD24_EXT 0x87B5
#define GL_OUTPUT_TEXTURE_COORD25_EXT 0x87B6
#define GL_OUTPUT_TEXTURE_COORD26_EXT 0x87B7
#define GL_OUTPUT_TEXTURE_COORD27_EXT 0x87B8
#define GL_OUTPUT_TEXTURE_COORD28_EXT 0x87B9
#define GL_OUTPUT_TEXTURE_COORD29_EXT 0x87BA
#define GL_OUTPUT_TEXTURE_COORD30_EXT 0x87BB
#define GL_OUTPUT_TEXTURE_COORD31_EXT 0x87BC
#define GL_OUTPUT_FOG_EXT 0x87BD
#define GL_SCALAR_EXT 0x87BE
#define GL_VECTOR_EXT 0x87BF
#define GL_MATRIX_EXT 0x87C0
#define GL_VARIANT_EXT 0x87C1
#define GL_INVARIANT_EXT 0x87C2
#define GL_LOCAL_CONSTANT_EXT 0x87C3
#define GL_LOCAL_EXT 0x87C4
#define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87C5
#define GL_MAX_VERTEX_SHADER_VARIANTS_EXT 0x87C6
#define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT 0x87C7
#define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87C8
#define GL_MAX_VERTEX_SHADER_LOCALS_EXT 0x87C9
#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CA
#define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT 0x87CB
#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT 0x87CC
#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87CD
#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT 0x87CE
#define GL_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CF
#define GL_VERTEX_SHADER_VARIANTS_EXT 0x87D0
#define GL_VERTEX_SHADER_INVARIANTS_EXT 0x87D1
#define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87D2
#define GL_VERTEX_SHADER_LOCALS_EXT 0x87D3
#define GL_VERTEX_SHADER_OPTIMIZED_EXT 0x87D4
#define GL_X_EXT 0x87D5
#define GL_Y_EXT 0x87D6
#define GL_Z_EXT 0x87D7
#define GL_W_EXT 0x87D8
#define GL_NEGATIVE_X_EXT 0x87D9
#define GL_NEGATIVE_Y_EXT 0x87DA
#define GL_NEGATIVE_Z_EXT 0x87DB
#define GL_NEGATIVE_W_EXT 0x87DC
#define GL_ZERO_EXT 0x87DD
#define GL_ONE_EXT 0x87DE
#define GL_NEGATIVE_ONE_EXT 0x87DF
#define GL_NORMALIZED_RANGE_EXT 0x87E0
#define GL_FULL_RANGE_EXT 0x87E1
#define GL_CURRENT_VERTEX_EXT 0x87E2
#define GL_MVP_MATRIX_EXT 0x87E3
#define GL_VARIANT_VALUE_EXT 0x87E4
#define GL_VARIANT_DATATYPE_EXT 0x87E5
#define GL_VARIANT_ARRAY_STRIDE_EXT 0x87E6
#define GL_VARIANT_ARRAY_TYPE_EXT 0x87E7
#define GL_VARIANT_ARRAY_EXT 0x87E8
#define GL_VARIANT_ARRAY_POINTER_EXT 0x87E9
#define GL_INVARIANT_VALUE_EXT 0x87EA
#define GL_INVARIANT_DATATYPE_EXT 0x87EB
#define GL_LOCAL_CONSTANT_VALUE_EXT 0x87EC
#define GL_LOCAL_CONSTANT_DATATYPE_EXT 0x87ED

/* GL_ATI_vertex_streams */

#define GL_MAX_VERTEX_STREAMS_ATI 0x876B
#define GL_VERTEX_SOURCE_ATI 0x876C
#define GL_VERTEX_STREAM0_ATI 0x876D
#define GL_VERTEX_STREAM1_ATI 0x876E
#define GL_VERTEX_STREAM2_ATI 0x876F
#define GL_VERTEX_STREAM3_ATI 0x8770
#define GL_VERTEX_STREAM4_ATI 0x8771
#define GL_VERTEX_STREAM5_ATI 0x8772
#define GL_VERTEX_STREAM6_ATI 0x8773
#define GL_VERTEX_STREAM7_ATI 0x8774

/* GL_ATI_element_array */

#define GL_ELEMENT_ARRAY_ATI 0x8768
#define GL_ELEMENT_ARRAY_TYPE_ATI 0x8769
#define GL_ELEMENT_ARRAY_POINTER_ATI 0x876A

/* GL_SUN_mesh_array */

#define GL_QUAD_MESH_SUN 0x8614
#define GL_TRIANGLE_MESH_SUN 0x8615

/* GL_SUN_slice_accum */

#define GL_SLICE_ACCUM_SUN 0x85CC

/* GL_NV_multisample_filter_hint */

#define GL_MULTISAMPLE_FILTER_HINT_NV 0x8534

/* GL_NV_depth_clamp */

#define GL_DEPTH_CLAMP_NV 0x864F

/* GL_NV_occlusion_query */

#define GL_PIXEL_COUNTER_BITS_NV 0x8864
#define GL_CURRENT_OCCLUSION_QUERY_ID_NV 0x8865
#define GL_PIXEL_COUNT_NV 0x8866
#define GL_PIXEL_COUNT_AVAILABLE_NV 0x8867

/* GL_NV_point_sprite */

#define GL_POINT_SPRITE_NV 0x8861
#define GL_COORD_REPLACE_NV 0x8862
#define GL_POINT_SPRITE_R_MODE_NV 0x8863

/* GL_NV_texture_shader3 */

#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV 0x8850
#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV 0x8851
#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8852
#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV 0x8853
#define GL_OFFSET_HILO_TEXTURE_2D_NV 0x8854
#define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV 0x8855
#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV 0x8856
#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8857
#define GL_DEPENDENT_HILO_TEXTURE_2D_NV 0x8858
#define GL_DEPENDENT_RGB_TEXTURE_3D_NV 0x8859
#define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV 0x885A
#define GL_DOT_PRODUCT_PASS_THROUGH_NV 0x885B
#define GL_DOT_PRODUCT_TEXTURE_1D_NV 0x885C
#define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV 0x885D
#define GL_HILO8_NV 0x885E
#define GL_SIGNED_HILO8_NV 0x885F
#define GL_FORCE_BLUE_TO_ONE_NV 0x8860

/* GL_EXT_stencil_two_side */

#define GL_STENCIL_TEST_TWO_SIDE_EXT 0x8910
#define GL_ACTIVE_STENCIL_FACE_EXT 0x8911

/* GL_ATI_text_fragment_shader */

#define GL_TEXT_FRAGMENT_SHADER_ATI 0x8200

/* GL_APPLE_client_storage */

#define GL_UNPACK_CLIENT_STORAGE_APPLE 0x85B2

/* GL_APPLE_element_array */

#define GL_ELEMENT_ARRAY_APPLE 0x8A0C
#define GL_ELEMENT_ARRAY_TYPE_APPLE 0x8A0D
#define GL_ELEMENT_ARRAY_POINTER_APPLE 0x8A0E

/* GL_APPLE_fence */

#define GL_DRAW_PIXELS_APPLE 0x8A0A
#define GL_FENCE_APPLE 0x8A0B

/* GL_APPLE_vertex_array_object */

#define GL_VERTEX_ARRAY_BINDING_APPLE 0x85B5

/* GL_APPLE_vertex_array_range */

#define GL_VERTEX_ARRAY_RANGE_APPLE 0x851D
#define GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE 0x851E
#define GL_VERTEX_ARRAY_STORAGE_HINT_APPLE 0x851F
#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_APPLE 0x8520
#define GL_VERTEX_ARRAY_RANGE_POINTER_APPLE 0x8521
#define GL_STORAGE_CLIENT_APPLE 0x85B4

/* GL_APPLE_texture_range */

#define GL_STORAGE_CACHED_APPLE 0x85BE
#define GL_STORAGE_SHARED_APPLE 0x85BF

/* GL_APPLE_ycbcr_422 */

#define GL_YCBCR_422_APPLE 0x85B9

/* GL_APPLE_rgb_422 */

#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB

/* GL_S3_s3tc */

#define GL_RGB_S3TC 0x83A0
#define GL_RGB4_S3TC 0x83A1
#define GL_RGBA_S3TC 0x83A2
#define GL_RGBA4_S3TC 0x83A3
#define GL_RGBA_DXT5_S3TC 0x83A4
#define GL_RGBA4_DXT5_S3TC 0x83A5

/* GL_ATI_draw_buffers */

#define GL_MAX_DRAW_BUFFERS_ATI 0x8824
#define GL_DRAW_BUFFER0_ATI 0x8825
#define GL_DRAW_BUFFER1_ATI 0x8826
#define GL_DRAW_BUFFER2_ATI 0x8827
#define GL_DRAW_BUFFER3_ATI 0x8828
#define GL_DRAW_BUFFER4_ATI 0x8829
#define GL_DRAW_BUFFER5_ATI 0x882A
#define GL_DRAW_BUFFER6_ATI 0x882B
#define GL_DRAW_BUFFER7_ATI 0x882C
#define GL_DRAW_BUFFER8_ATI 0x882D
#define GL_DRAW_BUFFER9_ATI 0x882E
#define GL_DRAW_BUFFER10_ATI 0x882F
#define GL_DRAW_BUFFER11_ATI 0x8830
#define GL_DRAW_BUFFER12_ATI 0x8831
#define GL_DRAW_BUFFER13_ATI 0x8832
#define GL_DRAW_BUFFER14_ATI 0x8833
#define GL_DRAW_BUFFER15_ATI 0x8834

/* GL_ATI_texture_env_combine3 */

#define GL_MODULATE_ADD_ATI 0x8744
#define GL_MODULATE_SIGNED_ADD_ATI 0x8745
#define GL_MODULATE_SUBTRACT_ATI 0x8746

/* GL_ATI_texture_float */

#define GL_RGBA_FLOAT32_ATI 0x8814
#define GL_RGB_FLOAT32_ATI 0x8815
#define GL_ALPHA_FLOAT32_ATI 0x8816
#define GL_INTENSITY_FLOAT32_ATI 0x8817
#define GL_LUMINANCE_FLOAT32_ATI 0x8818
#define GL_LUMINANCE_ALPHA_FLOAT32_ATI 0x8819
#define GL_RGBA_FLOAT16_ATI 0x881A
#define GL_RGB_FLOAT16_ATI 0x881B
#define GL_ALPHA_FLOAT16_ATI 0x881C
#define GL_INTENSITY_FLOAT16_ATI 0x881D
#define GL_LUMINANCE_FLOAT16_ATI 0x881E
#define GL_LUMINANCE_ALPHA_FLOAT16_ATI 0x881F

/* GL_NV_float_buffer */

#define GL_FLOAT_R_NV 0x8880
#define GL_FLOAT_RG_NV 0x8881
#define GL_FLOAT_RGB_NV 0x8882
#define GL_FLOAT_RGBA_NV 0x8883
#define GL_FLOAT_R16_NV 0x8884
#define GL_FLOAT_R32_NV 0x8885
#define GL_FLOAT_RG16_NV 0x8886
#define GL_FLOAT_RG32_NV 0x8887
#define GL_FLOAT_RGB16_NV 0x8888
#define GL_FLOAT_RGB32_NV 0x8889
#define GL_FLOAT_RGBA16_NV 0x888A
#define GL_FLOAT_RGBA32_NV 0x888B
#define GL_TEXTURE_FLOAT_COMPONENTS_NV 0x888C
#define GL_FLOAT_CLEAR_COLOR_VALUE_NV 0x888D
#define GL_FLOAT_RGBA_MODE_NV 0x888E

/* GL_NV_fragment_program */

#define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV 0x8868
#define GL_FRAGMENT_PROGRAM_NV 0x8870
#define GL_MAX_TEXTURE_COORDS_NV 0x8871
#define GL_MAX_TEXTURE_IMAGE_UNITS_NV 0x8872
#define GL_FRAGMENT_PROGRAM_BINDING_NV 0x8873
#define GL_PROGRAM_ERROR_STRING_NV 0x8874

/* GL_NV_half_float */

#define GL_HALF_FLOAT_NV 0x140B

/* GL_NV_pixel_data_range */

#define GL_WRITE_PIXEL_DATA_RANGE_NV 0x8878
#define GL_READ_PIXEL_DATA_RANGE_NV 0x8879
#define GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV 0x887A
#define GL_READ_PIXEL_DATA_RANGE_LENGTH_NV 0x887B
#define GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV 0x887C
#define GL_READ_PIXEL_DATA_RANGE_POINTER_NV 0x887D

/* GL_NV_primitive_restart */

#define GL_PRIMITIVE_RESTART_NV 0x8558
#define GL_PRIMITIVE_RESTART_INDEX_NV 0x8559

/* GL_NV_texture_expand_normal */

#define GL_TEXTURE_UNSIGNED_REMAP_MODE_NV 0x888F

/* GL_ATI_separate_stencil */

#define GL_STENCIL_BACK_FUNC_ATI 0x8800
#define GL_STENCIL_BACK_FAIL_ATI 0x8801
#define GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802
#define GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI 0x8803

/* GL_OES_byte_coordinates */

#define GL_BYTE 0x1400

/* GL_OES_compressed_paletted_texture */

#define GL_PALETTE4_RGB8_OES 0x8B90
#define GL_PALETTE4_RGBA8_OES 0x8B91
#define GL_PALETTE4_R5_G6_B5_OES 0x8B92
#define GL_PALETTE4_RGBA4_OES 0x8B93
#define GL_PALETTE4_RGB5_A1_OES 0x8B94
#define GL_PALETTE8_RGB8_OES 0x8B95
#define GL_PALETTE8_RGBA8_OES 0x8B96
#define GL_PALETTE8_R5_G6_B5_OES 0x8B97
#define GL_PALETTE8_RGBA4_OES 0x8B98
#define GL_PALETTE8_RGB5_A1_OES 0x8B99

/* GL_OES_read_format */

#define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A
#define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B

/* GL_EXT_depth_bounds_test */

#define GL_DEPTH_BOUNDS_TEST_EXT 0x8890
#define GL_DEPTH_BOUNDS_EXT 0x8891

/* GL_EXT_texture_mirror_clamp */

#define GL_MIRROR_CLAMP_EXT 0x8742
#define GL_MIRROR_CLAMP_TO_EDGE_EXT 0x8743
#define GL_MIRROR_CLAMP_TO_BORDER_EXT 0x8912

/* GL_EXT_blend_equation_separate */

#define GL_BLEND_EQUATION_RGB_EXT 0x8009
#define GL_BLEND_EQUATION_ALPHA_EXT 0x883D

/* GL_MESA_pack_invert */

#define GL_PACK_INVERT_MESA 0x8758

/* GL_MESA_ycbcr_texture */

#define GL_UNSIGNED_SHORT_8_8_MESA 0x85BA
#define GL_UNSIGNED_SHORT_8_8_REV_MESA 0x85BB
#define GL_YCBCR_MESA 0x8757

/* GL_EXT_pixel_buffer_object */

#define GL_PIXEL_PACK_BUFFER_EXT 0x88EB
#define GL_PIXEL_UNPACK_BUFFER_EXT 0x88EC
#define GL_PIXEL_PACK_BUFFER_BINDING_EXT 0x88ED
#define GL_PIXEL_UNPACK_BUFFER_BINDING_EXT 0x88EF

/* GL_NV_vertex_program2_option */

#define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4
#define GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5

/* GL_NV_fragment_program2 */

#define GL_MAX_PROGRAM_IF_DEPTH_NV 0x88F6
#define GL_MAX_PROGRAM_LOOP_DEPTH_NV 0x88F7
#define GL_MAX_PROGRAM_LOOP_COUNT_NV 0x88F8

/* GL_NV_vertex_program2_option */

#define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4
#define GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5

/* GL_NV_vertex_program3 */

#define MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C

/* GL_EXT_texture_compression_dxt1 */

#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1

/* GL_EXT_framebuffer_object */

#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506
#define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8
#define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6
#define GL_RENDERBUFFER_BINDING_EXT 0x8CA7
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4
#define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5
#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6
#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7
#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9
#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA
#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB
#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC
#define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD
#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
#define GL_COLOR_ATTACHMENT13_EXT 0x8CED
#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
#define GL_DEPTH_ATTACHMENT_EXT 0x8D00
#define GL_STENCIL_ATTACHMENT_EXT 0x8D20
#define GL_FRAMEBUFFER_EXT 0x8D40
#define GL_RENDERBUFFER_EXT 0x8D41
#define GL_RENDERBUFFER_WIDTH_EXT 0x8D42
#define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43
#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44
#define GL_STENCIL_INDEX1_EXT 0x8D46
#define GL_STENCIL_INDEX4_EXT 0x8D47
#define GL_STENCIL_INDEX8_EXT 0x8D48
#define GL_STENCIL_INDEX16_EXT 0x8D49
#define GL_RENDERBUFFER_RED_SIZE_EXT 0x8D50
#define GL_RENDERBUFFER_GREEN_SIZE_EXT 0x8D51
#define GL_RENDERBUFFER_BLUE_SIZE_EXT 0x8D52
#define GL_RENDERBUFFER_ALPHA_SIZE_EXT 0x8D53
#define GL_RENDERBUFFER_DEPTH_SIZE_EXT 0x8D54
#define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55

/* GL_EXT_packed_depth_stencil */

#define GL_DEPTH_STENCIL_EXT 0x84F9
#define GL_UNSIGNED_INT_24_8_EXT 0x84FA
#define GL_DEPTH24_STENCIL8_EXT 0x88F0
#define GL_TEXTURE_STENCIL_SIZE_EXT 0x88F1

/* GL_EXT_stencil_clear_tag */

#define GL_STENCIL_TAG_BITS_EXT 0x88F2
#define GL_STENCIL_CLEAR_TAG_VALUE_EXT 0x88F3

/* GL_EXT_texture_sRGB */

#define GL_SRGB_EXT 0x8C40
#define GL_SRGB8_EXT 0x8C41
#define GL_SRGB_ALPHA_EXT 0x8C42
#define GL_SRGB8_ALPHA8_EXT 0x8C43
#define GL_SLUMINANCE_ALPHA_EXT 0x8C44
#define GL_SLUMINANCE8_ALPHA8_EXT 0x8C45
#define GL_SLUMINANCE_EXT 0x8C46
#define GL_SLUMINANCE8_EXT 0x8C47
#define GL_COMPRESSED_SRGB_EXT 0x8C48
#define GL_COMPRESSED_SRGB_ALPHA_EXT 0x8C49
#define GL_COMPRESSED_SLUMINANCE_EXT 0x8C4A
#define GL_COMPRESSED_SLUMINANCE_ALPHA_EXT 0x8C4B
#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C
#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D
#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E
#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F

/* GL_EXT_framebuffer_blit */

#define GL_DRAW_FRAMEBUFFER_BINDING_EXT 0x8CA6
#define GL_READ_FRAMEBUFFER_EXT 0x8CA8
#define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9
#define GL_READ_FRAMEBUFFER_BINDING_EXT 0x8CAA

/* GL_EXT_framebuffer_multisample */

#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB
#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
#define GL_MAX_SAMPLES_EXT 0x8D57
#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
#define GL_MAX_SAMPLES_EXT 0x8D57

/* GL_MESAX_texture_stack */

#define GL_TEXTURE_1D_STACK_MESAX 0x8759
#define GL_TEXTURE_2D_STACK_MESAX 0x875A
#define GL_PROXY_TEXTURE_1D_STACK_MESAX 0x875B
#define GL_PROXY_TEXTURE_2D_STACK_MESAX 0x875C
#define GL_TEXTURE_1D_STACK_BINDING_MESAX 0x875D
#define GL_TEXTURE_2D_STACK_BINDING_MESAX 0x875E

/* GL_EXT_timer_query */

#define GL_TIME_ELAPSED_EXT 0x88BF

/* GL_APPLE_flush_buffer_range */

#define GL_BUFFER_SERIALIZED_MODIFY_APPLE 0x8A12
#define GL_BUFFER_FLUSHING_UNMAP_APPLE 0x8A13

/* GL_NV_gpu_program4 */

#define GL_MIN_PROGRAM_TEXEL_OFFSET_NV 0x8904
#define GL_MAX_PROGRAM_TEXEL_OFFSET_NV 0x8905
#define GL_PROGRAM_ATTRIB_COMPONENTS_NV 0x8906
#define GL_PROGRAM_RESULT_COMPONENTS_NV 0x8907
#define GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV 0x8908
#define GL_MAX_PROGRAM_RESULT_COMPONENTS_NV 0x8909
#define GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV 0x8DA5
#define GL_MAX_PROGRAM_GENERIC_RESULTS_NV 0x8DA6

/* GL_NV_geometry_program4 */

#define GL_GEOMETRY_PROGRAM_NV 0x8C26
#define GL_MAX_PROGRAM_OUTPUT_VERTICES_NV 0x8C27
#define GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV 0x8C28

/* GL_EXT_geometry_shader4 */

#define GL_GEOMETRY_SHADER_EXT 0x8DD9
#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT 0x8DDD
#define GL_MAX_VERTEX_VARYING_COMPONENTS_EXT 0x8DDE
#define GL_MAX_VARYING_COMPONENTS_EXT 0x8B4B
#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8DDF
#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT 0x8DE0
#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT 0x8DE1
#define GL_GEOMETRY_VERTICES_OUT_EXT 0x8DDA
#define GL_GEOMETRY_INPUT_TYPE_EXT 0x8DDB
#define GL_GEOMETRY_OUTPUT_TYPE_EXT 0x8DDC
#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT 0x8C29
#define GL_LINES_ADJACENCY_EXT 0x000A
#define GL_LINE_STRIP_ADJACENCY_EXT 0x000B
#define GL_TRIANGLES_ADJACENCY_EXT 0x000C
#define GL_TRIANGLE_STRIP_ADJACENCY_EXT 0x000D
#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT 0x8DA7
#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT 0x8DA8
#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT 0x8DA9
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4
#define GL_PROGRAM_POINT_SIZE_EXT 0x8642

/* GL_EXT_gpu_shader4 */

#define GL_SAMPLER_1D_ARRAY_EXT 0x8DC0
#define GL_SAMPLER_2D_ARRAY_EXT 0x8DC1
#define GL_SAMPLER_BUFFER_EXT 0x8DC2
#define GL_SAMPLER_1D_ARRAY_SHADOW_EXT 0x8DC3
#define GL_SAMPLER_2D_ARRAY_SHADOW_EXT 0x8DC4
#define GL_SAMPLER_CUBE_SHADOW_EXT 0x8DC5
#define GL_UNSIGNED_INT_VEC2_EXT 0x8DC6
#define GL_UNSIGNED_INT_VEC3_EXT 0x8DC7
#define GL_UNSIGNED_INT_VEC4_EXT 0x8DC8
#define GL_INT_SAMPLER_1D_EXT 0x8DC9
#define GL_INT_SAMPLER_2D_EXT 0x8DCA
#define GL_INT_SAMPLER_3D_EXT 0x8DCB
#define GL_INT_SAMPLER_CUBE_EXT 0x8DCC
#define GL_INT_SAMPLER_2D_RECT_EXT 0x8DCD
#define GL_INT_SAMPLER_1D_ARRAY_EXT 0x8DCE
#define GL_INT_SAMPLER_2D_ARRAY_EXT 0x8DCF
#define GL_INT_SAMPLER_BUFFER_EXT 0x8DD0
#define GL_UNSIGNED_INT_SAMPLER_1D_EXT 0x8DD1
#define GL_UNSIGNED_INT_SAMPLER_2D_EXT 0x8DD2
#define GL_UNSIGNED_INT_SAMPLER_3D_EXT 0x8DD3
#define GL_UNSIGNED_INT_SAMPLER_CUBE_EXT 0x8DD4
#define GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT 0x8DD5
#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT 0x8DD6
#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT 0x8DD7
#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT 0x8DD8
#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT 0x88FD

/* GL_EXT_packed_float */

#define GL_R11F_G11F_B10F_EXT 0x8C3A
#define GL_UNSIGNED_INT_10F_11F_11F_REV_EXT 0x8C3B
#define GL_RGBA_SIGNED_COMPONENTS_EXT 0x8C3C

/* GL_EXT_texture_array */

#define GL_TEXTURE_1D_ARRAY_EXT 0x8C18
#define GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19
#define GL_TEXTURE_2D_ARRAY_EXT 0x8C1A
#define GL_PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B
#define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C
#define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D
#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF
#define GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E

/* GL_EXT_texture_buffer_object */

#define GL_TEXTURE_BUFFER_EXT 0x8C2A
#define GL_MAX_TEXTURE_BUFFER_SIZE_EXT 0x8C2B
#define GL_TEXTURE_BINDING_BUFFER_EXT 0x8C2C
#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT 0x8C2D
#define GL_TEXTURE_BUFFER_FORMAT_EXT 0x8C2E

/* GL_EXT_texture_compression_latc */

#define GL_COMPRESSED_LUMINANCE_LATC1_EXT 0x8C70
#define GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT 0x8C71
#define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT 0x8C72
#define GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT 0x8C73

/* GL_EXT_texture_compression_rgtc */

#define GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB
#define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC
#define GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD
#define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT 0x8DBE

/* GL_EXT_texture_shared_exponent */

#define GL_RGB9_E5_EXT 0x8C3D
#define GL_UNSIGNED_INT_5_9_9_9_REV_EXT 0x8C3E
#define GL_TEXTURE_SHARED_SIZE_EXT 0x8C3F

/* GL_NV_depth_buffer_float */

#define GL_DEPTH_COMPONENT32F_NV 0x8DAB
#define GL_DEPTH32F_STENCIL8_NV 0x8DAC
#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV 0x8DAD
#define GL_DEPTH_BUFFER_FLOAT_MODE_NV 0x8DAF

/* GL_NV_framebuffer_multisample_coverage */

#define GL_RENDERBUFFER_COVERAGE_SAMPLES_NV 0x8CAB
#define GL_RENDERBUFFER_COLOR_SAMPLES_NV 0x8E10
#define GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV 0x8E11
#define GL_MULTISAMPLE_COVERAGE_MODES_NV 0x8E12

/* GL_EXT_framebuffer_sRGB */

#define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9
#define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8DBA

/* GL_NV_parameter_buffer_object */

#define GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV 0x8DA2
#define GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV 0x8DA3
#define GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV 0x8DA4
#define GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV 0x8DA0
#define GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV 0x8DA1

/* GL_NV_transform_feedback */

#define GL_BACK_PRIMARY_COLOR_NV 0x8C77
#define GL_BACK_SECONDARY_COLOR_NV 0x8C78
#define GL_TEXTURE_COORD_NV 0x8C79
#define GL_CLIP_DISTANCE_NV 0x8C7A
#define GL_VERTEX_ID_NV 0x8C7B
#define GL_PRIMITIVE_ID_NV 0x8C7C
#define GL_GENERIC_ATTRIB_NV 0x8C7D
#define GL_TRANSFORM_FEEDBACK_ATTRIBS_NV 0x8C7E
#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV 0x8C7F
#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV 0x8C80
#define GL_ACTIVE_VARYINGS_NV 0x8C81
#define GL_ACTIVE_VARYING_MAX_LENGTH_NV 0x8C82
#define GL_TRANSFORM_FEEDBACK_VARYINGS_NV 0x8C83
#define GL_TRANSFORM_FEEDBACK_BUFFER_START_NV 0x8C84
#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV 0x8C85
#define GL_TRANSFORM_FEEDBACK_RECORD_NV 0x8C86
#define GL_PRIMITIVES_GENERATED_NV 0x8C87
#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV 0x8C88
#define GL_RASTERIZER_DISCARD_NV 0x8C89
#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV 0x8C8A
#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV 0x8C8B
#define GL_INTERLEAVED_ATTRIBS_NV 0x8C8C
#define GL_SEPARATE_ATTRIBS_NV 0x8C8D
#define GL_TRANSFORM_FEEDBACK_BUFFER_NV 0x8C8E
#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV 0x8C8F

/* GL_EXT_bindable_uniform */

#define GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT 0x8DE2
#define GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT 0x8DE3
#define GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT 0x8DE4
#define GL_MAX_BINDABLE_UNIFORM_SIZE_EXT 0x8DED
#define GL_UNIFORM_BUFFER_BINDING_EXT 0x8DEF
#define GL_UNIFORM_BUFFER_EXT 0x8DEE

/* GL_EXT_texture_integer */

#define GL_RGBA32UI_EXT 0x8D70
#define GL_RGB32UI_EXT 0x8D71
#define GL_ALPHA32UI_EXT 0x8D72
#define GL_INTENSITY32UI_EXT 0x8D73
#define GL_LUMINANCE32UI_EXT 0x8D74
#define GL_LUMINANCE_ALPHA32UI_EXT 0x8D75
#define GL_RGBA16UI_EXT 0x8D76
#define GL_RGB16UI_EXT 0x8D77
#define GL_ALPHA16UI_EXT 0x8D78
#define GL_INTENSITY16UI_EXT 0x8D79
#define GL_LUMINANCE16UI_EXT 0x8D7A
#define GL_LUMINANCE_ALPHA16UI_EXT 0x8D7B
#define GL_RGBA8UI_EXT 0x8D7C
#define GL_RGB8UI_EXT 0x8D7D
#define GL_ALPHA8UI_EXT 0x8D7E
#define GL_INTENSITY8UI_EXT 0x8D7F
#define GL_LUMINANCE8UI_EXT 0x8D80
#define GL_LUMINANCE_ALPHA8UI_EXT 0x8D81
#define GL_RGBA32I_EXT 0x8D82
#define GL_RGB32I_EXT 0x8D83
#define GL_ALPHA32I_EXT 0x8D84
#define GL_INTENSITY32I_EXT 0x8D85
#define GL_LUMINANCE32I_EXT 0x8D86
#define GL_LUMINANCE_ALPHA32I_EXT 0x8D87
#define GL_RGBA16I_EXT 0x8D88
#define GL_RGB16I_EXT 0x8D89
#define GL_ALPHA16I_EXT 0x8D8A
#define GL_INTENSITY16I_EXT 0x8D8B
#define GL_LUMINANCE16I_EXT 0x8D8C
#define GL_LUMINANCE_ALPHA16I_EXT 0x8D8D
#define GL_RGBA8I_EXT 0x8D8E
#define GL_RGB8I_EXT 0x8D8F
#define GL_ALPHA8I_EXT 0x8D90
#define GL_INTENSITY8I_EXT 0x8D91
#define GL_LUMINANCE8I_EXT 0x8D92
#define GL_LUMINANCE_ALPHA8I_EXT 0x8D93
#define GL_RED_INTEGER_EXT 0x8D94
#define GL_GREEN_INTEGER_EXT 0x8D95
#define GL_BLUE_INTEGER_EXT 0x8D96
#define GL_ALPHA_INTEGER_EXT 0x8D97
#define GL_RGB_INTEGER_EXT 0x8D98
#define GL_RGBA_INTEGER_EXT 0x8D99
#define GL_BGR_INTEGER_EXT 0x8D9A
#define GL_BGRA_INTEGER_EXT 0x8D9B
#define GL_LUMINANCE_INTEGER_EXT 0x8D9C
#define GL_LUMINANCE_ALPHA_INTEGER_EXT 0x8D9D
#define GL_RGBA_INTEGER_MODE_EXT 0x8D9E

/* GL_NV_conditional_render */

#define GL_QUERY_WAIT_NV 0x8E13
#define GL_QUERY_NO_WAIT_NV 0x8E14
#define GL_QUERY_BY_REGION_WAIT_NV 0x8E15
#define GL_QUERY_BY_REGION_NO_WAIT_NV 0x8E16

/* GL_NV_present_video */

#define GL_FRAME_NV 0x8E26
#define GL_FIELDS_NV 0x8E27
#define GL_CURRENT_TIME_NV 0x8E28
#define GL_NUM_FILL_STREAMS_NV 0x8E29
#define GL_PRESENT_TIME_NV 0x8E2A
#define GL_PRESENT_DURATION_NV 0x8E2B

/* GL_EXT_transform_feedback */

#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT 0x8C76
#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT 0x8C7F
#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT 0x8C80
#define GL_TRANSFORM_FEEDBACK_VARYINGS_EXT 0x8C83
#define GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT 0x8C84
#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT 0x8C85
#define GL_PRIMITIVES_GENERATED_EXT 0x8C87
#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT 0x8C88
#define GL_RASTERIZER_DISCARD_EXT 0x8C89
#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT 0x8C8A
#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT 0x8C8B
#define GL_INTERLEAVED_ATTRIBS_EXT 0x8C8C
#define GL_SEPARATE_ATTRIBS_EXT 0x8C8D
#define GL_TRANSFORM_FEEDBACK_BUFFER_EXT 0x8C8E
#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT 0x8C8F

/* GL_EXT_direct_state_access */

#define GL_PROGRAM_MATRIX_EXT 0x8E2D
#define GL_TRANSPOSE_PROGRAM_MATRIX_EXT 0x8E2E
#define GL_PROGRAM_MATRIX_STACK_DEPTH_EXT 0x8E2F

/* GL_EXT_vertex_array_bgra */

#define GL_BGRA 0x80E1

/* GL_EXT_texture_swizzle */

#define GL_TEXTURE_SWIZZLE_R_EXT 0x8E42
#define GL_TEXTURE_SWIZZLE_G_EXT 0x8E43
#define GL_TEXTURE_SWIZZLE_B_EXT 0x8E44
#define GL_TEXTURE_SWIZZLE_A_EXT 0x8E45
#define GL_TEXTURE_SWIZZLE_RGBA_EXT 0x8E46

/* GL_NV_explicit_multisample */

#define GL_SAMPLE_POSITION_NV 0x8E50
#define GL_SAMPLE_MASK_NV 0x8E51
#define GL_SAMPLE_MASK_VALUE_NV 0x8E52
#define GL_TEXTURE_BINDING_RENDERBUFFER_NV 0x8E53
#define GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV 0x8E54
#define GL_TEXTURE_RENDERBUFFER_NV 0x8E55
#define GL_SAMPLER_RENDERBUFFER_NV 0x8E56
#define GL_INT_SAMPLER_RENDERBUFFER_NV 0x8E57
#define GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV 0x8E58
#define GL_MAX_SAMPLE_MASK_WORDS_NV 0x8E59

/* GL_NV_transform_feedback2 */

#define GL_TRANSFORM_FEEDBACK_NV 0x8E22
#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV 0x8E23
#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV 0x8E24
#define GL_TRANSFORM_FEEDBACK_BINDING_NV 0x8E25

/* GL_ATI_meminfo */

#define GL_VBO_FREE_MEMORY_ATI 0x87FB
#define GL_TEXTURE_FREE_MEMORY_ATI 0x87FC
#define GL_RENDERBUFFER_FREE_MEMORY_ATI 0x87FD

/* GL_AMD_performance_monitor */

#define GL_UNSIGNED_INT 0x1405
#define GL_FLOAT 0x1406
#define GL_COUNTER_TYPE_AMD 0x8BC0
#define GL_COUNTER_RANGE_AMD 0x8BC1
#define GL_UNSIGNED_INT64_AMD 0x8BC2
#define GL_PERCENTAGE_AMD 0x8BC3
#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4
#define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5
#define GL_PERFMON_RESULT_AMD 0x8BC6

/* GL_AMD_vertex_shader_tessellator */

#define GL_SAMPLER_BUFFER_AMD 0x9001
#define GL_INT_SAMPLER_BUFFER_AMD 0x9002
#define GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD 0x9003
#define GL_TESSELLATION_MODE_AMD 0x9004
#define GL_TESSELLATION_FACTOR_AMD 0x9005
#define GL_DISCRETE_AMD 0x9006
#define GL_CONTINUOUS_AMD 0x9007

/* GL_EXT_provoking_vertex */

#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT 0x8E4C
#define GL_FIRST_VERTEX_CONVENTION_EXT 0x8E4D
#define GL_LAST_VERTEX_CONVENTION_EXT 0x8E4E
#define GL_PROVOKING_VERTEX_EXT 0x8E4F

/* GL_EXT_texture_snorm */

#define GL_RED_SNORM 0x8F90
#define GL_RG_SNORM 0x8F91
#define GL_RGB_SNORM 0x8F92
#define GL_RGBA_SNORM 0x8F93
#define GL_R8_SNORM 0x8F94
#define GL_RG8_SNORM 0x8F95
#define GL_RGB8_SNORM 0x8F96
#define GL_RGBA8_SNORM 0x8F97
#define GL_R16_SNORM 0x8F98
#define GL_RG16_SNORM 0x8F99
#define GL_RGB16_SNORM 0x8F9A
#define GL_RGBA16_SNORM 0x8F9B
#define GL_SIGNED_NORMALIZED 0x8F9C
#define GL_ALPHA_SNORM 0x9010
#define GL_LUMINANCE_SNORM 0x9011
#define GL_LUMINANCE_ALPHA_SNORM 0x9012
#define GL_INTENSITY_SNORM 0x9013
#define GL_ALPHA8_SNORM 0x9014
#define GL_LUMINANCE8_SNORM 0x9015
#define GL_LUMINANCE8_ALPHA8_SNORM 0x9016
#define GL_INTENSITY8_SNORM 0x9017
#define GL_ALPHA16_SNORM 0x9018
#define GL_LUMINANCE16_SNORM 0x9019
#define GL_LUMINANCE16_ALPHA16_SNORM 0x901A
#define GL_INTENSITY16_SNORM 0x901B

/* GL_APPLE_texture_range */

#define GL_TEXTURE_STORAGE_HINT_APPLE 0x85BC
#define GL_STORAGE_PRIVATE_APPLE 0x85BD
#define GL_STORAGE_CACHED_APPLE 0x85BE
#define GL_STORAGE_SHARED_APPLE 0x85BF
#define GL_TEXTURE_RANGE_LENGTH_APPLE 0x85B7
#define GL_TEXTURE_RANGE_POINTER_APPLE 0x85B8

/* GL_APPLE_float_pixels */

#define GL_HALF_APPLE 0x140B
#define GL_COLOR_FLOAT_APPLE 0x8A0F
#define GL_RGBA_FLOAT32_APPLE 0x8814
#define GL_RGB_FLOAT32_APPLE 0x8815
#define GL_ALPHA_FLOAT32_APPLE 0x8816
#define GL_INTENSITY_FLOAT32_APPLE 0x8817
#define GL_LUMINANCE_FLOAT32_APPLE 0x8818
#define GL_LUMINANCE_ALPHA_FLOAT32_APPLE 0x8819
#define GL_RGBA_FLOAT16_APPLE 0x881A
#define GL_RGB_FLOAT16_APPLE 0x881B
#define GL_ALPHA_FLOAT16_APPLE 0x881C
#define GL_INTENSITY_FLOAT16_APPLE 0x881D
#define GL_LUMINANCE_FLOAT16_APPLE 0x881E
#define GL_LUMINANCE_ALPHA_FLOAT16_APPLE 0x881F

/* GL_APPLE_vertex_program_evaluators */

#define GL_VERTEX_ATTRIB_MAP1_APPLE 0x8A00
#define GL_VERTEX_ATTRIB_MAP2_APPLE 0x8A01
#define GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE 0x8A02
#define GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE 0x8A03
#define GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE 0x8A04
#define GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE 0x8A05
#define GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE 0x8A06
#define GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE 0x8A07
#define GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE 0x8A08
#define GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE 0x8A09

/* GL_APPLE_aux_depth_stencil */

#define GL_AUX_DEPTH_STENCIL_APPLE 0x8A14

/* GL_APPLE_object_purgeable */

#define GL_BUFFER_OBJECT_APPLE 0x85B3
#define GL_RELEASED_APPLE 0x8A19
#define GL_VOLATILE_APPLE 0x8A1A
#define GL_RETAINED_APPLE 0x8A1B
#define GL_UNDEFINED_APPLE 0x8A1C
#define GL_PURGEABLE_APPLE 0x8A1D

/* GL_APPLE_row_bytes */

#define GL_PACK_ROW_BYTES_APPLE 0x8A15
#define GL_UNPACK_ROW_BYTES_APPLE 0x8A16

/* GL_APPLE_rgb_422 */

#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
#define GL_RGB_422_APPLE 0x8A1F

/* GL_EXT_separate_shader_objects */

#define GL_ACTIVE_PROGRAM_EXT 0x8B8D

/* GL_NV_shader_buffer_load */

#define GL_BUFFER_GPU_ADDRESS_NV 0x8F1D
#define GL_GPU_ADDRESS_NV 0x8F34
#define GL_MAX_SHADER_BUFFER_ADDRESS_NV 0x8F35

/* GL_NV_vertex_buffer_unified_memory */

#define GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV 0x8F1E
#define GL_ELEMENT_ARRAY_UNIFIED_NV 0x8F1F
#define GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV 0x8F20
#define GL_VERTEX_ARRAY_ADDRESS_NV 0x8F21
#define GL_NORMAL_ARRAY_ADDRESS_NV 0x8F22
#define GL_COLOR_ARRAY_ADDRESS_NV 0x8F23
#define GL_INDEX_ARRAY_ADDRESS_NV 0x8F24
#define GL_TEXTURE_COORD_ARRAY_ADDRESS_NV 0x8F25
#define GL_EDGE_FLAG_ARRAY_ADDRESS_NV 0x8F26
#define GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV 0x8F27
#define GL_FOG_COORD_ARRAY_ADDRESS_NV 0x8F28
#define GL_ELEMENT_ARRAY_ADDRESS_NV 0x8F29
#define GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV 0x8F2A
#define GL_VERTEX_ARRAY_LENGTH_NV 0x8F2B
#define GL_NORMAL_ARRAY_LENGTH_NV 0x8F2C
#define GL_COLOR_ARRAY_LENGTH_NV 0x8F2D
#define GL_INDEX_ARRAY_LENGTH_NV 0x8F2E
#define GL_TEXTURE_COORD_ARRAY_LENGTH_NV 0x8F2F
#define GL_EDGE_FLAG_ARRAY_LENGTH_NV 0x8F30
#define GL_SECONDARY_COLOR_ARRAY_LENGTH_NV 0x8F31
#define GL_FOG_COORD_ARRAY_LENGTH_NV 0x8F32
#define GL_ELEMENT_ARRAY_LENGTH_NV 0x8F33

/* GL_AMD_seamless_cubemap_per_texture */

#define GL_TEXTURE_CUBE_MAP_SEAMLESS_ARB 0x884F

/* GL_EXT_shader_image_load_store */

#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT 0x0001
#define GL_ELEMENT_ARRAY_BARRIER_BIT_EXT 0x0002
#define GL_UNIFORM_BARRIER_BIT_EXT 0x0004
#define GL_TEXTURE_FETCH_BARRIER_BIT_EXT 0x0008
#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT 0x0020
#define GL_COMMAND_BARRIER_BIT_EXT 0x0040
#define GL_PIXEL_BUFFER_BARRIER_BIT_EXT 0x0080
#define GL_TEXTURE_UPDATE_BARRIER_BIT_EXT 0x0100
#define GL_BUFFER_UPDATE_BARRIER_BIT_EXT 0x0200
#define GL_FRAMEBUFFER_BARRIER_BIT_EXT 0x0400
#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT 0x0800
#define GL_ATOMIC_COUNTER_BARRIER_BIT_EXT 0x1000
#define GL_MAX_IMAGE_UNITS_EXT 0x8F38
#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT 0x8F39
#define GL_IMAGE_BINDING_NAME_EXT 0x8F3A
#define GL_IMAGE_BINDING_LEVEL_EXT 0x8F3B
#define GL_IMAGE_BINDING_LAYERED_EXT 0x8F3C
#define GL_IMAGE_BINDING_LAYER_EXT 0x8F3D
#define GL_IMAGE_BINDING_ACCESS_EXT 0x8F3E
#define GL_IMAGE_1D_EXT 0x904C
#define GL_IMAGE_2D_EXT 0x904D
#define GL_IMAGE_3D_EXT 0x904E
#define GL_IMAGE_2D_RECT_EXT 0x904F
#define GL_IMAGE_CUBE_EXT 0x9050
#define GL_IMAGE_BUFFER_EXT 0x9051
#define GL_IMAGE_1D_ARRAY_EXT 0x9052
#define GL_IMAGE_2D_ARRAY_EXT 0x9053
#define GL_IMAGE_CUBE_MAP_ARRAY_EXT 0x9054
#define GL_IMAGE_2D_MULTISAMPLE_EXT 0x9055
#define GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9056
#define GL_INT_IMAGE_1D_EXT 0x9057
#define GL_INT_IMAGE_2D_EXT 0x9058
#define GL_INT_IMAGE_3D_EXT 0x9059
#define GL_INT_IMAGE_2D_RECT_EXT 0x905A
#define GL_INT_IMAGE_CUBE_EXT 0x905B
#define GL_INT_IMAGE_BUFFER_EXT 0x905C
#define GL_INT_IMAGE_1D_ARRAY_EXT 0x905D
#define GL_INT_IMAGE_2D_ARRAY_EXT 0x905E
#define GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x905F
#define GL_INT_IMAGE_2D_MULTISAMPLE_EXT 0x9060
#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9061
#define GL_UNSIGNED_INT_IMAGE_1D_EXT 0x9062
#define GL_UNSIGNED_INT_IMAGE_2D_EXT 0x9063
#define GL_UNSIGNED_INT_IMAGE_3D_EXT 0x9064
#define GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT 0x9065
#define GL_UNSIGNED_INT_IMAGE_CUBE_EXT 0x9066
#define GL_UNSIGNED_INT_IMAGE_BUFFER_EXT 0x9067
#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT 0x9068
#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT 0x9069
#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x906A
#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT 0x906B
#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x906C
#define GL_MAX_IMAGE_SAMPLES_EXT 0x906D
#define GL_IMAGE_BINDING_FORMAT_EXT 0x906E
#define GL_ALL_BARRIER_BITS_EXT 0xFFFFFFFF

/* GL_EXT_vertex_attrib_64bit */

#define GL_DOUBLE_MAT2_EXT 0x8F46
#define GL_DOUBLE_MAT3_EXT 0x8F47
#define GL_DOUBLE_MAT4_EXT 0x8F48
#define GL_DOUBLE_VEC2_EXT 0x8FFC
#define GL_DOUBLE_VEC3_EXT 0x8FFD
#define GL_DOUBLE_VEC4_EXT 0x8FFE

/* GL_NV_gpu_program5 */

#define GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV 0x8E5A
#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5B
#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5C
#define GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV 0x8E5D

/* GL_NV_vertex_attrib_integer_64bit */

#define GL_INT64_NV 0x140E
#define GL_UNSIGNED_INT64_NV 0x140F

/* GL_NV_gpu_shader5 */

#define GL_INT8_NV 0x8FE0
#define GL_INT8_VEC2_NV 0x8FE1
#define GL_INT8_VEC3_NV 0x8FE2
#define GL_INT8_VEC4_NV 0x8FE3
#define GL_INT16_NV 0x8FE4
#define GL_INT16_VEC2_NV 0x8FE5
#define GL_INT16_VEC3_NV 0x8FE6
#define GL_INT16_VEC4_NV 0x8FE7
#define GL_INT64_VEC2_NV 0x8FE9
#define GL_INT64_VEC3_NV 0x8FEA
#define GL_INT64_VEC4_NV 0x8FEB
#define GL_UNSIGNED_INT8_NV 0x8FEC
#define GL_UNSIGNED_INT8_VEC2_NV 0x8FED
#define GL_UNSIGNED_INT8_VEC3_NV 0x8FEE
#define GL_UNSIGNED_INT8_VEC4_NV 0x8FEF
#define GL_UNSIGNED_INT16_NV 0x8FF0
#define GL_UNSIGNED_INT16_VEC2_NV 0x8FF1
#define GL_UNSIGNED_INT16_VEC3_NV 0x8FF2
#define GL_UNSIGNED_INT16_VEC4_NV 0x8FF3
#define GL_UNSIGNED_INT64_VEC2_NV 0x8FF5
#define GL_UNSIGNED_INT64_VEC3_NV 0x8FF6
#define GL_UNSIGNED_INT64_VEC4_NV 0x8FF7
#define GL_FLOAT16_NV 0x8FF8
#define GL_FLOAT16_VEC2_NV 0x8FF9
#define GL_FLOAT16_VEC3_NV 0x8FFA
#define GL_FLOAT16_VEC4_NV 0x8FFB

/* GL_NV_tessellation_program5 */

#define GL_MAX_PROGRAM_PATCH_ATTRIBS_NV 0x86D8
#define GL_TESS_CONTROL_PROGRAM_NV 0x891E
#define GL_TESS_EVALUATION_PROGRAM_NV 0x891F
#define GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV 0x8C74
#define GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV 0x8C75

/* GL_NV_vertex_attrib_integer_64bit */

#define GL_INT64_NV 0x140E
#define GL_UNSIGNED_INT64_NV 0x140F

/* GL_NV_multisample_coverage */

#define GL_COVERAGE_SAMPLES_NV 0x80A9
#define GL_COLOR_SAMPLES_NV 0x8E20

/* GL_AMD_name_gen_delete */

#define GL_DATA_BUFFER_AMD 0x9151
#define GL_PERFORMANCE_MONITOR_AMD 0x9152
#define GL_QUERY_OBJECT_AMD 0x9153
#define GL_VERTEX_ARRAY_OBJECT_AMD 0x9154
#define GL_SAMPLER_OBJECT_AMD 0x9155

/* GL_AMD_debug_output */

#define GL_MAX_DEBUG_MESSAGE_LENGTH_AMD 0x9143
#define GL_MAX_DEBUG_LOGGED_MESSAGES_AMD 0x9144
#define GL_DEBUG_LOGGED_MESSAGES_AMD 0x9145
#define GL_DEBUG_SEVERITY_HIGH_AMD 0x9146
#define GL_DEBUG_SEVERITY_MEDIUM_AMD 0x9147
#define GL_DEBUG_SEVERITY_LOW_AMD 0x9148
#define GL_DEBUG_CATEGORY_API_ERROR_AMD 0x9149
#define GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD 0x914A
#define GL_DEBUG_CATEGORY_DEPRECATION_AMD 0x914B
#define GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD 0x914C
#define GL_DEBUG_CATEGORY_PERFORMANCE_AMD 0x914D
#define GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD 0x914E
#define GL_DEBUG_CATEGORY_APPLICATION_AMD 0x914F
#define GL_DEBUG_CATEGORY_OTHER_AMD 0x9150

/* GL_NV_vdpau_interop */

#define GL_SURFACE_STATE_NV 0x86EB
#define GL_SURFACE_REGISTERED_NV 0x86FD
#define GL_SURFACE_MAPPED_NV 0x8700
#define GL_WRITE_DISCARD_NV 0x88BE

/* GL_APPLE_pixel_buffer */

#define GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE 0x8A10

/* GL_EXT_Cg_shader */

#define GL_CG_VERTEX_SHADER_EXT 0x890E
#define GL_CG_FRAGMENT_SHADER_EXT 0x890F

/* GL_EXT_texture_cube_map */

#define GL_NORMAL_MAP_EXT 0x8511
#define GL_REFLECTION_MAP_EXT 0x8512
#define GL_TEXTURE_CUBE_MAP_EXT 0x8513
#define GL_TEXTURE_BINDING_CUBE_MAP_EXT 0x8514
#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT 0x8515
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT 0x8516
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT 0x8517
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT 0x8518
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT 0x8519
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT 0x851A
#define GL_PROXY_TEXTURE_CUBE_MAP_EXT 0x851B
#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT 0x851C

/* GL_EXT_texture_rectangle */

#define GL_TEXTURE_RECTANGLE_EXT 0x84F5
#define GL_TEXTURE_BINDING_RECTANGLE_EXT 0x84F6
#define GL_PROXY_TEXTURE_RECTANGLE_EXT 0x84F7
#define GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT 0x84F8

/* GL_KTX_buffer_region */

#define GL_KTX_FRONT_REGION 0x0000
#define GL_KTX_BACK_REGION 0x0001
#define GL_KTX_Z_REGION 0x0002
#define GL_KTX_STENCIL_REGION 0x0003

/* GL_NV_depth_range_unclamped */

#define GL_SAMPLE_COUNT_BITS_NV 0x8864
#define GL_CURRENT_SAMPLE_COUNT_QUERY_NV 0x8865
#define GL_QUERY_RESULT_NV 0x8866
#define GL_QUERY_RESULT_AVAILABLE_NV 0x8867
#define GL_SAMPLE_COUNT_NV 0x8914

/* GL_SGIX_fog_texture */

#define GL_TEXTURE_FOG_SGIX 0x0000
#define GL_FOG_PATCHY_FACTOR_SGIX 0x0000
#define GL_FRAGMENT_FOG_SGIX 0x0000

/* 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. */

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

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;

    /* Excluding extensions for now...

    / * TODO: this requires GL_NV_fog_distance... PUBLIC? * /
    case GL_FOG_DISTANCE_MODE_NV: 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;
}

/* TODO: Review extensions later. */
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;

    /* not in opengl.org sdk docs, PUBLIC? */
    case GL_TEXTURE_LOD_BIAS:               return 1;

    /* Excluding extensions for now...

    / * requires GL_EXT_texture_filter_anisotropic, PUBLIC? * /
    case GL_TEXTURE_MAX_ANISOTROPY_EXT:     return 1;

    / * requires GL_SGIX_shadow, PUBLIC? * /
    case GL_TEXTURE_COMPARE_SGIX:
    case GL_TEXTURE_COMPARE_OPERATOR_SGIX:  return 1;

    / * requires GL_NV_texture_expand_normal, PUBLIC? * /
    case GL_TEXTURE_UNSIGNED_REMAP_MODE_NV: return 1;

    / * requires GL_NVX_volatile_texture, PUBLIC? * /
    case GL_TEXTURE_VOLATILE_NVX:
    case GL_TEXTURE_IMMUTABLE_NVX:          return 1;

    / * requires GL_EXT_texture_swizzle, PUBLIC? * /
    case GL_TEXTURE_SWIZZLE_R_EXT:
    case GL_TEXTURE_SWIZZLE_G_EXT:
    case GL_TEXTURE_SWIZZLE_B_EXT:
    case GL_TEXTURE_SWIZZLE_A_EXT:          return 1;

    / * requires GL_NV_texture_shader, PUBLIC? * /
    case GL_TEXTURE_BORDER_VALUES_NV:       return 4;

    / * requires GL_EXT_texture_swizzle, PUBLIC? * /
    case GL_TEXTURE_SWIZZLE_RGBA_EXT:       return 4;

    */

    default: break;
  }
  return 0;
}

/* TODO: Review later: Does texture "level" affect size? */
/* TODO: Review later: Properly account for effects of glPixelStore. */
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)
  {
     /* TODO: Confirm calculations. */
    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;
}

/* TODO: Review for correctness, add extensions later... */
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;
}

/* TODO: Something about client state VBO affects output? */

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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glNewList",&traceParam);

  if (!traceGL_Native.glNewList)
    return;

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

    traceFunction("glNewList");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glEndList",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glCallList",&traceParam);

  if (!traceGL_Native.glCallList)
    return;

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

    traceFunction("glCallList");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glCallLists",&traceParam);

  if (!traceGL_Native.glCallLists)
    return;

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

    traceFunction("glCallLists");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glDeleteLists",&traceParam);

  if (!traceGL_Native.glDeleteLists)
    return;

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

    traceFunction("glDeleteLists");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGenLists",&traceParam);

  if (!traceGL_Native.glGenLists)
    return 0;

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

    traceFunction("glGenLists");
    traceBegin();

    /* Encode input parameters. */

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

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGenLists(range);

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

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

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

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glListBase",&traceParam);

  if (!traceGL_Native.glListBase)
    return;

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

    traceFunction("glListBase");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glBegin",&traceParam);

  if (!traceGL_Native.glBegin)
    return;

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

    traceFunction("glBegin");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glBitmap",&traceParam);

  if (!traceGL_Native.glBitmap)
    return;

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

    traceFunction("glBitmap");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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", "%cu[%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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor3b",&traceParam);

  if (!traceGL_Native.glColor3b)
    return;

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

    traceFunction("glColor3b");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor3bv",&traceParam);

  if (!traceGL_Native.glColor3bv)
    return;

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

    traceFunction("glColor3bv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor3d",&traceParam);

  if (!traceGL_Native.glColor3d)
    return;

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

    traceFunction("glColor3d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor3dv",&traceParam);

  if (!traceGL_Native.glColor3dv)
    return;

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

    traceFunction("glColor3dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor3f",&traceParam);

  if (!traceGL_Native.glColor3f)
    return;

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

    traceFunction("glColor3f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor3fv",&traceParam);

  if (!traceGL_Native.glColor3fv)
    return;

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

    traceFunction("glColor3fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor3i",&traceParam);

  if (!traceGL_Native.glColor3i)
    return;

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

    traceFunction("glColor3i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor3iv",&traceParam);

  if (!traceGL_Native.glColor3iv)
    return;

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

    traceFunction("glColor3iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor3s",&traceParam);

  if (!traceGL_Native.glColor3s)
    return;

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

    traceFunction("glColor3s");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor3sv",&traceParam);

  if (!traceGL_Native.glColor3sv)
    return;

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

    traceFunction("glColor3sv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor3ub",&traceParam);

  if (!traceGL_Native.glColor3ub)
    return;

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

    traceFunction("glColor3ub");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor3ubv",&traceParam);

  if (!traceGL_Native.glColor3ubv)
    return;

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

    traceFunction("glColor3ubv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor3ui",&traceParam);

  if (!traceGL_Native.glColor3ui)
    return;

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

    traceFunction("glColor3ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor3uiv",&traceParam);

  if (!traceGL_Native.glColor3uiv)
    return;

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

    traceFunction("glColor3uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor3us",&traceParam);

  if (!traceGL_Native.glColor3us)
    return;

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

    traceFunction("glColor3us");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor3usv",&traceParam);

  if (!traceGL_Native.glColor3usv)
    return;

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

    traceFunction("glColor3usv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor4b",&traceParam);

  if (!traceGL_Native.glColor4b)
    return;

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

    traceFunction("glColor4b");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor4bv",&traceParam);

  if (!traceGL_Native.glColor4bv)
    return;

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

    traceFunction("glColor4bv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor4d",&traceParam);

  if (!traceGL_Native.glColor4d)
    return;

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

    traceFunction("glColor4d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor4dv",&traceParam);

  if (!traceGL_Native.glColor4dv)
    return;

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

    traceFunction("glColor4dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor4f",&traceParam);

  if (!traceGL_Native.glColor4f)
    return;

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

    traceFunction("glColor4f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor4fv",&traceParam);

  if (!traceGL_Native.glColor4fv)
    return;

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

    traceFunction("glColor4fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor4i",&traceParam);

  if (!traceGL_Native.glColor4i)
    return;

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

    traceFunction("glColor4i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor4iv",&traceParam);

  if (!traceGL_Native.glColor4iv)
    return;

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

    traceFunction("glColor4iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor4s",&traceParam);

  if (!traceGL_Native.glColor4s)
    return;

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

    traceFunction("glColor4s");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor4sv",&traceParam);

  if (!traceGL_Native.glColor4sv)
    return;

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

    traceFunction("glColor4sv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor4ub",&traceParam);

  if (!traceGL_Native.glColor4ub)
    return;

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

    traceFunction("glColor4ub");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor4ubv",&traceParam);

  if (!traceGL_Native.glColor4ubv)
    return;

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

    traceFunction("glColor4ubv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor4ui",&traceParam);

  if (!traceGL_Native.glColor4ui)
    return;

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

    traceFunction("glColor4ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor4uiv",&traceParam);

  if (!traceGL_Native.glColor4uiv)
    return;

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

    traceFunction("glColor4uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor4us",&traceParam);

  if (!traceGL_Native.glColor4us)
    return;

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

    traceFunction("glColor4us");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColor4usv",&traceParam);

  if (!traceGL_Native.glColor4usv)
    return;

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

    traceFunction("glColor4usv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glEdgeFlag",&traceParam);

  if (!traceGL_Native.glEdgeFlag)
    return;

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

    traceFunction("glEdgeFlag");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glEdgeFlagv",&traceParam);

  if (!traceGL_Native.glEdgeFlagv)
    return;

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

    traceFunction("glEdgeFlagv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glEnd",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glIndexd",&traceParam);

  if (!traceGL_Native.glIndexd)
    return;

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

    traceFunction("glIndexd");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glIndexdv",&traceParam);

  if (!traceGL_Native.glIndexdv)
    return;

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

    traceFunction("glIndexdv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glIndexf",&traceParam);

  if (!traceGL_Native.glIndexf)
    return;

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

    traceFunction("glIndexf");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glIndexfv",&traceParam);

  if (!traceGL_Native.glIndexfv)
    return;

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

    traceFunction("glIndexfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glIndexi",&traceParam);

  if (!traceGL_Native.glIndexi)
    return;

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

    traceFunction("glIndexi");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glIndexiv",&traceParam);

  if (!traceGL_Native.glIndexiv)
    return;

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

    traceFunction("glIndexiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glIndexs",&traceParam);

  if (!traceGL_Native.glIndexs)
    return;

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

    traceFunction("glIndexs");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glIndexsv",&traceParam);

  if (!traceGL_Native.glIndexsv)
    return;

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

    traceFunction("glIndexsv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glNormal3b",&traceParam);

  if (!traceGL_Native.glNormal3b)
    return;

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

    traceFunction("glNormal3b");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glNormal3bv",&traceParam);

  if (!traceGL_Native.glNormal3bv)
    return;

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

    traceFunction("glNormal3bv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glNormal3d",&traceParam);

  if (!traceGL_Native.glNormal3d)
    return;

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

    traceFunction("glNormal3d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glNormal3dv",&traceParam);

  if (!traceGL_Native.glNormal3dv)
    return;

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

    traceFunction("glNormal3dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glNormal3f",&traceParam);

  if (!traceGL_Native.glNormal3f)
    return;

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

    traceFunction("glNormal3f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glNormal3fv",&traceParam);

  if (!traceGL_Native.glNormal3fv)
    return;

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

    traceFunction("glNormal3fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glNormal3i",&traceParam);

  if (!traceGL_Native.glNormal3i)
    return;

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

    traceFunction("glNormal3i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glNormal3iv",&traceParam);

  if (!traceGL_Native.glNormal3iv)
    return;

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

    traceFunction("glNormal3iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glNormal3s",&traceParam);

  if (!traceGL_Native.glNormal3s)
    return;

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

    traceFunction("glNormal3s");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glNormal3sv",&traceParam);

  if (!traceGL_Native.glNormal3sv)
    return;

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

    traceFunction("glNormal3sv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRasterPos2d",&traceParam);

  if (!traceGL_Native.glRasterPos2d)
    return;

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

    traceFunction("glRasterPos2d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRasterPos2dv",&traceParam);

  if (!traceGL_Native.glRasterPos2dv)
    return;

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

    traceFunction("glRasterPos2dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRasterPos2f",&traceParam);

  if (!traceGL_Native.glRasterPos2f)
    return;

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

    traceFunction("glRasterPos2f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRasterPos2fv",&traceParam);

  if (!traceGL_Native.glRasterPos2fv)
    return;

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

    traceFunction("glRasterPos2fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRasterPos2i",&traceParam);

  if (!traceGL_Native.glRasterPos2i)
    return;

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

    traceFunction("glRasterPos2i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRasterPos2iv",&traceParam);

  if (!traceGL_Native.glRasterPos2iv)
    return;

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

    traceFunction("glRasterPos2iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRasterPos2s",&traceParam);

  if (!traceGL_Native.glRasterPos2s)
    return;

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

    traceFunction("glRasterPos2s");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRasterPos2sv",&traceParam);

  if (!traceGL_Native.glRasterPos2sv)
    return;

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

    traceFunction("glRasterPos2sv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRasterPos3d",&traceParam);

  if (!traceGL_Native.glRasterPos3d)
    return;

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

    traceFunction("glRasterPos3d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRasterPos3dv",&traceParam);

  if (!traceGL_Native.glRasterPos3dv)
    return;

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

    traceFunction("glRasterPos3dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRasterPos3f",&traceParam);

  if (!traceGL_Native.glRasterPos3f)
    return;

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

    traceFunction("glRasterPos3f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRasterPos3fv",&traceParam);

  if (!traceGL_Native.glRasterPos3fv)
    return;

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

    traceFunction("glRasterPos3fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRasterPos3i",&traceParam);

  if (!traceGL_Native.glRasterPos3i)
    return;

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

    traceFunction("glRasterPos3i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRasterPos3iv",&traceParam);

  if (!traceGL_Native.glRasterPos3iv)
    return;

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

    traceFunction("glRasterPos3iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRasterPos3s",&traceParam);

  if (!traceGL_Native.glRasterPos3s)
    return;

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

    traceFunction("glRasterPos3s");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRasterPos3sv",&traceParam);

  if (!traceGL_Native.glRasterPos3sv)
    return;

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

    traceFunction("glRasterPos3sv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRasterPos4d",&traceParam);

  if (!traceGL_Native.glRasterPos4d)
    return;

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

    traceFunction("glRasterPos4d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRasterPos4dv",&traceParam);

  if (!traceGL_Native.glRasterPos4dv)
    return;

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

    traceFunction("glRasterPos4dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRasterPos4f",&traceParam);

  if (!traceGL_Native.glRasterPos4f)
    return;

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

    traceFunction("glRasterPos4f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRasterPos4fv",&traceParam);

  if (!traceGL_Native.glRasterPos4fv)
    return;

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

    traceFunction("glRasterPos4fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRasterPos4i",&traceParam);

  if (!traceGL_Native.glRasterPos4i)
    return;

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

    traceFunction("glRasterPos4i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRasterPos4iv",&traceParam);

  if (!traceGL_Native.glRasterPos4iv)
    return;

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

    traceFunction("glRasterPos4iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRasterPos4s",&traceParam);

  if (!traceGL_Native.glRasterPos4s)
    return;

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

    traceFunction("glRasterPos4s");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRasterPos4sv",&traceParam);

  if (!traceGL_Native.glRasterPos4sv)
    return;

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

    traceFunction("glRasterPos4sv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRectd",&traceParam);

  if (!traceGL_Native.glRectd)
    return;

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

    traceFunction("glRectd");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRectdv",&traceParam);

  if (!traceGL_Native.glRectdv)
    return;

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

    traceFunction("glRectdv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRectf",&traceParam);

  if (!traceGL_Native.glRectf)
    return;

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

    traceFunction("glRectf");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRectfv",&traceParam);

  if (!traceGL_Native.glRectfv)
    return;

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

    traceFunction("glRectfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRecti",&traceParam);

  if (!traceGL_Native.glRecti)
    return;

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

    traceFunction("glRecti");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRectiv",&traceParam);

  if (!traceGL_Native.glRectiv)
    return;

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

    traceFunction("glRectiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRects",&traceParam);

  if (!traceGL_Native.glRects)
    return;

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

    traceFunction("glRects");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRectsv",&traceParam);

  if (!traceGL_Native.glRectsv)
    return;

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

    traceFunction("glRectsv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord1d",&traceParam);

  if (!traceGL_Native.glTexCoord1d)
    return;

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

    traceFunction("glTexCoord1d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord1dv",&traceParam);

  if (!traceGL_Native.glTexCoord1dv)
    return;

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

    traceFunction("glTexCoord1dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord1f",&traceParam);

  if (!traceGL_Native.glTexCoord1f)
    return;

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

    traceFunction("glTexCoord1f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord1fv",&traceParam);

  if (!traceGL_Native.glTexCoord1fv)
    return;

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

    traceFunction("glTexCoord1fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord1i",&traceParam);

  if (!traceGL_Native.glTexCoord1i)
    return;

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

    traceFunction("glTexCoord1i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord1iv",&traceParam);

  if (!traceGL_Native.glTexCoord1iv)
    return;

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

    traceFunction("glTexCoord1iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord1s",&traceParam);

  if (!traceGL_Native.glTexCoord1s)
    return;

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

    traceFunction("glTexCoord1s");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord1sv",&traceParam);

  if (!traceGL_Native.glTexCoord1sv)
    return;

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

    traceFunction("glTexCoord1sv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord2d",&traceParam);

  if (!traceGL_Native.glTexCoord2d)
    return;

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

    traceFunction("glTexCoord2d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord2dv",&traceParam);

  if (!traceGL_Native.glTexCoord2dv)
    return;

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

    traceFunction("glTexCoord2dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord2f",&traceParam);

  if (!traceGL_Native.glTexCoord2f)
    return;

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

    traceFunction("glTexCoord2f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord2fv",&traceParam);

  if (!traceGL_Native.glTexCoord2fv)
    return;

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

    traceFunction("glTexCoord2fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord2i",&traceParam);

  if (!traceGL_Native.glTexCoord2i)
    return;

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

    traceFunction("glTexCoord2i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord2iv",&traceParam);

  if (!traceGL_Native.glTexCoord2iv)
    return;

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

    traceFunction("glTexCoord2iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord2s",&traceParam);

  if (!traceGL_Native.glTexCoord2s)
    return;

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

    traceFunction("glTexCoord2s");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord2sv",&traceParam);

  if (!traceGL_Native.glTexCoord2sv)
    return;

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

    traceFunction("glTexCoord2sv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord3d",&traceParam);

  if (!traceGL_Native.glTexCoord3d)
    return;

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

    traceFunction("glTexCoord3d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord3dv",&traceParam);

  if (!traceGL_Native.glTexCoord3dv)
    return;

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

    traceFunction("glTexCoord3dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord3f",&traceParam);

  if (!traceGL_Native.glTexCoord3f)
    return;

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

    traceFunction("glTexCoord3f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord3fv",&traceParam);

  if (!traceGL_Native.glTexCoord3fv)
    return;

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

    traceFunction("glTexCoord3fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord3i",&traceParam);

  if (!traceGL_Native.glTexCoord3i)
    return;

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

    traceFunction("glTexCoord3i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord3iv",&traceParam);

  if (!traceGL_Native.glTexCoord3iv)
    return;

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

    traceFunction("glTexCoord3iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord3s",&traceParam);

  if (!traceGL_Native.glTexCoord3s)
    return;

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

    traceFunction("glTexCoord3s");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord3sv",&traceParam);

  if (!traceGL_Native.glTexCoord3sv)
    return;

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

    traceFunction("glTexCoord3sv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord4d",&traceParam);

  if (!traceGL_Native.glTexCoord4d)
    return;

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

    traceFunction("glTexCoord4d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord4dv",&traceParam);

  if (!traceGL_Native.glTexCoord4dv)
    return;

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

    traceFunction("glTexCoord4dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord4f",&traceParam);

  if (!traceGL_Native.glTexCoord4f)
    return;

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

    traceFunction("glTexCoord4f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord4fv",&traceParam);

  if (!traceGL_Native.glTexCoord4fv)
    return;

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

    traceFunction("glTexCoord4fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord4i",&traceParam);

  if (!traceGL_Native.glTexCoord4i)
    return;

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

    traceFunction("glTexCoord4i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord4iv",&traceParam);

  if (!traceGL_Native.glTexCoord4iv)
    return;

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

    traceFunction("glTexCoord4iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord4s",&traceParam);

  if (!traceGL_Native.glTexCoord4s)
    return;

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

    traceFunction("glTexCoord4s");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoord4sv",&traceParam);

  if (!traceGL_Native.glTexCoord4sv)
    return;

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

    traceFunction("glTexCoord4sv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glVertex2d",&traceParam);

  if (!traceGL_Native.glVertex2d)
    return;

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

    traceFunction("glVertex2d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glVertex2dv",&traceParam);

  if (!traceGL_Native.glVertex2dv)
    return;

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

    traceFunction("glVertex2dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glVertex2f",&traceParam);

  if (!traceGL_Native.glVertex2f)
    return;

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

    traceFunction("glVertex2f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glVertex2fv",&traceParam);

  if (!traceGL_Native.glVertex2fv)
    return;

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

    traceFunction("glVertex2fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glVertex2i",&traceParam);

  if (!traceGL_Native.glVertex2i)
    return;

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

    traceFunction("glVertex2i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glVertex2iv",&traceParam);

  if (!traceGL_Native.glVertex2iv)
    return;

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

    traceFunction("glVertex2iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glVertex2s",&traceParam);

  if (!traceGL_Native.glVertex2s)
    return;

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

    traceFunction("glVertex2s");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glVertex2sv",&traceParam);

  if (!traceGL_Native.glVertex2sv)
    return;

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

    traceFunction("glVertex2sv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glVertex3d",&traceParam);

  if (!traceGL_Native.glVertex3d)
    return;

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

    traceFunction("glVertex3d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glVertex3dv",&traceParam);

  if (!traceGL_Native.glVertex3dv)
    return;

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

    traceFunction("glVertex3dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glVertex3f",&traceParam);

  if (!traceGL_Native.glVertex3f)
    return;

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

    traceFunction("glVertex3f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glVertex3fv",&traceParam);

  if (!traceGL_Native.glVertex3fv)
    return;

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

    traceFunction("glVertex3fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glVertex3i",&traceParam);

  if (!traceGL_Native.glVertex3i)
    return;

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

    traceFunction("glVertex3i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glVertex3iv",&traceParam);

  if (!traceGL_Native.glVertex3iv)
    return;

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

    traceFunction("glVertex3iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glVertex3s",&traceParam);

  if (!traceGL_Native.glVertex3s)
    return;

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

    traceFunction("glVertex3s");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glVertex3sv",&traceParam);

  if (!traceGL_Native.glVertex3sv)
    return;

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

    traceFunction("glVertex3sv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glVertex4d",&traceParam);

  if (!traceGL_Native.glVertex4d)
    return;

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

    traceFunction("glVertex4d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glVertex4dv",&traceParam);

  if (!traceGL_Native.glVertex4dv)
    return;

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

    traceFunction("glVertex4dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glVertex4f",&traceParam);

  if (!traceGL_Native.glVertex4f)
    return;

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

    traceFunction("glVertex4f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glVertex4fv",&traceParam);

  if (!traceGL_Native.glVertex4fv)
    return;

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

    traceFunction("glVertex4fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glVertex4i",&traceParam);

  if (!traceGL_Native.glVertex4i)
    return;

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

    traceFunction("glVertex4i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glVertex4iv",&traceParam);

  if (!traceGL_Native.glVertex4iv)
    return;

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

    traceFunction("glVertex4iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glVertex4s",&traceParam);

  if (!traceGL_Native.glVertex4s)
    return;

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

    traceFunction("glVertex4s");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glVertex4sv",&traceParam);

  if (!traceGL_Native.glVertex4sv)
    return;

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

    traceFunction("glVertex4sv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glClipPlane",&traceParam);

  if (!traceGL_Native.glClipPlane)
    return;

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

    traceFunction("glClipPlane");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColorMaterial",&traceParam);

  if (!traceGL_Native.glColorMaterial)
    return;

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

    traceFunction("glColorMaterial");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glCullFace",&traceParam);

  if (!traceGL_Native.glCullFace)
    return;

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

    traceFunction("glCullFace");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glFogf",&traceParam);

  if (!traceGL_Native.glFogf)
    return;

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

    traceFunction("glFogf");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glFogfv",&traceParam);

  if (!traceGL_Native.glFogfv)
    return;

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

    traceFunction("glFogfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glFogi",&traceParam);

  if (!traceGL_Native.glFogi)
    return;

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

    traceFunction("glFogi");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glFogiv",&traceParam);

  if (!traceGL_Native.glFogiv)
    return;

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

    traceFunction("glFogiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glFrontFace",&traceParam);

  if (!traceGL_Native.glFrontFace)
    return;

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

    traceFunction("glFrontFace");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glHint",&traceParam);

  if (!traceGL_Native.glHint)
    return;

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

    traceFunction("glHint");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glLightf",&traceParam);

  if (!traceGL_Native.glLightf)
    return;

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

    traceFunction("glLightf");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glLightfv",&traceParam);

  if (!traceGL_Native.glLightfv)
    return;

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

    traceFunction("glLightfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glLighti",&traceParam);

  if (!traceGL_Native.glLighti)
    return;

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

    traceFunction("glLighti");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glLightiv",&traceParam);

  if (!traceGL_Native.glLightiv)
    return;

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

    traceFunction("glLightiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glLightModelf",&traceParam);

  if (!traceGL_Native.glLightModelf)
    return;

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

    traceFunction("glLightModelf");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glLightModelfv",&traceParam);

  if (!traceGL_Native.glLightModelfv)
    return;

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

    traceFunction("glLightModelfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glLightModeli",&traceParam);

  if (!traceGL_Native.glLightModeli)
    return;

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

    traceFunction("glLightModeli");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glLightModeliv",&traceParam);

  if (!traceGL_Native.glLightModeliv)
    return;

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

    traceFunction("glLightModeliv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glLineStipple",&traceParam);

  if (!traceGL_Native.glLineStipple)
    return;

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

    traceFunction("glLineStipple");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glLineWidth",&traceParam);

  if (!traceGL_Native.glLineWidth)
    return;

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

    traceFunction("glLineWidth");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMaterialf",&traceParam);

  if (!traceGL_Native.glMaterialf)
    return;

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

    traceFunction("glMaterialf");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMaterialfv",&traceParam);

  if (!traceGL_Native.glMaterialfv)
    return;

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

    traceFunction("glMaterialfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMateriali",&traceParam);

  if (!traceGL_Native.glMateriali)
    return;

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

    traceFunction("glMateriali");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMaterialiv",&traceParam);

  if (!traceGL_Native.glMaterialiv)
    return;

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

    traceFunction("glMaterialiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glPointSize",&traceParam);

  if (!traceGL_Native.glPointSize)
    return;

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

    traceFunction("glPointSize");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glPolygonMode",&traceParam);

  if (!traceGL_Native.glPolygonMode)
    return;

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

    traceFunction("glPolygonMode");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glPolygonStipple",&traceParam);

  if (!traceGL_Native.glPolygonStipple)
    return;

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

    traceFunction("glPolygonStipple");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("mask", "%cu[%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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glScissor",&traceParam);

  if (!traceGL_Native.glScissor)
    return;

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

    traceFunction("glScissor");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glShadeModel",&traceParam);

  if (!traceGL_Native.glShadeModel)
    return;

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

    traceFunction("glShadeModel");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexParameterf",&traceParam);

  if (!traceGL_Native.glTexParameterf)
    return;

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

    traceFunction("glTexParameterf");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexParameterfv",&traceParam);

  if (!traceGL_Native.glTexParameterfv)
    return;

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

    traceFunction("glTexParameterfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexParameteri",&traceParam);

  if (!traceGL_Native.glTexParameteri)
    return;

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

    traceFunction("glTexParameteri");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexParameteriv",&traceParam);

  if (!traceGL_Native.glTexParameteriv)
    return;

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

    traceFunction("glTexParameteriv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexImage1D",&traceParam);

  if (!traceGL_Native.glTexImage1D)
    return;

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

    traceFunction("glTexImage1D");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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", "%cu[%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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexImage2D",&traceParam);

  if (!traceGL_Native.glTexImage2D)
    return;

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

    traceFunction("glTexImage2D");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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", "%cu[%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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexEnvf",&traceParam);

  if (!traceGL_Native.glTexEnvf)
    return;

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

    traceFunction("glTexEnvf");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexEnvfv",&traceParam);

  if (!traceGL_Native.glTexEnvfv)
    return;

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

    traceFunction("glTexEnvfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexEnvi",&traceParam);

  if (!traceGL_Native.glTexEnvi)
    return;

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

    traceFunction("glTexEnvi");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexEnviv",&traceParam);

  if (!traceGL_Native.glTexEnviv)
    return;

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

    traceFunction("glTexEnviv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexGend",&traceParam);

  if (!traceGL_Native.glTexGend)
    return;

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

    traceFunction("glTexGend");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexGendv",&traceParam);

  if (!traceGL_Native.glTexGendv)
    return;

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

    traceFunction("glTexGendv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexGenf",&traceParam);

  if (!traceGL_Native.glTexGenf)
    return;

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

    traceFunction("glTexGenf");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexGenfv",&traceParam);

  if (!traceGL_Native.glTexGenfv)
    return;

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

    traceFunction("glTexGenfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexGeni",&traceParam);

  if (!traceGL_Native.glTexGeni)
    return;

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

    traceFunction("glTexGeni");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexGeniv",&traceParam);

  if (!traceGL_Native.glTexGeniv)
    return;

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

    traceFunction("glTexGeniv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glFeedbackBuffer",&traceParam);

  if (!traceGL_Native.glFeedbackBuffer)
    return;

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

    traceFunction("glFeedbackBuffer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glSelectBuffer",&traceParam);

  if (!traceGL_Native.glSelectBuffer)
    return;

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

    traceFunction("glSelectBuffer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("size", "%d", size);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glSelectBuffer(size, buffer);

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

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceOutputParameter("buffer", "%u[%d]", buffer, size);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLint GLAPIENTRY
glRenderMode(GLenum mode)
{
  GLint ret = 0;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRenderMode",&traceParam);

  if (!traceGL_Native.glRenderMode)
    return 0;

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

    traceFunction("glRenderMode");
    traceBegin();

    /* Encode input parameters. */

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

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glRenderMode(mode);

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

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%d", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glInitNames()
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glInitNames",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glLoadName",&traceParam);

  if (!traceGL_Native.glLoadName)
    return;

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

    traceFunction("glLoadName");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glPassThrough",&traceParam);

  if (!traceGL_Native.glPassThrough)
    return;

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

    traceFunction("glPassThrough");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glPopName",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glPushName",&traceParam);

  if (!traceGL_Native.glPushName)
    return;

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

    traceFunction("glPushName");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glDrawBuffer",&traceParam);

  if (!traceGL_Native.glDrawBuffer)
    return;

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

    traceFunction("glDrawBuffer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glClear",&traceParam);

  if (!traceGL_Native.glClear)
    return;

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

    traceFunction("glClear");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glClearAccum",&traceParam);

  if (!traceGL_Native.glClearAccum)
    return;

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

    traceFunction("glClearAccum");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glClearColor",&traceParam);

  if (!traceGL_Native.glClearColor)
    return;

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

    traceFunction("glClearColor");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glClearDepth",&traceParam);

  if (!traceGL_Native.glClearDepth)
    return;

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

    traceFunction("glClearDepth");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glClearIndex",&traceParam);

  if (!traceGL_Native.glClearIndex)
    return;

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

    traceFunction("glClearIndex");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glClearStencil",&traceParam);

  if (!traceGL_Native.glClearStencil)
    return;

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

    traceFunction("glClearStencil");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColorMask",&traceParam);

  if (!traceGL_Native.glColorMask)
    return;

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

    traceFunction("glColorMask");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glDepthMask",&traceParam);

  if (!traceGL_Native.glDepthMask)
    return;

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

    traceFunction("glDepthMask");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glIndexMask",&traceParam);

  if (!traceGL_Native.glIndexMask)
    return;

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

    traceFunction("glIndexMask");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glStencilMask",&traceParam);

  if (!traceGL_Native.glStencilMask)
    return;

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

    traceFunction("glStencilMask");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glAccum",&traceParam);

  if (!traceGL_Native.glAccum)
    return;

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

    traceFunction("glAccum");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glDisable",&traceParam);

  if (!traceGL_Native.glDisable)
    return;

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

    traceFunction("glDisable");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glEnable",&traceParam);

  if (!traceGL_Native.glEnable)
    return;

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

    traceFunction("glEnable");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glFinish",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glFlush",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glPopAttrib",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glPushAttrib",&traceParam);

  if (!traceGL_Native.glPushAttrib)
    return;

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

    traceFunction("glPushAttrib");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMap1d",&traceParam);

  if (!traceGL_Native.glMap1d)
    return;

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

    traceFunction("glMap1d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMap1f",&traceParam);

  if (!traceGL_Native.glMap1f)
    return;

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

    traceFunction("glMap1f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMap2d",&traceParam);

  if (!traceGL_Native.glMap2d)
    return;

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

    traceFunction("glMap2d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMap2f",&traceParam);

  if (!traceGL_Native.glMap2f)
    return;

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

    traceFunction("glMap2f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMapGrid1d",&traceParam);

  if (!traceGL_Native.glMapGrid1d)
    return;

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

    traceFunction("glMapGrid1d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMapGrid1f",&traceParam);

  if (!traceGL_Native.glMapGrid1f)
    return;

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

    traceFunction("glMapGrid1f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMapGrid2d",&traceParam);

  if (!traceGL_Native.glMapGrid2d)
    return;

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

    traceFunction("glMapGrid2d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMapGrid2f",&traceParam);

  if (!traceGL_Native.glMapGrid2f)
    return;

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

    traceFunction("glMapGrid2f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glEvalCoord1d",&traceParam);

  if (!traceGL_Native.glEvalCoord1d)
    return;

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

    traceFunction("glEvalCoord1d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glEvalCoord1dv",&traceParam);

  if (!traceGL_Native.glEvalCoord1dv)
    return;

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

    traceFunction("glEvalCoord1dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glEvalCoord1f",&traceParam);

  if (!traceGL_Native.glEvalCoord1f)
    return;

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

    traceFunction("glEvalCoord1f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glEvalCoord1fv",&traceParam);

  if (!traceGL_Native.glEvalCoord1fv)
    return;

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

    traceFunction("glEvalCoord1fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glEvalCoord2d",&traceParam);

  if (!traceGL_Native.glEvalCoord2d)
    return;

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

    traceFunction("glEvalCoord2d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glEvalCoord2dv",&traceParam);

  if (!traceGL_Native.glEvalCoord2dv)
    return;

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

    traceFunction("glEvalCoord2dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glEvalCoord2f",&traceParam);

  if (!traceGL_Native.glEvalCoord2f)
    return;

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

    traceFunction("glEvalCoord2f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glEvalCoord2fv",&traceParam);

  if (!traceGL_Native.glEvalCoord2fv)
    return;

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

    traceFunction("glEvalCoord2fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glEvalMesh1",&traceParam);

  if (!traceGL_Native.glEvalMesh1)
    return;

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

    traceFunction("glEvalMesh1");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glEvalMesh2",&traceParam);

  if (!traceGL_Native.glEvalMesh2)
    return;

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

    traceFunction("glEvalMesh2");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glEvalPoint1",&traceParam);

  if (!traceGL_Native.glEvalPoint1)
    return;

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

    traceFunction("glEvalPoint1");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glEvalPoint2",&traceParam);

  if (!traceGL_Native.glEvalPoint2)
    return;

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

    traceFunction("glEvalPoint2");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glAlphaFunc",&traceParam);

  if (!traceGL_Native.glAlphaFunc)
    return;

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

    traceFunction("glAlphaFunc");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glBlendFunc",&traceParam);

  if (!traceGL_Native.glBlendFunc)
    return;

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

    traceFunction("glBlendFunc");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glDepthFunc",&traceParam);

  if (!traceGL_Native.glDepthFunc)
    return;

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

    traceFunction("glDepthFunc");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glStencilFunc",&traceParam);

  if (!traceGL_Native.glStencilFunc)
    return;

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

    traceFunction("glStencilFunc");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glLogicOp",&traceParam);

  if (!traceGL_Native.glLogicOp)
    return;

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

    traceFunction("glLogicOp");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glStencilOp",&traceParam);

  if (!traceGL_Native.glStencilOp)
    return;

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

    traceFunction("glStencilOp");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glPixelZoom",&traceParam);

  if (!traceGL_Native.glPixelZoom)
    return;

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

    traceFunction("glPixelZoom");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glPixelTransferf",&traceParam);

  if (!traceGL_Native.glPixelTransferf)
    return;

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

    traceFunction("glPixelTransferf");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glPixelTransferi",&traceParam);

  if (!traceGL_Native.glPixelTransferi)
    return;

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

    traceFunction("glPixelTransferi");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glPixelStoref",&traceParam);

  if (!traceGL_Native.glPixelStoref)
    return;

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

    traceFunction("glPixelStoref");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glPixelStorei",&traceParam);

  if (!traceGL_Native.glPixelStorei)
    return;

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

    traceFunction("glPixelStorei");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glPixelMapfv",&traceParam);

  if (!traceGL_Native.glPixelMapfv)
    return;

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

    traceFunction("glPixelMapfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glPixelMapuiv",&traceParam);

  if (!traceGL_Native.glPixelMapuiv)
    return;

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

    traceFunction("glPixelMapuiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glPixelMapusv",&traceParam);

  if (!traceGL_Native.glPixelMapusv)
    return;

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

    traceFunction("glPixelMapusv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glReadBuffer",&traceParam);

  if (!traceGL_Native.glReadBuffer)
    return;

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

    traceFunction("glReadBuffer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glCopyPixels",&traceParam);

  if (!traceGL_Native.glCopyPixels)
    return;

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

    traceFunction("glCopyPixels");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glReadPixels",&traceParam);

  if (!traceGL_Native.glReadPixels)
    return;

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

    traceFunction("glReadPixels");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("pixels", "%cu[%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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glDrawPixels",&traceParam);

  if (!traceGL_Native.glDrawPixels)
    return;

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

    traceFunction("glDrawPixels");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      traceInputParameter("width", "%d", width);
      traceInputParameter("height", "%d", height);
      traceInputParameter("format", "%u", format);
      traceInputParameter("type", "%u", type);
      traceInputParameter("pixels", "%cu[%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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetBooleanv",&traceParam);

  if (!traceGL_Native.glGetBooleanv)
    return;

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

    traceFunction("glGetBooleanv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetDoublev",&traceParam);

  if (!traceGL_Native.glGetDoublev)
    return;

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

    traceFunction("glGetDoublev");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetFloatv",&traceParam);

  if (!traceGL_Native.glGetFloatv)
    return;

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

    traceFunction("glGetFloatv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetIntegerv",&traceParam);

  if (!traceGL_Native.glGetIntegerv)
    return;

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

    traceFunction("glGetIntegerv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetClipPlane",&traceParam);

  if (!traceGL_Native.glGetClipPlane)
    return;

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

    traceFunction("glGetClipPlane");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("plane", "%u", plane);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetClipPlane(plane, equation);

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

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceOutputParameter("equation", "%lf[%d]", equation, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLenum GLAPIENTRY
glGetError()
{
  GLenum ret = 0;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetError",&traceParam);

  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. */

    if (traceParam)
      traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetLightfv(GLenum light, GLenum pname, GLfloat *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetLightfv",&traceParam);

  if (!traceGL_Native.glGetLightfv)
    return;

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

    traceFunction("glGetLightfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetLightiv",&traceParam);

  if (!traceGL_Native.glGetLightiv)
    return;

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

    traceFunction("glGetLightiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetMapdv",&traceParam);

  if (!traceGL_Native.glGetMapdv)
    return;

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

    traceFunction("glGetMapdv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetMapfv",&traceParam);

  if (!traceGL_Native.glGetMapfv)
    return;

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

    traceFunction("glGetMapfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetMapiv",&traceParam);

  if (!traceGL_Native.glGetMapiv)
    return;

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

    traceFunction("glGetMapiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetMaterialfv",&traceParam);

  if (!traceGL_Native.glGetMaterialfv)
    return;

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

    traceFunction("glGetMaterialfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetMaterialiv",&traceParam);

  if (!traceGL_Native.glGetMaterialiv)
    return;

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

    traceFunction("glGetMaterialiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetPixelMapfv",&traceParam);

  if (!traceGL_Native.glGetPixelMapfv)
    return;

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

    traceFunction("glGetPixelMapfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetPixelMapuiv",&traceParam);

  if (!traceGL_Native.glGetPixelMapuiv)
    return;

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

    traceFunction("glGetPixelMapuiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetPixelMapusv",&traceParam);

  if (!traceGL_Native.glGetPixelMapusv)
    return;

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

    traceFunction("glGetPixelMapusv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetPolygonStipple",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetString",&traceParam);

  if (!traceGL_Native.glGetString)
    return NULL;

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

    traceFunction("glGetString");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("name", "%u", name);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGetString(name);

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

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%s", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetTexEnvfv",&traceParam);

  if (!traceGL_Native.glGetTexEnvfv)
    return;

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

    traceFunction("glGetTexEnvfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetTexEnviv",&traceParam);

  if (!traceGL_Native.glGetTexEnviv)
    return;

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

    traceFunction("glGetTexEnviv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetTexGendv",&traceParam);

  if (!traceGL_Native.glGetTexGendv)
    return;

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

    traceFunction("glGetTexGendv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetTexGenfv",&traceParam);

  if (!traceGL_Native.glGetTexGenfv)
    return;

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

    traceFunction("glGetTexGenfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetTexGeniv",&traceParam);

  if (!traceGL_Native.glGetTexGeniv)
    return;

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

    traceFunction("glGetTexGeniv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetTexImage",&traceParam);

  if (!traceGL_Native.glGetTexImage)
    return;

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

    traceFunction("glGetTexImage");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("pixels", "%p", pixels);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetTexParameterfv",&traceParam);

  if (!traceGL_Native.glGetTexParameterfv)
    return;

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

    traceFunction("glGetTexParameterfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetTexParameteriv",&traceParam);

  if (!traceGL_Native.glGetTexParameteriv)
    return;

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

    traceFunction("glGetTexParameteriv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetTexLevelParameterfv",&traceParam);

  if (!traceGL_Native.glGetTexLevelParameterfv)
    return;

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

    traceFunction("glGetTexLevelParameterfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetTexLevelParameteriv",&traceParam);

  if (!traceGL_Native.glGetTexLevelParameteriv)
    return;

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

    traceFunction("glGetTexLevelParameteriv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glIsEnabled",&traceParam);

  if (!traceGL_Native.glIsEnabled)
    return GL_FALSE;

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

    traceFunction("glIsEnabled");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("cap", "%u", cap);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsEnabled(cap);

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

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLboolean GLAPIENTRY
glIsList(GLuint list)
{
  GLboolean ret = GL_FALSE;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glIsList",&traceParam);

  if (!traceGL_Native.glIsList)
    return GL_FALSE;

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

    traceFunction("glIsList");
    traceBegin();

    /* Encode input parameters. */

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

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsList(list);

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

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glDepthRange(GLclampd zNear, GLclampd zFar)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glDepthRange",&traceParam);

  if (!traceGL_Native.glDepthRange)
    return;

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

    traceFunction("glDepthRange");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glFrustum",&traceParam);

  if (!traceGL_Native.glFrustum)
    return;

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

    traceFunction("glFrustum");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glLoadIdentity",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glLoadMatrixd",&traceParam);

  if (!traceGL_Native.glLoadMatrixd)
    return;

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

    traceFunction("glLoadMatrixd");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glLoadMatrixf",&traceParam);

  if (!traceGL_Native.glLoadMatrixf)
    return;

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

    traceFunction("glLoadMatrixf");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMatrixMode",&traceParam);

  if (!traceGL_Native.glMatrixMode)
    return;

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

    traceFunction("glMatrixMode");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMultMatrixd",&traceParam);

  if (!traceGL_Native.glMultMatrixd)
    return;

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

    traceFunction("glMultMatrixd");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMultMatrixf",&traceParam);

  if (!traceGL_Native.glMultMatrixf)
    return;

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

    traceFunction("glMultMatrixf");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glOrtho",&traceParam);

  if (!traceGL_Native.glOrtho)
    return;

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

    traceFunction("glOrtho");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glPopMatrix",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glPushMatrix",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRotated",&traceParam);

  if (!traceGL_Native.glRotated)
    return;

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

    traceFunction("glRotated");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glRotatef",&traceParam);

  if (!traceGL_Native.glRotatef)
    return;

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

    traceFunction("glRotatef");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glScaled",&traceParam);

  if (!traceGL_Native.glScaled)
    return;

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

    traceFunction("glScaled");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glScalef",&traceParam);

  if (!traceGL_Native.glScalef)
    return;

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

    traceFunction("glScalef");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTranslated",&traceParam);

  if (!traceGL_Native.glTranslated)
    return;

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

    traceFunction("glTranslated");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTranslatef",&traceParam);

  if (!traceGL_Native.glTranslatef)
    return;

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

    traceFunction("glTranslatef");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glViewport",&traceParam);

  if (!traceGL_Native.glViewport)
    return;

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

    traceFunction("glViewport");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glArrayElement",&traceParam);

  if (!traceGL_Native.glArrayElement)
    return;

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

    traceFunction("glArrayElement");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glDrawArrays",&traceParam);

  if (!traceGL_Native.glDrawArrays)
    return;

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

    traceFunction("glDrawArrays");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glDrawElements",&traceParam);

  if (!traceGL_Native.glDrawElements)
    return;

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

    traceFunction("glDrawElements");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glInterleavedArrays",&traceParam);

  if (!traceGL_Native.glInterleavedArrays)
    return;

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

    traceFunction("glInterleavedArrays");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glDisableClientState",&traceParam);

  if (!traceGL_Native.glDisableClientState)
    return;

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

    traceFunction("glDisableClientState");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glEnableClientState",&traceParam);

  if (!traceGL_Native.glEnableClientState)
    return;

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

    traceFunction("glEnableClientState");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetPointerv",&traceParam);

  if (!traceGL_Native.glGetPointerv)
    return;

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

    traceFunction("glGetPointerv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColorPointer",&traceParam);

  if (!traceGL_Native.glColorPointer)
    return;

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

    traceFunction("glColorPointer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glEdgeFlagPointer",&traceParam);

  if (!traceGL_Native.glEdgeFlagPointer)
    return;

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

    traceFunction("glEdgeFlagPointer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glIndexPointer",&traceParam);

  if (!traceGL_Native.glIndexPointer)
    return;

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

    traceFunction("glIndexPointer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glNormalPointer",&traceParam);

  if (!traceGL_Native.glNormalPointer)
    return;

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

    traceFunction("glNormalPointer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexCoordPointer",&traceParam);

  if (!traceGL_Native.glTexCoordPointer)
    return;

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

    traceFunction("glTexCoordPointer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glVertexPointer",&traceParam);

  if (!traceGL_Native.glVertexPointer)
    return;

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

    traceFunction("glVertexPointer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glPolygonOffset",&traceParam);

  if (!traceGL_Native.glPolygonOffset)
    return;

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

    traceFunction("glPolygonOffset");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glCopyTexImage1D",&traceParam);

  if (!traceGL_Native.glCopyTexImage1D)
    return;

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

    traceFunction("glCopyTexImage1D");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glCopyTexImage2D",&traceParam);

  if (!traceGL_Native.glCopyTexImage2D)
    return;

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

    traceFunction("glCopyTexImage2D");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glCopyTexSubImage1D",&traceParam);

  if (!traceGL_Native.glCopyTexSubImage1D)
    return;

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

    traceFunction("glCopyTexSubImage1D");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glCopyTexSubImage2D",&traceParam);

  if (!traceGL_Native.glCopyTexSubImage2D)
    return;

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

    traceFunction("glCopyTexSubImage2D");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexSubImage1D",&traceParam);

  if (!traceGL_Native.glTexSubImage1D)
    return;

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

    traceFunction("glTexSubImage1D");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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", "%cu[%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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexSubImage2D",&traceParam);

  if (!traceGL_Native.glTexSubImage2D)
    return;

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

    traceFunction("glTexSubImage2D");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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", "%cu[%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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glAreTexturesResident",&traceParam);

  if (!traceGL_Native.glAreTexturesResident)
    return GL_FALSE;

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

    traceFunction("glAreTexturesResident");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glBindTexture",&traceParam);

  if (!traceGL_Native.glBindTexture)
    return;

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

    traceFunction("glBindTexture");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glDeleteTextures",&traceParam);

  if (!traceGL_Native.glDeleteTextures)
    return;

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

    traceFunction("glDeleteTextures");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGenTextures",&traceParam);

  if (!traceGL_Native.glGenTextures)
    return;

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

    traceFunction("glGenTextures");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenTextures(n, textures);

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

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceOutputParameter("textures", "%u[%d]", textures, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsTexture(GLuint texture)
{
  GLboolean ret = GL_FALSE;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glIsTexture",&traceParam);

  if (!traceGL_Native.glIsTexture)
    return GL_FALSE;

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

    traceFunction("glIsTexture");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("texture", "%u", texture);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsTexture(texture);

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

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glPrioritizeTextures",&traceParam);

  if (!traceGL_Native.glPrioritizeTextures)
    return;

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

    traceFunction("glPrioritizeTextures");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glIndexub",&traceParam);

  if (!traceGL_Native.glIndexub)
    return;

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

    traceFunction("glIndexub");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glIndexubv",&traceParam);

  if (!traceGL_Native.glIndexubv)
    return;

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

    traceFunction("glIndexubv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glPopClientAttrib",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glPushClientAttrib",&traceParam);

  if (!traceGL_Native.glPushClientAttrib)
    return;

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

    traceFunction("glPushClientAttrib");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glBlendColor",&traceParam);

  if (!traceGL_Native.glBlendColor)
    return;

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

    traceFunction("glBlendColor");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glBlendEquation",&traceParam);

  if (!traceGL_Native.glBlendEquation)
    return;

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

    traceFunction("glBlendEquation");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glDrawRangeElements",&traceParam);

  if (!traceGL_Native.glDrawRangeElements)
    return;

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

    traceFunction("glDrawRangeElements");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexImage3D",&traceParam);

  if (!traceGL_Native.glTexImage3D)
    return;

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

    traceFunction("glTexImage3D");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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", "%cu[%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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glTexSubImage3D",&traceParam);

  if (!traceGL_Native.glTexSubImage3D)
    return;

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

    traceFunction("glTexSubImage3D");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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", "%cu[%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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glCopyTexSubImage3D",&traceParam);

  if (!traceGL_Native.glCopyTexSubImage3D)
    return;

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

    traceFunction("glCopyTexSubImage3D");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColorTable",&traceParam);

  if (!traceGL_Native.glColorTable)
    return;

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

    traceFunction("glColorTable");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColorTableParameterfv",&traceParam);

  if (!traceGL_Native.glColorTableParameterfv)
    return;

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

    traceFunction("glColorTableParameterfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColorTableParameteriv",&traceParam);

  if (!traceGL_Native.glColorTableParameteriv)
    return;

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

    traceFunction("glColorTableParameteriv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glCopyColorTable",&traceParam);

  if (!traceGL_Native.glCopyColorTable)
    return;

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

    traceFunction("glCopyColorTable");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetColorTable",&traceParam);

  if (!traceGL_Native.glGetColorTable)
    return;

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

    traceFunction("glGetColorTable");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("table", "%p", table);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetColorTableParameterfv",&traceParam);

  if (!traceGL_Native.glGetColorTableParameterfv)
    return;

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

    traceFunction("glGetColorTableParameterfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetColorTableParameteriv",&traceParam);

  if (!traceGL_Native.glGetColorTableParameteriv)
    return;

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

    traceFunction("glGetColorTableParameteriv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glColorSubTable",&traceParam);

  if (!traceGL_Native.glColorSubTable)
    return;

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

    traceFunction("glColorSubTable");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glCopyColorSubTable",&traceParam);

  if (!traceGL_Native.glCopyColorSubTable)
    return;

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

    traceFunction("glCopyColorSubTable");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glConvolutionFilter1D",&traceParam);

  if (!traceGL_Native.glConvolutionFilter1D)
    return;

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

    traceFunction("glConvolutionFilter1D");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glConvolutionFilter2D",&traceParam);

  if (!traceGL_Native.glConvolutionFilter2D)
    return;

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

    traceFunction("glConvolutionFilter2D");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glConvolutionParameterf",&traceParam);

  if (!traceGL_Native.glConvolutionParameterf)
    return;

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

    traceFunction("glConvolutionParameterf");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glConvolutionParameterfv",&traceParam);

  if (!traceGL_Native.glConvolutionParameterfv)
    return;

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

    traceFunction("glConvolutionParameterfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glConvolutionParameteri",&traceParam);

  if (!traceGL_Native.glConvolutionParameteri)
    return;

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

    traceFunction("glConvolutionParameteri");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glConvolutionParameteriv",&traceParam);

  if (!traceGL_Native.glConvolutionParameteriv)
    return;

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

    traceFunction("glConvolutionParameteriv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glCopyConvolutionFilter1D",&traceParam);

  if (!traceGL_Native.glCopyConvolutionFilter1D)
    return;

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

    traceFunction("glCopyConvolutionFilter1D");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glCopyConvolutionFilter2D",&traceParam);

  if (!traceGL_Native.glCopyConvolutionFilter2D)
    return;

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

    traceFunction("glCopyConvolutionFilter2D");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetConvolutionFilter",&traceParam);

  if (!traceGL_Native.glGetConvolutionFilter)
    return;

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

    traceFunction("glGetConvolutionFilter");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("image", "%p", image);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetConvolutionParameterfv",&traceParam);

  if (!traceGL_Native.glGetConvolutionParameterfv)
    return;

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

    traceFunction("glGetConvolutionParameterfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetConvolutionParameteriv",&traceParam);

  if (!traceGL_Native.glGetConvolutionParameteriv)
    return;

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

    traceFunction("glGetConvolutionParameteriv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetSeparableFilter",&traceParam);

  if (!traceGL_Native.glGetSeparableFilter)
    return;

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

    traceFunction("glGetSeparableFilter");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glSeparableFilter2D",&traceParam);

  if (!traceGL_Native.glSeparableFilter2D)
    return;

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

    traceFunction("glSeparableFilter2D");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetHistogram",&traceParam);

  if (!traceGL_Native.glGetHistogram)
    return;

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

    traceFunction("glGetHistogram");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("values", "%p", values);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetHistogramParameterfv",&traceParam);

  if (!traceGL_Native.glGetHistogramParameterfv)
    return;

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

    traceFunction("glGetHistogramParameterfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetHistogramParameteriv",&traceParam);

  if (!traceGL_Native.glGetHistogramParameteriv)
    return;

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

    traceFunction("glGetHistogramParameteriv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetMinmax",&traceParam);

  if (!traceGL_Native.glGetMinmax)
    return;

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

    traceFunction("glGetMinmax");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("values", "%p", values);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetMinmaxParameterfv",&traceParam);

  if (!traceGL_Native.glGetMinmaxParameterfv)
    return;

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

    traceFunction("glGetMinmaxParameterfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetMinmaxParameteriv",&traceParam);

  if (!traceGL_Native.glGetMinmaxParameteriv)
    return;

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

    traceFunction("glGetMinmaxParameteriv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glHistogram",&traceParam);

  if (!traceGL_Native.glHistogram)
    return;

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

    traceFunction("glHistogram");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMinmax",&traceParam);

  if (!traceGL_Native.glMinmax)
    return;

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

    traceFunction("glMinmax");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glResetHistogram",&traceParam);

  if (!traceGL_Native.glResetHistogram)
    return;

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

    traceFunction("glResetHistogram");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glResetMinmax",&traceParam);

  if (!traceGL_Native.glResetMinmax)
    return;

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

    traceFunction("glResetMinmax");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glActiveTexture",&traceParam);

  if (!traceGL_Native.glActiveTexture)
    return;

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

    traceFunction("glActiveTexture");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glSampleCoverage",&traceParam);

  if (!traceGL_Native.glSampleCoverage)
    return;

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

    traceFunction("glSampleCoverage");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glCompressedTexImage3D",&traceParam);

  if (!traceGL_Native.glCompressedTexImage3D)
    return;

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

    traceFunction("glCompressedTexImage3D");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glCompressedTexImage2D",&traceParam);

  if (!traceGL_Native.glCompressedTexImage2D)
    return;

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

    traceFunction("glCompressedTexImage2D");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glCompressedTexImage1D",&traceParam);

  if (!traceGL_Native.glCompressedTexImage1D)
    return;

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

    traceFunction("glCompressedTexImage1D");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glCompressedTexSubImage3D",&traceParam);

  if (!traceGL_Native.glCompressedTexSubImage3D)
    return;

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

    traceFunction("glCompressedTexSubImage3D");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glCompressedTexSubImage2D",&traceParam);

  if (!traceGL_Native.glCompressedTexSubImage2D)
    return;

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

    traceFunction("glCompressedTexSubImage2D");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glCompressedTexSubImage1D",&traceParam);

  if (!traceGL_Native.glCompressedTexSubImage1D)
    return;

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

    traceFunction("glCompressedTexSubImage1D");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glGetCompressedTexImage",&traceParam);

  if (!traceGL_Native.glGetCompressedTexImage)
    return;

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

    traceFunction("glGetCompressedTexImage");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("img", "%p", img);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glClientActiveTexture(GLenum texture)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glClientActiveTexture",&traceParam);

  if (!traceGL_Native.glClientActiveTexture)
    return;

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

    traceFunction("glClientActiveTexture");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMultiTexCoord1d",&traceParam);

  if (!traceGL_Native.glMultiTexCoord1d)
    return;

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

    traceFunction("glMultiTexCoord1d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMultiTexCoord1dv",&traceParam);

  if (!traceGL_Native.glMultiTexCoord1dv)
    return;

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

    traceFunction("glMultiTexCoord1dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMultiTexCoord1f",&traceParam);

  if (!traceGL_Native.glMultiTexCoord1f)
    return;

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

    traceFunction("glMultiTexCoord1f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMultiTexCoord1fv",&traceParam);

  if (!traceGL_Native.glMultiTexCoord1fv)
    return;

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

    traceFunction("glMultiTexCoord1fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMultiTexCoord1i",&traceParam);

  if (!traceGL_Native.glMultiTexCoord1i)
    return;

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

    traceFunction("glMultiTexCoord1i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMultiTexCoord1iv",&traceParam);

  if (!traceGL_Native.glMultiTexCoord1iv)
    return;

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

    traceFunction("glMultiTexCoord1iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMultiTexCoord1s",&traceParam);

  if (!traceGL_Native.glMultiTexCoord1s)
    return;

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

    traceFunction("glMultiTexCoord1s");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMultiTexCoord1sv",&traceParam);

  if (!traceGL_Native.glMultiTexCoord1sv)
    return;

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

    traceFunction("glMultiTexCoord1sv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMultiTexCoord2d",&traceParam);

  if (!traceGL_Native.glMultiTexCoord2d)
    return;

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

    traceFunction("glMultiTexCoord2d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMultiTexCoord2dv",&traceParam);

  if (!traceGL_Native.glMultiTexCoord2dv)
    return;

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

    traceFunction("glMultiTexCoord2dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMultiTexCoord2f",&traceParam);

  if (!traceGL_Native.glMultiTexCoord2f)
    return;

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

    traceFunction("glMultiTexCoord2f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMultiTexCoord2fv",&traceParam);

  if (!traceGL_Native.glMultiTexCoord2fv)
    return;

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

    traceFunction("glMultiTexCoord2fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMultiTexCoord2i",&traceParam);

  if (!traceGL_Native.glMultiTexCoord2i)
    return;

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

    traceFunction("glMultiTexCoord2i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMultiTexCoord2iv",&traceParam);

  if (!traceGL_Native.glMultiTexCoord2iv)
    return;

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

    traceFunction("glMultiTexCoord2iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMultiTexCoord2s",&traceParam);

  if (!traceGL_Native.glMultiTexCoord2s)
    return;

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

    traceFunction("glMultiTexCoord2s");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

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

  traceThis = traceEnabled("glMultiTexCoord2sv",&traceParam);

  if (!traceGL_Native.glMultiTexCoord2sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2sv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3d)
    traceGL_lookupNativeAddress("glMultiTexCoord3d", (void **) &traceGL_Native.glMultiTexCoord3d);

  traceThis = traceEnabled("glMultiTexCoord3d",&traceParam);

  if (!traceGL_Native.glMultiTexCoord3d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3dv)
    traceGL_lookupNativeAddress("glMultiTexCoord3dv", (void **) &traceGL_Native.glMultiTexCoord3dv);

  traceThis = traceEnabled("glMultiTexCoord3dv",&traceParam);

  if (!traceGL_Native.glMultiTexCoord3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3f)
    traceGL_lookupNativeAddress("glMultiTexCoord3f", (void **) &traceGL_Native.glMultiTexCoord3f);

  traceThis = traceEnabled("glMultiTexCoord3f",&traceParam);

  if (!traceGL_Native.glMultiTexCoord3f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3fv)
    traceGL_lookupNativeAddress("glMultiTexCoord3fv", (void **) &traceGL_Native.glMultiTexCoord3fv);

  traceThis = traceEnabled("glMultiTexCoord3fv",&traceParam);

  if (!traceGL_Native.glMultiTexCoord3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3i)
    traceGL_lookupNativeAddress("glMultiTexCoord3i", (void **) &traceGL_Native.glMultiTexCoord3i);

  traceThis = traceEnabled("glMultiTexCoord3i",&traceParam);

  if (!traceGL_Native.glMultiTexCoord3i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3iv)
    traceGL_lookupNativeAddress("glMultiTexCoord3iv", (void **) &traceGL_Native.glMultiTexCoord3iv);

  traceThis = traceEnabled("glMultiTexCoord3iv",&traceParam);

  if (!traceGL_Native.glMultiTexCoord3iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3s)
    traceGL_lookupNativeAddress("glMultiTexCoord3s", (void **) &traceGL_Native.glMultiTexCoord3s);

  traceThis = traceEnabled("glMultiTexCoord3s",&traceParam);

  if (!traceGL_Native.glMultiTexCoord3s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3s");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3sv)
    traceGL_lookupNativeAddress("glMultiTexCoord3sv", (void **) &traceGL_Native.glMultiTexCoord3sv);

  traceThis = traceEnabled("glMultiTexCoord3sv",&traceParam);

  if (!traceGL_Native.glMultiTexCoord3sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3sv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4d)
    traceGL_lookupNativeAddress("glMultiTexCoord4d", (void **) &traceGL_Native.glMultiTexCoord4d);

  traceThis = traceEnabled("glMultiTexCoord4d",&traceParam);

  if (!traceGL_Native.glMultiTexCoord4d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4dv)
    traceGL_lookupNativeAddress("glMultiTexCoord4dv", (void **) &traceGL_Native.glMultiTexCoord4dv);

  traceThis = traceEnabled("glMultiTexCoord4dv",&traceParam);

  if (!traceGL_Native.glMultiTexCoord4dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4f)
    traceGL_lookupNativeAddress("glMultiTexCoord4f", (void **) &traceGL_Native.glMultiTexCoord4f);

  traceThis = traceEnabled("glMultiTexCoord4f",&traceParam);

  if (!traceGL_Native.glMultiTexCoord4f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4fv)
    traceGL_lookupNativeAddress("glMultiTexCoord4fv", (void **) &traceGL_Native.glMultiTexCoord4fv);

  traceThis = traceEnabled("glMultiTexCoord4fv",&traceParam);

  if (!traceGL_Native.glMultiTexCoord4fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4i)
    traceGL_lookupNativeAddress("glMultiTexCoord4i", (void **) &traceGL_Native.glMultiTexCoord4i);

  traceThis = traceEnabled("glMultiTexCoord4i",&traceParam);

  if (!traceGL_Native.glMultiTexCoord4i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4iv)
    traceGL_lookupNativeAddress("glMultiTexCoord4iv", (void **) &traceGL_Native.glMultiTexCoord4iv);

  traceThis = traceEnabled("glMultiTexCoord4iv",&traceParam);

  if (!traceGL_Native.glMultiTexCoord4iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4s)
    traceGL_lookupNativeAddress("glMultiTexCoord4s", (void **) &traceGL_Native.glMultiTexCoord4s);

  traceThis = traceEnabled("glMultiTexCoord4s",&traceParam);

  if (!traceGL_Native.glMultiTexCoord4s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4s");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4sv)
    traceGL_lookupNativeAddress("glMultiTexCoord4sv", (void **) &traceGL_Native.glMultiTexCoord4sv);

  traceThis = traceEnabled("glMultiTexCoord4sv",&traceParam);

  if (!traceGL_Native.glMultiTexCoord4sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4sv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLoadTransposeMatrixf)
    traceGL_lookupNativeAddress("glLoadTransposeMatrixf", (void **) &traceGL_Native.glLoadTransposeMatrixf);

  traceThis = traceEnabled("glLoadTransposeMatrixf",&traceParam);

  if (!traceGL_Native.glLoadTransposeMatrixf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLoadTransposeMatrixf");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLoadTransposeMatrixd)
    traceGL_lookupNativeAddress("glLoadTransposeMatrixd", (void **) &traceGL_Native.glLoadTransposeMatrixd);

  traceThis = traceEnabled("glLoadTransposeMatrixd",&traceParam);

  if (!traceGL_Native.glLoadTransposeMatrixd)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLoadTransposeMatrixd");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultTransposeMatrixf)
    traceGL_lookupNativeAddress("glMultTransposeMatrixf", (void **) &traceGL_Native.glMultTransposeMatrixf);

  traceThis = traceEnabled("glMultTransposeMatrixf",&traceParam);

  if (!traceGL_Native.glMultTransposeMatrixf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultTransposeMatrixf");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultTransposeMatrixd)
    traceGL_lookupNativeAddress("glMultTransposeMatrixd", (void **) &traceGL_Native.glMultTransposeMatrixd);

  traceThis = traceEnabled("glMultTransposeMatrixd",&traceParam);

  if (!traceGL_Native.glMultTransposeMatrixd)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultTransposeMatrixd");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendFuncSeparate)
    traceGL_lookupNativeAddress("glBlendFuncSeparate", (void **) &traceGL_Native.glBlendFuncSeparate);

  traceThis = traceEnabled("glBlendFuncSeparate",&traceParam);

  if (!traceGL_Native.glBlendFuncSeparate)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendFuncSeparate");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiDrawArrays)
    traceGL_lookupNativeAddress("glMultiDrawArrays", (void **) &traceGL_Native.glMultiDrawArrays);

  traceThis = traceEnabled("glMultiDrawArrays",&traceParam);

  if (!traceGL_Native.glMultiDrawArrays)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiDrawArrays");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiDrawElements)
    traceGL_lookupNativeAddress("glMultiDrawElements", (void **) &traceGL_Native.glMultiDrawElements);

  traceThis = traceEnabled("glMultiDrawElements",&traceParam);

  if (!traceGL_Native.glMultiDrawElements)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiDrawElements");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPointParameterf)
    traceGL_lookupNativeAddress("glPointParameterf", (void **) &traceGL_Native.glPointParameterf);

  traceThis = traceEnabled("glPointParameterf",&traceParam);

  if (!traceGL_Native.glPointParameterf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPointParameterf");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPointParameterfv)
    traceGL_lookupNativeAddress("glPointParameterfv", (void **) &traceGL_Native.glPointParameterfv);

  traceThis = traceEnabled("glPointParameterfv",&traceParam);

  if (!traceGL_Native.glPointParameterfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPointParameterfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPointParameteri)
    traceGL_lookupNativeAddress("glPointParameteri", (void **) &traceGL_Native.glPointParameteri);

  traceThis = traceEnabled("glPointParameteri",&traceParam);

  if (!traceGL_Native.glPointParameteri)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPointParameteri");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPointParameteriv)
    traceGL_lookupNativeAddress("glPointParameteriv", (void **) &traceGL_Native.glPointParameteriv);

  traceThis = traceEnabled("glPointParameteriv",&traceParam);

  if (!traceGL_Native.glPointParameteriv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPointParameteriv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoordf)
    traceGL_lookupNativeAddress("glFogCoordf", (void **) &traceGL_Native.glFogCoordf);

  traceThis = traceEnabled("glFogCoordf",&traceParam);

  if (!traceGL_Native.glFogCoordf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoordf");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoordfv)
    traceGL_lookupNativeAddress("glFogCoordfv", (void **) &traceGL_Native.glFogCoordfv);

  traceThis = traceEnabled("glFogCoordfv",&traceParam);

  if (!traceGL_Native.glFogCoordfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoordfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoordd)
    traceGL_lookupNativeAddress("glFogCoordd", (void **) &traceGL_Native.glFogCoordd);

  traceThis = traceEnabled("glFogCoordd",&traceParam);

  if (!traceGL_Native.glFogCoordd)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoordd");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoorddv)
    traceGL_lookupNativeAddress("glFogCoorddv", (void **) &traceGL_Native.glFogCoorddv);

  traceThis = traceEnabled("glFogCoorddv",&traceParam);

  if (!traceGL_Native.glFogCoorddv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoorddv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoordPointer)
    traceGL_lookupNativeAddress("glFogCoordPointer", (void **) &traceGL_Native.glFogCoordPointer);

  traceThis = traceEnabled("glFogCoordPointer",&traceParam);

  if (!traceGL_Native.glFogCoordPointer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoordPointer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3b)
    traceGL_lookupNativeAddress("glSecondaryColor3b", (void **) &traceGL_Native.glSecondaryColor3b);

  traceThis = traceEnabled("glSecondaryColor3b",&traceParam);

  if (!traceGL_Native.glSecondaryColor3b)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3b");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3bv)
    traceGL_lookupNativeAddress("glSecondaryColor3bv", (void **) &traceGL_Native.glSecondaryColor3bv);

  traceThis = traceEnabled("glSecondaryColor3bv",&traceParam);

  if (!traceGL_Native.glSecondaryColor3bv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3bv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3d)
    traceGL_lookupNativeAddress("glSecondaryColor3d", (void **) &traceGL_Native.glSecondaryColor3d);

  traceThis = traceEnabled("glSecondaryColor3d",&traceParam);

  if (!traceGL_Native.glSecondaryColor3d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3dv)
    traceGL_lookupNativeAddress("glSecondaryColor3dv", (void **) &traceGL_Native.glSecondaryColor3dv);

  traceThis = traceEnabled("glSecondaryColor3dv",&traceParam);

  if (!traceGL_Native.glSecondaryColor3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3f)
    traceGL_lookupNativeAddress("glSecondaryColor3f", (void **) &traceGL_Native.glSecondaryColor3f);

  traceThis = traceEnabled("glSecondaryColor3f",&traceParam);

  if (!traceGL_Native.glSecondaryColor3f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3fv)
    traceGL_lookupNativeAddress("glSecondaryColor3fv", (void **) &traceGL_Native.glSecondaryColor3fv);

  traceThis = traceEnabled("glSecondaryColor3fv",&traceParam);

  if (!traceGL_Native.glSecondaryColor3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3i)
    traceGL_lookupNativeAddress("glSecondaryColor3i", (void **) &traceGL_Native.glSecondaryColor3i);

  traceThis = traceEnabled("glSecondaryColor3i",&traceParam);

  if (!traceGL_Native.glSecondaryColor3i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3iv)
    traceGL_lookupNativeAddress("glSecondaryColor3iv", (void **) &traceGL_Native.glSecondaryColor3iv);

  traceThis = traceEnabled("glSecondaryColor3iv",&traceParam);

  if (!traceGL_Native.glSecondaryColor3iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3s)
    traceGL_lookupNativeAddress("glSecondaryColor3s", (void **) &traceGL_Native.glSecondaryColor3s);

  traceThis = traceEnabled("glSecondaryColor3s",&traceParam);

  if (!traceGL_Native.glSecondaryColor3s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3s");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3sv)
    traceGL_lookupNativeAddress("glSecondaryColor3sv", (void **) &traceGL_Native.glSecondaryColor3sv);

  traceThis = traceEnabled("glSecondaryColor3sv",&traceParam);

  if (!traceGL_Native.glSecondaryColor3sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3sv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3ub)
    traceGL_lookupNativeAddress("glSecondaryColor3ub", (void **) &traceGL_Native.glSecondaryColor3ub);

  traceThis = traceEnabled("glSecondaryColor3ub",&traceParam);

  if (!traceGL_Native.glSecondaryColor3ub)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3ub");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3ubv)
    traceGL_lookupNativeAddress("glSecondaryColor3ubv", (void **) &traceGL_Native.glSecondaryColor3ubv);

  traceThis = traceEnabled("glSecondaryColor3ubv",&traceParam);

  if (!traceGL_Native.glSecondaryColor3ubv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3ubv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3ui)
    traceGL_lookupNativeAddress("glSecondaryColor3ui", (void **) &traceGL_Native.glSecondaryColor3ui);

  traceThis = traceEnabled("glSecondaryColor3ui",&traceParam);

  if (!traceGL_Native.glSecondaryColor3ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3uiv)
    traceGL_lookupNativeAddress("glSecondaryColor3uiv", (void **) &traceGL_Native.glSecondaryColor3uiv);

  traceThis = traceEnabled("glSecondaryColor3uiv",&traceParam);

  if (!traceGL_Native.glSecondaryColor3uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3us)
    traceGL_lookupNativeAddress("glSecondaryColor3us", (void **) &traceGL_Native.glSecondaryColor3us);

  traceThis = traceEnabled("glSecondaryColor3us",&traceParam);

  if (!traceGL_Native.glSecondaryColor3us)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3us");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3usv)
    traceGL_lookupNativeAddress("glSecondaryColor3usv", (void **) &traceGL_Native.glSecondaryColor3usv);

  traceThis = traceEnabled("glSecondaryColor3usv",&traceParam);

  if (!traceGL_Native.glSecondaryColor3usv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3usv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColorPointer)
    traceGL_lookupNativeAddress("glSecondaryColorPointer", (void **) &traceGL_Native.glSecondaryColorPointer);

  traceThis = traceEnabled("glSecondaryColorPointer",&traceParam);

  if (!traceGL_Native.glSecondaryColorPointer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColorPointer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2d)
    traceGL_lookupNativeAddress("glWindowPos2d", (void **) &traceGL_Native.glWindowPos2d);

  traceThis = traceEnabled("glWindowPos2d",&traceParam);

  if (!traceGL_Native.glWindowPos2d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2dv)
    traceGL_lookupNativeAddress("glWindowPos2dv", (void **) &traceGL_Native.glWindowPos2dv);

  traceThis = traceEnabled("glWindowPos2dv",&traceParam);

  if (!traceGL_Native.glWindowPos2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2f)
    traceGL_lookupNativeAddress("glWindowPos2f", (void **) &traceGL_Native.glWindowPos2f);

  traceThis = traceEnabled("glWindowPos2f",&traceParam);

  if (!traceGL_Native.glWindowPos2f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2fv)
    traceGL_lookupNativeAddress("glWindowPos2fv", (void **) &traceGL_Native.glWindowPos2fv);

  traceThis = traceEnabled("glWindowPos2fv",&traceParam);

  if (!traceGL_Native.glWindowPos2fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2i)
    traceGL_lookupNativeAddress("glWindowPos2i", (void **) &traceGL_Native.glWindowPos2i);

  traceThis = traceEnabled("glWindowPos2i",&traceParam);

  if (!traceGL_Native.glWindowPos2i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2iv)
    traceGL_lookupNativeAddress("glWindowPos2iv", (void **) &traceGL_Native.glWindowPos2iv);

  traceThis = traceEnabled("glWindowPos2iv",&traceParam);

  if (!traceGL_Native.glWindowPos2iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2s)
    traceGL_lookupNativeAddress("glWindowPos2s", (void **) &traceGL_Native.glWindowPos2s);

  traceThis = traceEnabled("glWindowPos2s",&traceParam);

  if (!traceGL_Native.glWindowPos2s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2s");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2sv)
    traceGL_lookupNativeAddress("glWindowPos2sv", (void **) &traceGL_Native.glWindowPos2sv);

  traceThis = traceEnabled("glWindowPos2sv",&traceParam);

  if (!traceGL_Native.glWindowPos2sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2sv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3d)
    traceGL_lookupNativeAddress("glWindowPos3d", (void **) &traceGL_Native.glWindowPos3d);

  traceThis = traceEnabled("glWindowPos3d",&traceParam);

  if (!traceGL_Native.glWindowPos3d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3dv)
    traceGL_lookupNativeAddress("glWindowPos3dv", (void **) &traceGL_Native.glWindowPos3dv);

  traceThis = traceEnabled("glWindowPos3dv",&traceParam);

  if (!traceGL_Native.glWindowPos3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3f)
    traceGL_lookupNativeAddress("glWindowPos3f", (void **) &traceGL_Native.glWindowPos3f);

  traceThis = traceEnabled("glWindowPos3f",&traceParam);

  if (!traceGL_Native.glWindowPos3f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3fv)
    traceGL_lookupNativeAddress("glWindowPos3fv", (void **) &traceGL_Native.glWindowPos3fv);

  traceThis = traceEnabled("glWindowPos3fv",&traceParam);

  if (!traceGL_Native.glWindowPos3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3i)
    traceGL_lookupNativeAddress("glWindowPos3i", (void **) &traceGL_Native.glWindowPos3i);

  traceThis = traceEnabled("glWindowPos3i",&traceParam);

  if (!traceGL_Native.glWindowPos3i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3iv)
    traceGL_lookupNativeAddress("glWindowPos3iv", (void **) &traceGL_Native.glWindowPos3iv);

  traceThis = traceEnabled("glWindowPos3iv",&traceParam);

  if (!traceGL_Native.glWindowPos3iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3s)
    traceGL_lookupNativeAddress("glWindowPos3s", (void **) &traceGL_Native.glWindowPos3s);

  traceThis = traceEnabled("glWindowPos3s",&traceParam);

  if (!traceGL_Native.glWindowPos3s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3s");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3sv)
    traceGL_lookupNativeAddress("glWindowPos3sv", (void **) &traceGL_Native.glWindowPos3sv);

  traceThis = traceEnabled("glWindowPos3sv",&traceParam);

  if (!traceGL_Native.glWindowPos3sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3sv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenQueries)
    traceGL_lookupNativeAddress("glGenQueries", (void **) &traceGL_Native.glGenQueries);

  traceThis = traceEnabled("glGenQueries",&traceParam);

  if (!traceGL_Native.glGenQueries)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenQueries");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenQueries(n, ids);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceOutputParameter("ids", "%u[%d]", ids, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteQueries(GLsizei n, const GLuint *ids)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteQueries)
    traceGL_lookupNativeAddress("glDeleteQueries", (void **) &traceGL_Native.glDeleteQueries);

  traceThis = traceEnabled("glDeleteQueries",&traceParam);

  if (!traceGL_Native.glDeleteQueries)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteQueries");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsQuery)
    traceGL_lookupNativeAddress("glIsQuery", (void **) &traceGL_Native.glIsQuery);

  traceThis = traceEnabled("glIsQuery",&traceParam);

  if (!traceGL_Native.glIsQuery)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsQuery");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsQuery(id);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBeginQuery(GLenum target, GLuint id)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBeginQuery)
    traceGL_lookupNativeAddress("glBeginQuery", (void **) &traceGL_Native.glBeginQuery);

  traceThis = traceEnabled("glBeginQuery",&traceParam);

  if (!traceGL_Native.glBeginQuery)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBeginQuery");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndQuery)
    traceGL_lookupNativeAddress("glEndQuery", (void **) &traceGL_Native.glEndQuery);

  traceThis = traceEnabled("glEndQuery",&traceParam);

  if (!traceGL_Native.glEndQuery)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEndQuery");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetQueryiv)
    traceGL_lookupNativeAddress("glGetQueryiv", (void **) &traceGL_Native.glGetQueryiv);

  traceThis = traceEnabled("glGetQueryiv",&traceParam);

  if (!traceGL_Native.glGetQueryiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetQueryiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetQueryObjectiv)
    traceGL_lookupNativeAddress("glGetQueryObjectiv", (void **) &traceGL_Native.glGetQueryObjectiv);

  traceThis = traceEnabled("glGetQueryObjectiv",&traceParam);

  if (!traceGL_Native.glGetQueryObjectiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetQueryObjectiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetQueryObjectuiv)
    traceGL_lookupNativeAddress("glGetQueryObjectuiv", (void **) &traceGL_Native.glGetQueryObjectuiv);

  traceThis = traceEnabled("glGetQueryObjectuiv",&traceParam);

  if (!traceGL_Native.glGetQueryObjectuiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetQueryObjectuiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindBuffer)
    traceGL_lookupNativeAddress("glBindBuffer", (void **) &traceGL_Native.glBindBuffer);

  traceThis = traceEnabled("glBindBuffer",&traceParam);

  if (!traceGL_Native.glBindBuffer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindBuffer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteBuffers)
    traceGL_lookupNativeAddress("glDeleteBuffers", (void **) &traceGL_Native.glDeleteBuffers);

  traceThis = traceEnabled("glDeleteBuffers",&traceParam);

  if (!traceGL_Native.glDeleteBuffers)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteBuffers");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenBuffers)
    traceGL_lookupNativeAddress("glGenBuffers", (void **) &traceGL_Native.glGenBuffers);

  traceThis = traceEnabled("glGenBuffers",&traceParam);

  if (!traceGL_Native.glGenBuffers)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenBuffers");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenBuffers(n, buffers);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceOutputParameter("buffers", "%u[%d]", buffers, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsBuffer(GLuint buffer)
{
  GLboolean ret = GL_FALSE;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsBuffer)
    traceGL_lookupNativeAddress("glIsBuffer", (void **) &traceGL_Native.glIsBuffer);

  traceThis = traceEnabled("glIsBuffer",&traceParam);

  if (!traceGL_Native.glIsBuffer)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsBuffer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("buffer", "%u", buffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsBuffer(buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBufferData)
    traceGL_lookupNativeAddress("glBufferData", (void **) &traceGL_Native.glBufferData);

  traceThis = traceEnabled("glBufferData",&traceParam);

  if (!traceGL_Native.glBufferData)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBufferData");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBufferSubData)
    traceGL_lookupNativeAddress("glBufferSubData", (void **) &traceGL_Native.glBufferSubData);

  traceThis = traceEnabled("glBufferSubData",&traceParam);

  if (!traceGL_Native.glBufferSubData)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBufferSubData");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetBufferSubData)
    traceGL_lookupNativeAddress("glGetBufferSubData", (void **) &traceGL_Native.glGetBufferSubData);

  traceThis = traceEnabled("glGetBufferSubData",&traceParam);

  if (!traceGL_Native.glGetBufferSubData)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetBufferSubData");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("data", "%p", data);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLvoid *GLAPIENTRY
glMapBuffer(GLenum target, GLenum access)
{
  GLvoid *ret = NULL;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapBuffer)
    traceGL_lookupNativeAddress("glMapBuffer", (void **) &traceGL_Native.glMapBuffer);

  traceThis = traceEnabled("glMapBuffer",&traceParam);

  if (!traceGL_Native.glMapBuffer)
    return NULL;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapBuffer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%p", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLboolean GLAPIENTRY
glUnmapBuffer(GLenum target)
{
  GLboolean ret = GL_FALSE;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUnmapBuffer)
    traceGL_lookupNativeAddress("glUnmapBuffer", (void **) &traceGL_Native.glUnmapBuffer);

  traceThis = traceEnabled("glUnmapBuffer",&traceParam);

  if (!traceGL_Native.glUnmapBuffer)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUnmapBuffer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glUnmapBuffer(target);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetBufferParameteriv)
    traceGL_lookupNativeAddress("glGetBufferParameteriv", (void **) &traceGL_Native.glGetBufferParameteriv);

  traceThis = traceEnabled("glGetBufferParameteriv",&traceParam);

  if (!traceGL_Native.glGetBufferParameteriv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetBufferParameteriv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetBufferPointerv)
    traceGL_lookupNativeAddress("glGetBufferPointerv", (void **) &traceGL_Native.glGetBufferPointerv);

  traceThis = traceEnabled("glGetBufferPointerv",&traceParam);

  if (!traceGL_Native.glGetBufferPointerv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetBufferPointerv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendEquationSeparate)
    traceGL_lookupNativeAddress("glBlendEquationSeparate", (void **) &traceGL_Native.glBlendEquationSeparate);

  traceThis = traceEnabled("glBlendEquationSeparate",&traceParam);

  if (!traceGL_Native.glBlendEquationSeparate)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendEquationSeparate");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawBuffers)
    traceGL_lookupNativeAddress("glDrawBuffers", (void **) &traceGL_Native.glDrawBuffers);

  traceThis = traceEnabled("glDrawBuffers",&traceParam);

  if (!traceGL_Native.glDrawBuffers)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawBuffers");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glStencilOpSeparate)
    traceGL_lookupNativeAddress("glStencilOpSeparate", (void **) &traceGL_Native.glStencilOpSeparate);

  traceThis = traceEnabled("glStencilOpSeparate",&traceParam);

  if (!traceGL_Native.glStencilOpSeparate)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glStencilOpSeparate");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glStencilFuncSeparate)
    traceGL_lookupNativeAddress("glStencilFuncSeparate", (void **) &traceGL_Native.glStencilFuncSeparate);

  traceThis = traceEnabled("glStencilFuncSeparate",&traceParam);

  if (!traceGL_Native.glStencilFuncSeparate)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glStencilFuncSeparate");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glStencilMaskSeparate)
    traceGL_lookupNativeAddress("glStencilMaskSeparate", (void **) &traceGL_Native.glStencilMaskSeparate);

  traceThis = traceEnabled("glStencilMaskSeparate",&traceParam);

  if (!traceGL_Native.glStencilMaskSeparate)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glStencilMaskSeparate");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glAttachShader)
    traceGL_lookupNativeAddress("glAttachShader", (void **) &traceGL_Native.glAttachShader);

  traceThis = traceEnabled("glAttachShader",&traceParam);

  if (!traceGL_Native.glAttachShader)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glAttachShader");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindAttribLocation)
    traceGL_lookupNativeAddress("glBindAttribLocation", (void **) &traceGL_Native.glBindAttribLocation);

  traceThis = traceEnabled("glBindAttribLocation",&traceParam);

  if (!traceGL_Native.glBindAttribLocation)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindAttribLocation");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompileShader)
    traceGL_lookupNativeAddress("glCompileShader", (void **) &traceGL_Native.glCompileShader);

  traceThis = traceEnabled("glCompileShader",&traceParam);

  if (!traceGL_Native.glCompileShader)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompileShader");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCreateProgram)
    traceGL_lookupNativeAddress("glCreateProgram", (void **) &traceGL_Native.glCreateProgram);

  traceThis = traceEnabled("glCreateProgram",&traceParam);

  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. */

    if (traceParam)
      traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLuint GLAPIENTRY
glCreateShader(GLenum type)
{
  GLuint ret = 0;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCreateShader)
    traceGL_lookupNativeAddress("glCreateShader", (void **) &traceGL_Native.glCreateShader);

  traceThis = traceEnabled("glCreateShader",&traceParam);

  if (!traceGL_Native.glCreateShader)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCreateShader");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("type", "%u", type);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glCreateShader(type);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glDeleteProgram(GLuint program)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteProgram)
    traceGL_lookupNativeAddress("glDeleteProgram", (void **) &traceGL_Native.glDeleteProgram);

  traceThis = traceEnabled("glDeleteProgram",&traceParam);

  if (!traceGL_Native.glDeleteProgram)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteProgram");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteShader)
    traceGL_lookupNativeAddress("glDeleteShader", (void **) &traceGL_Native.glDeleteShader);

  traceThis = traceEnabled("glDeleteShader",&traceParam);

  if (!traceGL_Native.glDeleteShader)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteShader");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDetachShader)
    traceGL_lookupNativeAddress("glDetachShader", (void **) &traceGL_Native.glDetachShader);

  traceThis = traceEnabled("glDetachShader",&traceParam);

  if (!traceGL_Native.glDetachShader)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDetachShader");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDisableVertexAttribArray)
    traceGL_lookupNativeAddress("glDisableVertexAttribArray", (void **) &traceGL_Native.glDisableVertexAttribArray);

  traceThis = traceEnabled("glDisableVertexAttribArray",&traceParam);

  if (!traceGL_Native.glDisableVertexAttribArray)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDisableVertexAttribArray");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEnableVertexAttribArray)
    traceGL_lookupNativeAddress("glEnableVertexAttribArray", (void **) &traceGL_Native.glEnableVertexAttribArray);

  traceThis = traceEnabled("glEnableVertexAttribArray",&traceParam);

  if (!traceGL_Native.glEnableVertexAttribArray)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEnableVertexAttribArray");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetActiveAttrib)
    traceGL_lookupNativeAddress("glGetActiveAttrib", (void **) &traceGL_Native.glGetActiveAttrib);

  traceThis = traceEnabled("glGetActiveAttrib",&traceParam);

  if (!traceGL_Native.glGetActiveAttrib)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetActiveAttrib");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetActiveUniform)
    traceGL_lookupNativeAddress("glGetActiveUniform", (void **) &traceGL_Native.glGetActiveUniform);

  traceThis = traceEnabled("glGetActiveUniform",&traceParam);

  if (!traceGL_Native.glGetActiveUniform)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetActiveUniform");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetAttachedShaders)
    traceGL_lookupNativeAddress("glGetAttachedShaders", (void **) &traceGL_Native.glGetAttachedShaders);

  traceThis = traceEnabled("glGetAttachedShaders",&traceParam);

  if (!traceGL_Native.glGetAttachedShaders)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetAttachedShaders");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("count", "%d[%d]", count, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLint GLAPIENTRY
glGetAttribLocation(GLuint program, const GLchar *name)
{
  GLint ret = 0;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetAttribLocation)
    traceGL_lookupNativeAddress("glGetAttribLocation", (void **) &traceGL_Native.glGetAttribLocation);

  traceThis = traceEnabled("glGetAttribLocation",&traceParam);

  if (!traceGL_Native.glGetAttribLocation)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetAttribLocation");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%d", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetProgramiv(GLuint program, GLenum pname, GLint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramiv)
    traceGL_lookupNativeAddress("glGetProgramiv", (void **) &traceGL_Native.glGetProgramiv);

  traceThis = traceEnabled("glGetProgramiv",&traceParam);

  if (!traceGL_Native.glGetProgramiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramInfoLog)
    traceGL_lookupNativeAddress("glGetProgramInfoLog", (void **) &traceGL_Native.glGetProgramInfoLog);

  traceThis = traceEnabled("glGetProgramInfoLog",&traceParam);

  if (!traceGL_Native.glGetProgramInfoLog)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramInfoLog");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetShaderiv)
    traceGL_lookupNativeAddress("glGetShaderiv", (void **) &traceGL_Native.glGetShaderiv);

  traceThis = traceEnabled("glGetShaderiv",&traceParam);

  if (!traceGL_Native.glGetShaderiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetShaderiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetShaderInfoLog)
    traceGL_lookupNativeAddress("glGetShaderInfoLog", (void **) &traceGL_Native.glGetShaderInfoLog);

  traceThis = traceEnabled("glGetShaderInfoLog",&traceParam);

  if (!traceGL_Native.glGetShaderInfoLog)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetShaderInfoLog");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetShaderSource)
    traceGL_lookupNativeAddress("glGetShaderSource", (void **) &traceGL_Native.glGetShaderSource);

  traceThis = traceEnabled("glGetShaderSource",&traceParam);

  if (!traceGL_Native.glGetShaderSource)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetShaderSource");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformLocation)
    traceGL_lookupNativeAddress("glGetUniformLocation", (void **) &traceGL_Native.glGetUniformLocation);

  traceThis = traceEnabled("glGetUniformLocation",&traceParam);

  if (!traceGL_Native.glGetUniformLocation)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformLocation");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%d", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetUniformfv(GLuint program, GLint location, GLfloat *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformfv)
    traceGL_lookupNativeAddress("glGetUniformfv", (void **) &traceGL_Native.glGetUniformfv);

  traceThis = traceEnabled("glGetUniformfv",&traceParam);

  if (!traceGL_Native.glGetUniformfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformiv)
    traceGL_lookupNativeAddress("glGetUniformiv", (void **) &traceGL_Native.glGetUniformiv);

  traceThis = traceEnabled("glGetUniformiv",&traceParam);

  if (!traceGL_Native.glGetUniformiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribdv)
    traceGL_lookupNativeAddress("glGetVertexAttribdv", (void **) &traceGL_Native.glGetVertexAttribdv);

  traceThis = traceEnabled("glGetVertexAttribdv",&traceParam);

  if (!traceGL_Native.glGetVertexAttribdv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribdv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%lf[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribfv)
    traceGL_lookupNativeAddress("glGetVertexAttribfv", (void **) &traceGL_Native.glGetVertexAttribfv);

  traceThis = traceEnabled("glGetVertexAttribfv",&traceParam);

  if (!traceGL_Native.glGetVertexAttribfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%f[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribiv)
    traceGL_lookupNativeAddress("glGetVertexAttribiv", (void **) &traceGL_Native.glGetVertexAttribiv);

  traceThis = traceEnabled("glGetVertexAttribiv",&traceParam);

  if (!traceGL_Native.glGetVertexAttribiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%d[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid **pointer)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribPointerv)
    traceGL_lookupNativeAddress("glGetVertexAttribPointerv", (void **) &traceGL_Native.glGetVertexAttribPointerv);

  traceThis = traceEnabled("glGetVertexAttribPointerv",&traceParam);

  if (!traceGL_Native.glGetVertexAttribPointerv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribPointerv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsProgram)
    traceGL_lookupNativeAddress("glIsProgram", (void **) &traceGL_Native.glIsProgram);

  traceThis = traceEnabled("glIsProgram",&traceParam);

  if (!traceGL_Native.glIsProgram)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsProgram");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("program", "%u", program);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsProgram(program);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLboolean GLAPIENTRY
glIsShader(GLuint shader)
{
  GLboolean ret = GL_FALSE;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsShader)
    traceGL_lookupNativeAddress("glIsShader", (void **) &traceGL_Native.glIsShader);

  traceThis = traceEnabled("glIsShader",&traceParam);

  if (!traceGL_Native.glIsShader)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsShader");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("shader", "%u", shader);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsShader(shader);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glLinkProgram(GLuint program)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLinkProgram)
    traceGL_lookupNativeAddress("glLinkProgram", (void **) &traceGL_Native.glLinkProgram);

  traceThis = traceEnabled("glLinkProgram",&traceParam);

  if (!traceGL_Native.glLinkProgram)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLinkProgram");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glShaderSource)
    traceGL_lookupNativeAddress("glShaderSource", (void **) &traceGL_Native.glShaderSource);

  traceThis = traceEnabled("glShaderSource",&traceParam);

  if (!traceGL_Native.glShaderSource)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glShaderSource");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUseProgram)
    traceGL_lookupNativeAddress("glUseProgram", (void **) &traceGL_Native.glUseProgram);

  traceThis = traceEnabled("glUseProgram",&traceParam);

  if (!traceGL_Native.glUseProgram)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUseProgram");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1f)
    traceGL_lookupNativeAddress("glUniform1f", (void **) &traceGL_Native.glUniform1f);

  traceThis = traceEnabled("glUniform1f",&traceParam);

  if (!traceGL_Native.glUniform1f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2f)
    traceGL_lookupNativeAddress("glUniform2f", (void **) &traceGL_Native.glUniform2f);

  traceThis = traceEnabled("glUniform2f",&traceParam);

  if (!traceGL_Native.glUniform2f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3f)
    traceGL_lookupNativeAddress("glUniform3f", (void **) &traceGL_Native.glUniform3f);

  traceThis = traceEnabled("glUniform3f",&traceParam);

  if (!traceGL_Native.glUniform3f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4f)
    traceGL_lookupNativeAddress("glUniform4f", (void **) &traceGL_Native.glUniform4f);

  traceThis = traceEnabled("glUniform4f",&traceParam);

  if (!traceGL_Native.glUniform4f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1i)
    traceGL_lookupNativeAddress("glUniform1i", (void **) &traceGL_Native.glUniform1i);

  traceThis = traceEnabled("glUniform1i",&traceParam);

  if (!traceGL_Native.glUniform1i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2i)
    traceGL_lookupNativeAddress("glUniform2i", (void **) &traceGL_Native.glUniform2i);

  traceThis = traceEnabled("glUniform2i",&traceParam);

  if (!traceGL_Native.glUniform2i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3i)
    traceGL_lookupNativeAddress("glUniform3i", (void **) &traceGL_Native.glUniform3i);

  traceThis = traceEnabled("glUniform3i",&traceParam);

  if (!traceGL_Native.glUniform3i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4i)
    traceGL_lookupNativeAddress("glUniform4i", (void **) &traceGL_Native.glUniform4i);

  traceThis = traceEnabled("glUniform4i",&traceParam);

  if (!traceGL_Native.glUniform4i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1fv)
    traceGL_lookupNativeAddress("glUniform1fv", (void **) &traceGL_Native.glUniform1fv);

  traceThis = traceEnabled("glUniform1fv",&traceParam);

  if (!traceGL_Native.glUniform1fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2fv)
    traceGL_lookupNativeAddress("glUniform2fv", (void **) &traceGL_Native.glUniform2fv);

  traceThis = traceEnabled("glUniform2fv",&traceParam);

  if (!traceGL_Native.glUniform2fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3fv)
    traceGL_lookupNativeAddress("glUniform3fv", (void **) &traceGL_Native.glUniform3fv);

  traceThis = traceEnabled("glUniform3fv",&traceParam);

  if (!traceGL_Native.glUniform3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4fv)
    traceGL_lookupNativeAddress("glUniform4fv", (void **) &traceGL_Native.glUniform4fv);

  traceThis = traceEnabled("glUniform4fv",&traceParam);

  if (!traceGL_Native.glUniform4fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1iv)
    traceGL_lookupNativeAddress("glUniform1iv", (void **) &traceGL_Native.glUniform1iv);

  traceThis = traceEnabled("glUniform1iv",&traceParam);

  if (!traceGL_Native.glUniform1iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2iv)
    traceGL_lookupNativeAddress("glUniform2iv", (void **) &traceGL_Native.glUniform2iv);

  traceThis = traceEnabled("glUniform2iv",&traceParam);

  if (!traceGL_Native.glUniform2iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3iv)
    traceGL_lookupNativeAddress("glUniform3iv", (void **) &traceGL_Native.glUniform3iv);

  traceThis = traceEnabled("glUniform3iv",&traceParam);

  if (!traceGL_Native.glUniform3iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4iv)
    traceGL_lookupNativeAddress("glUniform4iv", (void **) &traceGL_Native.glUniform4iv);

  traceThis = traceEnabled("glUniform4iv",&traceParam);

  if (!traceGL_Native.glUniform4iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix2fv)
    traceGL_lookupNativeAddress("glUniformMatrix2fv", (void **) &traceGL_Native.glUniformMatrix2fv);

  traceThis = traceEnabled("glUniformMatrix2fv",&traceParam);

  if (!traceGL_Native.glUniformMatrix2fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix2fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix3fv)
    traceGL_lookupNativeAddress("glUniformMatrix3fv", (void **) &traceGL_Native.glUniformMatrix3fv);

  traceThis = traceEnabled("glUniformMatrix3fv",&traceParam);

  if (!traceGL_Native.glUniformMatrix3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix3fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix4fv)
    traceGL_lookupNativeAddress("glUniformMatrix4fv", (void **) &traceGL_Native.glUniformMatrix4fv);

  traceThis = traceEnabled("glUniformMatrix4fv",&traceParam);

  if (!traceGL_Native.glUniformMatrix4fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix4fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glValidateProgram)
    traceGL_lookupNativeAddress("glValidateProgram", (void **) &traceGL_Native.glValidateProgram);

  traceThis = traceEnabled("glValidateProgram",&traceParam);

  if (!traceGL_Native.glValidateProgram)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glValidateProgram");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1d)
    traceGL_lookupNativeAddress("glVertexAttrib1d", (void **) &traceGL_Native.glVertexAttrib1d);

  traceThis = traceEnabled("glVertexAttrib1d",&traceParam);

  if (!traceGL_Native.glVertexAttrib1d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1dv)
    traceGL_lookupNativeAddress("glVertexAttrib1dv", (void **) &traceGL_Native.glVertexAttrib1dv);

  traceThis = traceEnabled("glVertexAttrib1dv",&traceParam);

  if (!traceGL_Native.glVertexAttrib1dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1f)
    traceGL_lookupNativeAddress("glVertexAttrib1f", (void **) &traceGL_Native.glVertexAttrib1f);

  traceThis = traceEnabled("glVertexAttrib1f",&traceParam);

  if (!traceGL_Native.glVertexAttrib1f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1fv)
    traceGL_lookupNativeAddress("glVertexAttrib1fv", (void **) &traceGL_Native.glVertexAttrib1fv);

  traceThis = traceEnabled("glVertexAttrib1fv",&traceParam);

  if (!traceGL_Native.glVertexAttrib1fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1s)
    traceGL_lookupNativeAddress("glVertexAttrib1s", (void **) &traceGL_Native.glVertexAttrib1s);

  traceThis = traceEnabled("glVertexAttrib1s",&traceParam);

  if (!traceGL_Native.glVertexAttrib1s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1s");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1sv)
    traceGL_lookupNativeAddress("glVertexAttrib1sv", (void **) &traceGL_Native.glVertexAttrib1sv);

  traceThis = traceEnabled("glVertexAttrib1sv",&traceParam);

  if (!traceGL_Native.glVertexAttrib1sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1sv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2d)
    traceGL_lookupNativeAddress("glVertexAttrib2d", (void **) &traceGL_Native.glVertexAttrib2d);

  traceThis = traceEnabled("glVertexAttrib2d",&traceParam);

  if (!traceGL_Native.glVertexAttrib2d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2dv)
    traceGL_lookupNativeAddress("glVertexAttrib2dv", (void **) &traceGL_Native.glVertexAttrib2dv);

  traceThis = traceEnabled("glVertexAttrib2dv",&traceParam);

  if (!traceGL_Native.glVertexAttrib2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2f)
    traceGL_lookupNativeAddress("glVertexAttrib2f", (void **) &traceGL_Native.glVertexAttrib2f);

  traceThis = traceEnabled("glVertexAttrib2f",&traceParam);

  if (!traceGL_Native.glVertexAttrib2f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2fv)
    traceGL_lookupNativeAddress("glVertexAttrib2fv", (void **) &traceGL_Native.glVertexAttrib2fv);

  traceThis = traceEnabled("glVertexAttrib2fv",&traceParam);

  if (!traceGL_Native.glVertexAttrib2fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2s)
    traceGL_lookupNativeAddress("glVertexAttrib2s", (void **) &traceGL_Native.glVertexAttrib2s);

  traceThis = traceEnabled("glVertexAttrib2s",&traceParam);

  if (!traceGL_Native.glVertexAttrib2s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2s");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2sv)
    traceGL_lookupNativeAddress("glVertexAttrib2sv", (void **) &traceGL_Native.glVertexAttrib2sv);

  traceThis = traceEnabled("glVertexAttrib2sv",&traceParam);

  if (!traceGL_Native.glVertexAttrib2sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2sv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3d)
    traceGL_lookupNativeAddress("glVertexAttrib3d", (void **) &traceGL_Native.glVertexAttrib3d);

  traceThis = traceEnabled("glVertexAttrib3d",&traceParam);

  if (!traceGL_Native.glVertexAttrib3d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3dv)
    traceGL_lookupNativeAddress("glVertexAttrib3dv", (void **) &traceGL_Native.glVertexAttrib3dv);

  traceThis = traceEnabled("glVertexAttrib3dv",&traceParam);

  if (!traceGL_Native.glVertexAttrib3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3f)
    traceGL_lookupNativeAddress("glVertexAttrib3f", (void **) &traceGL_Native.glVertexAttrib3f);

  traceThis = traceEnabled("glVertexAttrib3f",&traceParam);

  if (!traceGL_Native.glVertexAttrib3f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3fv)
    traceGL_lookupNativeAddress("glVertexAttrib3fv", (void **) &traceGL_Native.glVertexAttrib3fv);

  traceThis = traceEnabled("glVertexAttrib3fv",&traceParam);

  if (!traceGL_Native.glVertexAttrib3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3s)
    traceGL_lookupNativeAddress("glVertexAttrib3s", (void **) &traceGL_Native.glVertexAttrib3s);

  traceThis = traceEnabled("glVertexAttrib3s",&traceParam);

  if (!traceGL_Native.glVertexAttrib3s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3s");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3sv)
    traceGL_lookupNativeAddress("glVertexAttrib3sv", (void **) &traceGL_Native.glVertexAttrib3sv);

  traceThis = traceEnabled("glVertexAttrib3sv",&traceParam);

  if (!traceGL_Native.glVertexAttrib3sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3sv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4Nbv)
    traceGL_lookupNativeAddress("glVertexAttrib4Nbv", (void **) &traceGL_Native.glVertexAttrib4Nbv);

  traceThis = traceEnabled("glVertexAttrib4Nbv",&traceParam);

  if (!traceGL_Native.glVertexAttrib4Nbv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4Nbv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4Niv)
    traceGL_lookupNativeAddress("glVertexAttrib4Niv", (void **) &traceGL_Native.glVertexAttrib4Niv);

  traceThis = traceEnabled("glVertexAttrib4Niv",&traceParam);

  if (!traceGL_Native.glVertexAttrib4Niv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4Niv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4Nsv)
    traceGL_lookupNativeAddress("glVertexAttrib4Nsv", (void **) &traceGL_Native.glVertexAttrib4Nsv);

  traceThis = traceEnabled("glVertexAttrib4Nsv",&traceParam);

  if (!traceGL_Native.glVertexAttrib4Nsv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4Nsv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4Nub)
    traceGL_lookupNativeAddress("glVertexAttrib4Nub", (void **) &traceGL_Native.glVertexAttrib4Nub);

  traceThis = traceEnabled("glVertexAttrib4Nub",&traceParam);

  if (!traceGL_Native.glVertexAttrib4Nub)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4Nub");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4Nubv)
    traceGL_lookupNativeAddress("glVertexAttrib4Nubv", (void **) &traceGL_Native.glVertexAttrib4Nubv);

  traceThis = traceEnabled("glVertexAttrib4Nubv",&traceParam);

  if (!traceGL_Native.glVertexAttrib4Nubv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4Nubv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4Nuiv)
    traceGL_lookupNativeAddress("glVertexAttrib4Nuiv", (void **) &traceGL_Native.glVertexAttrib4Nuiv);

  traceThis = traceEnabled("glVertexAttrib4Nuiv",&traceParam);

  if (!traceGL_Native.glVertexAttrib4Nuiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4Nuiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4Nusv)
    traceGL_lookupNativeAddress("glVertexAttrib4Nusv", (void **) &traceGL_Native.glVertexAttrib4Nusv);

  traceThis = traceEnabled("glVertexAttrib4Nusv",&traceParam);

  if (!traceGL_Native.glVertexAttrib4Nusv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4Nusv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4bv)
    traceGL_lookupNativeAddress("glVertexAttrib4bv", (void **) &traceGL_Native.glVertexAttrib4bv);

  traceThis = traceEnabled("glVertexAttrib4bv",&traceParam);

  if (!traceGL_Native.glVertexAttrib4bv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4bv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4d)
    traceGL_lookupNativeAddress("glVertexAttrib4d", (void **) &traceGL_Native.glVertexAttrib4d);

  traceThis = traceEnabled("glVertexAttrib4d",&traceParam);

  if (!traceGL_Native.glVertexAttrib4d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4dv)
    traceGL_lookupNativeAddress("glVertexAttrib4dv", (void **) &traceGL_Native.glVertexAttrib4dv);

  traceThis = traceEnabled("glVertexAttrib4dv",&traceParam);

  if (!traceGL_Native.glVertexAttrib4dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4f)
    traceGL_lookupNativeAddress("glVertexAttrib4f", (void **) &traceGL_Native.glVertexAttrib4f);

  traceThis = traceEnabled("glVertexAttrib4f",&traceParam);

  if (!traceGL_Native.glVertexAttrib4f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4fv)
    traceGL_lookupNativeAddress("glVertexAttrib4fv", (void **) &traceGL_Native.glVertexAttrib4fv);

  traceThis = traceEnabled("glVertexAttrib4fv",&traceParam);

  if (!traceGL_Native.glVertexAttrib4fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4iv)
    traceGL_lookupNativeAddress("glVertexAttrib4iv", (void **) &traceGL_Native.glVertexAttrib4iv);

  traceThis = traceEnabled("glVertexAttrib4iv",&traceParam);

  if (!traceGL_Native.glVertexAttrib4iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4s)
    traceGL_lookupNativeAddress("glVertexAttrib4s", (void **) &traceGL_Native.glVertexAttrib4s);

  traceThis = traceEnabled("glVertexAttrib4s",&traceParam);

  if (!traceGL_Native.glVertexAttrib4s)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4s");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4sv)
    traceGL_lookupNativeAddress("glVertexAttrib4sv", (void **) &traceGL_Native.glVertexAttrib4sv);

  traceThis = traceEnabled("glVertexAttrib4sv",&traceParam);

  if (!traceGL_Native.glVertexAttrib4sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4sv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4ubv)
    traceGL_lookupNativeAddress("glVertexAttrib4ubv", (void **) &traceGL_Native.glVertexAttrib4ubv);

  traceThis = traceEnabled("glVertexAttrib4ubv",&traceParam);

  if (!traceGL_Native.glVertexAttrib4ubv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4ubv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4uiv)
    traceGL_lookupNativeAddress("glVertexAttrib4uiv", (void **) &traceGL_Native.glVertexAttrib4uiv);

  traceThis = traceEnabled("glVertexAttrib4uiv",&traceParam);

  if (!traceGL_Native.glVertexAttrib4uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4usv)
    traceGL_lookupNativeAddress("glVertexAttrib4usv", (void **) &traceGL_Native.glVertexAttrib4usv);

  traceThis = traceEnabled("glVertexAttrib4usv",&traceParam);

  if (!traceGL_Native.glVertexAttrib4usv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4usv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribPointer)
    traceGL_lookupNativeAddress("glVertexAttribPointer", (void **) &traceGL_Native.glVertexAttribPointer);

  traceThis = traceEnabled("glVertexAttribPointer",&traceParam);

  if (!traceGL_Native.glVertexAttribPointer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribPointer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix2x3fv)
    traceGL_lookupNativeAddress("glUniformMatrix2x3fv", (void **) &traceGL_Native.glUniformMatrix2x3fv);

  traceThis = traceEnabled("glUniformMatrix2x3fv",&traceParam);

  if (!traceGL_Native.glUniformMatrix2x3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix2x3fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix3x2fv)
    traceGL_lookupNativeAddress("glUniformMatrix3x2fv", (void **) &traceGL_Native.glUniformMatrix3x2fv);

  traceThis = traceEnabled("glUniformMatrix3x2fv",&traceParam);

  if (!traceGL_Native.glUniformMatrix3x2fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix3x2fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix2x4fv)
    traceGL_lookupNativeAddress("glUniformMatrix2x4fv", (void **) &traceGL_Native.glUniformMatrix2x4fv);

  traceThis = traceEnabled("glUniformMatrix2x4fv",&traceParam);

  if (!traceGL_Native.glUniformMatrix2x4fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix2x4fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix4x2fv)
    traceGL_lookupNativeAddress("glUniformMatrix4x2fv", (void **) &traceGL_Native.glUniformMatrix4x2fv);

  traceThis = traceEnabled("glUniformMatrix4x2fv",&traceParam);

  if (!traceGL_Native.glUniformMatrix4x2fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix4x2fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix3x4fv)
    traceGL_lookupNativeAddress("glUniformMatrix3x4fv", (void **) &traceGL_Native.glUniformMatrix3x4fv);

  traceThis = traceEnabled("glUniformMatrix3x4fv",&traceParam);

  if (!traceGL_Native.glUniformMatrix3x4fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix3x4fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix4x3fv)
    traceGL_lookupNativeAddress("glUniformMatrix4x3fv", (void **) &traceGL_Native.glUniformMatrix4x3fv);

  traceThis = traceEnabled("glUniformMatrix4x3fv",&traceParam);

  if (!traceGL_Native.glUniformMatrix4x3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix4x3fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorMaski)
    traceGL_lookupNativeAddress("glColorMaski", (void **) &traceGL_Native.glColorMaski);

  traceThis = traceEnabled("glColorMaski",&traceParam);

  if (!traceGL_Native.glColorMaski)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorMaski");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  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",&traceParam);

  if (!traceGL_Native.glGetBooleani_v)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetBooleani_v");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  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",&traceParam);

  if (!traceGL_Native.glGetIntegeri_v)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetIntegeri_v");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEnablei)
    traceGL_lookupNativeAddress("glEnablei", (void **) &traceGL_Native.glEnablei);

  traceThis = traceEnabled("glEnablei",&traceParam);

  if (!traceGL_Native.glEnablei)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEnablei");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDisablei)
    traceGL_lookupNativeAddress("glDisablei", (void **) &traceGL_Native.glDisablei);

  traceThis = traceEnabled("glDisablei",&traceParam);

  if (!traceGL_Native.glDisablei)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDisablei");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsEnabledi)
    traceGL_lookupNativeAddress("glIsEnabledi", (void **) &traceGL_Native.glIsEnabledi);

  traceThis = traceEnabled("glIsEnabledi",&traceParam);

  if (!traceGL_Native.glIsEnabledi)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsEnabledi");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBeginTransformFeedback(GLenum primitiveMode)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBeginTransformFeedback)
    traceGL_lookupNativeAddress("glBeginTransformFeedback", (void **) &traceGL_Native.glBeginTransformFeedback);

  traceThis = traceEnabled("glBeginTransformFeedback",&traceParam);

  if (!traceGL_Native.glBeginTransformFeedback)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBeginTransformFeedback");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndTransformFeedback)
    traceGL_lookupNativeAddress("glEndTransformFeedback", (void **) &traceGL_Native.glEndTransformFeedback);

  traceThis = traceEnabled("glEndTransformFeedback",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindBufferRange)
    traceGL_lookupNativeAddress("glBindBufferRange", (void **) &traceGL_Native.glBindBufferRange);

  traceThis = traceEnabled("glBindBufferRange",&traceParam);

  if (!traceGL_Native.glBindBufferRange)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindBufferRange");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindBufferBase)
    traceGL_lookupNativeAddress("glBindBufferBase", (void **) &traceGL_Native.glBindBufferBase);

  traceThis = traceEnabled("glBindBufferBase",&traceParam);

  if (!traceGL_Native.glBindBufferBase)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindBufferBase");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTransformFeedbackVaryings)
    traceGL_lookupNativeAddress("glTransformFeedbackVaryings", (void **) &traceGL_Native.glTransformFeedbackVaryings);

  traceThis = traceEnabled("glTransformFeedbackVaryings",&traceParam);

  if (!traceGL_Native.glTransformFeedbackVaryings)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTransformFeedbackVaryings");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTransformFeedbackVarying)
    traceGL_lookupNativeAddress("glGetTransformFeedbackVarying", (void **) &traceGL_Native.glGetTransformFeedbackVarying);

  traceThis = traceEnabled("glGetTransformFeedbackVarying",&traceParam);

  if (!traceGL_Native.glGetTransformFeedbackVarying)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTransformFeedbackVarying");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClampColor)
    traceGL_lookupNativeAddress("glClampColor", (void **) &traceGL_Native.glClampColor);

  traceThis = traceEnabled("glClampColor",&traceParam);

  if (!traceGL_Native.glClampColor)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClampColor");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBeginConditionalRender)
    traceGL_lookupNativeAddress("glBeginConditionalRender", (void **) &traceGL_Native.glBeginConditionalRender);

  traceThis = traceEnabled("glBeginConditionalRender",&traceParam);

  if (!traceGL_Native.glBeginConditionalRender)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBeginConditionalRender");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndConditionalRender)
    traceGL_lookupNativeAddress("glEndConditionalRender", (void **) &traceGL_Native.glEndConditionalRender);

  traceThis = traceEnabled("glEndConditionalRender",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribIPointer)
    traceGL_lookupNativeAddress("glVertexAttribIPointer", (void **) &traceGL_Native.glVertexAttribIPointer);

  traceThis = traceEnabled("glVertexAttribIPointer",&traceParam);

  if (!traceGL_Native.glVertexAttribIPointer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribIPointer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribIiv)
    traceGL_lookupNativeAddress("glGetVertexAttribIiv", (void **) &traceGL_Native.glGetVertexAttribIiv);

  traceThis = traceEnabled("glGetVertexAttribIiv",&traceParam);

  if (!traceGL_Native.glGetVertexAttribIiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribIiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%d[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribIuiv)
    traceGL_lookupNativeAddress("glGetVertexAttribIuiv", (void **) &traceGL_Native.glGetVertexAttribIuiv);

  traceThis = traceEnabled("glGetVertexAttribIuiv",&traceParam);

  if (!traceGL_Native.glGetVertexAttribIuiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribIuiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%u[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribI1i(GLuint index, GLint x)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI1i)
    traceGL_lookupNativeAddress("glVertexAttribI1i", (void **) &traceGL_Native.glVertexAttribI1i);

  traceThis = traceEnabled("glVertexAttribI1i",&traceParam);

  if (!traceGL_Native.glVertexAttribI1i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI1i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI2i)
    traceGL_lookupNativeAddress("glVertexAttribI2i", (void **) &traceGL_Native.glVertexAttribI2i);

  traceThis = traceEnabled("glVertexAttribI2i",&traceParam);

  if (!traceGL_Native.glVertexAttribI2i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI2i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI3i)
    traceGL_lookupNativeAddress("glVertexAttribI3i", (void **) &traceGL_Native.glVertexAttribI3i);

  traceThis = traceEnabled("glVertexAttribI3i",&traceParam);

  if (!traceGL_Native.glVertexAttribI3i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI3i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4i)
    traceGL_lookupNativeAddress("glVertexAttribI4i", (void **) &traceGL_Native.glVertexAttribI4i);

  traceThis = traceEnabled("glVertexAttribI4i",&traceParam);

  if (!traceGL_Native.glVertexAttribI4i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI1ui)
    traceGL_lookupNativeAddress("glVertexAttribI1ui", (void **) &traceGL_Native.glVertexAttribI1ui);

  traceThis = traceEnabled("glVertexAttribI1ui",&traceParam);

  if (!traceGL_Native.glVertexAttribI1ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI1ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI2ui)
    traceGL_lookupNativeAddress("glVertexAttribI2ui", (void **) &traceGL_Native.glVertexAttribI2ui);

  traceThis = traceEnabled("glVertexAttribI2ui",&traceParam);

  if (!traceGL_Native.glVertexAttribI2ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI2ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI3ui)
    traceGL_lookupNativeAddress("glVertexAttribI3ui", (void **) &traceGL_Native.glVertexAttribI3ui);

  traceThis = traceEnabled("glVertexAttribI3ui",&traceParam);

  if (!traceGL_Native.glVertexAttribI3ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI3ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4ui)
    traceGL_lookupNativeAddress("glVertexAttribI4ui", (void **) &traceGL_Native.glVertexAttribI4ui);

  traceThis = traceEnabled("glVertexAttribI4ui",&traceParam);

  if (!traceGL_Native.glVertexAttribI4ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI1iv)
    traceGL_lookupNativeAddress("glVertexAttribI1iv", (void **) &traceGL_Native.glVertexAttribI1iv);

  traceThis = traceEnabled("glVertexAttribI1iv",&traceParam);

  if (!traceGL_Native.glVertexAttribI1iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI1iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI2iv)
    traceGL_lookupNativeAddress("glVertexAttribI2iv", (void **) &traceGL_Native.glVertexAttribI2iv);

  traceThis = traceEnabled("glVertexAttribI2iv",&traceParam);

  if (!traceGL_Native.glVertexAttribI2iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI2iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI3iv)
    traceGL_lookupNativeAddress("glVertexAttribI3iv", (void **) &traceGL_Native.glVertexAttribI3iv);

  traceThis = traceEnabled("glVertexAttribI3iv",&traceParam);

  if (!traceGL_Native.glVertexAttribI3iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI3iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4iv)
    traceGL_lookupNativeAddress("glVertexAttribI4iv", (void **) &traceGL_Native.glVertexAttribI4iv);

  traceThis = traceEnabled("glVertexAttribI4iv",&traceParam);

  if (!traceGL_Native.glVertexAttribI4iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI1uiv)
    traceGL_lookupNativeAddress("glVertexAttribI1uiv", (void **) &traceGL_Native.glVertexAttribI1uiv);

  traceThis = traceEnabled("glVertexAttribI1uiv",&traceParam);

  if (!traceGL_Native.glVertexAttribI1uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI1uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI2uiv)
    traceGL_lookupNativeAddress("glVertexAttribI2uiv", (void **) &traceGL_Native.glVertexAttribI2uiv);

  traceThis = traceEnabled("glVertexAttribI2uiv",&traceParam);

  if (!traceGL_Native.glVertexAttribI2uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI2uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI3uiv)
    traceGL_lookupNativeAddress("glVertexAttribI3uiv", (void **) &traceGL_Native.glVertexAttribI3uiv);

  traceThis = traceEnabled("glVertexAttribI3uiv",&traceParam);

  if (!traceGL_Native.glVertexAttribI3uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI3uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4uiv)
    traceGL_lookupNativeAddress("glVertexAttribI4uiv", (void **) &traceGL_Native.glVertexAttribI4uiv);

  traceThis = traceEnabled("glVertexAttribI4uiv",&traceParam);

  if (!traceGL_Native.glVertexAttribI4uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4bv)
    traceGL_lookupNativeAddress("glVertexAttribI4bv", (void **) &traceGL_Native.glVertexAttribI4bv);

  traceThis = traceEnabled("glVertexAttribI4bv",&traceParam);

  if (!traceGL_Native.glVertexAttribI4bv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4bv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4sv)
    traceGL_lookupNativeAddress("glVertexAttribI4sv", (void **) &traceGL_Native.glVertexAttribI4sv);

  traceThis = traceEnabled("glVertexAttribI4sv",&traceParam);

  if (!traceGL_Native.glVertexAttribI4sv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4sv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4ubv)
    traceGL_lookupNativeAddress("glVertexAttribI4ubv", (void **) &traceGL_Native.glVertexAttribI4ubv);

  traceThis = traceEnabled("glVertexAttribI4ubv",&traceParam);

  if (!traceGL_Native.glVertexAttribI4ubv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4ubv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4usv)
    traceGL_lookupNativeAddress("glVertexAttribI4usv", (void **) &traceGL_Native.glVertexAttribI4usv);

  traceThis = traceEnabled("glVertexAttribI4usv",&traceParam);

  if (!traceGL_Native.glVertexAttribI4usv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4usv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformuiv)
    traceGL_lookupNativeAddress("glGetUniformuiv", (void **) &traceGL_Native.glGetUniformuiv);

  traceThis = traceEnabled("glGetUniformuiv",&traceParam);

  if (!traceGL_Native.glGetUniformuiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformuiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindFragDataLocation)
    traceGL_lookupNativeAddress("glBindFragDataLocation", (void **) &traceGL_Native.glBindFragDataLocation);

  traceThis = traceEnabled("glBindFragDataLocation",&traceParam);

  if (!traceGL_Native.glBindFragDataLocation)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindFragDataLocation");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFragDataLocation)
    traceGL_lookupNativeAddress("glGetFragDataLocation", (void **) &traceGL_Native.glGetFragDataLocation);

  traceThis = traceEnabled("glGetFragDataLocation",&traceParam);

  if (!traceGL_Native.glGetFragDataLocation)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFragDataLocation");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%d", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glUniform1ui(GLint location, GLuint v0)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1ui)
    traceGL_lookupNativeAddress("glUniform1ui", (void **) &traceGL_Native.glUniform1ui);

  traceThis = traceEnabled("glUniform1ui",&traceParam);

  if (!traceGL_Native.glUniform1ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2ui)
    traceGL_lookupNativeAddress("glUniform2ui", (void **) &traceGL_Native.glUniform2ui);

  traceThis = traceEnabled("glUniform2ui",&traceParam);

  if (!traceGL_Native.glUniform2ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3ui)
    traceGL_lookupNativeAddress("glUniform3ui", (void **) &traceGL_Native.glUniform3ui);

  traceThis = traceEnabled("glUniform3ui",&traceParam);

  if (!traceGL_Native.glUniform3ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4ui)
    traceGL_lookupNativeAddress("glUniform4ui", (void **) &traceGL_Native.glUniform4ui);

  traceThis = traceEnabled("glUniform4ui",&traceParam);

  if (!traceGL_Native.glUniform4ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1uiv)
    traceGL_lookupNativeAddress("glUniform1uiv", (void **) &traceGL_Native.glUniform1uiv);

  traceThis = traceEnabled("glUniform1uiv",&traceParam);

  if (!traceGL_Native.glUniform1uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2uiv)
    traceGL_lookupNativeAddress("glUniform2uiv", (void **) &traceGL_Native.glUniform2uiv);

  traceThis = traceEnabled("glUniform2uiv",&traceParam);

  if (!traceGL_Native.glUniform2uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3uiv)
    traceGL_lookupNativeAddress("glUniform3uiv", (void **) &traceGL_Native.glUniform3uiv);

  traceThis = traceEnabled("glUniform3uiv",&traceParam);

  if (!traceGL_Native.glUniform3uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4uiv)
    traceGL_lookupNativeAddress("glUniform4uiv", (void **) &traceGL_Native.glUniform4uiv);

  traceThis = traceEnabled("glUniform4uiv",&traceParam);

  if (!traceGL_Native.glUniform4uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexParameterIiv)
    traceGL_lookupNativeAddress("glTexParameterIiv", (void **) &traceGL_Native.glTexParameterIiv);

  traceThis = traceEnabled("glTexParameterIiv",&traceParam);

  if (!traceGL_Native.glTexParameterIiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexParameterIiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexParameterIuiv)
    traceGL_lookupNativeAddress("glTexParameterIuiv", (void **) &traceGL_Native.glTexParameterIuiv);

  traceThis = traceEnabled("glTexParameterIuiv",&traceParam);

  if (!traceGL_Native.glTexParameterIuiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexParameterIuiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTexParameterIiv)
    traceGL_lookupNativeAddress("glGetTexParameterIiv", (void **) &traceGL_Native.glGetTexParameterIiv);

  traceThis = traceEnabled("glGetTexParameterIiv",&traceParam);

  if (!traceGL_Native.glGetTexParameterIiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTexParameterIiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTexParameterIuiv)
    traceGL_lookupNativeAddress("glGetTexParameterIuiv", (void **) &traceGL_Native.glGetTexParameterIuiv);

  traceThis = traceEnabled("glGetTexParameterIuiv",&traceParam);

  if (!traceGL_Native.glGetTexParameterIuiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTexParameterIuiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClearBufferiv)
    traceGL_lookupNativeAddress("glClearBufferiv", (void **) &traceGL_Native.glClearBufferiv);

  traceThis = traceEnabled("glClearBufferiv",&traceParam);

  if (!traceGL_Native.glClearBufferiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClearBufferiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClearBufferuiv)
    traceGL_lookupNativeAddress("glClearBufferuiv", (void **) &traceGL_Native.glClearBufferuiv);

  traceThis = traceEnabled("glClearBufferuiv",&traceParam);

  if (!traceGL_Native.glClearBufferuiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClearBufferuiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClearBufferfv)
    traceGL_lookupNativeAddress("glClearBufferfv", (void **) &traceGL_Native.glClearBufferfv);

  traceThis = traceEnabled("glClearBufferfv",&traceParam);

  if (!traceGL_Native.glClearBufferfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClearBufferfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClearBufferfi)
    traceGL_lookupNativeAddress("glClearBufferfi", (void **) &traceGL_Native.glClearBufferfi);

  traceThis = traceEnabled("glClearBufferfi",&traceParam);

  if (!traceGL_Native.glClearBufferfi)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClearBufferfi");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetStringi)
    traceGL_lookupNativeAddress("glGetStringi", (void **) &traceGL_Native.glGetStringi);

  traceThis = traceEnabled("glGetStringi",&traceParam);

  if (!traceGL_Native.glGetStringi)
    return NULL;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetStringi");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%s", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glDrawArraysInstanced(GLenum mode, GLint start, GLsizei count, GLsizei primcount)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawArraysInstanced)
    traceGL_lookupNativeAddress("glDrawArraysInstanced", (void **) &traceGL_Native.glDrawArraysInstanced);

  traceThis = traceEnabled("glDrawArraysInstanced",&traceParam);

  if (!traceGL_Native.glDrawArraysInstanced)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawArraysInstanced");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawElementsInstanced)
    traceGL_lookupNativeAddress("glDrawElementsInstanced", (void **) &traceGL_Native.glDrawElementsInstanced);

  traceThis = traceEnabled("glDrawElementsInstanced",&traceParam);

  if (!traceGL_Native.glDrawElementsInstanced)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawElementsInstanced");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexBuffer)
    traceGL_lookupNativeAddress("glTexBuffer", (void **) &traceGL_Native.glTexBuffer);

  traceThis = traceEnabled("glTexBuffer",&traceParam);

  if (!traceGL_Native.glTexBuffer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexBuffer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPrimitiveRestartIndex)
    traceGL_lookupNativeAddress("glPrimitiveRestartIndex", (void **) &traceGL_Native.glPrimitiveRestartIndex);

  traceThis = traceEnabled("glPrimitiveRestartIndex",&traceParam);

  if (!traceGL_Native.glPrimitiveRestartIndex)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPrimitiveRestartIndex");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  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",&traceParam);

  if (!traceGL_Native.glGetInteger64i_v)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetInteger64i_v");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetBufferParameteri64v)
    traceGL_lookupNativeAddress("glGetBufferParameteri64v", (void **) &traceGL_Native.glGetBufferParameteri64v);

  traceThis = traceEnabled("glGetBufferParameteri64v",&traceParam);

  if (!traceGL_Native.glGetBufferParameteri64v)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetBufferParameteri64v");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTexture)
    traceGL_lookupNativeAddress("glFramebufferTexture", (void **) &traceGL_Native.glFramebufferTexture);

  traceThis = traceEnabled("glFramebufferTexture",&traceParam);

  if (!traceGL_Native.glFramebufferTexture)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTexture");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTextureFace)
    traceGL_lookupNativeAddress("glFramebufferTextureFace", (void **) &traceGL_Native.glFramebufferTextureFace);

  traceThis = traceEnabled("glFramebufferTextureFace",&traceParam);

  if (!traceGL_Native.glFramebufferTextureFace)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTextureFace");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenSamplers)
    traceGL_lookupNativeAddress("glGenSamplers", (void **) &traceGL_Native.glGenSamplers);

  traceThis = traceEnabled("glGenSamplers",&traceParam);

  if (!traceGL_Native.glGenSamplers)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenSamplers");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("count", "%d", count);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenSamplers(count, samplers);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceOutputParameter("samplers", "%u[%d]", samplers, count);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteSamplers(GLsizei count, const GLuint *samplers)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteSamplers)
    traceGL_lookupNativeAddress("glDeleteSamplers", (void **) &traceGL_Native.glDeleteSamplers);

  traceThis = traceEnabled("glDeleteSamplers",&traceParam);

  if (!traceGL_Native.glDeleteSamplers)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteSamplers");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsSampler)
    traceGL_lookupNativeAddress("glIsSampler", (void **) &traceGL_Native.glIsSampler);

  traceThis = traceEnabled("glIsSampler",&traceParam);

  if (!traceGL_Native.glIsSampler)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsSampler");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("sampler", "%u", sampler);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsSampler(sampler);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBindSampler(GLuint unit, GLuint sampler)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindSampler)
    traceGL_lookupNativeAddress("glBindSampler", (void **) &traceGL_Native.glBindSampler);

  traceThis = traceEnabled("glBindSampler",&traceParam);

  if (!traceGL_Native.glBindSampler)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindSampler");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSamplerParameteri)
    traceGL_lookupNativeAddress("glSamplerParameteri", (void **) &traceGL_Native.glSamplerParameteri);

  traceThis = traceEnabled("glSamplerParameteri",&traceParam);

  if (!traceGL_Native.glSamplerParameteri)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSamplerParameteri");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSamplerParameterf)
    traceGL_lookupNativeAddress("glSamplerParameterf", (void **) &traceGL_Native.glSamplerParameterf);

  traceThis = traceEnabled("glSamplerParameterf",&traceParam);

  if (!traceGL_Native.glSamplerParameterf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSamplerParameterf");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSamplerParameteriv)
    traceGL_lookupNativeAddress("glSamplerParameteriv", (void **) &traceGL_Native.glSamplerParameteriv);

  traceThis = traceEnabled("glSamplerParameteriv",&traceParam);

  if (!traceGL_Native.glSamplerParameteriv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSamplerParameteriv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSamplerParameterfv)
    traceGL_lookupNativeAddress("glSamplerParameterfv", (void **) &traceGL_Native.glSamplerParameterfv);

  traceThis = traceEnabled("glSamplerParameterfv",&traceParam);

  if (!traceGL_Native.glSamplerParameterfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSamplerParameterfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSamplerParameterIiv)
    traceGL_lookupNativeAddress("glSamplerParameterIiv", (void **) &traceGL_Native.glSamplerParameterIiv);

  traceThis = traceEnabled("glSamplerParameterIiv",&traceParam);

  if (!traceGL_Native.glSamplerParameterIiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSamplerParameterIiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSamplerParameterIuiv)
    traceGL_lookupNativeAddress("glSamplerParameterIuiv", (void **) &traceGL_Native.glSamplerParameterIuiv);

  traceThis = traceEnabled("glSamplerParameterIuiv",&traceParam);

  if (!traceGL_Native.glSamplerParameterIuiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSamplerParameterIuiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetSamplerParameteriv)
    traceGL_lookupNativeAddress("glGetSamplerParameteriv", (void **) &traceGL_Native.glGetSamplerParameteriv);

  traceThis = traceEnabled("glGetSamplerParameteriv",&traceParam);

  if (!traceGL_Native.glGetSamplerParameteriv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetSamplerParameteriv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetSamplerParameterfv)
    traceGL_lookupNativeAddress("glGetSamplerParameterfv", (void **) &traceGL_Native.glGetSamplerParameterfv);

  traceThis = traceEnabled("glGetSamplerParameterfv",&traceParam);

  if (!traceGL_Native.glGetSamplerParameterfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetSamplerParameterfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetSamplerParameterIiv)
    traceGL_lookupNativeAddress("glGetSamplerParameterIiv", (void **) &traceGL_Native.glGetSamplerParameterIiv);

  traceThis = traceEnabled("glGetSamplerParameterIiv",&traceParam);

  if (!traceGL_Native.glGetSamplerParameterIiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetSamplerParameterIiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetSamplerParameterIuiv)
    traceGL_lookupNativeAddress("glGetSamplerParameterIuiv", (void **) &traceGL_Native.glGetSamplerParameterIuiv);

  traceThis = traceEnabled("glGetSamplerParameterIuiv",&traceParam);

  if (!traceGL_Native.glGetSamplerParameterIuiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetSamplerParameterIuiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindFragDataLocationIndexed)
    traceGL_lookupNativeAddress("glBindFragDataLocationIndexed", (void **) &traceGL_Native.glBindFragDataLocationIndexed);

  traceThis = traceEnabled("glBindFragDataLocationIndexed",&traceParam);

  if (!traceGL_Native.glBindFragDataLocationIndexed)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindFragDataLocationIndexed");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFragDataIndex)
    traceGL_lookupNativeAddress("glGetFragDataIndex", (void **) &traceGL_Native.glGetFragDataIndex);

  traceThis = traceEnabled("glGetFragDataIndex",&traceParam);

  if (!traceGL_Native.glGetFragDataIndex)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFragDataIndex");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%d", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetQueryObjecti64v)
    traceGL_lookupNativeAddress("glGetQueryObjecti64v", (void **) &traceGL_Native.glGetQueryObjecti64v);

  traceThis = traceEnabled("glGetQueryObjecti64v",&traceParam);

  if (!traceGL_Native.glGetQueryObjecti64v)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetQueryObjecti64v");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetQueryObjectui64v)
    traceGL_lookupNativeAddress("glGetQueryObjectui64v", (void **) &traceGL_Native.glGetQueryObjectui64v);

  traceThis = traceEnabled("glGetQueryObjectui64v",&traceParam);

  if (!traceGL_Native.glGetQueryObjectui64v)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetQueryObjectui64v");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glQueryCounter)
    traceGL_lookupNativeAddress("glQueryCounter", (void **) &traceGL_Native.glQueryCounter);

  traceThis = traceEnabled("glQueryCounter",&traceParam);

  if (!traceGL_Native.glQueryCounter)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glQueryCounter");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribDivisor)
    traceGL_lookupNativeAddress("glVertexAttribDivisor", (void **) &traceGL_Native.glVertexAttribDivisor);

  traceThis = traceEnabled("glVertexAttribDivisor",&traceParam);

  if (!traceGL_Native.glVertexAttribDivisor)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribDivisor");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexP2ui)
    traceGL_lookupNativeAddress("glVertexP2ui", (void **) &traceGL_Native.glVertexP2ui);

  traceThis = traceEnabled("glVertexP2ui",&traceParam);

  if (!traceGL_Native.glVertexP2ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexP2ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexP2uiv)
    traceGL_lookupNativeAddress("glVertexP2uiv", (void **) &traceGL_Native.glVertexP2uiv);

  traceThis = traceEnabled("glVertexP2uiv",&traceParam);

  if (!traceGL_Native.glVertexP2uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexP2uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexP3ui)
    traceGL_lookupNativeAddress("glVertexP3ui", (void **) &traceGL_Native.glVertexP3ui);

  traceThis = traceEnabled("glVertexP3ui",&traceParam);

  if (!traceGL_Native.glVertexP3ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexP3ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexP3uiv)
    traceGL_lookupNativeAddress("glVertexP3uiv", (void **) &traceGL_Native.glVertexP3uiv);

  traceThis = traceEnabled("glVertexP3uiv",&traceParam);

  if (!traceGL_Native.glVertexP3uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexP3uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexP4ui)
    traceGL_lookupNativeAddress("glVertexP4ui", (void **) &traceGL_Native.glVertexP4ui);

  traceThis = traceEnabled("glVertexP4ui",&traceParam);

  if (!traceGL_Native.glVertexP4ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexP4ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexP4uiv)
    traceGL_lookupNativeAddress("glVertexP4uiv", (void **) &traceGL_Native.glVertexP4uiv);

  traceThis = traceEnabled("glVertexP4uiv",&traceParam);

  if (!traceGL_Native.glVertexP4uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexP4uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoordP1ui)
    traceGL_lookupNativeAddress("glTexCoordP1ui", (void **) &traceGL_Native.glTexCoordP1ui);

  traceThis = traceEnabled("glTexCoordP1ui",&traceParam);

  if (!traceGL_Native.glTexCoordP1ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoordP1ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoordP1uiv)
    traceGL_lookupNativeAddress("glTexCoordP1uiv", (void **) &traceGL_Native.glTexCoordP1uiv);

  traceThis = traceEnabled("glTexCoordP1uiv",&traceParam);

  if (!traceGL_Native.glTexCoordP1uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoordP1uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoordP2ui)
    traceGL_lookupNativeAddress("glTexCoordP2ui", (void **) &traceGL_Native.glTexCoordP2ui);

  traceThis = traceEnabled("glTexCoordP2ui",&traceParam);

  if (!traceGL_Native.glTexCoordP2ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoordP2ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoordP2uiv)
    traceGL_lookupNativeAddress("glTexCoordP2uiv", (void **) &traceGL_Native.glTexCoordP2uiv);

  traceThis = traceEnabled("glTexCoordP2uiv",&traceParam);

  if (!traceGL_Native.glTexCoordP2uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoordP2uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoordP3ui)
    traceGL_lookupNativeAddress("glTexCoordP3ui", (void **) &traceGL_Native.glTexCoordP3ui);

  traceThis = traceEnabled("glTexCoordP3ui",&traceParam);

  if (!traceGL_Native.glTexCoordP3ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoordP3ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoordP3uiv)
    traceGL_lookupNativeAddress("glTexCoordP3uiv", (void **) &traceGL_Native.glTexCoordP3uiv);

  traceThis = traceEnabled("glTexCoordP3uiv",&traceParam);

  if (!traceGL_Native.glTexCoordP3uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoordP3uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoordP4ui)
    traceGL_lookupNativeAddress("glTexCoordP4ui", (void **) &traceGL_Native.glTexCoordP4ui);

  traceThis = traceEnabled("glTexCoordP4ui",&traceParam);

  if (!traceGL_Native.glTexCoordP4ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoordP4ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoordP4uiv)
    traceGL_lookupNativeAddress("glTexCoordP4uiv", (void **) &traceGL_Native.glTexCoordP4uiv);

  traceThis = traceEnabled("glTexCoordP4uiv",&traceParam);

  if (!traceGL_Native.glTexCoordP4uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoordP4uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoordP1ui)
    traceGL_lookupNativeAddress("glMultiTexCoordP1ui", (void **) &traceGL_Native.glMultiTexCoordP1ui);

  traceThis = traceEnabled("glMultiTexCoordP1ui",&traceParam);

  if (!traceGL_Native.glMultiTexCoordP1ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoordP1ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoordP1uiv)
    traceGL_lookupNativeAddress("glMultiTexCoordP1uiv", (void **) &traceGL_Native.glMultiTexCoordP1uiv);

  traceThis = traceEnabled("glMultiTexCoordP1uiv",&traceParam);

  if (!traceGL_Native.glMultiTexCoordP1uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoordP1uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoordP2ui)
    traceGL_lookupNativeAddress("glMultiTexCoordP2ui", (void **) &traceGL_Native.glMultiTexCoordP2ui);

  traceThis = traceEnabled("glMultiTexCoordP2ui",&traceParam);

  if (!traceGL_Native.glMultiTexCoordP2ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoordP2ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoordP2uiv)
    traceGL_lookupNativeAddress("glMultiTexCoordP2uiv", (void **) &traceGL_Native.glMultiTexCoordP2uiv);

  traceThis = traceEnabled("glMultiTexCoordP2uiv",&traceParam);

  if (!traceGL_Native.glMultiTexCoordP2uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoordP2uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoordP3ui)
    traceGL_lookupNativeAddress("glMultiTexCoordP3ui", (void **) &traceGL_Native.glMultiTexCoordP3ui);

  traceThis = traceEnabled("glMultiTexCoordP3ui",&traceParam);

  if (!traceGL_Native.glMultiTexCoordP3ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoordP3ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoordP3uiv)
    traceGL_lookupNativeAddress("glMultiTexCoordP3uiv", (void **) &traceGL_Native.glMultiTexCoordP3uiv);

  traceThis = traceEnabled("glMultiTexCoordP3uiv",&traceParam);

  if (!traceGL_Native.glMultiTexCoordP3uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoordP3uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoordP4ui)
    traceGL_lookupNativeAddress("glMultiTexCoordP4ui", (void **) &traceGL_Native.glMultiTexCoordP4ui);

  traceThis = traceEnabled("glMultiTexCoordP4ui",&traceParam);

  if (!traceGL_Native.glMultiTexCoordP4ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoordP4ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoordP4uiv)
    traceGL_lookupNativeAddress("glMultiTexCoordP4uiv", (void **) &traceGL_Native.glMultiTexCoordP4uiv);

  traceThis = traceEnabled("glMultiTexCoordP4uiv",&traceParam);

  if (!traceGL_Native.glMultiTexCoordP4uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoordP4uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalP3ui)
    traceGL_lookupNativeAddress("glNormalP3ui", (void **) &traceGL_Native.glNormalP3ui);

  traceThis = traceEnabled("glNormalP3ui",&traceParam);

  if (!traceGL_Native.glNormalP3ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalP3ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalP3uiv)
    traceGL_lookupNativeAddress("glNormalP3uiv", (void **) &traceGL_Native.glNormalP3uiv);

  traceThis = traceEnabled("glNormalP3uiv",&traceParam);

  if (!traceGL_Native.glNormalP3uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalP3uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorP3ui)
    traceGL_lookupNativeAddress("glColorP3ui", (void **) &traceGL_Native.glColorP3ui);

  traceThis = traceEnabled("glColorP3ui",&traceParam);

  if (!traceGL_Native.glColorP3ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorP3ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorP3uiv)
    traceGL_lookupNativeAddress("glColorP3uiv", (void **) &traceGL_Native.glColorP3uiv);

  traceThis = traceEnabled("glColorP3uiv",&traceParam);

  if (!traceGL_Native.glColorP3uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorP3uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorP4ui)
    traceGL_lookupNativeAddress("glColorP4ui", (void **) &traceGL_Native.glColorP4ui);

  traceThis = traceEnabled("glColorP4ui",&traceParam);

  if (!traceGL_Native.glColorP4ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorP4ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorP4uiv)
    traceGL_lookupNativeAddress("glColorP4uiv", (void **) &traceGL_Native.glColorP4uiv);

  traceThis = traceEnabled("glColorP4uiv",&traceParam);

  if (!traceGL_Native.glColorP4uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorP4uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColorP3ui)
    traceGL_lookupNativeAddress("glSecondaryColorP3ui", (void **) &traceGL_Native.glSecondaryColorP3ui);

  traceThis = traceEnabled("glSecondaryColorP3ui",&traceParam);

  if (!traceGL_Native.glSecondaryColorP3ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColorP3ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColorP3uiv)
    traceGL_lookupNativeAddress("glSecondaryColorP3uiv", (void **) &traceGL_Native.glSecondaryColorP3uiv);

  traceThis = traceEnabled("glSecondaryColorP3uiv",&traceParam);

  if (!traceGL_Native.glSecondaryColorP3uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColorP3uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribP1ui)
    traceGL_lookupNativeAddress("glVertexAttribP1ui", (void **) &traceGL_Native.glVertexAttribP1ui);

  traceThis = traceEnabled("glVertexAttribP1ui",&traceParam);

  if (!traceGL_Native.glVertexAttribP1ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribP1ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribP1uiv)
    traceGL_lookupNativeAddress("glVertexAttribP1uiv", (void **) &traceGL_Native.glVertexAttribP1uiv);

  traceThis = traceEnabled("glVertexAttribP1uiv",&traceParam);

  if (!traceGL_Native.glVertexAttribP1uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribP1uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribP2ui)
    traceGL_lookupNativeAddress("glVertexAttribP2ui", (void **) &traceGL_Native.glVertexAttribP2ui);

  traceThis = traceEnabled("glVertexAttribP2ui",&traceParam);

  if (!traceGL_Native.glVertexAttribP2ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribP2ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribP2uiv)
    traceGL_lookupNativeAddress("glVertexAttribP2uiv", (void **) &traceGL_Native.glVertexAttribP2uiv);

  traceThis = traceEnabled("glVertexAttribP2uiv",&traceParam);

  if (!traceGL_Native.glVertexAttribP2uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribP2uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribP3ui)
    traceGL_lookupNativeAddress("glVertexAttribP3ui", (void **) &traceGL_Native.glVertexAttribP3ui);

  traceThis = traceEnabled("glVertexAttribP3ui",&traceParam);

  if (!traceGL_Native.glVertexAttribP3ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribP3ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribP3uiv)
    traceGL_lookupNativeAddress("glVertexAttribP3uiv", (void **) &traceGL_Native.glVertexAttribP3uiv);

  traceThis = traceEnabled("glVertexAttribP3uiv",&traceParam);

  if (!traceGL_Native.glVertexAttribP3uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribP3uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribP4ui)
    traceGL_lookupNativeAddress("glVertexAttribP4ui", (void **) &traceGL_Native.glVertexAttribP4ui);

  traceThis = traceEnabled("glVertexAttribP4ui",&traceParam);

  if (!traceGL_Native.glVertexAttribP4ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribP4ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribP4uiv)
    traceGL_lookupNativeAddress("glVertexAttribP4uiv", (void **) &traceGL_Native.glVertexAttribP4uiv);

  traceThis = traceEnabled("glVertexAttribP4uiv",&traceParam);

  if (!traceGL_Native.glVertexAttribP4uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribP4uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendEquationi)
    traceGL_lookupNativeAddress("glBlendEquationi", (void **) &traceGL_Native.glBlendEquationi);

  traceThis = traceEnabled("glBlendEquationi",&traceParam);

  if (!traceGL_Native.glBlendEquationi)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendEquationi");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendEquationSeparatei)
    traceGL_lookupNativeAddress("glBlendEquationSeparatei", (void **) &traceGL_Native.glBlendEquationSeparatei);

  traceThis = traceEnabled("glBlendEquationSeparatei",&traceParam);

  if (!traceGL_Native.glBlendEquationSeparatei)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendEquationSeparatei");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendFunci)
    traceGL_lookupNativeAddress("glBlendFunci", (void **) &traceGL_Native.glBlendFunci);

  traceThis = traceEnabled("glBlendFunci",&traceParam);

  if (!traceGL_Native.glBlendFunci)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendFunci");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendFuncSeparatei)
    traceGL_lookupNativeAddress("glBlendFuncSeparatei", (void **) &traceGL_Native.glBlendFuncSeparatei);

  traceThis = traceEnabled("glBlendFuncSeparatei",&traceParam);

  if (!traceGL_Native.glBlendFuncSeparatei)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendFuncSeparatei");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawArraysIndirect)
    traceGL_lookupNativeAddress("glDrawArraysIndirect", (void **) &traceGL_Native.glDrawArraysIndirect);

  traceThis = traceEnabled("glDrawArraysIndirect",&traceParam);

  if (!traceGL_Native.glDrawArraysIndirect)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawArraysIndirect");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawElementsIndirect)
    traceGL_lookupNativeAddress("glDrawElementsIndirect", (void **) &traceGL_Native.glDrawElementsIndirect);

  traceThis = traceEnabled("glDrawElementsIndirect",&traceParam);

  if (!traceGL_Native.glDrawElementsIndirect)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawElementsIndirect");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1d)
    traceGL_lookupNativeAddress("glUniform1d", (void **) &traceGL_Native.glUniform1d);

  traceThis = traceEnabled("glUniform1d",&traceParam);

  if (!traceGL_Native.glUniform1d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2d)
    traceGL_lookupNativeAddress("glUniform2d", (void **) &traceGL_Native.glUniform2d);

  traceThis = traceEnabled("glUniform2d",&traceParam);

  if (!traceGL_Native.glUniform2d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3d)
    traceGL_lookupNativeAddress("glUniform3d", (void **) &traceGL_Native.glUniform3d);

  traceThis = traceEnabled("glUniform3d",&traceParam);

  if (!traceGL_Native.glUniform3d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4d)
    traceGL_lookupNativeAddress("glUniform4d", (void **) &traceGL_Native.glUniform4d);

  traceThis = traceEnabled("glUniform4d",&traceParam);

  if (!traceGL_Native.glUniform4d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1dv)
    traceGL_lookupNativeAddress("glUniform1dv", (void **) &traceGL_Native.glUniform1dv);

  traceThis = traceEnabled("glUniform1dv",&traceParam);

  if (!traceGL_Native.glUniform1dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2dv)
    traceGL_lookupNativeAddress("glUniform2dv", (void **) &traceGL_Native.glUniform2dv);

  traceThis = traceEnabled("glUniform2dv",&traceParam);

  if (!traceGL_Native.glUniform2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3dv)
    traceGL_lookupNativeAddress("glUniform3dv", (void **) &traceGL_Native.glUniform3dv);

  traceThis = traceEnabled("glUniform3dv",&traceParam);

  if (!traceGL_Native.glUniform3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4dv)
    traceGL_lookupNativeAddress("glUniform4dv", (void **) &traceGL_Native.glUniform4dv);

  traceThis = traceEnabled("glUniform4dv",&traceParam);

  if (!traceGL_Native.glUniform4dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix2dv)
    traceGL_lookupNativeAddress("glUniformMatrix2dv", (void **) &traceGL_Native.glUniformMatrix2dv);

  traceThis = traceEnabled("glUniformMatrix2dv",&traceParam);

  if (!traceGL_Native.glUniformMatrix2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix2dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix3dv)
    traceGL_lookupNativeAddress("glUniformMatrix3dv", (void **) &traceGL_Native.glUniformMatrix3dv);

  traceThis = traceEnabled("glUniformMatrix3dv",&traceParam);

  if (!traceGL_Native.glUniformMatrix3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix3dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix4dv)
    traceGL_lookupNativeAddress("glUniformMatrix4dv", (void **) &traceGL_Native.glUniformMatrix4dv);

  traceThis = traceEnabled("glUniformMatrix4dv",&traceParam);

  if (!traceGL_Native.glUniformMatrix4dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix4dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix2x3dv)
    traceGL_lookupNativeAddress("glUniformMatrix2x3dv", (void **) &traceGL_Native.glUniformMatrix2x3dv);

  traceThis = traceEnabled("glUniformMatrix2x3dv",&traceParam);

  if (!traceGL_Native.glUniformMatrix2x3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix2x3dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix2x4dv)
    traceGL_lookupNativeAddress("glUniformMatrix2x4dv", (void **) &traceGL_Native.glUniformMatrix2x4dv);

  traceThis = traceEnabled("glUniformMatrix2x4dv",&traceParam);

  if (!traceGL_Native.glUniformMatrix2x4dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix2x4dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix3x2dv)
    traceGL_lookupNativeAddress("glUniformMatrix3x2dv", (void **) &traceGL_Native.glUniformMatrix3x2dv);

  traceThis = traceEnabled("glUniformMatrix3x2dv",&traceParam);

  if (!traceGL_Native.glUniformMatrix3x2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix3x2dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix3x4dv)
    traceGL_lookupNativeAddress("glUniformMatrix3x4dv", (void **) &traceGL_Native.glUniformMatrix3x4dv);

  traceThis = traceEnabled("glUniformMatrix3x4dv",&traceParam);

  if (!traceGL_Native.glUniformMatrix3x4dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix3x4dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix4x2dv)
    traceGL_lookupNativeAddress("glUniformMatrix4x2dv", (void **) &traceGL_Native.glUniformMatrix4x2dv);

  traceThis = traceEnabled("glUniformMatrix4x2dv",&traceParam);

  if (!traceGL_Native.glUniformMatrix4x2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix4x2dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix4x3dv)
    traceGL_lookupNativeAddress("glUniformMatrix4x3dv", (void **) &traceGL_Native.glUniformMatrix4x3dv);

  traceThis = traceEnabled("glUniformMatrix4x3dv",&traceParam);

  if (!traceGL_Native.glUniformMatrix4x3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix4x3dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformdv)
    traceGL_lookupNativeAddress("glGetUniformdv", (void **) &traceGL_Native.glGetUniformdv);

  traceThis = traceEnabled("glGetUniformdv",&traceParam);

  if (!traceGL_Native.glGetUniformdv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformdv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMinSampleShading)
    traceGL_lookupNativeAddress("glMinSampleShading", (void **) &traceGL_Native.glMinSampleShading);

  traceThis = traceEnabled("glMinSampleShading",&traceParam);

  if (!traceGL_Native.glMinSampleShading)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMinSampleShading");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPatchParameteri)
    traceGL_lookupNativeAddress("glPatchParameteri", (void **) &traceGL_Native.glPatchParameteri);

  traceThis = traceEnabled("glPatchParameteri",&traceParam);

  if (!traceGL_Native.glPatchParameteri)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPatchParameteri");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPatchParameterfv)
    traceGL_lookupNativeAddress("glPatchParameterfv", (void **) &traceGL_Native.glPatchParameterfv);

  traceThis = traceEnabled("glPatchParameterfv",&traceParam);

  if (!traceGL_Native.glPatchParameterfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPatchParameterfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenTransformFeedbacks)
    traceGL_lookupNativeAddress("glGenTransformFeedbacks", (void **) &traceGL_Native.glGenTransformFeedbacks);

  traceThis = traceEnabled("glGenTransformFeedbacks",&traceParam);

  if (!traceGL_Native.glGenTransformFeedbacks)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenTransformFeedbacks");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenTransformFeedbacks(n, ids);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceOutputParameter("ids", "%u[%d]", ids, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteTransformFeedbacks)
    traceGL_lookupNativeAddress("glDeleteTransformFeedbacks", (void **) &traceGL_Native.glDeleteTransformFeedbacks);

  traceThis = traceEnabled("glDeleteTransformFeedbacks",&traceParam);

  if (!traceGL_Native.glDeleteTransformFeedbacks)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteTransformFeedbacks");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindTransformFeedback)
    traceGL_lookupNativeAddress("glBindTransformFeedback", (void **) &traceGL_Native.glBindTransformFeedback);

  traceThis = traceEnabled("glBindTransformFeedback",&traceParam);

  if (!traceGL_Native.glBindTransformFeedback)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindTransformFeedback");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsTransformFeedback)
    traceGL_lookupNativeAddress("glIsTransformFeedback", (void **) &traceGL_Native.glIsTransformFeedback);

  traceThis = traceEnabled("glIsTransformFeedback",&traceParam);

  if (!traceGL_Native.glIsTransformFeedback)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsTransformFeedback");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsTransformFeedback(id);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glPauseTransformFeedback()
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPauseTransformFeedback)
    traceGL_lookupNativeAddress("glPauseTransformFeedback", (void **) &traceGL_Native.glPauseTransformFeedback);

  traceThis = traceEnabled("glPauseTransformFeedback",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glResumeTransformFeedback)
    traceGL_lookupNativeAddress("glResumeTransformFeedback", (void **) &traceGL_Native.glResumeTransformFeedback);

  traceThis = traceEnabled("glResumeTransformFeedback",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawTransformFeedback)
    traceGL_lookupNativeAddress("glDrawTransformFeedback", (void **) &traceGL_Native.glDrawTransformFeedback);

  traceThis = traceEnabled("glDrawTransformFeedback",&traceParam);

  if (!traceGL_Native.glDrawTransformFeedback)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawTransformFeedback");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawTransformFeedbackStream)
    traceGL_lookupNativeAddress("glDrawTransformFeedbackStream", (void **) &traceGL_Native.glDrawTransformFeedbackStream);

  traceThis = traceEnabled("glDrawTransformFeedbackStream",&traceParam);

  if (!traceGL_Native.glDrawTransformFeedbackStream)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawTransformFeedbackStream");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBeginQueryIndexed)
    traceGL_lookupNativeAddress("glBeginQueryIndexed", (void **) &traceGL_Native.glBeginQueryIndexed);

  traceThis = traceEnabled("glBeginQueryIndexed",&traceParam);

  if (!traceGL_Native.glBeginQueryIndexed)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBeginQueryIndexed");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndQueryIndexed)
    traceGL_lookupNativeAddress("glEndQueryIndexed", (void **) &traceGL_Native.glEndQueryIndexed);

  traceThis = traceEnabled("glEndQueryIndexed",&traceParam);

  if (!traceGL_Native.glEndQueryIndexed)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEndQueryIndexed");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetQueryIndexediv)
    traceGL_lookupNativeAddress("glGetQueryIndexediv", (void **) &traceGL_Native.glGetQueryIndexediv);

  traceThis = traceEnabled("glGetQueryIndexediv",&traceParam);

  if (!traceGL_Native.glGetQueryIndexediv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetQueryIndexediv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetSubroutineUniformLocation)
    traceGL_lookupNativeAddress("glGetSubroutineUniformLocation", (void **) &traceGL_Native.glGetSubroutineUniformLocation);

  traceThis = traceEnabled("glGetSubroutineUniformLocation",&traceParam);

  if (!traceGL_Native.glGetSubroutineUniformLocation)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetSubroutineUniformLocation");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetSubroutineIndex)
    traceGL_lookupNativeAddress("glGetSubroutineIndex", (void **) &traceGL_Native.glGetSubroutineIndex);

  traceThis = traceEnabled("glGetSubroutineIndex",&traceParam);

  if (!traceGL_Native.glGetSubroutineIndex)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetSubroutineIndex");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetActiveSubroutineUniformiv)
    traceGL_lookupNativeAddress("glGetActiveSubroutineUniformiv", (void **) &traceGL_Native.glGetActiveSubroutineUniformiv);

  traceThis = traceEnabled("glGetActiveSubroutineUniformiv",&traceParam);

  if (!traceGL_Native.glGetActiveSubroutineUniformiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetActiveSubroutineUniformiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetActiveSubroutineUniformName)
    traceGL_lookupNativeAddress("glGetActiveSubroutineUniformName", (void **) &traceGL_Native.glGetActiveSubroutineUniformName);

  traceThis = traceEnabled("glGetActiveSubroutineUniformName",&traceParam);

  if (!traceGL_Native.glGetActiveSubroutineUniformName)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetActiveSubroutineUniformName");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetActiveSubroutineName)
    traceGL_lookupNativeAddress("glGetActiveSubroutineName", (void **) &traceGL_Native.glGetActiveSubroutineName);

  traceThis = traceEnabled("glGetActiveSubroutineName",&traceParam);

  if (!traceGL_Native.glGetActiveSubroutineName)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetActiveSubroutineName");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformSubroutinesuiv)
    traceGL_lookupNativeAddress("glUniformSubroutinesuiv", (void **) &traceGL_Native.glUniformSubroutinesuiv);

  traceThis = traceEnabled("glUniformSubroutinesuiv",&traceParam);

  if (!traceGL_Native.glUniformSubroutinesuiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformSubroutinesuiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformSubroutineuiv)
    traceGL_lookupNativeAddress("glGetUniformSubroutineuiv", (void **) &traceGL_Native.glGetUniformSubroutineuiv);

  traceThis = traceEnabled("glGetUniformSubroutineuiv",&traceParam);

  if (!traceGL_Native.glGetUniformSubroutineuiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformSubroutineuiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%u[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramStageiv(GLuint program, GLenum shaderType, GLenum pname, GLint *values)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramStageiv)
    traceGL_lookupNativeAddress("glGetProgramStageiv", (void **) &traceGL_Native.glGetProgramStageiv);

  traceThis = traceEnabled("glGetProgramStageiv",&traceParam);

  if (!traceGL_Native.glGetProgramStageiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramStageiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("values", "%d[%d]", values, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexAttribL1d(GLuint index, GLdouble x)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL1d)
    traceGL_lookupNativeAddress("glVertexAttribL1d", (void **) &traceGL_Native.glVertexAttribL1d);

  traceThis = traceEnabled("glVertexAttribL1d",&traceParam);

  if (!traceGL_Native.glVertexAttribL1d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL1d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL2d)
    traceGL_lookupNativeAddress("glVertexAttribL2d", (void **) &traceGL_Native.glVertexAttribL2d);

  traceThis = traceEnabled("glVertexAttribL2d",&traceParam);

  if (!traceGL_Native.glVertexAttribL2d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL2d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL3d)
    traceGL_lookupNativeAddress("glVertexAttribL3d", (void **) &traceGL_Native.glVertexAttribL3d);

  traceThis = traceEnabled("glVertexAttribL3d",&traceParam);

  if (!traceGL_Native.glVertexAttribL3d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL3d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL4d)
    traceGL_lookupNativeAddress("glVertexAttribL4d", (void **) &traceGL_Native.glVertexAttribL4d);

  traceThis = traceEnabled("glVertexAttribL4d",&traceParam);

  if (!traceGL_Native.glVertexAttribL4d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL4d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL1dv)
    traceGL_lookupNativeAddress("glVertexAttribL1dv", (void **) &traceGL_Native.glVertexAttribL1dv);

  traceThis = traceEnabled("glVertexAttribL1dv",&traceParam);

  if (!traceGL_Native.glVertexAttribL1dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL1dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL2dv)
    traceGL_lookupNativeAddress("glVertexAttribL2dv", (void **) &traceGL_Native.glVertexAttribL2dv);

  traceThis = traceEnabled("glVertexAttribL2dv",&traceParam);

  if (!traceGL_Native.glVertexAttribL2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL2dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL3dv)
    traceGL_lookupNativeAddress("glVertexAttribL3dv", (void **) &traceGL_Native.glVertexAttribL3dv);

  traceThis = traceEnabled("glVertexAttribL3dv",&traceParam);

  if (!traceGL_Native.glVertexAttribL3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL3dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL4dv)
    traceGL_lookupNativeAddress("glVertexAttribL4dv", (void **) &traceGL_Native.glVertexAttribL4dv);

  traceThis = traceEnabled("glVertexAttribL4dv",&traceParam);

  if (!traceGL_Native.glVertexAttribL4dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL4dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribLPointer)
    traceGL_lookupNativeAddress("glVertexAttribLPointer", (void **) &traceGL_Native.glVertexAttribLPointer);

  traceThis = traceEnabled("glVertexAttribLPointer",&traceParam);

  if (!traceGL_Native.glVertexAttribLPointer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribLPointer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribLdv)
    traceGL_lookupNativeAddress("glGetVertexAttribLdv", (void **) &traceGL_Native.glGetVertexAttribLdv);

  traceThis = traceEnabled("glGetVertexAttribLdv",&traceParam);

  if (!traceGL_Native.glGetVertexAttribLdv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribLdv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%lf[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glReleaseShaderCompiler()
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReleaseShaderCompiler)
    traceGL_lookupNativeAddress("glReleaseShaderCompiler", (void **) &traceGL_Native.glReleaseShaderCompiler);

  traceThis = traceEnabled("glReleaseShaderCompiler",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glShaderBinary)
    traceGL_lookupNativeAddress("glShaderBinary", (void **) &traceGL_Native.glShaderBinary);

  traceThis = traceEnabled("glShaderBinary",&traceParam);

  if (!traceGL_Native.glShaderBinary)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glShaderBinary");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetShaderPrecisionFormat)
    traceGL_lookupNativeAddress("glGetShaderPrecisionFormat", (void **) &traceGL_Native.glGetShaderPrecisionFormat);

  traceThis = traceEnabled("glGetShaderPrecisionFormat",&traceParam);

  if (!traceGL_Native.glGetShaderPrecisionFormat)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetShaderPrecisionFormat");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDepthRangef)
    traceGL_lookupNativeAddress("glDepthRangef", (void **) &traceGL_Native.glDepthRangef);

  traceThis = traceEnabled("glDepthRangef",&traceParam);

  if (!traceGL_Native.glDepthRangef)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDepthRangef");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClearDepthf)
    traceGL_lookupNativeAddress("glClearDepthf", (void **) &traceGL_Native.glClearDepthf);

  traceThis = traceEnabled("glClearDepthf",&traceParam);

  if (!traceGL_Native.glClearDepthf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClearDepthf");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramBinary)
    traceGL_lookupNativeAddress("glGetProgramBinary", (void **) &traceGL_Native.glGetProgramBinary);

  traceThis = traceEnabled("glGetProgramBinary",&traceParam);

  if (!traceGL_Native.glGetProgramBinary)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramBinary");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramBinary)
    traceGL_lookupNativeAddress("glProgramBinary", (void **) &traceGL_Native.glProgramBinary);

  traceThis = traceEnabled("glProgramBinary",&traceParam);

  if (!traceGL_Native.glProgramBinary)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramBinary");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramParameteri)
    traceGL_lookupNativeAddress("glProgramParameteri", (void **) &traceGL_Native.glProgramParameteri);

  traceThis = traceEnabled("glProgramParameteri",&traceParam);

  if (!traceGL_Native.glProgramParameteri)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramParameteri");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glViewportArrayv)
    traceGL_lookupNativeAddress("glViewportArrayv", (void **) &traceGL_Native.glViewportArrayv);

  traceThis = traceEnabled("glViewportArrayv",&traceParam);

  if (!traceGL_Native.glViewportArrayv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glViewportArrayv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glViewportIndexedf)
    traceGL_lookupNativeAddress("glViewportIndexedf", (void **) &traceGL_Native.glViewportIndexedf);

  traceThis = traceEnabled("glViewportIndexedf",&traceParam);

  if (!traceGL_Native.glViewportIndexedf)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glViewportIndexedf");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glViewportIndexedfv)
    traceGL_lookupNativeAddress("glViewportIndexedfv", (void **) &traceGL_Native.glViewportIndexedfv);

  traceThis = traceEnabled("glViewportIndexedfv",&traceParam);

  if (!traceGL_Native.glViewportIndexedfv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glViewportIndexedfv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glScissorArrayv)
    traceGL_lookupNativeAddress("glScissorArrayv", (void **) &traceGL_Native.glScissorArrayv);

  traceThis = traceEnabled("glScissorArrayv",&traceParam);

  if (!traceGL_Native.glScissorArrayv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glScissorArrayv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glScissorIndexed)
    traceGL_lookupNativeAddress("glScissorIndexed", (void **) &traceGL_Native.glScissorIndexed);

  traceThis = traceEnabled("glScissorIndexed",&traceParam);

  if (!traceGL_Native.glScissorIndexed)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glScissorIndexed");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glScissorIndexedv)
    traceGL_lookupNativeAddress("glScissorIndexedv", (void **) &traceGL_Native.glScissorIndexedv);

  traceThis = traceEnabled("glScissorIndexedv",&traceParam);

  if (!traceGL_Native.glScissorIndexedv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glScissorIndexedv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDepthRangeArrayv)
    traceGL_lookupNativeAddress("glDepthRangeArrayv", (void **) &traceGL_Native.glDepthRangeArrayv);

  traceThis = traceEnabled("glDepthRangeArrayv",&traceParam);

  if (!traceGL_Native.glDepthRangeArrayv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDepthRangeArrayv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDepthRangeIndexed)
    traceGL_lookupNativeAddress("glDepthRangeIndexed", (void **) &traceGL_Native.glDepthRangeIndexed);

  traceThis = traceEnabled("glDepthRangeIndexed",&traceParam);

  if (!traceGL_Native.glDepthRangeIndexed)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDepthRangeIndexed");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  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",&traceParam);

  if (!traceGL_Native.glGetFloati_v)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFloati_v");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  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",&traceParam);

  if (!traceGL_Native.glGetDoublei_v)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetDoublei_v");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glActiveShaderProgram)
    traceGL_lookupNativeAddress("glActiveShaderProgram", (void **) &traceGL_Native.glActiveShaderProgram);

  traceThis = traceEnabled("glActiveShaderProgram",&traceParam);

  if (!traceGL_Native.glActiveShaderProgram)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glActiveShaderProgram");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUseProgramStages)
    traceGL_lookupNativeAddress("glUseProgramStages", (void **) &traceGL_Native.glUseProgramStages);

  traceThis = traceEnabled("glUseProgramStages",&traceParam);

  if (!traceGL_Native.glUseProgramStages)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUseProgramStages");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCreateShaderProgramv)
    traceGL_lookupNativeAddress("glCreateShaderProgramv", (void **) &traceGL_Native.glCreateShaderProgramv);

  traceThis = traceEnabled("glCreateShaderProgramv",&traceParam);

  if (!traceGL_Native.glCreateShaderProgramv)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCreateShaderProgramv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBindProgramPipeline(GLuint pipeline)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindProgramPipeline)
    traceGL_lookupNativeAddress("glBindProgramPipeline", (void **) &traceGL_Native.glBindProgramPipeline);

  traceThis = traceEnabled("glBindProgramPipeline",&traceParam);

  if (!traceGL_Native.glBindProgramPipeline)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindProgramPipeline");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteProgramPipelines)
    traceGL_lookupNativeAddress("glDeleteProgramPipelines", (void **) &traceGL_Native.glDeleteProgramPipelines);

  traceThis = traceEnabled("glDeleteProgramPipelines",&traceParam);

  if (!traceGL_Native.glDeleteProgramPipelines)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteProgramPipelines");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenProgramPipelines)
    traceGL_lookupNativeAddress("glGenProgramPipelines", (void **) &traceGL_Native.glGenProgramPipelines);

  traceThis = traceEnabled("glGenProgramPipelines",&traceParam);

  if (!traceGL_Native.glGenProgramPipelines)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenProgramPipelines");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenProgramPipelines(n, pipelines);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceOutputParameter("pipelines", "%u[%d]", pipelines, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsProgramPipeline(GLuint pipeline)
{
  GLboolean ret = GL_FALSE;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsProgramPipeline)
    traceGL_lookupNativeAddress("glIsProgramPipeline", (void **) &traceGL_Native.glIsProgramPipeline);

  traceThis = traceEnabled("glIsProgramPipeline",&traceParam);

  if (!traceGL_Native.glIsProgramPipeline)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsProgramPipeline");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("pipeline", "%u", pipeline);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsProgramPipeline(pipeline);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramPipelineiv)
    traceGL_lookupNativeAddress("glGetProgramPipelineiv", (void **) &traceGL_Native.glGetProgramPipelineiv);

  traceThis = traceEnabled("glGetProgramPipelineiv",&traceParam);

  if (!traceGL_Native.glGetProgramPipelineiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramPipelineiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glValidateProgramPipeline)
    traceGL_lookupNativeAddress("glValidateProgramPipeline", (void **) &traceGL_Native.glValidateProgramPipeline);

  traceThis = traceEnabled("glValidateProgramPipeline",&traceParam);

  if (!traceGL_Native.glValidateProgramPipeline)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glValidateProgramPipeline");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramPipelineInfoLog)
    traceGL_lookupNativeAddress("glGetProgramPipelineInfoLog", (void **) &traceGL_Native.glGetProgramPipelineInfoLog);

  traceThis = traceEnabled("glGetProgramPipelineInfoLog",&traceParam);

  if (!traceGL_Native.glGetProgramPipelineInfoLog)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramPipelineInfoLog");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1f)
    traceGL_lookupNativeAddress("glProgramUniform1f", (void **) &traceGL_Native.glProgramUniform1f);

  traceThis = traceEnabled("glProgramUniform1f",&traceParam);

  if (!traceGL_Native.glProgramUniform1f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2f)
    traceGL_lookupNativeAddress("glProgramUniform2f", (void **) &traceGL_Native.glProgramUniform2f);

  traceThis = traceEnabled("glProgramUniform2f",&traceParam);

  if (!traceGL_Native.glProgramUniform2f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3f)
    traceGL_lookupNativeAddress("glProgramUniform3f", (void **) &traceGL_Native.glProgramUniform3f);

  traceThis = traceEnabled("glProgramUniform3f",&traceParam);

  if (!traceGL_Native.glProgramUniform3f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4f)
    traceGL_lookupNativeAddress("glProgramUniform4f", (void **) &traceGL_Native.glProgramUniform4f);

  traceThis = traceEnabled("glProgramUniform4f",&traceParam);

  if (!traceGL_Native.glProgramUniform4f)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4f");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1i)
    traceGL_lookupNativeAddress("glProgramUniform1i", (void **) &traceGL_Native.glProgramUniform1i);

  traceThis = traceEnabled("glProgramUniform1i",&traceParam);

  if (!traceGL_Native.glProgramUniform1i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2i)
    traceGL_lookupNativeAddress("glProgramUniform2i", (void **) &traceGL_Native.glProgramUniform2i);

  traceThis = traceEnabled("glProgramUniform2i",&traceParam);

  if (!traceGL_Native.glProgramUniform2i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3i)
    traceGL_lookupNativeAddress("glProgramUniform3i", (void **) &traceGL_Native.glProgramUniform3i);

  traceThis = traceEnabled("glProgramUniform3i",&traceParam);

  if (!traceGL_Native.glProgramUniform3i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4i)
    traceGL_lookupNativeAddress("glProgramUniform4i", (void **) &traceGL_Native.glProgramUniform4i);

  traceThis = traceEnabled("glProgramUniform4i",&traceParam);

  if (!traceGL_Native.glProgramUniform4i)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4i");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1fv)
    traceGL_lookupNativeAddress("glProgramUniform1fv", (void **) &traceGL_Native.glProgramUniform1fv);

  traceThis = traceEnabled("glProgramUniform1fv",&traceParam);

  if (!traceGL_Native.glProgramUniform1fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2fv)
    traceGL_lookupNativeAddress("glProgramUniform2fv", (void **) &traceGL_Native.glProgramUniform2fv);

  traceThis = traceEnabled("glProgramUniform2fv",&traceParam);

  if (!traceGL_Native.glProgramUniform2fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3fv)
    traceGL_lookupNativeAddress("glProgramUniform3fv", (void **) &traceGL_Native.glProgramUniform3fv);

  traceThis = traceEnabled("glProgramUniform3fv",&traceParam);

  if (!traceGL_Native.glProgramUniform3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4fv)
    traceGL_lookupNativeAddress("glProgramUniform4fv", (void **) &traceGL_Native.glProgramUniform4fv);

  traceThis = traceEnabled("glProgramUniform4fv",&traceParam);

  if (!traceGL_Native.glProgramUniform4fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1iv)
    traceGL_lookupNativeAddress("glProgramUniform1iv", (void **) &traceGL_Native.glProgramUniform1iv);

  traceThis = traceEnabled("glProgramUniform1iv",&traceParam);

  if (!traceGL_Native.glProgramUniform1iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2iv)
    traceGL_lookupNativeAddress("glProgramUniform2iv", (void **) &traceGL_Native.glProgramUniform2iv);

  traceThis = traceEnabled("glProgramUniform2iv",&traceParam);

  if (!traceGL_Native.glProgramUniform2iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3iv)
    traceGL_lookupNativeAddress("glProgramUniform3iv", (void **) &traceGL_Native.glProgramUniform3iv);

  traceThis = traceEnabled("glProgramUniform3iv",&traceParam);

  if (!traceGL_Native.glProgramUniform3iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4iv)
    traceGL_lookupNativeAddress("glProgramUniform4iv", (void **) &traceGL_Native.glProgramUniform4iv);

  traceThis = traceEnabled("glProgramUniform4iv",&traceParam);

  if (!traceGL_Native.glProgramUniform4iv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4iv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix2fv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix2fv", (void **) &traceGL_Native.glProgramUniformMatrix2fv);

  traceThis = traceEnabled("glProgramUniformMatrix2fv",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix2fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix2fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix3fv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix3fv", (void **) &traceGL_Native.glProgramUniformMatrix3fv);

  traceThis = traceEnabled("glProgramUniformMatrix3fv",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix3fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix4fv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix4fv", (void **) &traceGL_Native.glProgramUniformMatrix4fv);

  traceThis = traceEnabled("glProgramUniformMatrix4fv",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix4fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix4fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix2x3fv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix2x3fv", (void **) &traceGL_Native.glProgramUniformMatrix2x3fv);

  traceThis = traceEnabled("glProgramUniformMatrix2x3fv",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix2x3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix2x3fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix3x2fv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix3x2fv", (void **) &traceGL_Native.glProgramUniformMatrix3x2fv);

  traceThis = traceEnabled("glProgramUniformMatrix3x2fv",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix3x2fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix3x2fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix2x4fv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix2x4fv", (void **) &traceGL_Native.glProgramUniformMatrix2x4fv);

  traceThis = traceEnabled("glProgramUniformMatrix2x4fv",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix2x4fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix2x4fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix4x2fv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix4x2fv", (void **) &traceGL_Native.glProgramUniformMatrix4x2fv);

  traceThis = traceEnabled("glProgramUniformMatrix4x2fv",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix4x2fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix4x2fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix3x4fv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix3x4fv", (void **) &traceGL_Native.glProgramUniformMatrix3x4fv);

  traceThis = traceEnabled("glProgramUniformMatrix3x4fv",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix3x4fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix3x4fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix4x3fv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix4x3fv", (void **) &traceGL_Native.glProgramUniformMatrix4x3fv);

  traceThis = traceEnabled("glProgramUniformMatrix4x3fv",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix4x3fv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix4x3fv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1ui)
    traceGL_lookupNativeAddress("glProgramUniform1ui", (void **) &traceGL_Native.glProgramUniform1ui);

  traceThis = traceEnabled("glProgramUniform1ui",&traceParam);

  if (!traceGL_Native.glProgramUniform1ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2ui)
    traceGL_lookupNativeAddress("glProgramUniform2ui", (void **) &traceGL_Native.glProgramUniform2ui);

  traceThis = traceEnabled("glProgramUniform2ui",&traceParam);

  if (!traceGL_Native.glProgramUniform2ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3ui)
    traceGL_lookupNativeAddress("glProgramUniform3ui", (void **) &traceGL_Native.glProgramUniform3ui);

  traceThis = traceEnabled("glProgramUniform3ui",&traceParam);

  if (!traceGL_Native.glProgramUniform3ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4ui)
    traceGL_lookupNativeAddress("glProgramUniform4ui", (void **) &traceGL_Native.glProgramUniform4ui);

  traceThis = traceEnabled("glProgramUniform4ui",&traceParam);

  if (!traceGL_Native.glProgramUniform4ui)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4ui");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1uiv)
    traceGL_lookupNativeAddress("glProgramUniform1uiv", (void **) &traceGL_Native.glProgramUniform1uiv);

  traceThis = traceEnabled("glProgramUniform1uiv",&traceParam);

  if (!traceGL_Native.glProgramUniform1uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2uiv)
    traceGL_lookupNativeAddress("glProgramUniform2uiv", (void **) &traceGL_Native.glProgramUniform2uiv);

  traceThis = traceEnabled("glProgramUniform2uiv",&traceParam);

  if (!traceGL_Native.glProgramUniform2uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3uiv)
    traceGL_lookupNativeAddress("glProgramUniform3uiv", (void **) &traceGL_Native.glProgramUniform3uiv);

  traceThis = traceEnabled("glProgramUniform3uiv",&traceParam);

  if (!traceGL_Native.glProgramUniform3uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4uiv)
    traceGL_lookupNativeAddress("glProgramUniform4uiv", (void **) &traceGL_Native.glProgramUniform4uiv);

  traceThis = traceEnabled("glProgramUniform4uiv",&traceParam);

  if (!traceGL_Native.glProgramUniform4uiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4uiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1d)
    traceGL_lookupNativeAddress("glProgramUniform1d", (void **) &traceGL_Native.glProgramUniform1d);

  traceThis = traceEnabled("glProgramUniform1d",&traceParam);

  if (!traceGL_Native.glProgramUniform1d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2d)
    traceGL_lookupNativeAddress("glProgramUniform2d", (void **) &traceGL_Native.glProgramUniform2d);

  traceThis = traceEnabled("glProgramUniform2d",&traceParam);

  if (!traceGL_Native.glProgramUniform2d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3d)
    traceGL_lookupNativeAddress("glProgramUniform3d", (void **) &traceGL_Native.glProgramUniform3d);

  traceThis = traceEnabled("glProgramUniform3d",&traceParam);

  if (!traceGL_Native.glProgramUniform3d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4d)
    traceGL_lookupNativeAddress("glProgramUniform4d", (void **) &traceGL_Native.glProgramUniform4d);

  traceThis = traceEnabled("glProgramUniform4d",&traceParam);

  if (!traceGL_Native.glProgramUniform4d)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4d");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1dv)
    traceGL_lookupNativeAddress("glProgramUniform1dv", (void **) &traceGL_Native.glProgramUniform1dv);

  traceThis = traceEnabled("glProgramUniform1dv",&traceParam);

  if (!traceGL_Native.glProgramUniform1dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2dv)
    traceGL_lookupNativeAddress("glProgramUniform2dv", (void **) &traceGL_Native.glProgramUniform2dv);

  traceThis = traceEnabled("glProgramUniform2dv",&traceParam);

  if (!traceGL_Native.glProgramUniform2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3dv)
    traceGL_lookupNativeAddress("glProgramUniform3dv", (void **) &traceGL_Native.glProgramUniform3dv);

  traceThis = traceEnabled("glProgramUniform3dv",&traceParam);

  if (!traceGL_Native.glProgramUniform3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4dv)
    traceGL_lookupNativeAddress("glProgramUniform4dv", (void **) &traceGL_Native.glProgramUniform4dv);

  traceThis = traceEnabled("glProgramUniform4dv",&traceParam);

  if (!traceGL_Native.glProgramUniform4dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix2dv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix2dv", (void **) &traceGL_Native.glProgramUniformMatrix2dv);

  traceThis = traceEnabled("glProgramUniformMatrix2dv",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix2dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix3dv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix3dv", (void **) &traceGL_Native.glProgramUniformMatrix3dv);

  traceThis = traceEnabled("glProgramUniformMatrix3dv",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix3dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix4dv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix4dv", (void **) &traceGL_Native.glProgramUniformMatrix4dv);

  traceThis = traceEnabled("glProgramUniformMatrix4dv",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix4dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix4dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix2x3dv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix2x3dv", (void **) &traceGL_Native.glProgramUniformMatrix2x3dv);

  traceThis = traceEnabled("glProgramUniformMatrix2x3dv",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix2x3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix2x3dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix2x4dv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix2x4dv", (void **) &traceGL_Native.glProgramUniformMatrix2x4dv);

  traceThis = traceEnabled("glProgramUniformMatrix2x4dv",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix2x4dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix2x4dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix3x2dv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix3x2dv", (void **) &traceGL_Native.glProgramUniformMatrix3x2dv);

  traceThis = traceEnabled("glProgramUniformMatrix3x2dv",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix3x2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix3x2dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix3x4dv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix3x4dv", (void **) &traceGL_Native.glProgramUniformMatrix3x4dv);

  traceThis = traceEnabled("glProgramUniformMatrix3x4dv",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix3x4dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix3x4dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix4x2dv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix4x2dv", (void **) &traceGL_Native.glProgramUniformMatrix4x2dv);

  traceThis = traceEnabled("glProgramUniformMatrix4x2dv",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix4x2dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix4x2dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix4x3dv)
    traceGL_lookupNativeAddress("glProgramUniformMatrix4x3dv", (void **) &traceGL_Native.glProgramUniformMatrix4x3dv);

  traceThis = traceEnabled("glProgramUniformMatrix4x3dv",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix4x3dv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix4x3dv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glActiveTextureARB)
    traceGL_lookupNativeAddress("glActiveTextureARB", (void **) &traceGL_Native.glActiveTextureARB);

  traceThis = traceEnabled("glActiveTextureARB",&traceParam);

  if (!traceGL_Native.glActiveTextureARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glActiveTextureARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClientActiveTextureARB)
    traceGL_lookupNativeAddress("glClientActiveTextureARB", (void **) &traceGL_Native.glClientActiveTextureARB);

  traceThis = traceEnabled("glClientActiveTextureARB",&traceParam);

  if (!traceGL_Native.glClientActiveTextureARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClientActiveTextureARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1dARB)
    traceGL_lookupNativeAddress("glMultiTexCoord1dARB", (void **) &traceGL_Native.glMultiTexCoord1dARB);

  traceThis = traceEnabled("glMultiTexCoord1dARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord1dARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1dARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1dvARB)
    traceGL_lookupNativeAddress("glMultiTexCoord1dvARB", (void **) &traceGL_Native.glMultiTexCoord1dvARB);

  traceThis = traceEnabled("glMultiTexCoord1dvARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord1dvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1dvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1fARB)
    traceGL_lookupNativeAddress("glMultiTexCoord1fARB", (void **) &traceGL_Native.glMultiTexCoord1fARB);

  traceThis = traceEnabled("glMultiTexCoord1fARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord1fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1fARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1fvARB)
    traceGL_lookupNativeAddress("glMultiTexCoord1fvARB", (void **) &traceGL_Native.glMultiTexCoord1fvARB);

  traceThis = traceEnabled("glMultiTexCoord1fvARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord1fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1fvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1iARB)
    traceGL_lookupNativeAddress("glMultiTexCoord1iARB", (void **) &traceGL_Native.glMultiTexCoord1iARB);

  traceThis = traceEnabled("glMultiTexCoord1iARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord1iARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1iARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1ivARB)
    traceGL_lookupNativeAddress("glMultiTexCoord1ivARB", (void **) &traceGL_Native.glMultiTexCoord1ivARB);

  traceThis = traceEnabled("glMultiTexCoord1ivARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord1ivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1ivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1sARB)
    traceGL_lookupNativeAddress("glMultiTexCoord1sARB", (void **) &traceGL_Native.glMultiTexCoord1sARB);

  traceThis = traceEnabled("glMultiTexCoord1sARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord1sARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1sARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1svARB)
    traceGL_lookupNativeAddress("glMultiTexCoord1svARB", (void **) &traceGL_Native.glMultiTexCoord1svARB);

  traceThis = traceEnabled("glMultiTexCoord1svARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord1svARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1svARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2dARB)
    traceGL_lookupNativeAddress("glMultiTexCoord2dARB", (void **) &traceGL_Native.glMultiTexCoord2dARB);

  traceThis = traceEnabled("glMultiTexCoord2dARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord2dARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2dARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2dvARB)
    traceGL_lookupNativeAddress("glMultiTexCoord2dvARB", (void **) &traceGL_Native.glMultiTexCoord2dvARB);

  traceThis = traceEnabled("glMultiTexCoord2dvARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord2dvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2dvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2fARB)
    traceGL_lookupNativeAddress("glMultiTexCoord2fARB", (void **) &traceGL_Native.glMultiTexCoord2fARB);

  traceThis = traceEnabled("glMultiTexCoord2fARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord2fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2fARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2fvARB)
    traceGL_lookupNativeAddress("glMultiTexCoord2fvARB", (void **) &traceGL_Native.glMultiTexCoord2fvARB);

  traceThis = traceEnabled("glMultiTexCoord2fvARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord2fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2fvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2iARB)
    traceGL_lookupNativeAddress("glMultiTexCoord2iARB", (void **) &traceGL_Native.glMultiTexCoord2iARB);

  traceThis = traceEnabled("glMultiTexCoord2iARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord2iARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2iARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2ivARB)
    traceGL_lookupNativeAddress("glMultiTexCoord2ivARB", (void **) &traceGL_Native.glMultiTexCoord2ivARB);

  traceThis = traceEnabled("glMultiTexCoord2ivARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord2ivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2ivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2sARB)
    traceGL_lookupNativeAddress("glMultiTexCoord2sARB", (void **) &traceGL_Native.glMultiTexCoord2sARB);

  traceThis = traceEnabled("glMultiTexCoord2sARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord2sARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2sARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2svARB)
    traceGL_lookupNativeAddress("glMultiTexCoord2svARB", (void **) &traceGL_Native.glMultiTexCoord2svARB);

  traceThis = traceEnabled("glMultiTexCoord2svARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord2svARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2svARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3dARB)
    traceGL_lookupNativeAddress("glMultiTexCoord3dARB", (void **) &traceGL_Native.glMultiTexCoord3dARB);

  traceThis = traceEnabled("glMultiTexCoord3dARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord3dARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3dARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3dvARB)
    traceGL_lookupNativeAddress("glMultiTexCoord3dvARB", (void **) &traceGL_Native.glMultiTexCoord3dvARB);

  traceThis = traceEnabled("glMultiTexCoord3dvARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord3dvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3dvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3fARB)
    traceGL_lookupNativeAddress("glMultiTexCoord3fARB", (void **) &traceGL_Native.glMultiTexCoord3fARB);

  traceThis = traceEnabled("glMultiTexCoord3fARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord3fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3fARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3fvARB)
    traceGL_lookupNativeAddress("glMultiTexCoord3fvARB", (void **) &traceGL_Native.glMultiTexCoord3fvARB);

  traceThis = traceEnabled("glMultiTexCoord3fvARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord3fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3fvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3iARB)
    traceGL_lookupNativeAddress("glMultiTexCoord3iARB", (void **) &traceGL_Native.glMultiTexCoord3iARB);

  traceThis = traceEnabled("glMultiTexCoord3iARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord3iARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3iARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3ivARB)
    traceGL_lookupNativeAddress("glMultiTexCoord3ivARB", (void **) &traceGL_Native.glMultiTexCoord3ivARB);

  traceThis = traceEnabled("glMultiTexCoord3ivARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord3ivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3ivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3sARB)
    traceGL_lookupNativeAddress("glMultiTexCoord3sARB", (void **) &traceGL_Native.glMultiTexCoord3sARB);

  traceThis = traceEnabled("glMultiTexCoord3sARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord3sARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3sARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3svARB)
    traceGL_lookupNativeAddress("glMultiTexCoord3svARB", (void **) &traceGL_Native.glMultiTexCoord3svARB);

  traceThis = traceEnabled("glMultiTexCoord3svARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord3svARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3svARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4dARB)
    traceGL_lookupNativeAddress("glMultiTexCoord4dARB", (void **) &traceGL_Native.glMultiTexCoord4dARB);

  traceThis = traceEnabled("glMultiTexCoord4dARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord4dARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4dARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4dvARB)
    traceGL_lookupNativeAddress("glMultiTexCoord4dvARB", (void **) &traceGL_Native.glMultiTexCoord4dvARB);

  traceThis = traceEnabled("glMultiTexCoord4dvARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord4dvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4dvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4fARB)
    traceGL_lookupNativeAddress("glMultiTexCoord4fARB", (void **) &traceGL_Native.glMultiTexCoord4fARB);

  traceThis = traceEnabled("glMultiTexCoord4fARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord4fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4fARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4fvARB)
    traceGL_lookupNativeAddress("glMultiTexCoord4fvARB", (void **) &traceGL_Native.glMultiTexCoord4fvARB);

  traceThis = traceEnabled("glMultiTexCoord4fvARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord4fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4fvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4iARB)
    traceGL_lookupNativeAddress("glMultiTexCoord4iARB", (void **) &traceGL_Native.glMultiTexCoord4iARB);

  traceThis = traceEnabled("glMultiTexCoord4iARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord4iARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4iARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4ivARB)
    traceGL_lookupNativeAddress("glMultiTexCoord4ivARB", (void **) &traceGL_Native.glMultiTexCoord4ivARB);

  traceThis = traceEnabled("glMultiTexCoord4ivARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord4ivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4ivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4sARB)
    traceGL_lookupNativeAddress("glMultiTexCoord4sARB", (void **) &traceGL_Native.glMultiTexCoord4sARB);

  traceThis = traceEnabled("glMultiTexCoord4sARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord4sARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4sARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4svARB)
    traceGL_lookupNativeAddress("glMultiTexCoord4svARB", (void **) &traceGL_Native.glMultiTexCoord4svARB);

  traceThis = traceEnabled("glMultiTexCoord4svARB",&traceParam);

  if (!traceGL_Native.glMultiTexCoord4svARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4svARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLoadTransposeMatrixfARB)
    traceGL_lookupNativeAddress("glLoadTransposeMatrixfARB", (void **) &traceGL_Native.glLoadTransposeMatrixfARB);

  traceThis = traceEnabled("glLoadTransposeMatrixfARB",&traceParam);

  if (!traceGL_Native.glLoadTransposeMatrixfARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLoadTransposeMatrixfARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLoadTransposeMatrixdARB)
    traceGL_lookupNativeAddress("glLoadTransposeMatrixdARB", (void **) &traceGL_Native.glLoadTransposeMatrixdARB);

  traceThis = traceEnabled("glLoadTransposeMatrixdARB",&traceParam);

  if (!traceGL_Native.glLoadTransposeMatrixdARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLoadTransposeMatrixdARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultTransposeMatrixfARB)
    traceGL_lookupNativeAddress("glMultTransposeMatrixfARB", (void **) &traceGL_Native.glMultTransposeMatrixfARB);

  traceThis = traceEnabled("glMultTransposeMatrixfARB",&traceParam);

  if (!traceGL_Native.glMultTransposeMatrixfARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultTransposeMatrixfARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultTransposeMatrixdARB)
    traceGL_lookupNativeAddress("glMultTransposeMatrixdARB", (void **) &traceGL_Native.glMultTransposeMatrixdARB);

  traceThis = traceEnabled("glMultTransposeMatrixdARB",&traceParam);

  if (!traceGL_Native.glMultTransposeMatrixdARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultTransposeMatrixdARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSampleCoverageARB)
    traceGL_lookupNativeAddress("glSampleCoverageARB", (void **) &traceGL_Native.glSampleCoverageARB);

  traceThis = traceEnabled("glSampleCoverageARB",&traceParam);

  if (!traceGL_Native.glSampleCoverageARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSampleCoverageARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTexImage3DARB)
    traceGL_lookupNativeAddress("glCompressedTexImage3DARB", (void **) &traceGL_Native.glCompressedTexImage3DARB);

  traceThis = traceEnabled("glCompressedTexImage3DARB",&traceParam);

  if (!traceGL_Native.glCompressedTexImage3DARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTexImage3DARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTexImage2DARB)
    traceGL_lookupNativeAddress("glCompressedTexImage2DARB", (void **) &traceGL_Native.glCompressedTexImage2DARB);

  traceThis = traceEnabled("glCompressedTexImage2DARB",&traceParam);

  if (!traceGL_Native.glCompressedTexImage2DARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTexImage2DARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTexImage1DARB)
    traceGL_lookupNativeAddress("glCompressedTexImage1DARB", (void **) &traceGL_Native.glCompressedTexImage1DARB);

  traceThis = traceEnabled("glCompressedTexImage1DARB",&traceParam);

  if (!traceGL_Native.glCompressedTexImage1DARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTexImage1DARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTexSubImage3DARB)
    traceGL_lookupNativeAddress("glCompressedTexSubImage3DARB", (void **) &traceGL_Native.glCompressedTexSubImage3DARB);

  traceThis = traceEnabled("glCompressedTexSubImage3DARB",&traceParam);

  if (!traceGL_Native.glCompressedTexSubImage3DARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTexSubImage3DARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTexSubImage2DARB)
    traceGL_lookupNativeAddress("glCompressedTexSubImage2DARB", (void **) &traceGL_Native.glCompressedTexSubImage2DARB);

  traceThis = traceEnabled("glCompressedTexSubImage2DARB",&traceParam);

  if (!traceGL_Native.glCompressedTexSubImage2DARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTexSubImage2DARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTexSubImage1DARB)
    traceGL_lookupNativeAddress("glCompressedTexSubImage1DARB", (void **) &traceGL_Native.glCompressedTexSubImage1DARB);

  traceThis = traceEnabled("glCompressedTexSubImage1DARB",&traceParam);

  if (!traceGL_Native.glCompressedTexSubImage1DARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTexSubImage1DARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetCompressedTexImageARB)
    traceGL_lookupNativeAddress("glGetCompressedTexImageARB", (void **) &traceGL_Native.glGetCompressedTexImageARB);

  traceThis = traceEnabled("glGetCompressedTexImageARB",&traceParam);

  if (!traceGL_Native.glGetCompressedTexImageARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetCompressedTexImageARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("img", "%p", img);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glPointParameterfARB(GLenum pname, GLfloat param)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPointParameterfARB)
    traceGL_lookupNativeAddress("glPointParameterfARB", (void **) &traceGL_Native.glPointParameterfARB);

  traceThis = traceEnabled("glPointParameterfARB",&traceParam);

  if (!traceGL_Native.glPointParameterfARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPointParameterfARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPointParameterfvARB)
    traceGL_lookupNativeAddress("glPointParameterfvARB", (void **) &traceGL_Native.glPointParameterfvARB);

  traceThis = traceEnabled("glPointParameterfvARB",&traceParam);

  if (!traceGL_Native.glPointParameterfvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPointParameterfvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWeightbvARB)
    traceGL_lookupNativeAddress("glWeightbvARB", (void **) &traceGL_Native.glWeightbvARB);

  traceThis = traceEnabled("glWeightbvARB",&traceParam);

  if (!traceGL_Native.glWeightbvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWeightbvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWeightsvARB)
    traceGL_lookupNativeAddress("glWeightsvARB", (void **) &traceGL_Native.glWeightsvARB);

  traceThis = traceEnabled("glWeightsvARB",&traceParam);

  if (!traceGL_Native.glWeightsvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWeightsvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWeightivARB)
    traceGL_lookupNativeAddress("glWeightivARB", (void **) &traceGL_Native.glWeightivARB);

  traceThis = traceEnabled("glWeightivARB",&traceParam);

  if (!traceGL_Native.glWeightivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWeightivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWeightfvARB)
    traceGL_lookupNativeAddress("glWeightfvARB", (void **) &traceGL_Native.glWeightfvARB);

  traceThis = traceEnabled("glWeightfvARB",&traceParam);

  if (!traceGL_Native.glWeightfvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWeightfvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWeightdvARB)
    traceGL_lookupNativeAddress("glWeightdvARB", (void **) &traceGL_Native.glWeightdvARB);

  traceThis = traceEnabled("glWeightdvARB",&traceParam);

  if (!traceGL_Native.glWeightdvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWeightdvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWeightubvARB)
    traceGL_lookupNativeAddress("glWeightubvARB", (void **) &traceGL_Native.glWeightubvARB);

  traceThis = traceEnabled("glWeightubvARB",&traceParam);

  if (!traceGL_Native.glWeightubvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWeightubvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWeightusvARB)
    traceGL_lookupNativeAddress("glWeightusvARB", (void **) &traceGL_Native.glWeightusvARB);

  traceThis = traceEnabled("glWeightusvARB",&traceParam);

  if (!traceGL_Native.glWeightusvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWeightusvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWeightuivARB)
    traceGL_lookupNativeAddress("glWeightuivARB", (void **) &traceGL_Native.glWeightuivARB);

  traceThis = traceEnabled("glWeightuivARB",&traceParam);

  if (!traceGL_Native.glWeightuivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWeightuivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWeightPointerARB)
    traceGL_lookupNativeAddress("glWeightPointerARB", (void **) &traceGL_Native.glWeightPointerARB);

  traceThis = traceEnabled("glWeightPointerARB",&traceParam);

  if (!traceGL_Native.glWeightPointerARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWeightPointerARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexBlendARB)
    traceGL_lookupNativeAddress("glVertexBlendARB", (void **) &traceGL_Native.glVertexBlendARB);

  traceThis = traceEnabled("glVertexBlendARB",&traceParam);

  if (!traceGL_Native.glVertexBlendARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexBlendARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCurrentPaletteMatrixARB)
    traceGL_lookupNativeAddress("glCurrentPaletteMatrixARB", (void **) &traceGL_Native.glCurrentPaletteMatrixARB);

  traceThis = traceEnabled("glCurrentPaletteMatrixARB",&traceParam);

  if (!traceGL_Native.glCurrentPaletteMatrixARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCurrentPaletteMatrixARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixIndexubvARB)
    traceGL_lookupNativeAddress("glMatrixIndexubvARB", (void **) &traceGL_Native.glMatrixIndexubvARB);

  traceThis = traceEnabled("glMatrixIndexubvARB",&traceParam);

  if (!traceGL_Native.glMatrixIndexubvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixIndexubvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixIndexusvARB)
    traceGL_lookupNativeAddress("glMatrixIndexusvARB", (void **) &traceGL_Native.glMatrixIndexusvARB);

  traceThis = traceEnabled("glMatrixIndexusvARB",&traceParam);

  if (!traceGL_Native.glMatrixIndexusvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixIndexusvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixIndexuivARB)
    traceGL_lookupNativeAddress("glMatrixIndexuivARB", (void **) &traceGL_Native.glMatrixIndexuivARB);

  traceThis = traceEnabled("glMatrixIndexuivARB",&traceParam);

  if (!traceGL_Native.glMatrixIndexuivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixIndexuivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixIndexPointerARB)
    traceGL_lookupNativeAddress("glMatrixIndexPointerARB", (void **) &traceGL_Native.glMatrixIndexPointerARB);

  traceThis = traceEnabled("glMatrixIndexPointerARB",&traceParam);

  if (!traceGL_Native.glMatrixIndexPointerARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixIndexPointerARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2dARB)
    traceGL_lookupNativeAddress("glWindowPos2dARB", (void **) &traceGL_Native.glWindowPos2dARB);

  traceThis = traceEnabled("glWindowPos2dARB",&traceParam);

  if (!traceGL_Native.glWindowPos2dARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2dARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2dvARB)
    traceGL_lookupNativeAddress("glWindowPos2dvARB", (void **) &traceGL_Native.glWindowPos2dvARB);

  traceThis = traceEnabled("glWindowPos2dvARB",&traceParam);

  if (!traceGL_Native.glWindowPos2dvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2dvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2fARB)
    traceGL_lookupNativeAddress("glWindowPos2fARB", (void **) &traceGL_Native.glWindowPos2fARB);

  traceThis = traceEnabled("glWindowPos2fARB",&traceParam);

  if (!traceGL_Native.glWindowPos2fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2fARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2fvARB)
    traceGL_lookupNativeAddress("glWindowPos2fvARB", (void **) &traceGL_Native.glWindowPos2fvARB);

  traceThis = traceEnabled("glWindowPos2fvARB",&traceParam);

  if (!traceGL_Native.glWindowPos2fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2fvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2iARB)
    traceGL_lookupNativeAddress("glWindowPos2iARB", (void **) &traceGL_Native.glWindowPos2iARB);

  traceThis = traceEnabled("glWindowPos2iARB",&traceParam);

  if (!traceGL_Native.glWindowPos2iARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2iARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2ivARB)
    traceGL_lookupNativeAddress("glWindowPos2ivARB", (void **) &traceGL_Native.glWindowPos2ivARB);

  traceThis = traceEnabled("glWindowPos2ivARB",&traceParam);

  if (!traceGL_Native.glWindowPos2ivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2ivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2sARB)
    traceGL_lookupNativeAddress("glWindowPos2sARB", (void **) &traceGL_Native.glWindowPos2sARB);

  traceThis = traceEnabled("glWindowPos2sARB",&traceParam);

  if (!traceGL_Native.glWindowPos2sARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2sARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2svARB)
    traceGL_lookupNativeAddress("glWindowPos2svARB", (void **) &traceGL_Native.glWindowPos2svARB);

  traceThis = traceEnabled("glWindowPos2svARB",&traceParam);

  if (!traceGL_Native.glWindowPos2svARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2svARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3dARB)
    traceGL_lookupNativeAddress("glWindowPos3dARB", (void **) &traceGL_Native.glWindowPos3dARB);

  traceThis = traceEnabled("glWindowPos3dARB",&traceParam);

  if (!traceGL_Native.glWindowPos3dARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3dARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3dvARB)
    traceGL_lookupNativeAddress("glWindowPos3dvARB", (void **) &traceGL_Native.glWindowPos3dvARB);

  traceThis = traceEnabled("glWindowPos3dvARB",&traceParam);

  if (!traceGL_Native.glWindowPos3dvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3dvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3fARB)
    traceGL_lookupNativeAddress("glWindowPos3fARB", (void **) &traceGL_Native.glWindowPos3fARB);

  traceThis = traceEnabled("glWindowPos3fARB",&traceParam);

  if (!traceGL_Native.glWindowPos3fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3fARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3fvARB)
    traceGL_lookupNativeAddress("glWindowPos3fvARB", (void **) &traceGL_Native.glWindowPos3fvARB);

  traceThis = traceEnabled("glWindowPos3fvARB",&traceParam);

  if (!traceGL_Native.glWindowPos3fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3fvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3iARB)
    traceGL_lookupNativeAddress("glWindowPos3iARB", (void **) &traceGL_Native.glWindowPos3iARB);

  traceThis = traceEnabled("glWindowPos3iARB",&traceParam);

  if (!traceGL_Native.glWindowPos3iARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3iARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3ivARB)
    traceGL_lookupNativeAddress("glWindowPos3ivARB", (void **) &traceGL_Native.glWindowPos3ivARB);

  traceThis = traceEnabled("glWindowPos3ivARB",&traceParam);

  if (!traceGL_Native.glWindowPos3ivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3ivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3sARB)
    traceGL_lookupNativeAddress("glWindowPos3sARB", (void **) &traceGL_Native.glWindowPos3sARB);

  traceThis = traceEnabled("glWindowPos3sARB",&traceParam);

  if (!traceGL_Native.glWindowPos3sARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3sARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3svARB)
    traceGL_lookupNativeAddress("glWindowPos3svARB", (void **) &traceGL_Native.glWindowPos3svARB);

  traceThis = traceEnabled("glWindowPos3svARB",&traceParam);

  if (!traceGL_Native.glWindowPos3svARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3svARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1dARB)
    traceGL_lookupNativeAddress("glVertexAttrib1dARB", (void **) &traceGL_Native.glVertexAttrib1dARB);

  traceThis = traceEnabled("glVertexAttrib1dARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib1dARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1dARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1dvARB)
    traceGL_lookupNativeAddress("glVertexAttrib1dvARB", (void **) &traceGL_Native.glVertexAttrib1dvARB);

  traceThis = traceEnabled("glVertexAttrib1dvARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib1dvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1dvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1fARB)
    traceGL_lookupNativeAddress("glVertexAttrib1fARB", (void **) &traceGL_Native.glVertexAttrib1fARB);

  traceThis = traceEnabled("glVertexAttrib1fARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib1fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1fARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1fvARB)
    traceGL_lookupNativeAddress("glVertexAttrib1fvARB", (void **) &traceGL_Native.glVertexAttrib1fvARB);

  traceThis = traceEnabled("glVertexAttrib1fvARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib1fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1fvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1sARB)
    traceGL_lookupNativeAddress("glVertexAttrib1sARB", (void **) &traceGL_Native.glVertexAttrib1sARB);

  traceThis = traceEnabled("glVertexAttrib1sARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib1sARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1sARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1svARB)
    traceGL_lookupNativeAddress("glVertexAttrib1svARB", (void **) &traceGL_Native.glVertexAttrib1svARB);

  traceThis = traceEnabled("glVertexAttrib1svARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib1svARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1svARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2dARB)
    traceGL_lookupNativeAddress("glVertexAttrib2dARB", (void **) &traceGL_Native.glVertexAttrib2dARB);

  traceThis = traceEnabled("glVertexAttrib2dARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib2dARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2dARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2dvARB)
    traceGL_lookupNativeAddress("glVertexAttrib2dvARB", (void **) &traceGL_Native.glVertexAttrib2dvARB);

  traceThis = traceEnabled("glVertexAttrib2dvARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib2dvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2dvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2fARB)
    traceGL_lookupNativeAddress("glVertexAttrib2fARB", (void **) &traceGL_Native.glVertexAttrib2fARB);

  traceThis = traceEnabled("glVertexAttrib2fARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib2fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2fARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2fvARB)
    traceGL_lookupNativeAddress("glVertexAttrib2fvARB", (void **) &traceGL_Native.glVertexAttrib2fvARB);

  traceThis = traceEnabled("glVertexAttrib2fvARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib2fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2fvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2sARB)
    traceGL_lookupNativeAddress("glVertexAttrib2sARB", (void **) &traceGL_Native.glVertexAttrib2sARB);

  traceThis = traceEnabled("glVertexAttrib2sARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib2sARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2sARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2svARB)
    traceGL_lookupNativeAddress("glVertexAttrib2svARB", (void **) &traceGL_Native.glVertexAttrib2svARB);

  traceThis = traceEnabled("glVertexAttrib2svARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib2svARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2svARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3dARB)
    traceGL_lookupNativeAddress("glVertexAttrib3dARB", (void **) &traceGL_Native.glVertexAttrib3dARB);

  traceThis = traceEnabled("glVertexAttrib3dARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib3dARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3dARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3dvARB)
    traceGL_lookupNativeAddress("glVertexAttrib3dvARB", (void **) &traceGL_Native.glVertexAttrib3dvARB);

  traceThis = traceEnabled("glVertexAttrib3dvARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib3dvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3dvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3fARB)
    traceGL_lookupNativeAddress("glVertexAttrib3fARB", (void **) &traceGL_Native.glVertexAttrib3fARB);

  traceThis = traceEnabled("glVertexAttrib3fARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib3fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3fARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3fvARB)
    traceGL_lookupNativeAddress("glVertexAttrib3fvARB", (void **) &traceGL_Native.glVertexAttrib3fvARB);

  traceThis = traceEnabled("glVertexAttrib3fvARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib3fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3fvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3sARB)
    traceGL_lookupNativeAddress("glVertexAttrib3sARB", (void **) &traceGL_Native.glVertexAttrib3sARB);

  traceThis = traceEnabled("glVertexAttrib3sARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib3sARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3sARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3svARB)
    traceGL_lookupNativeAddress("glVertexAttrib3svARB", (void **) &traceGL_Native.glVertexAttrib3svARB);

  traceThis = traceEnabled("glVertexAttrib3svARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib3svARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3svARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4NbvARB)
    traceGL_lookupNativeAddress("glVertexAttrib4NbvARB", (void **) &traceGL_Native.glVertexAttrib4NbvARB);

  traceThis = traceEnabled("glVertexAttrib4NbvARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib4NbvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4NbvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4NivARB)
    traceGL_lookupNativeAddress("glVertexAttrib4NivARB", (void **) &traceGL_Native.glVertexAttrib4NivARB);

  traceThis = traceEnabled("glVertexAttrib4NivARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib4NivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4NivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4NsvARB)
    traceGL_lookupNativeAddress("glVertexAttrib4NsvARB", (void **) &traceGL_Native.glVertexAttrib4NsvARB);

  traceThis = traceEnabled("glVertexAttrib4NsvARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib4NsvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4NsvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4NubARB)
    traceGL_lookupNativeAddress("glVertexAttrib4NubARB", (void **) &traceGL_Native.glVertexAttrib4NubARB);

  traceThis = traceEnabled("glVertexAttrib4NubARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib4NubARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4NubARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4NubvARB)
    traceGL_lookupNativeAddress("glVertexAttrib4NubvARB", (void **) &traceGL_Native.glVertexAttrib4NubvARB);

  traceThis = traceEnabled("glVertexAttrib4NubvARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib4NubvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4NubvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4NuivARB)
    traceGL_lookupNativeAddress("glVertexAttrib4NuivARB", (void **) &traceGL_Native.glVertexAttrib4NuivARB);

  traceThis = traceEnabled("glVertexAttrib4NuivARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib4NuivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4NuivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4NusvARB)
    traceGL_lookupNativeAddress("glVertexAttrib4NusvARB", (void **) &traceGL_Native.glVertexAttrib4NusvARB);

  traceThis = traceEnabled("glVertexAttrib4NusvARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib4NusvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4NusvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4bvARB)
    traceGL_lookupNativeAddress("glVertexAttrib4bvARB", (void **) &traceGL_Native.glVertexAttrib4bvARB);

  traceThis = traceEnabled("glVertexAttrib4bvARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib4bvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4bvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4dARB)
    traceGL_lookupNativeAddress("glVertexAttrib4dARB", (void **) &traceGL_Native.glVertexAttrib4dARB);

  traceThis = traceEnabled("glVertexAttrib4dARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib4dARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4dARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4dvARB)
    traceGL_lookupNativeAddress("glVertexAttrib4dvARB", (void **) &traceGL_Native.glVertexAttrib4dvARB);

  traceThis = traceEnabled("glVertexAttrib4dvARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib4dvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4dvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4fARB)
    traceGL_lookupNativeAddress("glVertexAttrib4fARB", (void **) &traceGL_Native.glVertexAttrib4fARB);

  traceThis = traceEnabled("glVertexAttrib4fARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib4fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4fARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4fvARB)
    traceGL_lookupNativeAddress("glVertexAttrib4fvARB", (void **) &traceGL_Native.glVertexAttrib4fvARB);

  traceThis = traceEnabled("glVertexAttrib4fvARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib4fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4fvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4ivARB)
    traceGL_lookupNativeAddress("glVertexAttrib4ivARB", (void **) &traceGL_Native.glVertexAttrib4ivARB);

  traceThis = traceEnabled("glVertexAttrib4ivARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib4ivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4ivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4sARB)
    traceGL_lookupNativeAddress("glVertexAttrib4sARB", (void **) &traceGL_Native.glVertexAttrib4sARB);

  traceThis = traceEnabled("glVertexAttrib4sARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib4sARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4sARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4svARB)
    traceGL_lookupNativeAddress("glVertexAttrib4svARB", (void **) &traceGL_Native.glVertexAttrib4svARB);

  traceThis = traceEnabled("glVertexAttrib4svARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib4svARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4svARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4ubvARB)
    traceGL_lookupNativeAddress("glVertexAttrib4ubvARB", (void **) &traceGL_Native.glVertexAttrib4ubvARB);

  traceThis = traceEnabled("glVertexAttrib4ubvARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib4ubvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4ubvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4uivARB)
    traceGL_lookupNativeAddress("glVertexAttrib4uivARB", (void **) &traceGL_Native.glVertexAttrib4uivARB);

  traceThis = traceEnabled("glVertexAttrib4uivARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib4uivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4uivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4usvARB)
    traceGL_lookupNativeAddress("glVertexAttrib4usvARB", (void **) &traceGL_Native.glVertexAttrib4usvARB);

  traceThis = traceEnabled("glVertexAttrib4usvARB",&traceParam);

  if (!traceGL_Native.glVertexAttrib4usvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4usvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribPointerARB)
    traceGL_lookupNativeAddress("glVertexAttribPointerARB", (void **) &traceGL_Native.glVertexAttribPointerARB);

  traceThis = traceEnabled("glVertexAttribPointerARB",&traceParam);

  if (!traceGL_Native.glVertexAttribPointerARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribPointerARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEnableVertexAttribArrayARB)
    traceGL_lookupNativeAddress("glEnableVertexAttribArrayARB", (void **) &traceGL_Native.glEnableVertexAttribArrayARB);

  traceThis = traceEnabled("glEnableVertexAttribArrayARB",&traceParam);

  if (!traceGL_Native.glEnableVertexAttribArrayARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEnableVertexAttribArrayARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDisableVertexAttribArrayARB)
    traceGL_lookupNativeAddress("glDisableVertexAttribArrayARB", (void **) &traceGL_Native.glDisableVertexAttribArrayARB);

  traceThis = traceEnabled("glDisableVertexAttribArrayARB",&traceParam);

  if (!traceGL_Native.glDisableVertexAttribArrayARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDisableVertexAttribArrayARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramStringARB)
    traceGL_lookupNativeAddress("glProgramStringARB", (void **) &traceGL_Native.glProgramStringARB);

  traceThis = traceEnabled("glProgramStringARB",&traceParam);

  if (!traceGL_Native.glProgramStringARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramStringARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      traceInputParameter("target", "%u", target);
      traceInputParameter("format", "%u", format);
      traceInputParameter("len", "%d", len);
      traceInputParameter("string", "%c[%d]", string, 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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindProgramARB)
    traceGL_lookupNativeAddress("glBindProgramARB", (void **) &traceGL_Native.glBindProgramARB);

  traceThis = traceEnabled("glBindProgramARB",&traceParam);

  if (!traceGL_Native.glBindProgramARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindProgramARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteProgramsARB)
    traceGL_lookupNativeAddress("glDeleteProgramsARB", (void **) &traceGL_Native.glDeleteProgramsARB);

  traceThis = traceEnabled("glDeleteProgramsARB",&traceParam);

  if (!traceGL_Native.glDeleteProgramsARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteProgramsARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenProgramsARB)
    traceGL_lookupNativeAddress("glGenProgramsARB", (void **) &traceGL_Native.glGenProgramsARB);

  traceThis = traceEnabled("glGenProgramsARB",&traceParam);

  if (!traceGL_Native.glGenProgramsARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenProgramsARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenProgramsARB(n, programs);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramEnvParameter4dARB)
    traceGL_lookupNativeAddress("glProgramEnvParameter4dARB", (void **) &traceGL_Native.glProgramEnvParameter4dARB);

  traceThis = traceEnabled("glProgramEnvParameter4dARB",&traceParam);

  if (!traceGL_Native.glProgramEnvParameter4dARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramEnvParameter4dARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramEnvParameter4dvARB)
    traceGL_lookupNativeAddress("glProgramEnvParameter4dvARB", (void **) &traceGL_Native.glProgramEnvParameter4dvARB);

  traceThis = traceEnabled("glProgramEnvParameter4dvARB",&traceParam);

  if (!traceGL_Native.glProgramEnvParameter4dvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramEnvParameter4dvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramEnvParameter4fARB)
    traceGL_lookupNativeAddress("glProgramEnvParameter4fARB", (void **) &traceGL_Native.glProgramEnvParameter4fARB);

  traceThis = traceEnabled("glProgramEnvParameter4fARB",&traceParam);

  if (!traceGL_Native.glProgramEnvParameter4fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramEnvParameter4fARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramEnvParameter4fvARB)
    traceGL_lookupNativeAddress("glProgramEnvParameter4fvARB", (void **) &traceGL_Native.glProgramEnvParameter4fvARB);

  traceThis = traceEnabled("glProgramEnvParameter4fvARB",&traceParam);

  if (!traceGL_Native.glProgramEnvParameter4fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramEnvParameter4fvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramLocalParameter4dARB)
    traceGL_lookupNativeAddress("glProgramLocalParameter4dARB", (void **) &traceGL_Native.glProgramLocalParameter4dARB);

  traceThis = traceEnabled("glProgramLocalParameter4dARB",&traceParam);

  if (!traceGL_Native.glProgramLocalParameter4dARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramLocalParameter4dARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramLocalParameter4dvARB)
    traceGL_lookupNativeAddress("glProgramLocalParameter4dvARB", (void **) &traceGL_Native.glProgramLocalParameter4dvARB);

  traceThis = traceEnabled("glProgramLocalParameter4dvARB",&traceParam);

  if (!traceGL_Native.glProgramLocalParameter4dvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramLocalParameter4dvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramLocalParameter4fARB)
    traceGL_lookupNativeAddress("glProgramLocalParameter4fARB", (void **) &traceGL_Native.glProgramLocalParameter4fARB);

  traceThis = traceEnabled("glProgramLocalParameter4fARB",&traceParam);

  if (!traceGL_Native.glProgramLocalParameter4fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramLocalParameter4fARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramLocalParameter4fvARB)
    traceGL_lookupNativeAddress("glProgramLocalParameter4fvARB", (void **) &traceGL_Native.glProgramLocalParameter4fvARB);

  traceThis = traceEnabled("glProgramLocalParameter4fvARB",&traceParam);

  if (!traceGL_Native.glProgramLocalParameter4fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramLocalParameter4fvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramEnvParameterdvARB)
    traceGL_lookupNativeAddress("glGetProgramEnvParameterdvARB", (void **) &traceGL_Native.glGetProgramEnvParameterdvARB);

  traceThis = traceEnabled("glGetProgramEnvParameterdvARB",&traceParam);

  if (!traceGL_Native.glGetProgramEnvParameterdvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramEnvParameterdvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%lf[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramEnvParameterfvARB(GLenum target, GLuint index, GLfloat *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramEnvParameterfvARB)
    traceGL_lookupNativeAddress("glGetProgramEnvParameterfvARB", (void **) &traceGL_Native.glGetProgramEnvParameterfvARB);

  traceThis = traceEnabled("glGetProgramEnvParameterfvARB",&traceParam);

  if (!traceGL_Native.glGetProgramEnvParameterfvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramEnvParameterfvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%f[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramLocalParameterdvARB(GLenum target, GLuint index, GLdouble *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramLocalParameterdvARB)
    traceGL_lookupNativeAddress("glGetProgramLocalParameterdvARB", (void **) &traceGL_Native.glGetProgramLocalParameterdvARB);

  traceThis = traceEnabled("glGetProgramLocalParameterdvARB",&traceParam);

  if (!traceGL_Native.glGetProgramLocalParameterdvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramLocalParameterdvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%lf[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramLocalParameterfvARB(GLenum target, GLuint index, GLfloat *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramLocalParameterfvARB)
    traceGL_lookupNativeAddress("glGetProgramLocalParameterfvARB", (void **) &traceGL_Native.glGetProgramLocalParameterfvARB);

  traceThis = traceEnabled("glGetProgramLocalParameterfvARB",&traceParam);

  if (!traceGL_Native.glGetProgramLocalParameterfvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramLocalParameterfvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%f[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramivARB(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramivARB)
    traceGL_lookupNativeAddress("glGetProgramivARB", (void **) &traceGL_Native.glGetProgramivARB);

  traceThis = traceEnabled("glGetProgramivARB",&traceParam);

  if (!traceGL_Native.glGetProgramivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%d[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramStringARB(GLenum target, GLenum pname, GLvoid *string)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramStringARB)
    traceGL_lookupNativeAddress("glGetProgramStringARB", (void **) &traceGL_Native.glGetProgramStringARB);

  traceThis = traceEnabled("glGetProgramStringARB",&traceParam);

  if (!traceGL_Native.glGetProgramStringARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramStringARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("string", "%p", string);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribdvARB(GLuint index, GLenum pname, GLdouble *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribdvARB)
    traceGL_lookupNativeAddress("glGetVertexAttribdvARB", (void **) &traceGL_Native.glGetVertexAttribdvARB);

  traceThis = traceEnabled("glGetVertexAttribdvARB",&traceParam);

  if (!traceGL_Native.glGetVertexAttribdvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribdvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%lf[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribfvARB(GLuint index, GLenum pname, GLfloat *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribfvARB)
    traceGL_lookupNativeAddress("glGetVertexAttribfvARB", (void **) &traceGL_Native.glGetVertexAttribfvARB);

  traceThis = traceEnabled("glGetVertexAttribfvARB",&traceParam);

  if (!traceGL_Native.glGetVertexAttribfvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribfvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%f[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribivARB(GLuint index, GLenum pname, GLint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribivARB)
    traceGL_lookupNativeAddress("glGetVertexAttribivARB", (void **) &traceGL_Native.glGetVertexAttribivARB);

  traceThis = traceEnabled("glGetVertexAttribivARB",&traceParam);

  if (!traceGL_Native.glGetVertexAttribivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%d[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribPointervARB(GLuint index, GLenum pname, GLvoid **pointer)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribPointervARB)
    traceGL_lookupNativeAddress("glGetVertexAttribPointervARB", (void **) &traceGL_Native.glGetVertexAttribPointervARB);

  traceThis = traceEnabled("glGetVertexAttribPointervARB",&traceParam);

  if (!traceGL_Native.glGetVertexAttribPointervARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribPointervARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsProgramARB)
    traceGL_lookupNativeAddress("glIsProgramARB", (void **) &traceGL_Native.glIsProgramARB);

  traceThis = traceEnabled("glIsProgramARB",&traceParam);

  if (!traceGL_Native.glIsProgramARB)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsProgramARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("program", "%u", program);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsProgramARB(program);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBindBufferARB(GLenum target, GLuint buffer)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindBufferARB)
    traceGL_lookupNativeAddress("glBindBufferARB", (void **) &traceGL_Native.glBindBufferARB);

  traceThis = traceEnabled("glBindBufferARB",&traceParam);

  if (!traceGL_Native.glBindBufferARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindBufferARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteBuffersARB)
    traceGL_lookupNativeAddress("glDeleteBuffersARB", (void **) &traceGL_Native.glDeleteBuffersARB);

  traceThis = traceEnabled("glDeleteBuffersARB",&traceParam);

  if (!traceGL_Native.glDeleteBuffersARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteBuffersARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenBuffersARB)
    traceGL_lookupNativeAddress("glGenBuffersARB", (void **) &traceGL_Native.glGenBuffersARB);

  traceThis = traceEnabled("glGenBuffersARB",&traceParam);

  if (!traceGL_Native.glGenBuffersARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenBuffersARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenBuffersARB(n, buffers);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceOutputParameter("buffers", "%u[%d]", buffers, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsBufferARB(GLuint buffer)
{
  GLboolean ret = GL_FALSE;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsBufferARB)
    traceGL_lookupNativeAddress("glIsBufferARB", (void **) &traceGL_Native.glIsBufferARB);

  traceThis = traceEnabled("glIsBufferARB",&traceParam);

  if (!traceGL_Native.glIsBufferARB)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsBufferARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("buffer", "%u", buffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsBufferARB(buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBufferDataARB)
    traceGL_lookupNativeAddress("glBufferDataARB", (void **) &traceGL_Native.glBufferDataARB);

  traceThis = traceEnabled("glBufferDataARB",&traceParam);

  if (!traceGL_Native.glBufferDataARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBufferDataARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBufferSubDataARB)
    traceGL_lookupNativeAddress("glBufferSubDataARB", (void **) &traceGL_Native.glBufferSubDataARB);

  traceThis = traceEnabled("glBufferSubDataARB",&traceParam);

  if (!traceGL_Native.glBufferSubDataARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBufferSubDataARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetBufferSubDataARB)
    traceGL_lookupNativeAddress("glGetBufferSubDataARB", (void **) &traceGL_Native.glGetBufferSubDataARB);

  traceThis = traceEnabled("glGetBufferSubDataARB",&traceParam);

  if (!traceGL_Native.glGetBufferSubDataARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetBufferSubDataARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("data", "%p", data);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLvoid *GLAPIENTRY
glMapBufferARB(GLenum target, GLenum access)
{
  GLvoid *ret = NULL;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapBufferARB)
    traceGL_lookupNativeAddress("glMapBufferARB", (void **) &traceGL_Native.glMapBufferARB);

  traceThis = traceEnabled("glMapBufferARB",&traceParam);

  if (!traceGL_Native.glMapBufferARB)
    return NULL;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapBufferARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%p", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLboolean GLAPIENTRY
glUnmapBufferARB(GLenum target)
{
  GLboolean ret = GL_FALSE;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUnmapBufferARB)
    traceGL_lookupNativeAddress("glUnmapBufferARB", (void **) &traceGL_Native.glUnmapBufferARB);

  traceThis = traceEnabled("glUnmapBufferARB",&traceParam);

  if (!traceGL_Native.glUnmapBufferARB)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUnmapBufferARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glUnmapBufferARB(target);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetBufferParameterivARB(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetBufferParameterivARB)
    traceGL_lookupNativeAddress("glGetBufferParameterivARB", (void **) &traceGL_Native.glGetBufferParameterivARB);

  traceThis = traceEnabled("glGetBufferParameterivARB",&traceParam);

  if (!traceGL_Native.glGetBufferParameterivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetBufferParameterivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetBufferPointervARB)
    traceGL_lookupNativeAddress("glGetBufferPointervARB", (void **) &traceGL_Native.glGetBufferPointervARB);

  traceThis = traceEnabled("glGetBufferPointervARB",&traceParam);

  if (!traceGL_Native.glGetBufferPointervARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetBufferPointervARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenQueriesARB)
    traceGL_lookupNativeAddress("glGenQueriesARB", (void **) &traceGL_Native.glGenQueriesARB);

  traceThis = traceEnabled("glGenQueriesARB",&traceParam);

  if (!traceGL_Native.glGenQueriesARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenQueriesARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenQueriesARB(n, ids);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceOutputParameter("ids", "%u[%d]", ids, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteQueriesARB(GLsizei n, const GLuint *ids)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteQueriesARB)
    traceGL_lookupNativeAddress("glDeleteQueriesARB", (void **) &traceGL_Native.glDeleteQueriesARB);

  traceThis = traceEnabled("glDeleteQueriesARB",&traceParam);

  if (!traceGL_Native.glDeleteQueriesARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteQueriesARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsQueryARB)
    traceGL_lookupNativeAddress("glIsQueryARB", (void **) &traceGL_Native.glIsQueryARB);

  traceThis = traceEnabled("glIsQueryARB",&traceParam);

  if (!traceGL_Native.glIsQueryARB)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsQueryARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsQueryARB(id);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBeginQueryARB(GLenum target, GLuint id)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBeginQueryARB)
    traceGL_lookupNativeAddress("glBeginQueryARB", (void **) &traceGL_Native.glBeginQueryARB);

  traceThis = traceEnabled("glBeginQueryARB",&traceParam);

  if (!traceGL_Native.glBeginQueryARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBeginQueryARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndQueryARB)
    traceGL_lookupNativeAddress("glEndQueryARB", (void **) &traceGL_Native.glEndQueryARB);

  traceThis = traceEnabled("glEndQueryARB",&traceParam);

  if (!traceGL_Native.glEndQueryARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEndQueryARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetQueryivARB)
    traceGL_lookupNativeAddress("glGetQueryivARB", (void **) &traceGL_Native.glGetQueryivARB);

  traceThis = traceEnabled("glGetQueryivARB",&traceParam);

  if (!traceGL_Native.glGetQueryivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetQueryivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetQueryObjectivARB)
    traceGL_lookupNativeAddress("glGetQueryObjectivARB", (void **) &traceGL_Native.glGetQueryObjectivARB);

  traceThis = traceEnabled("glGetQueryObjectivARB",&traceParam);

  if (!traceGL_Native.glGetQueryObjectivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetQueryObjectivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetQueryObjectuivARB)
    traceGL_lookupNativeAddress("glGetQueryObjectuivARB", (void **) &traceGL_Native.glGetQueryObjectuivARB);

  traceThis = traceEnabled("glGetQueryObjectuivARB",&traceParam);

  if (!traceGL_Native.glGetQueryObjectuivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetQueryObjectuivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteObjectARB)
    traceGL_lookupNativeAddress("glDeleteObjectARB", (void **) &traceGL_Native.glDeleteObjectARB);

  traceThis = traceEnabled("glDeleteObjectARB",&traceParam);

  if (!traceGL_Native.glDeleteObjectARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteObjectARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetHandleARB)
    traceGL_lookupNativeAddress("glGetHandleARB", (void **) &traceGL_Native.glGetHandleARB);

  traceThis = traceEnabled("glGetHandleARB",&traceParam);

  if (!traceGL_Native.glGetHandleARB)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetHandleARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGetHandleARB(pname);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glDetachObjectARB(GLhandleARB containerObj, GLhandleARB attachedObj)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDetachObjectARB)
    traceGL_lookupNativeAddress("glDetachObjectARB", (void **) &traceGL_Native.glDetachObjectARB);

  traceThis = traceEnabled("glDetachObjectARB",&traceParam);

  if (!traceGL_Native.glDetachObjectARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDetachObjectARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCreateShaderObjectARB)
    traceGL_lookupNativeAddress("glCreateShaderObjectARB", (void **) &traceGL_Native.glCreateShaderObjectARB);

  traceThis = traceEnabled("glCreateShaderObjectARB",&traceParam);

  if (!traceGL_Native.glCreateShaderObjectARB)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCreateShaderObjectARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("shaderType", "%u", shaderType);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glCreateShaderObjectARB(shaderType);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glShaderSourceARB)
    traceGL_lookupNativeAddress("glShaderSourceARB", (void **) &traceGL_Native.glShaderSourceARB);

  traceThis = traceEnabled("glShaderSourceARB",&traceParam);

  if (!traceGL_Native.glShaderSourceARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glShaderSourceARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompileShaderARB)
    traceGL_lookupNativeAddress("glCompileShaderARB", (void **) &traceGL_Native.glCompileShaderARB);

  traceThis = traceEnabled("glCompileShaderARB",&traceParam);

  if (!traceGL_Native.glCompileShaderARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompileShaderARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCreateProgramObjectARB)
    traceGL_lookupNativeAddress("glCreateProgramObjectARB", (void **) &traceGL_Native.glCreateProgramObjectARB);

  traceThis = traceEnabled("glCreateProgramObjectARB",&traceParam);

  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. */

    if (traceParam)
      traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glAttachObjectARB(GLhandleARB containerObj, GLhandleARB attachedObj)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glAttachObjectARB)
    traceGL_lookupNativeAddress("glAttachObjectARB", (void **) &traceGL_Native.glAttachObjectARB);

  traceThis = traceEnabled("glAttachObjectARB",&traceParam);

  if (!traceGL_Native.glAttachObjectARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glAttachObjectARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLinkProgramARB)
    traceGL_lookupNativeAddress("glLinkProgramARB", (void **) &traceGL_Native.glLinkProgramARB);

  traceThis = traceEnabled("glLinkProgramARB",&traceParam);

  if (!traceGL_Native.glLinkProgramARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLinkProgramARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUseProgramObjectARB)
    traceGL_lookupNativeAddress("glUseProgramObjectARB", (void **) &traceGL_Native.glUseProgramObjectARB);

  traceThis = traceEnabled("glUseProgramObjectARB",&traceParam);

  if (!traceGL_Native.glUseProgramObjectARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUseProgramObjectARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glValidateProgramARB)
    traceGL_lookupNativeAddress("glValidateProgramARB", (void **) &traceGL_Native.glValidateProgramARB);

  traceThis = traceEnabled("glValidateProgramARB",&traceParam);

  if (!traceGL_Native.glValidateProgramARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glValidateProgramARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1fARB)
    traceGL_lookupNativeAddress("glUniform1fARB", (void **) &traceGL_Native.glUniform1fARB);

  traceThis = traceEnabled("glUniform1fARB",&traceParam);

  if (!traceGL_Native.glUniform1fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1fARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2fARB)
    traceGL_lookupNativeAddress("glUniform2fARB", (void **) &traceGL_Native.glUniform2fARB);

  traceThis = traceEnabled("glUniform2fARB",&traceParam);

  if (!traceGL_Native.glUniform2fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2fARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3fARB)
    traceGL_lookupNativeAddress("glUniform3fARB", (void **) &traceGL_Native.glUniform3fARB);

  traceThis = traceEnabled("glUniform3fARB",&traceParam);

  if (!traceGL_Native.glUniform3fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3fARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4fARB)
    traceGL_lookupNativeAddress("glUniform4fARB", (void **) &traceGL_Native.glUniform4fARB);

  traceThis = traceEnabled("glUniform4fARB",&traceParam);

  if (!traceGL_Native.glUniform4fARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4fARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1iARB)
    traceGL_lookupNativeAddress("glUniform1iARB", (void **) &traceGL_Native.glUniform1iARB);

  traceThis = traceEnabled("glUniform1iARB",&traceParam);

  if (!traceGL_Native.glUniform1iARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1iARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2iARB)
    traceGL_lookupNativeAddress("glUniform2iARB", (void **) &traceGL_Native.glUniform2iARB);

  traceThis = traceEnabled("glUniform2iARB",&traceParam);

  if (!traceGL_Native.glUniform2iARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2iARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3iARB)
    traceGL_lookupNativeAddress("glUniform3iARB", (void **) &traceGL_Native.glUniform3iARB);

  traceThis = traceEnabled("glUniform3iARB",&traceParam);

  if (!traceGL_Native.glUniform3iARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3iARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4iARB)
    traceGL_lookupNativeAddress("glUniform4iARB", (void **) &traceGL_Native.glUniform4iARB);

  traceThis = traceEnabled("glUniform4iARB",&traceParam);

  if (!traceGL_Native.glUniform4iARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4iARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1fvARB)
    traceGL_lookupNativeAddress("glUniform1fvARB", (void **) &traceGL_Native.glUniform1fvARB);

  traceThis = traceEnabled("glUniform1fvARB",&traceParam);

  if (!traceGL_Native.glUniform1fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1fvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2fvARB)
    traceGL_lookupNativeAddress("glUniform2fvARB", (void **) &traceGL_Native.glUniform2fvARB);

  traceThis = traceEnabled("glUniform2fvARB",&traceParam);

  if (!traceGL_Native.glUniform2fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2fvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3fvARB)
    traceGL_lookupNativeAddress("glUniform3fvARB", (void **) &traceGL_Native.glUniform3fvARB);

  traceThis = traceEnabled("glUniform3fvARB",&traceParam);

  if (!traceGL_Native.glUniform3fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3fvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4fvARB)
    traceGL_lookupNativeAddress("glUniform4fvARB", (void **) &traceGL_Native.glUniform4fvARB);

  traceThis = traceEnabled("glUniform4fvARB",&traceParam);

  if (!traceGL_Native.glUniform4fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4fvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1ivARB)
    traceGL_lookupNativeAddress("glUniform1ivARB", (void **) &traceGL_Native.glUniform1ivARB);

  traceThis = traceEnabled("glUniform1ivARB",&traceParam);

  if (!traceGL_Native.glUniform1ivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1ivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2ivARB)
    traceGL_lookupNativeAddress("glUniform2ivARB", (void **) &traceGL_Native.glUniform2ivARB);

  traceThis = traceEnabled("glUniform2ivARB",&traceParam);

  if (!traceGL_Native.glUniform2ivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2ivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3ivARB)
    traceGL_lookupNativeAddress("glUniform3ivARB", (void **) &traceGL_Native.glUniform3ivARB);

  traceThis = traceEnabled("glUniform3ivARB",&traceParam);

  if (!traceGL_Native.glUniform3ivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3ivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4ivARB)
    traceGL_lookupNativeAddress("glUniform4ivARB", (void **) &traceGL_Native.glUniform4ivARB);

  traceThis = traceEnabled("glUniform4ivARB",&traceParam);

  if (!traceGL_Native.glUniform4ivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4ivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix2fvARB)
    traceGL_lookupNativeAddress("glUniformMatrix2fvARB", (void **) &traceGL_Native.glUniformMatrix2fvARB);

  traceThis = traceEnabled("glUniformMatrix2fvARB",&traceParam);

  if (!traceGL_Native.glUniformMatrix2fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix2fvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix3fvARB)
    traceGL_lookupNativeAddress("glUniformMatrix3fvARB", (void **) &traceGL_Native.glUniformMatrix3fvARB);

  traceThis = traceEnabled("glUniformMatrix3fvARB",&traceParam);

  if (!traceGL_Native.glUniformMatrix3fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix3fvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformMatrix4fvARB)
    traceGL_lookupNativeAddress("glUniformMatrix4fvARB", (void **) &traceGL_Native.glUniformMatrix4fvARB);

  traceThis = traceEnabled("glUniformMatrix4fvARB",&traceParam);

  if (!traceGL_Native.glUniformMatrix4fvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformMatrix4fvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetObjectParameterfvARB)
    traceGL_lookupNativeAddress("glGetObjectParameterfvARB", (void **) &traceGL_Native.glGetObjectParameterfvARB);

  traceThis = traceEnabled("glGetObjectParameterfvARB",&traceParam);

  if (!traceGL_Native.glGetObjectParameterfvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetObjectParameterfvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetObjectParameterivARB)
    traceGL_lookupNativeAddress("glGetObjectParameterivARB", (void **) &traceGL_Native.glGetObjectParameterivARB);

  traceThis = traceEnabled("glGetObjectParameterivARB",&traceParam);

  if (!traceGL_Native.glGetObjectParameterivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetObjectParameterivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetInfoLogARB)
    traceGL_lookupNativeAddress("glGetInfoLogARB", (void **) &traceGL_Native.glGetInfoLogARB);

  traceThis = traceEnabled("glGetInfoLogARB",&traceParam);

  if (!traceGL_Native.glGetInfoLogARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetInfoLogARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetAttachedObjectsARB)
    traceGL_lookupNativeAddress("glGetAttachedObjectsARB", (void **) &traceGL_Native.glGetAttachedObjectsARB);

  traceThis = traceEnabled("glGetAttachedObjectsARB",&traceParam);

  if (!traceGL_Native.glGetAttachedObjectsARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetAttachedObjectsARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("count", "%d[%d]", count, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLint GLAPIENTRY
glGetUniformLocationARB(GLhandleARB programObj, const GLcharARB *name)
{
  GLint ret = 0;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformLocationARB)
    traceGL_lookupNativeAddress("glGetUniformLocationARB", (void **) &traceGL_Native.glGetUniformLocationARB);

  traceThis = traceEnabled("glGetUniformLocationARB",&traceParam);

  if (!traceGL_Native.glGetUniformLocationARB)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformLocationARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetActiveUniformARB)
    traceGL_lookupNativeAddress("glGetActiveUniformARB", (void **) &traceGL_Native.glGetActiveUniformARB);

  traceThis = traceEnabled("glGetActiveUniformARB",&traceParam);

  if (!traceGL_Native.glGetActiveUniformARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetActiveUniformARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformfvARB)
    traceGL_lookupNativeAddress("glGetUniformfvARB", (void **) &traceGL_Native.glGetUniformfvARB);

  traceThis = traceEnabled("glGetUniformfvARB",&traceParam);

  if (!traceGL_Native.glGetUniformfvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformfvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformivARB)
    traceGL_lookupNativeAddress("glGetUniformivARB", (void **) &traceGL_Native.glGetUniformivARB);

  traceThis = traceEnabled("glGetUniformivARB",&traceParam);

  if (!traceGL_Native.glGetUniformivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetShaderSourceARB)
    traceGL_lookupNativeAddress("glGetShaderSourceARB", (void **) &traceGL_Native.glGetShaderSourceARB);

  traceThis = traceEnabled("glGetShaderSourceARB",&traceParam);

  if (!traceGL_Native.glGetShaderSourceARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetShaderSourceARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindAttribLocationARB)
    traceGL_lookupNativeAddress("glBindAttribLocationARB", (void **) &traceGL_Native.glBindAttribLocationARB);

  traceThis = traceEnabled("glBindAttribLocationARB",&traceParam);

  if (!traceGL_Native.glBindAttribLocationARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindAttribLocationARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetActiveAttribARB)
    traceGL_lookupNativeAddress("glGetActiveAttribARB", (void **) &traceGL_Native.glGetActiveAttribARB);

  traceThis = traceEnabled("glGetActiveAttribARB",&traceParam);

  if (!traceGL_Native.glGetActiveAttribARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetActiveAttribARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetAttribLocationARB)
    traceGL_lookupNativeAddress("glGetAttribLocationARB", (void **) &traceGL_Native.glGetAttribLocationARB);

  traceThis = traceEnabled("glGetAttribLocationARB",&traceParam);

  if (!traceGL_Native.glGetAttribLocationARB)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetAttribLocationARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%d", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glDrawBuffersARB(GLsizei n, const GLenum *bufs)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawBuffersARB)
    traceGL_lookupNativeAddress("glDrawBuffersARB", (void **) &traceGL_Native.glDrawBuffersARB);

  traceThis = traceEnabled("glDrawBuffersARB",&traceParam);

  if (!traceGL_Native.glDrawBuffersARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawBuffersARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClampColorARB)
    traceGL_lookupNativeAddress("glClampColorARB", (void **) &traceGL_Native.glClampColorARB);

  traceThis = traceEnabled("glClampColorARB",&traceParam);

  if (!traceGL_Native.glClampColorARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClampColorARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawArraysInstancedARB)
    traceGL_lookupNativeAddress("glDrawArraysInstancedARB", (void **) &traceGL_Native.glDrawArraysInstancedARB);

  traceThis = traceEnabled("glDrawArraysInstancedARB",&traceParam);

  if (!traceGL_Native.glDrawArraysInstancedARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawArraysInstancedARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawElementsInstancedARB)
    traceGL_lookupNativeAddress("glDrawElementsInstancedARB", (void **) &traceGL_Native.glDrawElementsInstancedARB);

  traceThis = traceEnabled("glDrawElementsInstancedARB",&traceParam);

  if (!traceGL_Native.glDrawElementsInstancedARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawElementsInstancedARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsRenderbuffer)
    traceGL_lookupNativeAddress("glIsRenderbuffer", (void **) &traceGL_Native.glIsRenderbuffer);

  traceThis = traceEnabled("glIsRenderbuffer",&traceParam);

  if (!traceGL_Native.glIsRenderbuffer)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsRenderbuffer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("renderbuffer", "%u", renderbuffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsRenderbuffer(renderbuffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBindRenderbuffer(GLenum target, GLuint renderbuffer)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindRenderbuffer)
    traceGL_lookupNativeAddress("glBindRenderbuffer", (void **) &traceGL_Native.glBindRenderbuffer);

  traceThis = traceEnabled("glBindRenderbuffer",&traceParam);

  if (!traceGL_Native.glBindRenderbuffer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindRenderbuffer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteRenderbuffers)
    traceGL_lookupNativeAddress("glDeleteRenderbuffers", (void **) &traceGL_Native.glDeleteRenderbuffers);

  traceThis = traceEnabled("glDeleteRenderbuffers",&traceParam);

  if (!traceGL_Native.glDeleteRenderbuffers)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteRenderbuffers");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenRenderbuffers)
    traceGL_lookupNativeAddress("glGenRenderbuffers", (void **) &traceGL_Native.glGenRenderbuffers);

  traceThis = traceEnabled("glGenRenderbuffers",&traceParam);

  if (!traceGL_Native.glGenRenderbuffers)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenRenderbuffers");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenRenderbuffers(n, renderbuffers);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceOutputParameter("renderbuffers", "%u[%d]", renderbuffers, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRenderbufferStorage)
    traceGL_lookupNativeAddress("glRenderbufferStorage", (void **) &traceGL_Native.glRenderbufferStorage);

  traceThis = traceEnabled("glRenderbufferStorage",&traceParam);

  if (!traceGL_Native.glRenderbufferStorage)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRenderbufferStorage");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetRenderbufferParameteriv)
    traceGL_lookupNativeAddress("glGetRenderbufferParameteriv", (void **) &traceGL_Native.glGetRenderbufferParameteriv);

  traceThis = traceEnabled("glGetRenderbufferParameteriv",&traceParam);

  if (!traceGL_Native.glGetRenderbufferParameteriv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetRenderbufferParameteriv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsFramebuffer)
    traceGL_lookupNativeAddress("glIsFramebuffer", (void **) &traceGL_Native.glIsFramebuffer);

  traceThis = traceEnabled("glIsFramebuffer",&traceParam);

  if (!traceGL_Native.glIsFramebuffer)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsFramebuffer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("framebuffer", "%u", framebuffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsFramebuffer(framebuffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBindFramebuffer(GLenum target, GLuint framebuffer)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindFramebuffer)
    traceGL_lookupNativeAddress("glBindFramebuffer", (void **) &traceGL_Native.glBindFramebuffer);

  traceThis = traceEnabled("glBindFramebuffer",&traceParam);

  if (!traceGL_Native.glBindFramebuffer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindFramebuffer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteFramebuffers)
    traceGL_lookupNativeAddress("glDeleteFramebuffers", (void **) &traceGL_Native.glDeleteFramebuffers);

  traceThis = traceEnabled("glDeleteFramebuffers",&traceParam);

  if (!traceGL_Native.glDeleteFramebuffers)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteFramebuffers");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenFramebuffers)
    traceGL_lookupNativeAddress("glGenFramebuffers", (void **) &traceGL_Native.glGenFramebuffers);

  traceThis = traceEnabled("glGenFramebuffers",&traceParam);

  if (!traceGL_Native.glGenFramebuffers)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenFramebuffers");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenFramebuffers(n, framebuffers);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceOutputParameter("framebuffers", "%u[%d]", framebuffers, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLenum GLAPIENTRY
glCheckFramebufferStatus(GLenum target)
{
  GLenum ret = 0;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCheckFramebufferStatus)
    traceGL_lookupNativeAddress("glCheckFramebufferStatus", (void **) &traceGL_Native.glCheckFramebufferStatus);

  traceThis = traceEnabled("glCheckFramebufferStatus",&traceParam);

  if (!traceGL_Native.glCheckFramebufferStatus)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCheckFramebufferStatus");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glCheckFramebufferStatus(target);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTexture1D)
    traceGL_lookupNativeAddress("glFramebufferTexture1D", (void **) &traceGL_Native.glFramebufferTexture1D);

  traceThis = traceEnabled("glFramebufferTexture1D",&traceParam);

  if (!traceGL_Native.glFramebufferTexture1D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTexture1D");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTexture2D)
    traceGL_lookupNativeAddress("glFramebufferTexture2D", (void **) &traceGL_Native.glFramebufferTexture2D);

  traceThis = traceEnabled("glFramebufferTexture2D",&traceParam);

  if (!traceGL_Native.glFramebufferTexture2D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTexture2D");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTexture3D)
    traceGL_lookupNativeAddress("glFramebufferTexture3D", (void **) &traceGL_Native.glFramebufferTexture3D);

  traceThis = traceEnabled("glFramebufferTexture3D",&traceParam);

  if (!traceGL_Native.glFramebufferTexture3D)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTexture3D");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferRenderbuffer)
    traceGL_lookupNativeAddress("glFramebufferRenderbuffer", (void **) &traceGL_Native.glFramebufferRenderbuffer);

  traceThis = traceEnabled("glFramebufferRenderbuffer",&traceParam);

  if (!traceGL_Native.glFramebufferRenderbuffer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferRenderbuffer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFramebufferAttachmentParameteriv)
    traceGL_lookupNativeAddress("glGetFramebufferAttachmentParameteriv", (void **) &traceGL_Native.glGetFramebufferAttachmentParameteriv);

  traceThis = traceEnabled("glGetFramebufferAttachmentParameteriv",&traceParam);

  if (!traceGL_Native.glGetFramebufferAttachmentParameteriv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFramebufferAttachmentParameteriv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenerateMipmap)
    traceGL_lookupNativeAddress("glGenerateMipmap", (void **) &traceGL_Native.glGenerateMipmap);

  traceThis = traceEnabled("glGenerateMipmap",&traceParam);

  if (!traceGL_Native.glGenerateMipmap)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenerateMipmap");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlitFramebuffer)
    traceGL_lookupNativeAddress("glBlitFramebuffer", (void **) &traceGL_Native.glBlitFramebuffer);

  traceThis = traceEnabled("glBlitFramebuffer",&traceParam);

  if (!traceGL_Native.glBlitFramebuffer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlitFramebuffer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRenderbufferStorageMultisample)
    traceGL_lookupNativeAddress("glRenderbufferStorageMultisample", (void **) &traceGL_Native.glRenderbufferStorageMultisample);

  traceThis = traceEnabled("glRenderbufferStorageMultisample",&traceParam);

  if (!traceGL_Native.glRenderbufferStorageMultisample)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRenderbufferStorageMultisample");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTextureLayer)
    traceGL_lookupNativeAddress("glFramebufferTextureLayer", (void **) &traceGL_Native.glFramebufferTextureLayer);

  traceThis = traceEnabled("glFramebufferTextureLayer",&traceParam);

  if (!traceGL_Native.glFramebufferTextureLayer)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTextureLayer");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramParameteriARB)
    traceGL_lookupNativeAddress("glProgramParameteriARB", (void **) &traceGL_Native.glProgramParameteriARB);

  traceThis = traceEnabled("glProgramParameteriARB",&traceParam);

  if (!traceGL_Native.glProgramParameteriARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramParameteriARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTextureARB)
    traceGL_lookupNativeAddress("glFramebufferTextureARB", (void **) &traceGL_Native.glFramebufferTextureARB);

  traceThis = traceEnabled("glFramebufferTextureARB",&traceParam);

  if (!traceGL_Native.glFramebufferTextureARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTextureARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTextureLayerARB)
    traceGL_lookupNativeAddress("glFramebufferTextureLayerARB", (void **) &traceGL_Native.glFramebufferTextureLayerARB);

  traceThis = traceEnabled("glFramebufferTextureLayerARB",&traceParam);

  if (!traceGL_Native.glFramebufferTextureLayerARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTextureLayerARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTextureFaceARB)
    traceGL_lookupNativeAddress("glFramebufferTextureFaceARB", (void **) &traceGL_Native.glFramebufferTextureFaceARB);

  traceThis = traceEnabled("glFramebufferTextureFaceARB",&traceParam);

  if (!traceGL_Native.glFramebufferTextureFaceARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTextureFaceARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribDivisorARB)
    traceGL_lookupNativeAddress("glVertexAttribDivisorARB", (void **) &traceGL_Native.glVertexAttribDivisorARB);

  traceThis = traceEnabled("glVertexAttribDivisorARB",&traceParam);

  if (!traceGL_Native.glVertexAttribDivisorARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribDivisorARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapBufferRange)
    traceGL_lookupNativeAddress("glMapBufferRange", (void **) &traceGL_Native.glMapBufferRange);

  traceThis = traceEnabled("glMapBufferRange",&traceParam);

  if (!traceGL_Native.glMapBufferRange)
    return NULL;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapBufferRange");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%p", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFlushMappedBufferRange)
    traceGL_lookupNativeAddress("glFlushMappedBufferRange", (void **) &traceGL_Native.glFlushMappedBufferRange);

  traceThis = traceEnabled("glFlushMappedBufferRange",&traceParam);

  if (!traceGL_Native.glFlushMappedBufferRange)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFlushMappedBufferRange");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexBufferARB)
    traceGL_lookupNativeAddress("glTexBufferARB", (void **) &traceGL_Native.glTexBufferARB);

  traceThis = traceEnabled("glTexBufferARB",&traceParam);

  if (!traceGL_Native.glTexBufferARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexBufferARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindVertexArray)
    traceGL_lookupNativeAddress("glBindVertexArray", (void **) &traceGL_Native.glBindVertexArray);

  traceThis = traceEnabled("glBindVertexArray",&traceParam);

  if (!traceGL_Native.glBindVertexArray)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindVertexArray");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteVertexArrays)
    traceGL_lookupNativeAddress("glDeleteVertexArrays", (void **) &traceGL_Native.glDeleteVertexArrays);

  traceThis = traceEnabled("glDeleteVertexArrays",&traceParam);

  if (!traceGL_Native.glDeleteVertexArrays)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteVertexArrays");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenVertexArrays)
    traceGL_lookupNativeAddress("glGenVertexArrays", (void **) &traceGL_Native.glGenVertexArrays);

  traceThis = traceEnabled("glGenVertexArrays",&traceParam);

  if (!traceGL_Native.glGenVertexArrays)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenVertexArrays");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenVertexArrays(n, arrays);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceOutputParameter("arrays", "%u[%d]", arrays, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsVertexArray(GLuint array)
{
  GLboolean ret = GL_FALSE;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsVertexArray)
    traceGL_lookupNativeAddress("glIsVertexArray", (void **) &traceGL_Native.glIsVertexArray);

  traceThis = traceEnabled("glIsVertexArray",&traceParam);

  if (!traceGL_Native.glIsVertexArray)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsVertexArray");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("array", "%u", array);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsVertexArray(array);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformIndices)
    traceGL_lookupNativeAddress("glGetUniformIndices", (void **) &traceGL_Native.glGetUniformIndices);

  traceThis = traceEnabled("glGetUniformIndices",&traceParam);

  if (!traceGL_Native.glGetUniformIndices)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformIndices");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetActiveUniformsiv)
    traceGL_lookupNativeAddress("glGetActiveUniformsiv", (void **) &traceGL_Native.glGetActiveUniformsiv);

  traceThis = traceEnabled("glGetActiveUniformsiv",&traceParam);

  if (!traceGL_Native.glGetActiveUniformsiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetActiveUniformsiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetActiveUniformName)
    traceGL_lookupNativeAddress("glGetActiveUniformName", (void **) &traceGL_Native.glGetActiveUniformName);

  traceThis = traceEnabled("glGetActiveUniformName",&traceParam);

  if (!traceGL_Native.glGetActiveUniformName)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetActiveUniformName");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformBlockIndex)
    traceGL_lookupNativeAddress("glGetUniformBlockIndex", (void **) &traceGL_Native.glGetUniformBlockIndex);

  traceThis = traceEnabled("glGetUniformBlockIndex",&traceParam);

  if (!traceGL_Native.glGetUniformBlockIndex)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformBlockIndex");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetActiveUniformBlockiv)
    traceGL_lookupNativeAddress("glGetActiveUniformBlockiv", (void **) &traceGL_Native.glGetActiveUniformBlockiv);

  traceThis = traceEnabled("glGetActiveUniformBlockiv",&traceParam);

  if (!traceGL_Native.glGetActiveUniformBlockiv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetActiveUniformBlockiv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetActiveUniformBlockName)
    traceGL_lookupNativeAddress("glGetActiveUniformBlockName", (void **) &traceGL_Native.glGetActiveUniformBlockName);

  traceThis = traceEnabled("glGetActiveUniformBlockName",&traceParam);

  if (!traceGL_Native.glGetActiveUniformBlockName)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetActiveUniformBlockName");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformBlockBinding)
    traceGL_lookupNativeAddress("glUniformBlockBinding", (void **) &traceGL_Native.glUniformBlockBinding);

  traceThis = traceEnabled("glUniformBlockBinding",&traceParam);

  if (!traceGL_Native.glUniformBlockBinding)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformBlockBinding");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyBufferSubData)
    traceGL_lookupNativeAddress("glCopyBufferSubData", (void **) &traceGL_Native.glCopyBufferSubData);

  traceThis = traceEnabled("glCopyBufferSubData",&traceParam);

  if (!traceGL_Native.glCopyBufferSubData)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyBufferSubData");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawElementsBaseVertex)
    traceGL_lookupNativeAddress("glDrawElementsBaseVertex", (void **) &traceGL_Native.glDrawElementsBaseVertex);

  traceThis = traceEnabled("glDrawElementsBaseVertex",&traceParam);

  if (!traceGL_Native.glDrawElementsBaseVertex)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawElementsBaseVertex");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawRangeElementsBaseVertex)
    traceGL_lookupNativeAddress("glDrawRangeElementsBaseVertex", (void **) &traceGL_Native.glDrawRangeElementsBaseVertex);

  traceThis = traceEnabled("glDrawRangeElementsBaseVertex",&traceParam);

  if (!traceGL_Native.glDrawRangeElementsBaseVertex)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawRangeElementsBaseVertex");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawElementsInstancedBaseVertex)
    traceGL_lookupNativeAddress("glDrawElementsInstancedBaseVertex", (void **) &traceGL_Native.glDrawElementsInstancedBaseVertex);

  traceThis = traceEnabled("glDrawElementsInstancedBaseVertex",&traceParam);

  if (!traceGL_Native.glDrawElementsInstancedBaseVertex)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawElementsInstancedBaseVertex");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiDrawElementsBaseVertex)
    traceGL_lookupNativeAddress("glMultiDrawElementsBaseVertex", (void **) &traceGL_Native.glMultiDrawElementsBaseVertex);

  traceThis = traceEnabled("glMultiDrawElementsBaseVertex",&traceParam);

  if (!traceGL_Native.glMultiDrawElementsBaseVertex)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiDrawElementsBaseVertex");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProvokingVertex)
    traceGL_lookupNativeAddress("glProvokingVertex", (void **) &traceGL_Native.glProvokingVertex);

  traceThis = traceEnabled("glProvokingVertex",&traceParam);

  if (!traceGL_Native.glProvokingVertex)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProvokingVertex");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFenceSync)
    traceGL_lookupNativeAddress("glFenceSync", (void **) &traceGL_Native.glFenceSync);

  traceThis = traceEnabled("glFenceSync",&traceParam);

  if (!traceGL_Native.glFenceSync)
    return (GLsync) 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFenceSync");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsSync)
    traceGL_lookupNativeAddress("glIsSync", (void **) &traceGL_Native.glIsSync);

  traceThis = traceEnabled("glIsSync",&traceParam);

  if (!traceGL_Native.glIsSync)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsSync");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("sync", "%p", sync);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsSync(sync);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glDeleteSync(GLsync sync)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteSync)
    traceGL_lookupNativeAddress("glDeleteSync", (void **) &traceGL_Native.glDeleteSync);

  traceThis = traceEnabled("glDeleteSync",&traceParam);

  if (!traceGL_Native.glDeleteSync)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteSync");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClientWaitSync)
    traceGL_lookupNativeAddress("glClientWaitSync", (void **) &traceGL_Native.glClientWaitSync);

  traceThis = traceEnabled("glClientWaitSync",&traceParam);

  if (!traceGL_Native.glClientWaitSync)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClientWaitSync");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWaitSync)
    traceGL_lookupNativeAddress("glWaitSync", (void **) &traceGL_Native.glWaitSync);

  traceThis = traceEnabled("glWaitSync",&traceParam);

  if (!traceGL_Native.glWaitSync)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWaitSync");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetInteger64v)
    traceGL_lookupNativeAddress("glGetInteger64v", (void **) &traceGL_Native.glGetInteger64v);

  traceThis = traceEnabled("glGetInteger64v",&traceParam);

  if (!traceGL_Native.glGetInteger64v)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetInteger64v");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetSynciv)
    traceGL_lookupNativeAddress("glGetSynciv", (void **) &traceGL_Native.glGetSynciv);

  traceThis = traceEnabled("glGetSynciv",&traceParam);

  if (!traceGL_Native.glGetSynciv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetSynciv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexImage2DMultisample)
    traceGL_lookupNativeAddress("glTexImage2DMultisample", (void **) &traceGL_Native.glTexImage2DMultisample);

  traceThis = traceEnabled("glTexImage2DMultisample",&traceParam);

  if (!traceGL_Native.glTexImage2DMultisample)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexImage2DMultisample");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexImage3DMultisample)
    traceGL_lookupNativeAddress("glTexImage3DMultisample", (void **) &traceGL_Native.glTexImage3DMultisample);

  traceThis = traceEnabled("glTexImage3DMultisample",&traceParam);

  if (!traceGL_Native.glTexImage3DMultisample)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexImage3DMultisample");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultisamplefv)
    traceGL_lookupNativeAddress("glGetMultisamplefv", (void **) &traceGL_Native.glGetMultisamplefv);

  traceThis = traceEnabled("glGetMultisamplefv",&traceParam);

  if (!traceGL_Native.glGetMultisamplefv)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultisamplefv");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSampleMaski)
    traceGL_lookupNativeAddress("glSampleMaski", (void **) &traceGL_Native.glSampleMaski);

  traceThis = traceEnabled("glSampleMaski",&traceParam);

  if (!traceGL_Native.glSampleMaski)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSampleMaski");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendEquationiARB)
    traceGL_lookupNativeAddress("glBlendEquationiARB", (void **) &traceGL_Native.glBlendEquationiARB);

  traceThis = traceEnabled("glBlendEquationiARB",&traceParam);

  if (!traceGL_Native.glBlendEquationiARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendEquationiARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendEquationSeparateiARB)
    traceGL_lookupNativeAddress("glBlendEquationSeparateiARB", (void **) &traceGL_Native.glBlendEquationSeparateiARB);

  traceThis = traceEnabled("glBlendEquationSeparateiARB",&traceParam);

  if (!traceGL_Native.glBlendEquationSeparateiARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendEquationSeparateiARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendFunciARB)
    traceGL_lookupNativeAddress("glBlendFunciARB", (void **) &traceGL_Native.glBlendFunciARB);

  traceThis = traceEnabled("glBlendFunciARB",&traceParam);

  if (!traceGL_Native.glBlendFunciARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendFunciARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendFuncSeparateiARB)
    traceGL_lookupNativeAddress("glBlendFuncSeparateiARB", (void **) &traceGL_Native.glBlendFuncSeparateiARB);

  traceThis = traceEnabled("glBlendFuncSeparateiARB",&traceParam);

  if (!traceGL_Native.glBlendFuncSeparateiARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendFuncSeparateiARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMinSampleShadingARB)
    traceGL_lookupNativeAddress("glMinSampleShadingARB", (void **) &traceGL_Native.glMinSampleShadingARB);

  traceThis = traceEnabled("glMinSampleShadingARB",&traceParam);

  if (!traceGL_Native.glMinSampleShadingARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMinSampleShadingARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedStringARB)
    traceGL_lookupNativeAddress("glNamedStringARB", (void **) &traceGL_Native.glNamedStringARB);

  traceThis = traceEnabled("glNamedStringARB",&traceParam);

  if (!traceGL_Native.glNamedStringARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedStringARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteNamedStringARB)
    traceGL_lookupNativeAddress("glDeleteNamedStringARB", (void **) &traceGL_Native.glDeleteNamedStringARB);

  traceThis = traceEnabled("glDeleteNamedStringARB",&traceParam);

  if (!traceGL_Native.glDeleteNamedStringARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteNamedStringARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompileShaderIncludeARB)
    traceGL_lookupNativeAddress("glCompileShaderIncludeARB", (void **) &traceGL_Native.glCompileShaderIncludeARB);

  traceThis = traceEnabled("glCompileShaderIncludeARB",&traceParam);

  if (!traceGL_Native.glCompileShaderIncludeARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompileShaderIncludeARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsNamedStringARB)
    traceGL_lookupNativeAddress("glIsNamedStringARB", (void **) &traceGL_Native.glIsNamedStringARB);

  traceThis = traceEnabled("glIsNamedStringARB",&traceParam);

  if (!traceGL_Native.glIsNamedStringARB)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsNamedStringARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedStringARB)
    traceGL_lookupNativeAddress("glGetNamedStringARB", (void **) &traceGL_Native.glGetNamedStringARB);

  traceThis = traceEnabled("glGetNamedStringARB",&traceParam);

  if (!traceGL_Native.glGetNamedStringARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedStringARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedStringivARB)
    traceGL_lookupNativeAddress("glGetNamedStringivARB", (void **) &traceGL_Native.glGetNamedStringivARB);

  traceThis = traceEnabled("glGetNamedStringivARB",&traceParam);

  if (!traceGL_Native.glGetNamedStringivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedStringivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDebugMessageControlARB)
    traceGL_lookupNativeAddress("glDebugMessageControlARB", (void **) &traceGL_Native.glDebugMessageControlARB);

  traceThis = traceEnabled("glDebugMessageControlARB",&traceParam);

  if (!traceGL_Native.glDebugMessageControlARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDebugMessageControlARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDebugMessageInsertARB)
    traceGL_lookupNativeAddress("glDebugMessageInsertARB", (void **) &traceGL_Native.glDebugMessageInsertARB);

  traceThis = traceEnabled("glDebugMessageInsertARB",&traceParam);

  if (!traceGL_Native.glDebugMessageInsertARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDebugMessageInsertARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDebugMessageCallbackARB)
    traceGL_lookupNativeAddress("glDebugMessageCallbackARB", (void **) &traceGL_Native.glDebugMessageCallbackARB);

  traceThis = traceEnabled("glDebugMessageCallbackARB",&traceParam);

  if (!traceGL_Native.glDebugMessageCallbackARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDebugMessageCallbackARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetDebugMessageLogARB)
    traceGL_lookupNativeAddress("glGetDebugMessageLogARB", (void **) &traceGL_Native.glGetDebugMessageLogARB);

  traceThis = traceEnabled("glGetDebugMessageLogARB",&traceParam);

  if (!traceGL_Native.glGetDebugMessageLogARB)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetDebugMessageLogARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetGraphicsResetStatusARB)
    traceGL_lookupNativeAddress("glGetGraphicsResetStatusARB", (void **) &traceGL_Native.glGetGraphicsResetStatusARB);

  traceThis = traceEnabled("glGetGraphicsResetStatusARB",&traceParam);

  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. */

    if (traceParam)
      traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetnMapdvARB(GLenum target, GLenum query, GLsizei bufSize, GLdouble *v)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnMapdvARB)
    traceGL_lookupNativeAddress("glGetnMapdvARB", (void **) &traceGL_Native.glGetnMapdvARB);

  traceThis = traceEnabled("glGetnMapdvARB",&traceParam);

  if (!traceGL_Native.glGetnMapdvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnMapdvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnMapfvARB)
    traceGL_lookupNativeAddress("glGetnMapfvARB", (void **) &traceGL_Native.glGetnMapfvARB);

  traceThis = traceEnabled("glGetnMapfvARB",&traceParam);

  if (!traceGL_Native.glGetnMapfvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnMapfvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnMapivARB)
    traceGL_lookupNativeAddress("glGetnMapivARB", (void **) &traceGL_Native.glGetnMapivARB);

  traceThis = traceEnabled("glGetnMapivARB",&traceParam);

  if (!traceGL_Native.glGetnMapivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnMapivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnPixelMapfvARB)
    traceGL_lookupNativeAddress("glGetnPixelMapfvARB", (void **) &traceGL_Native.glGetnPixelMapfvARB);

  traceThis = traceEnabled("glGetnPixelMapfvARB",&traceParam);

  if (!traceGL_Native.glGetnPixelMapfvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnPixelMapfvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnPixelMapuivARB)
    traceGL_lookupNativeAddress("glGetnPixelMapuivARB", (void **) &traceGL_Native.glGetnPixelMapuivARB);

  traceThis = traceEnabled("glGetnPixelMapuivARB",&traceParam);

  if (!traceGL_Native.glGetnPixelMapuivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnPixelMapuivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnPixelMapusvARB)
    traceGL_lookupNativeAddress("glGetnPixelMapusvARB", (void **) &traceGL_Native.glGetnPixelMapusvARB);

  traceThis = traceEnabled("glGetnPixelMapusvARB",&traceParam);

  if (!traceGL_Native.glGetnPixelMapusvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnPixelMapusvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnPolygonStippleARB)
    traceGL_lookupNativeAddress("glGetnPolygonStippleARB", (void **) &traceGL_Native.glGetnPolygonStippleARB);

  traceThis = traceEnabled("glGetnPolygonStippleARB",&traceParam);

  if (!traceGL_Native.glGetnPolygonStippleARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnPolygonStippleARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnTexImageARB)
    traceGL_lookupNativeAddress("glGetnTexImageARB", (void **) &traceGL_Native.glGetnTexImageARB);

  traceThis = traceEnabled("glGetnTexImageARB",&traceParam);

  if (!traceGL_Native.glGetnTexImageARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnTexImageARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReadnPixelsARB)
    traceGL_lookupNativeAddress("glReadnPixelsARB", (void **) &traceGL_Native.glReadnPixelsARB);

  traceThis = traceEnabled("glReadnPixelsARB",&traceParam);

  if (!traceGL_Native.glReadnPixelsARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReadnPixelsARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("pixels", "%p", pixels);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetnColorTableARB(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *table)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnColorTableARB)
    traceGL_lookupNativeAddress("glGetnColorTableARB", (void **) &traceGL_Native.glGetnColorTableARB);

  traceThis = traceEnabled("glGetnColorTableARB",&traceParam);

  if (!traceGL_Native.glGetnColorTableARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnColorTableARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("table", "%p", table);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetnConvolutionFilterARB(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *image)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnConvolutionFilterARB)
    traceGL_lookupNativeAddress("glGetnConvolutionFilterARB", (void **) &traceGL_Native.glGetnConvolutionFilterARB);

  traceThis = traceEnabled("glGetnConvolutionFilterARB",&traceParam);

  if (!traceGL_Native.glGetnConvolutionFilterARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnConvolutionFilterARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnSeparableFilterARB)
    traceGL_lookupNativeAddress("glGetnSeparableFilterARB", (void **) &traceGL_Native.glGetnSeparableFilterARB);

  traceThis = traceEnabled("glGetnSeparableFilterARB",&traceParam);

  if (!traceGL_Native.glGetnSeparableFilterARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnSeparableFilterARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnHistogramARB)
    traceGL_lookupNativeAddress("glGetnHistogramARB", (void **) &traceGL_Native.glGetnHistogramARB);

  traceThis = traceEnabled("glGetnHistogramARB",&traceParam);

  if (!traceGL_Native.glGetnHistogramARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnHistogramARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnMinmaxARB)
    traceGL_lookupNativeAddress("glGetnMinmaxARB", (void **) &traceGL_Native.glGetnMinmaxARB);

  traceThis = traceEnabled("glGetnMinmaxARB",&traceParam);

  if (!traceGL_Native.glGetnMinmaxARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnMinmaxARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("values", "%p", values);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetnCompressedTexImageARB(GLenum target, GLint lod, GLsizei bufSize, GLvoid *img)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnCompressedTexImageARB)
    traceGL_lookupNativeAddress("glGetnCompressedTexImageARB", (void **) &traceGL_Native.glGetnCompressedTexImageARB);

  traceThis = traceEnabled("glGetnCompressedTexImageARB",&traceParam);

  if (!traceGL_Native.glGetnCompressedTexImageARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnCompressedTexImageARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("img", "%p", img);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetnUniformfvARB(GLuint program, GLint location, GLsizei bufSize, GLfloat *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnUniformfvARB)
    traceGL_lookupNativeAddress("glGetnUniformfvARB", (void **) &traceGL_Native.glGetnUniformfvARB);

  traceThis = traceEnabled("glGetnUniformfvARB",&traceParam);

  if (!traceGL_Native.glGetnUniformfvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnUniformfvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnUniformivARB)
    traceGL_lookupNativeAddress("glGetnUniformivARB", (void **) &traceGL_Native.glGetnUniformivARB);

  traceThis = traceEnabled("glGetnUniformivARB",&traceParam);

  if (!traceGL_Native.glGetnUniformivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnUniformivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnUniformuivARB)
    traceGL_lookupNativeAddress("glGetnUniformuivARB", (void **) &traceGL_Native.glGetnUniformuivARB);

  traceThis = traceEnabled("glGetnUniformuivARB",&traceParam);

  if (!traceGL_Native.glGetnUniformuivARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnUniformuivARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetnUniformdvARB)
    traceGL_lookupNativeAddress("glGetnUniformdvARB", (void **) &traceGL_Native.glGetnUniformdvARB);

  traceThis = traceEnabled("glGetnUniformdvARB",&traceParam);

  if (!traceGL_Native.glGetnUniformdvARB)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetnUniformdvARB");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendColorEXT)
    traceGL_lookupNativeAddress("glBlendColorEXT", (void **) &traceGL_Native.glBlendColorEXT);

  traceThis = traceEnabled("glBlendColorEXT",&traceParam);

  if (!traceGL_Native.glBlendColorEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendColorEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPolygonOffsetEXT)
    traceGL_lookupNativeAddress("glPolygonOffsetEXT", (void **) &traceGL_Native.glPolygonOffsetEXT);

  traceThis = traceEnabled("glPolygonOffsetEXT",&traceParam);

  if (!traceGL_Native.glPolygonOffsetEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPolygonOffsetEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexImage3DEXT)
    traceGL_lookupNativeAddress("glTexImage3DEXT", (void **) &traceGL_Native.glTexImage3DEXT);

  traceThis = traceEnabled("glTexImage3DEXT",&traceParam);

  if (!traceGL_Native.glTexImage3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexImage3DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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", "%cu[%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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexSubImage3DEXT)
    traceGL_lookupNativeAddress("glTexSubImage3DEXT", (void **) &traceGL_Native.glTexSubImage3DEXT);

  traceThis = traceEnabled("glTexSubImage3DEXT",&traceParam);

  if (!traceGL_Native.glTexSubImage3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexSubImage3DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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", "%cu[%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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTexFilterFuncSGIS)
    traceGL_lookupNativeAddress("glGetTexFilterFuncSGIS", (void **) &traceGL_Native.glGetTexFilterFuncSGIS);

  traceThis = traceEnabled("glGetTexFilterFuncSGIS",&traceParam);

  if (!traceGL_Native.glGetTexFilterFuncSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTexFilterFuncSGIS");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexFilterFuncSGIS)
    traceGL_lookupNativeAddress("glTexFilterFuncSGIS", (void **) &traceGL_Native.glTexFilterFuncSGIS);

  traceThis = traceEnabled("glTexFilterFuncSGIS",&traceParam);

  if (!traceGL_Native.glTexFilterFuncSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexFilterFuncSGIS");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexSubImage1DEXT)
    traceGL_lookupNativeAddress("glTexSubImage1DEXT", (void **) &traceGL_Native.glTexSubImage1DEXT);

  traceThis = traceEnabled("glTexSubImage1DEXT",&traceParam);

  if (!traceGL_Native.glTexSubImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexSubImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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", "%cu[%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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexSubImage2DEXT)
    traceGL_lookupNativeAddress("glTexSubImage2DEXT", (void **) &traceGL_Native.glTexSubImage2DEXT);

  traceThis = traceEnabled("glTexSubImage2DEXT",&traceParam);

  if (!traceGL_Native.glTexSubImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexSubImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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", "%cu[%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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyTexImage1DEXT)
    traceGL_lookupNativeAddress("glCopyTexImage1DEXT", (void **) &traceGL_Native.glCopyTexImage1DEXT);

  traceThis = traceEnabled("glCopyTexImage1DEXT",&traceParam);

  if (!traceGL_Native.glCopyTexImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyTexImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyTexImage2DEXT)
    traceGL_lookupNativeAddress("glCopyTexImage2DEXT", (void **) &traceGL_Native.glCopyTexImage2DEXT);

  traceThis = traceEnabled("glCopyTexImage2DEXT",&traceParam);

  if (!traceGL_Native.glCopyTexImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyTexImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyTexSubImage1DEXT)
    traceGL_lookupNativeAddress("glCopyTexSubImage1DEXT", (void **) &traceGL_Native.glCopyTexSubImage1DEXT);

  traceThis = traceEnabled("glCopyTexSubImage1DEXT",&traceParam);

  if (!traceGL_Native.glCopyTexSubImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyTexSubImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyTexSubImage2DEXT)
    traceGL_lookupNativeAddress("glCopyTexSubImage2DEXT", (void **) &traceGL_Native.glCopyTexSubImage2DEXT);

  traceThis = traceEnabled("glCopyTexSubImage2DEXT",&traceParam);

  if (!traceGL_Native.glCopyTexSubImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyTexSubImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyTexSubImage3DEXT)
    traceGL_lookupNativeAddress("glCopyTexSubImage3DEXT", (void **) &traceGL_Native.glCopyTexSubImage3DEXT);

  traceThis = traceEnabled("glCopyTexSubImage3DEXT",&traceParam);

  if (!traceGL_Native.glCopyTexSubImage3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyTexSubImage3DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetHistogramEXT)
    traceGL_lookupNativeAddress("glGetHistogramEXT", (void **) &traceGL_Native.glGetHistogramEXT);

  traceThis = traceEnabled("glGetHistogramEXT",&traceParam);

  if (!traceGL_Native.glGetHistogramEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetHistogramEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("values", "%p", values);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetHistogramParameterfvEXT(GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetHistogramParameterfvEXT)
    traceGL_lookupNativeAddress("glGetHistogramParameterfvEXT", (void **) &traceGL_Native.glGetHistogramParameterfvEXT);

  traceThis = traceEnabled("glGetHistogramParameterfvEXT",&traceParam);

  if (!traceGL_Native.glGetHistogramParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetHistogramParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetHistogramParameterivEXT)
    traceGL_lookupNativeAddress("glGetHistogramParameterivEXT", (void **) &traceGL_Native.glGetHistogramParameterivEXT);

  traceThis = traceEnabled("glGetHistogramParameterivEXT",&traceParam);

  if (!traceGL_Native.glGetHistogramParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetHistogramParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMinmaxEXT)
    traceGL_lookupNativeAddress("glGetMinmaxEXT", (void **) &traceGL_Native.glGetMinmaxEXT);

  traceThis = traceEnabled("glGetMinmaxEXT",&traceParam);

  if (!traceGL_Native.glGetMinmaxEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMinmaxEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("values", "%p", values);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMinmaxParameterfvEXT(GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMinmaxParameterfvEXT)
    traceGL_lookupNativeAddress("glGetMinmaxParameterfvEXT", (void **) &traceGL_Native.glGetMinmaxParameterfvEXT);

  traceThis = traceEnabled("glGetMinmaxParameterfvEXT",&traceParam);

  if (!traceGL_Native.glGetMinmaxParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMinmaxParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMinmaxParameterivEXT)
    traceGL_lookupNativeAddress("glGetMinmaxParameterivEXT", (void **) &traceGL_Native.glGetMinmaxParameterivEXT);

  traceThis = traceEnabled("glGetMinmaxParameterivEXT",&traceParam);

  if (!traceGL_Native.glGetMinmaxParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMinmaxParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glHistogramEXT)
    traceGL_lookupNativeAddress("glHistogramEXT", (void **) &traceGL_Native.glHistogramEXT);

  traceThis = traceEnabled("glHistogramEXT",&traceParam);

  if (!traceGL_Native.glHistogramEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glHistogramEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMinmaxEXT)
    traceGL_lookupNativeAddress("glMinmaxEXT", (void **) &traceGL_Native.glMinmaxEXT);

  traceThis = traceEnabled("glMinmaxEXT",&traceParam);

  if (!traceGL_Native.glMinmaxEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMinmaxEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glResetHistogramEXT)
    traceGL_lookupNativeAddress("glResetHistogramEXT", (void **) &traceGL_Native.glResetHistogramEXT);

  traceThis = traceEnabled("glResetHistogramEXT",&traceParam);

  if (!traceGL_Native.glResetHistogramEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glResetHistogramEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glResetMinmaxEXT)
    traceGL_lookupNativeAddress("glResetMinmaxEXT", (void **) &traceGL_Native.glResetMinmaxEXT);

  traceThis = traceEnabled("glResetMinmaxEXT",&traceParam);

  if (!traceGL_Native.glResetMinmaxEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glResetMinmaxEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glConvolutionFilter1DEXT)
    traceGL_lookupNativeAddress("glConvolutionFilter1DEXT", (void **) &traceGL_Native.glConvolutionFilter1DEXT);

  traceThis = traceEnabled("glConvolutionFilter1DEXT",&traceParam);

  if (!traceGL_Native.glConvolutionFilter1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glConvolutionFilter1DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glConvolutionFilter2DEXT)
    traceGL_lookupNativeAddress("glConvolutionFilter2DEXT", (void **) &traceGL_Native.glConvolutionFilter2DEXT);

  traceThis = traceEnabled("glConvolutionFilter2DEXT",&traceParam);

  if (!traceGL_Native.glConvolutionFilter2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glConvolutionFilter2DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glConvolutionParameterfEXT)
    traceGL_lookupNativeAddress("glConvolutionParameterfEXT", (void **) &traceGL_Native.glConvolutionParameterfEXT);

  traceThis = traceEnabled("glConvolutionParameterfEXT",&traceParam);

  if (!traceGL_Native.glConvolutionParameterfEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glConvolutionParameterfEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glConvolutionParameterfvEXT)
    traceGL_lookupNativeAddress("glConvolutionParameterfvEXT", (void **) &traceGL_Native.glConvolutionParameterfvEXT);

  traceThis = traceEnabled("glConvolutionParameterfvEXT",&traceParam);

  if (!traceGL_Native.glConvolutionParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glConvolutionParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glConvolutionParameteriEXT)
    traceGL_lookupNativeAddress("glConvolutionParameteriEXT", (void **) &traceGL_Native.glConvolutionParameteriEXT);

  traceThis = traceEnabled("glConvolutionParameteriEXT",&traceParam);

  if (!traceGL_Native.glConvolutionParameteriEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glConvolutionParameteriEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glConvolutionParameterivEXT)
    traceGL_lookupNativeAddress("glConvolutionParameterivEXT", (void **) &traceGL_Native.glConvolutionParameterivEXT);

  traceThis = traceEnabled("glConvolutionParameterivEXT",&traceParam);

  if (!traceGL_Native.glConvolutionParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glConvolutionParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyConvolutionFilter1DEXT)
    traceGL_lookupNativeAddress("glCopyConvolutionFilter1DEXT", (void **) &traceGL_Native.glCopyConvolutionFilter1DEXT);

  traceThis = traceEnabled("glCopyConvolutionFilter1DEXT",&traceParam);

  if (!traceGL_Native.glCopyConvolutionFilter1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyConvolutionFilter1DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyConvolutionFilter2DEXT)
    traceGL_lookupNativeAddress("glCopyConvolutionFilter2DEXT", (void **) &traceGL_Native.glCopyConvolutionFilter2DEXT);

  traceThis = traceEnabled("glCopyConvolutionFilter2DEXT",&traceParam);

  if (!traceGL_Native.glCopyConvolutionFilter2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyConvolutionFilter2DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetConvolutionFilterEXT)
    traceGL_lookupNativeAddress("glGetConvolutionFilterEXT", (void **) &traceGL_Native.glGetConvolutionFilterEXT);

  traceThis = traceEnabled("glGetConvolutionFilterEXT",&traceParam);

  if (!traceGL_Native.glGetConvolutionFilterEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetConvolutionFilterEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("image", "%p", image);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetConvolutionParameterfvEXT(GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetConvolutionParameterfvEXT)
    traceGL_lookupNativeAddress("glGetConvolutionParameterfvEXT", (void **) &traceGL_Native.glGetConvolutionParameterfvEXT);

  traceThis = traceEnabled("glGetConvolutionParameterfvEXT",&traceParam);

  if (!traceGL_Native.glGetConvolutionParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetConvolutionParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetConvolutionParameterivEXT)
    traceGL_lookupNativeAddress("glGetConvolutionParameterivEXT", (void **) &traceGL_Native.glGetConvolutionParameterivEXT);

  traceThis = traceEnabled("glGetConvolutionParameterivEXT",&traceParam);

  if (!traceGL_Native.glGetConvolutionParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetConvolutionParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetSeparableFilterEXT)
    traceGL_lookupNativeAddress("glGetSeparableFilterEXT", (void **) &traceGL_Native.glGetSeparableFilterEXT);

  traceThis = traceEnabled("glGetSeparableFilterEXT",&traceParam);

  if (!traceGL_Native.glGetSeparableFilterEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetSeparableFilterEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSeparableFilter2DEXT)
    traceGL_lookupNativeAddress("glSeparableFilter2DEXT", (void **) &traceGL_Native.glSeparableFilter2DEXT);

  traceThis = traceEnabled("glSeparableFilter2DEXT",&traceParam);

  if (!traceGL_Native.glSeparableFilter2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSeparableFilter2DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorTableSGI)
    traceGL_lookupNativeAddress("glColorTableSGI", (void **) &traceGL_Native.glColorTableSGI);

  traceThis = traceEnabled("glColorTableSGI",&traceParam);

  if (!traceGL_Native.glColorTableSGI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorTableSGI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorTableParameterfvSGI)
    traceGL_lookupNativeAddress("glColorTableParameterfvSGI", (void **) &traceGL_Native.glColorTableParameterfvSGI);

  traceThis = traceEnabled("glColorTableParameterfvSGI",&traceParam);

  if (!traceGL_Native.glColorTableParameterfvSGI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorTableParameterfvSGI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorTableParameterivSGI)
    traceGL_lookupNativeAddress("glColorTableParameterivSGI", (void **) &traceGL_Native.glColorTableParameterivSGI);

  traceThis = traceEnabled("glColorTableParameterivSGI",&traceParam);

  if (!traceGL_Native.glColorTableParameterivSGI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorTableParameterivSGI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyColorTableSGI)
    traceGL_lookupNativeAddress("glCopyColorTableSGI", (void **) &traceGL_Native.glCopyColorTableSGI);

  traceThis = traceEnabled("glCopyColorTableSGI",&traceParam);

  if (!traceGL_Native.glCopyColorTableSGI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyColorTableSGI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetColorTableSGI)
    traceGL_lookupNativeAddress("glGetColorTableSGI", (void **) &traceGL_Native.glGetColorTableSGI);

  traceThis = traceEnabled("glGetColorTableSGI",&traceParam);

  if (!traceGL_Native.glGetColorTableSGI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetColorTableSGI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("table", "%p", table);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetColorTableParameterfvSGI(GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetColorTableParameterfvSGI)
    traceGL_lookupNativeAddress("glGetColorTableParameterfvSGI", (void **) &traceGL_Native.glGetColorTableParameterfvSGI);

  traceThis = traceEnabled("glGetColorTableParameterfvSGI",&traceParam);

  if (!traceGL_Native.glGetColorTableParameterfvSGI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetColorTableParameterfvSGI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetColorTableParameterivSGI)
    traceGL_lookupNativeAddress("glGetColorTableParameterivSGI", (void **) &traceGL_Native.glGetColorTableParameterivSGI);

  traceThis = traceEnabled("glGetColorTableParameterivSGI",&traceParam);

  if (!traceGL_Native.glGetColorTableParameterivSGI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetColorTableParameterivSGI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelTexGenSGIX)
    traceGL_lookupNativeAddress("glPixelTexGenSGIX", (void **) &traceGL_Native.glPixelTexGenSGIX);

  traceThis = traceEnabled("glPixelTexGenSGIX",&traceParam);

  if (!traceGL_Native.glPixelTexGenSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelTexGenSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelTexGenParameteriSGIS)
    traceGL_lookupNativeAddress("glPixelTexGenParameteriSGIS", (void **) &traceGL_Native.glPixelTexGenParameteriSGIS);

  traceThis = traceEnabled("glPixelTexGenParameteriSGIS",&traceParam);

  if (!traceGL_Native.glPixelTexGenParameteriSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelTexGenParameteriSGIS");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelTexGenParameterivSGIS)
    traceGL_lookupNativeAddress("glPixelTexGenParameterivSGIS", (void **) &traceGL_Native.glPixelTexGenParameterivSGIS);

  traceThis = traceEnabled("glPixelTexGenParameterivSGIS",&traceParam);

  if (!traceGL_Native.glPixelTexGenParameterivSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelTexGenParameterivSGIS");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelTexGenParameterfSGIS)
    traceGL_lookupNativeAddress("glPixelTexGenParameterfSGIS", (void **) &traceGL_Native.glPixelTexGenParameterfSGIS);

  traceThis = traceEnabled("glPixelTexGenParameterfSGIS",&traceParam);

  if (!traceGL_Native.glPixelTexGenParameterfSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelTexGenParameterfSGIS");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelTexGenParameterfvSGIS)
    traceGL_lookupNativeAddress("glPixelTexGenParameterfvSGIS", (void **) &traceGL_Native.glPixelTexGenParameterfvSGIS);

  traceThis = traceEnabled("glPixelTexGenParameterfvSGIS",&traceParam);

  if (!traceGL_Native.glPixelTexGenParameterfvSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelTexGenParameterfvSGIS");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetPixelTexGenParameterivSGIS)
    traceGL_lookupNativeAddress("glGetPixelTexGenParameterivSGIS", (void **) &traceGL_Native.glGetPixelTexGenParameterivSGIS);

  traceThis = traceEnabled("glGetPixelTexGenParameterivSGIS",&traceParam);

  if (!traceGL_Native.glGetPixelTexGenParameterivSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetPixelTexGenParameterivSGIS");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetPixelTexGenParameterfvSGIS)
    traceGL_lookupNativeAddress("glGetPixelTexGenParameterfvSGIS", (void **) &traceGL_Native.glGetPixelTexGenParameterfvSGIS);

  traceThis = traceEnabled("glGetPixelTexGenParameterfvSGIS",&traceParam);

  if (!traceGL_Native.glGetPixelTexGenParameterfvSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetPixelTexGenParameterfvSGIS");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexImage4DSGIS)
    traceGL_lookupNativeAddress("glTexImage4DSGIS", (void **) &traceGL_Native.glTexImage4DSGIS);

  traceThis = traceEnabled("glTexImage4DSGIS",&traceParam);

  if (!traceGL_Native.glTexImage4DSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexImage4DSGIS");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexSubImage4DSGIS)
    traceGL_lookupNativeAddress("glTexSubImage4DSGIS", (void **) &traceGL_Native.glTexSubImage4DSGIS);

  traceThis = traceEnabled("glTexSubImage4DSGIS",&traceParam);

  if (!traceGL_Native.glTexSubImage4DSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexSubImage4DSGIS");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glAreTexturesResidentEXT)
    traceGL_lookupNativeAddress("glAreTexturesResidentEXT", (void **) &traceGL_Native.glAreTexturesResidentEXT);

  traceThis = traceEnabled("glAreTexturesResidentEXT",&traceParam);

  if (!traceGL_Native.glAreTexturesResidentEXT)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glAreTexturesResidentEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindTextureEXT)
    traceGL_lookupNativeAddress("glBindTextureEXT", (void **) &traceGL_Native.glBindTextureEXT);

  traceThis = traceEnabled("glBindTextureEXT",&traceParam);

  if (!traceGL_Native.glBindTextureEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindTextureEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteTexturesEXT)
    traceGL_lookupNativeAddress("glDeleteTexturesEXT", (void **) &traceGL_Native.glDeleteTexturesEXT);

  traceThis = traceEnabled("glDeleteTexturesEXT",&traceParam);

  if (!traceGL_Native.glDeleteTexturesEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteTexturesEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenTexturesEXT)
    traceGL_lookupNativeAddress("glGenTexturesEXT", (void **) &traceGL_Native.glGenTexturesEXT);

  traceThis = traceEnabled("glGenTexturesEXT",&traceParam);

  if (!traceGL_Native.glGenTexturesEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenTexturesEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenTexturesEXT(n, textures);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceOutputParameter("textures", "%u[%d]", textures, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsTextureEXT(GLuint texture)
{
  GLboolean ret = GL_FALSE;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsTextureEXT)
    traceGL_lookupNativeAddress("glIsTextureEXT", (void **) &traceGL_Native.glIsTextureEXT);

  traceThis = traceEnabled("glIsTextureEXT",&traceParam);

  if (!traceGL_Native.glIsTextureEXT)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsTextureEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("texture", "%u", texture);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsTextureEXT(texture);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPrioritizeTexturesEXT)
    traceGL_lookupNativeAddress("glPrioritizeTexturesEXT", (void **) &traceGL_Native.glPrioritizeTexturesEXT);

  traceThis = traceEnabled("glPrioritizeTexturesEXT",&traceParam);

  if (!traceGL_Native.glPrioritizeTexturesEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPrioritizeTexturesEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDetailTexFuncSGIS)
    traceGL_lookupNativeAddress("glDetailTexFuncSGIS", (void **) &traceGL_Native.glDetailTexFuncSGIS);

  traceThis = traceEnabled("glDetailTexFuncSGIS",&traceParam);

  if (!traceGL_Native.glDetailTexFuncSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDetailTexFuncSGIS");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetDetailTexFuncSGIS)
    traceGL_lookupNativeAddress("glGetDetailTexFuncSGIS", (void **) &traceGL_Native.glGetDetailTexFuncSGIS);

  traceThis = traceEnabled("glGetDetailTexFuncSGIS",&traceParam);

  if (!traceGL_Native.glGetDetailTexFuncSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetDetailTexFuncSGIS");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSharpenTexFuncSGIS)
    traceGL_lookupNativeAddress("glSharpenTexFuncSGIS", (void **) &traceGL_Native.glSharpenTexFuncSGIS);

  traceThis = traceEnabled("glSharpenTexFuncSGIS",&traceParam);

  if (!traceGL_Native.glSharpenTexFuncSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSharpenTexFuncSGIS");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetSharpenTexFuncSGIS)
    traceGL_lookupNativeAddress("glGetSharpenTexFuncSGIS", (void **) &traceGL_Native.glGetSharpenTexFuncSGIS);

  traceThis = traceEnabled("glGetSharpenTexFuncSGIS",&traceParam);

  if (!traceGL_Native.glGetSharpenTexFuncSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetSharpenTexFuncSGIS");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSampleMaskSGIS)
    traceGL_lookupNativeAddress("glSampleMaskSGIS", (void **) &traceGL_Native.glSampleMaskSGIS);

  traceThis = traceEnabled("glSampleMaskSGIS",&traceParam);

  if (!traceGL_Native.glSampleMaskSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSampleMaskSGIS");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSamplePatternSGIS)
    traceGL_lookupNativeAddress("glSamplePatternSGIS", (void **) &traceGL_Native.glSamplePatternSGIS);

  traceThis = traceEnabled("glSamplePatternSGIS",&traceParam);

  if (!traceGL_Native.glSamplePatternSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSamplePatternSGIS");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glArrayElementEXT)
    traceGL_lookupNativeAddress("glArrayElementEXT", (void **) &traceGL_Native.glArrayElementEXT);

  traceThis = traceEnabled("glArrayElementEXT",&traceParam);

  if (!traceGL_Native.glArrayElementEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glArrayElementEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorPointerEXT)
    traceGL_lookupNativeAddress("glColorPointerEXT", (void **) &traceGL_Native.glColorPointerEXT);

  traceThis = traceEnabled("glColorPointerEXT",&traceParam);

  if (!traceGL_Native.glColorPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawArraysEXT)
    traceGL_lookupNativeAddress("glDrawArraysEXT", (void **) &traceGL_Native.glDrawArraysEXT);

  traceThis = traceEnabled("glDrawArraysEXT",&traceParam);

  if (!traceGL_Native.glDrawArraysEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawArraysEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEdgeFlagPointerEXT)
    traceGL_lookupNativeAddress("glEdgeFlagPointerEXT", (void **) &traceGL_Native.glEdgeFlagPointerEXT);

  traceThis = traceEnabled("glEdgeFlagPointerEXT",&traceParam);

  if (!traceGL_Native.glEdgeFlagPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEdgeFlagPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetPointervEXT)
    traceGL_lookupNativeAddress("glGetPointervEXT", (void **) &traceGL_Native.glGetPointervEXT);

  traceThis = traceEnabled("glGetPointervEXT",&traceParam);

  if (!traceGL_Native.glGetPointervEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetPointervEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIndexPointerEXT)
    traceGL_lookupNativeAddress("glIndexPointerEXT", (void **) &traceGL_Native.glIndexPointerEXT);

  traceThis = traceEnabled("glIndexPointerEXT",&traceParam);

  if (!traceGL_Native.glIndexPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIndexPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalPointerEXT)
    traceGL_lookupNativeAddress("glNormalPointerEXT", (void **) &traceGL_Native.glNormalPointerEXT);

  traceThis = traceEnabled("glNormalPointerEXT",&traceParam);

  if (!traceGL_Native.glNormalPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoordPointerEXT)
    traceGL_lookupNativeAddress("glTexCoordPointerEXT", (void **) &traceGL_Native.glTexCoordPointerEXT);

  traceThis = traceEnabled("glTexCoordPointerEXT",&traceParam);

  if (!traceGL_Native.glTexCoordPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoordPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexPointerEXT)
    traceGL_lookupNativeAddress("glVertexPointerEXT", (void **) &traceGL_Native.glVertexPointerEXT);

  traceThis = traceEnabled("glVertexPointerEXT",&traceParam);

  if (!traceGL_Native.glVertexPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendEquationEXT)
    traceGL_lookupNativeAddress("glBlendEquationEXT", (void **) &traceGL_Native.glBlendEquationEXT);

  traceThis = traceEnabled("glBlendEquationEXT",&traceParam);

  if (!traceGL_Native.glBlendEquationEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendEquationEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSpriteParameterfSGIX)
    traceGL_lookupNativeAddress("glSpriteParameterfSGIX", (void **) &traceGL_Native.glSpriteParameterfSGIX);

  traceThis = traceEnabled("glSpriteParameterfSGIX",&traceParam);

  if (!traceGL_Native.glSpriteParameterfSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSpriteParameterfSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSpriteParameterfvSGIX)
    traceGL_lookupNativeAddress("glSpriteParameterfvSGIX", (void **) &traceGL_Native.glSpriteParameterfvSGIX);

  traceThis = traceEnabled("glSpriteParameterfvSGIX",&traceParam);

  if (!traceGL_Native.glSpriteParameterfvSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSpriteParameterfvSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSpriteParameteriSGIX)
    traceGL_lookupNativeAddress("glSpriteParameteriSGIX", (void **) &traceGL_Native.glSpriteParameteriSGIX);

  traceThis = traceEnabled("glSpriteParameteriSGIX",&traceParam);

  if (!traceGL_Native.glSpriteParameteriSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSpriteParameteriSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSpriteParameterivSGIX)
    traceGL_lookupNativeAddress("glSpriteParameterivSGIX", (void **) &traceGL_Native.glSpriteParameterivSGIX);

  traceThis = traceEnabled("glSpriteParameterivSGIX",&traceParam);

  if (!traceGL_Native.glSpriteParameterivSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSpriteParameterivSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPointParameterfEXT)
    traceGL_lookupNativeAddress("glPointParameterfEXT", (void **) &traceGL_Native.glPointParameterfEXT);

  traceThis = traceEnabled("glPointParameterfEXT",&traceParam);

  if (!traceGL_Native.glPointParameterfEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPointParameterfEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPointParameterfvEXT)
    traceGL_lookupNativeAddress("glPointParameterfvEXT", (void **) &traceGL_Native.glPointParameterfvEXT);

  traceThis = traceEnabled("glPointParameterfvEXT",&traceParam);

  if (!traceGL_Native.glPointParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPointParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPointParameterfSGIS)
    traceGL_lookupNativeAddress("glPointParameterfSGIS", (void **) &traceGL_Native.glPointParameterfSGIS);

  traceThis = traceEnabled("glPointParameterfSGIS",&traceParam);

  if (!traceGL_Native.glPointParameterfSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPointParameterfSGIS");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPointParameterfvSGIS)
    traceGL_lookupNativeAddress("glPointParameterfvSGIS", (void **) &traceGL_Native.glPointParameterfvSGIS);

  traceThis = traceEnabled("glPointParameterfvSGIS",&traceParam);

  if (!traceGL_Native.glPointParameterfvSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPointParameterfvSGIS");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetInstrumentsSGIX)
    traceGL_lookupNativeAddress("glGetInstrumentsSGIX", (void **) &traceGL_Native.glGetInstrumentsSGIX);

  traceThis = traceEnabled("glGetInstrumentsSGIX",&traceParam);

  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. */

    if (traceParam)
      traceReturn("%d", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glInstrumentsBufferSGIX(GLsizei size, GLint *buffer)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glInstrumentsBufferSGIX)
    traceGL_lookupNativeAddress("glInstrumentsBufferSGIX", (void **) &traceGL_Native.glInstrumentsBufferSGIX);

  traceThis = traceEnabled("glInstrumentsBufferSGIX",&traceParam);

  if (!traceGL_Native.glInstrumentsBufferSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glInstrumentsBufferSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPollInstrumentsSGIX)
    traceGL_lookupNativeAddress("glPollInstrumentsSGIX", (void **) &traceGL_Native.glPollInstrumentsSGIX);

  traceThis = traceEnabled("glPollInstrumentsSGIX",&traceParam);

  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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReadInstrumentsSGIX)
    traceGL_lookupNativeAddress("glReadInstrumentsSGIX", (void **) &traceGL_Native.glReadInstrumentsSGIX);

  traceThis = traceEnabled("glReadInstrumentsSGIX",&traceParam);

  if (!traceGL_Native.glReadInstrumentsSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReadInstrumentsSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glStartInstrumentsSGIX)
    traceGL_lookupNativeAddress("glStartInstrumentsSGIX", (void **) &traceGL_Native.glStartInstrumentsSGIX);

  traceThis = traceEnabled("glStartInstrumentsSGIX",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glStopInstrumentsSGIX)
    traceGL_lookupNativeAddress("glStopInstrumentsSGIX", (void **) &traceGL_Native.glStopInstrumentsSGIX);

  traceThis = traceEnabled("glStopInstrumentsSGIX",&traceParam);

  if (!traceGL_Native.glStopInstrumentsSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glStopInstrumentsSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFrameZoomSGIX)
    traceGL_lookupNativeAddress("glFrameZoomSGIX", (void **) &traceGL_Native.glFrameZoomSGIX);

  traceThis = traceEnabled("glFrameZoomSGIX",&traceParam);

  if (!traceGL_Native.glFrameZoomSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFrameZoomSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTagSampleBufferSGIX)
    traceGL_lookupNativeAddress("glTagSampleBufferSGIX", (void **) &traceGL_Native.glTagSampleBufferSGIX);

  traceThis = traceEnabled("glTagSampleBufferSGIX",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeformationMap3dSGIX)
    traceGL_lookupNativeAddress("glDeformationMap3dSGIX", (void **) &traceGL_Native.glDeformationMap3dSGIX);

  traceThis = traceEnabled("glDeformationMap3dSGIX",&traceParam);

  if (!traceGL_Native.glDeformationMap3dSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeformationMap3dSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeformationMap3fSGIX)
    traceGL_lookupNativeAddress("glDeformationMap3fSGIX", (void **) &traceGL_Native.glDeformationMap3fSGIX);

  traceThis = traceEnabled("glDeformationMap3fSGIX",&traceParam);

  if (!traceGL_Native.glDeformationMap3fSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeformationMap3fSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeformSGIX)
    traceGL_lookupNativeAddress("glDeformSGIX", (void **) &traceGL_Native.glDeformSGIX);

  traceThis = traceEnabled("glDeformSGIX",&traceParam);

  if (!traceGL_Native.glDeformSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeformSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLoadIdentityDeformationMapSGIX)
    traceGL_lookupNativeAddress("glLoadIdentityDeformationMapSGIX", (void **) &traceGL_Native.glLoadIdentityDeformationMapSGIX);

  traceThis = traceEnabled("glLoadIdentityDeformationMapSGIX",&traceParam);

  if (!traceGL_Native.glLoadIdentityDeformationMapSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLoadIdentityDeformationMapSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReferencePlaneSGIX)
    traceGL_lookupNativeAddress("glReferencePlaneSGIX", (void **) &traceGL_Native.glReferencePlaneSGIX);

  traceThis = traceEnabled("glReferencePlaneSGIX",&traceParam);

  if (!traceGL_Native.glReferencePlaneSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReferencePlaneSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFlushRasterSGIX)
    traceGL_lookupNativeAddress("glFlushRasterSGIX", (void **) &traceGL_Native.glFlushRasterSGIX);

  traceThis = traceEnabled("glFlushRasterSGIX",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogFuncSGIS)
    traceGL_lookupNativeAddress("glFogFuncSGIS", (void **) &traceGL_Native.glFogFuncSGIS);

  traceThis = traceEnabled("glFogFuncSGIS",&traceParam);

  if (!traceGL_Native.glFogFuncSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogFuncSGIS");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFogFuncSGIS)
    traceGL_lookupNativeAddress("glGetFogFuncSGIS", (void **) &traceGL_Native.glGetFogFuncSGIS);

  traceThis = traceEnabled("glGetFogFuncSGIS",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glImageTransformParameteriHP)
    traceGL_lookupNativeAddress("glImageTransformParameteriHP", (void **) &traceGL_Native.glImageTransformParameteriHP);

  traceThis = traceEnabled("glImageTransformParameteriHP",&traceParam);

  if (!traceGL_Native.glImageTransformParameteriHP)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glImageTransformParameteriHP");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glImageTransformParameterfHP)
    traceGL_lookupNativeAddress("glImageTransformParameterfHP", (void **) &traceGL_Native.glImageTransformParameterfHP);

  traceThis = traceEnabled("glImageTransformParameterfHP",&traceParam);

  if (!traceGL_Native.glImageTransformParameterfHP)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glImageTransformParameterfHP");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glImageTransformParameterivHP)
    traceGL_lookupNativeAddress("glImageTransformParameterivHP", (void **) &traceGL_Native.glImageTransformParameterivHP);

  traceThis = traceEnabled("glImageTransformParameterivHP",&traceParam);

  if (!traceGL_Native.glImageTransformParameterivHP)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glImageTransformParameterivHP");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glImageTransformParameterfvHP)
    traceGL_lookupNativeAddress("glImageTransformParameterfvHP", (void **) &traceGL_Native.glImageTransformParameterfvHP);

  traceThis = traceEnabled("glImageTransformParameterfvHP",&traceParam);

  if (!traceGL_Native.glImageTransformParameterfvHP)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glImageTransformParameterfvHP");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetImageTransformParameterivHP)
    traceGL_lookupNativeAddress("glGetImageTransformParameterivHP", (void **) &traceGL_Native.glGetImageTransformParameterivHP);

  traceThis = traceEnabled("glGetImageTransformParameterivHP",&traceParam);

  if (!traceGL_Native.glGetImageTransformParameterivHP)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetImageTransformParameterivHP");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetImageTransformParameterfvHP)
    traceGL_lookupNativeAddress("glGetImageTransformParameterfvHP", (void **) &traceGL_Native.glGetImageTransformParameterfvHP);

  traceThis = traceEnabled("glGetImageTransformParameterfvHP",&traceParam);

  if (!traceGL_Native.glGetImageTransformParameterfvHP)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetImageTransformParameterfvHP");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorSubTableEXT)
    traceGL_lookupNativeAddress("glColorSubTableEXT", (void **) &traceGL_Native.glColorSubTableEXT);

  traceThis = traceEnabled("glColorSubTableEXT",&traceParam);

  if (!traceGL_Native.glColorSubTableEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorSubTableEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyColorSubTableEXT)
    traceGL_lookupNativeAddress("glCopyColorSubTableEXT", (void **) &traceGL_Native.glCopyColorSubTableEXT);

  traceThis = traceEnabled("glCopyColorSubTableEXT",&traceParam);

  if (!traceGL_Native.glCopyColorSubTableEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyColorSubTableEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glHintPGI)
    traceGL_lookupNativeAddress("glHintPGI", (void **) &traceGL_Native.glHintPGI);

  traceThis = traceEnabled("glHintPGI",&traceParam);

  if (!traceGL_Native.glHintPGI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glHintPGI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorTableEXT)
    traceGL_lookupNativeAddress("glColorTableEXT", (void **) &traceGL_Native.glColorTableEXT);

  traceThis = traceEnabled("glColorTableEXT",&traceParam);

  if (!traceGL_Native.glColorTableEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorTableEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetColorTableEXT)
    traceGL_lookupNativeAddress("glGetColorTableEXT", (void **) &traceGL_Native.glGetColorTableEXT);

  traceThis = traceEnabled("glGetColorTableEXT",&traceParam);

  if (!traceGL_Native.glGetColorTableEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetColorTableEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("table", "%p", table);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetColorTableParameterivEXT(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetColorTableParameterivEXT)
    traceGL_lookupNativeAddress("glGetColorTableParameterivEXT", (void **) &traceGL_Native.glGetColorTableParameterivEXT);

  traceThis = traceEnabled("glGetColorTableParameterivEXT",&traceParam);

  if (!traceGL_Native.glGetColorTableParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetColorTableParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetColorTableParameterfvEXT)
    traceGL_lookupNativeAddress("glGetColorTableParameterfvEXT", (void **) &traceGL_Native.glGetColorTableParameterfvEXT);

  traceThis = traceEnabled("glGetColorTableParameterfvEXT",&traceParam);

  if (!traceGL_Native.glGetColorTableParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetColorTableParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetListParameterfvSGIX)
    traceGL_lookupNativeAddress("glGetListParameterfvSGIX", (void **) &traceGL_Native.glGetListParameterfvSGIX);

  traceThis = traceEnabled("glGetListParameterfvSGIX",&traceParam);

  if (!traceGL_Native.glGetListParameterfvSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetListParameterfvSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetListParameterivSGIX)
    traceGL_lookupNativeAddress("glGetListParameterivSGIX", (void **) &traceGL_Native.glGetListParameterivSGIX);

  traceThis = traceEnabled("glGetListParameterivSGIX",&traceParam);

  if (!traceGL_Native.glGetListParameterivSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetListParameterivSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glListParameterfSGIX)
    traceGL_lookupNativeAddress("glListParameterfSGIX", (void **) &traceGL_Native.glListParameterfSGIX);

  traceThis = traceEnabled("glListParameterfSGIX",&traceParam);

  if (!traceGL_Native.glListParameterfSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glListParameterfSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glListParameterfvSGIX)
    traceGL_lookupNativeAddress("glListParameterfvSGIX", (void **) &traceGL_Native.glListParameterfvSGIX);

  traceThis = traceEnabled("glListParameterfvSGIX",&traceParam);

  if (!traceGL_Native.glListParameterfvSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glListParameterfvSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glListParameteriSGIX)
    traceGL_lookupNativeAddress("glListParameteriSGIX", (void **) &traceGL_Native.glListParameteriSGIX);

  traceThis = traceEnabled("glListParameteriSGIX",&traceParam);

  if (!traceGL_Native.glListParameteriSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glListParameteriSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glListParameterivSGIX)
    traceGL_lookupNativeAddress("glListParameterivSGIX", (void **) &traceGL_Native.glListParameterivSGIX);

  traceThis = traceEnabled("glListParameterivSGIX",&traceParam);

  if (!traceGL_Native.glListParameterivSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glListParameterivSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIndexMaterialEXT)
    traceGL_lookupNativeAddress("glIndexMaterialEXT", (void **) &traceGL_Native.glIndexMaterialEXT);

  traceThis = traceEnabled("glIndexMaterialEXT",&traceParam);

  if (!traceGL_Native.glIndexMaterialEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIndexMaterialEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIndexFuncEXT)
    traceGL_lookupNativeAddress("glIndexFuncEXT", (void **) &traceGL_Native.glIndexFuncEXT);

  traceThis = traceEnabled("glIndexFuncEXT",&traceParam);

  if (!traceGL_Native.glIndexFuncEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIndexFuncEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLockArraysEXT)
    traceGL_lookupNativeAddress("glLockArraysEXT", (void **) &traceGL_Native.glLockArraysEXT);

  traceThis = traceEnabled("glLockArraysEXT",&traceParam);

  if (!traceGL_Native.glLockArraysEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLockArraysEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUnlockArraysEXT)
    traceGL_lookupNativeAddress("glUnlockArraysEXT", (void **) &traceGL_Native.glUnlockArraysEXT);

  traceThis = traceEnabled("glUnlockArraysEXT",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCullParameterdvEXT)
    traceGL_lookupNativeAddress("glCullParameterdvEXT", (void **) &traceGL_Native.glCullParameterdvEXT);

  traceThis = traceEnabled("glCullParameterdvEXT",&traceParam);

  if (!traceGL_Native.glCullParameterdvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCullParameterdvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCullParameterdvEXT(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceOutputParameter("params", "%lf[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glCullParameterfvEXT(GLenum pname, GLfloat *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCullParameterfvEXT)
    traceGL_lookupNativeAddress("glCullParameterfvEXT", (void **) &traceGL_Native.glCullParameterfvEXT);

  traceThis = traceEnabled("glCullParameterfvEXT",&traceParam);

  if (!traceGL_Native.glCullParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCullParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("pname", "%u", pname);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glCullParameterfvEXT(pname, params);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceOutputParameter("params", "%f[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFragmentColorMaterialSGIX(GLenum face, GLenum mode)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFragmentColorMaterialSGIX)
    traceGL_lookupNativeAddress("glFragmentColorMaterialSGIX", (void **) &traceGL_Native.glFragmentColorMaterialSGIX);

  traceThis = traceEnabled("glFragmentColorMaterialSGIX",&traceParam);

  if (!traceGL_Native.glFragmentColorMaterialSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFragmentColorMaterialSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFragmentLightfSGIX)
    traceGL_lookupNativeAddress("glFragmentLightfSGIX", (void **) &traceGL_Native.glFragmentLightfSGIX);

  traceThis = traceEnabled("glFragmentLightfSGIX",&traceParam);

  if (!traceGL_Native.glFragmentLightfSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFragmentLightfSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFragmentLightfvSGIX)
    traceGL_lookupNativeAddress("glFragmentLightfvSGIX", (void **) &traceGL_Native.glFragmentLightfvSGIX);

  traceThis = traceEnabled("glFragmentLightfvSGIX",&traceParam);

  if (!traceGL_Native.glFragmentLightfvSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFragmentLightfvSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFragmentLightiSGIX)
    traceGL_lookupNativeAddress("glFragmentLightiSGIX", (void **) &traceGL_Native.glFragmentLightiSGIX);

  traceThis = traceEnabled("glFragmentLightiSGIX",&traceParam);

  if (!traceGL_Native.glFragmentLightiSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFragmentLightiSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFragmentLightivSGIX)
    traceGL_lookupNativeAddress("glFragmentLightivSGIX", (void **) &traceGL_Native.glFragmentLightivSGIX);

  traceThis = traceEnabled("glFragmentLightivSGIX",&traceParam);

  if (!traceGL_Native.glFragmentLightivSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFragmentLightivSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFragmentLightModelfSGIX)
    traceGL_lookupNativeAddress("glFragmentLightModelfSGIX", (void **) &traceGL_Native.glFragmentLightModelfSGIX);

  traceThis = traceEnabled("glFragmentLightModelfSGIX",&traceParam);

  if (!traceGL_Native.glFragmentLightModelfSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFragmentLightModelfSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFragmentLightModelfvSGIX)
    traceGL_lookupNativeAddress("glFragmentLightModelfvSGIX", (void **) &traceGL_Native.glFragmentLightModelfvSGIX);

  traceThis = traceEnabled("glFragmentLightModelfvSGIX",&traceParam);

  if (!traceGL_Native.glFragmentLightModelfvSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFragmentLightModelfvSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFragmentLightModeliSGIX)
    traceGL_lookupNativeAddress("glFragmentLightModeliSGIX", (void **) &traceGL_Native.glFragmentLightModeliSGIX);

  traceThis = traceEnabled("glFragmentLightModeliSGIX",&traceParam);

  if (!traceGL_Native.glFragmentLightModeliSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFragmentLightModeliSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFragmentLightModelivSGIX)
    traceGL_lookupNativeAddress("glFragmentLightModelivSGIX", (void **) &traceGL_Native.glFragmentLightModelivSGIX);

  traceThis = traceEnabled("glFragmentLightModelivSGIX",&traceParam);

  if (!traceGL_Native.glFragmentLightModelivSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFragmentLightModelivSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFragmentMaterialfSGIX)
    traceGL_lookupNativeAddress("glFragmentMaterialfSGIX", (void **) &traceGL_Native.glFragmentMaterialfSGIX);

  traceThis = traceEnabled("glFragmentMaterialfSGIX",&traceParam);

  if (!traceGL_Native.glFragmentMaterialfSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFragmentMaterialfSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFragmentMaterialfvSGIX)
    traceGL_lookupNativeAddress("glFragmentMaterialfvSGIX", (void **) &traceGL_Native.glFragmentMaterialfvSGIX);

  traceThis = traceEnabled("glFragmentMaterialfvSGIX",&traceParam);

  if (!traceGL_Native.glFragmentMaterialfvSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFragmentMaterialfvSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFragmentMaterialiSGIX)
    traceGL_lookupNativeAddress("glFragmentMaterialiSGIX", (void **) &traceGL_Native.glFragmentMaterialiSGIX);

  traceThis = traceEnabled("glFragmentMaterialiSGIX",&traceParam);

  if (!traceGL_Native.glFragmentMaterialiSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFragmentMaterialiSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFragmentMaterialivSGIX)
    traceGL_lookupNativeAddress("glFragmentMaterialivSGIX", (void **) &traceGL_Native.glFragmentMaterialivSGIX);

  traceThis = traceEnabled("glFragmentMaterialivSGIX",&traceParam);

  if (!traceGL_Native.glFragmentMaterialivSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFragmentMaterialivSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFragmentLightfvSGIX)
    traceGL_lookupNativeAddress("glGetFragmentLightfvSGIX", (void **) &traceGL_Native.glGetFragmentLightfvSGIX);

  traceThis = traceEnabled("glGetFragmentLightfvSGIX",&traceParam);

  if (!traceGL_Native.glGetFragmentLightfvSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFragmentLightfvSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFragmentLightivSGIX)
    traceGL_lookupNativeAddress("glGetFragmentLightivSGIX", (void **) &traceGL_Native.glGetFragmentLightivSGIX);

  traceThis = traceEnabled("glGetFragmentLightivSGIX",&traceParam);

  if (!traceGL_Native.glGetFragmentLightivSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFragmentLightivSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFragmentMaterialfvSGIX)
    traceGL_lookupNativeAddress("glGetFragmentMaterialfvSGIX", (void **) &traceGL_Native.glGetFragmentMaterialfvSGIX);

  traceThis = traceEnabled("glGetFragmentMaterialfvSGIX",&traceParam);

  if (!traceGL_Native.glGetFragmentMaterialfvSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFragmentMaterialfvSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFragmentMaterialivSGIX)
    traceGL_lookupNativeAddress("glGetFragmentMaterialivSGIX", (void **) &traceGL_Native.glGetFragmentMaterialivSGIX);

  traceThis = traceEnabled("glGetFragmentMaterialivSGIX",&traceParam);

  if (!traceGL_Native.glGetFragmentMaterialivSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFragmentMaterialivSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLightEnviSGIX)
    traceGL_lookupNativeAddress("glLightEnviSGIX", (void **) &traceGL_Native.glLightEnviSGIX);

  traceThis = traceEnabled("glLightEnviSGIX",&traceParam);

  if (!traceGL_Native.glLightEnviSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLightEnviSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawRangeElementsEXT)
    traceGL_lookupNativeAddress("glDrawRangeElementsEXT", (void **) &traceGL_Native.glDrawRangeElementsEXT);

  traceThis = traceEnabled("glDrawRangeElementsEXT",&traceParam);

  if (!traceGL_Native.glDrawRangeElementsEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawRangeElementsEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glApplyTextureEXT)
    traceGL_lookupNativeAddress("glApplyTextureEXT", (void **) &traceGL_Native.glApplyTextureEXT);

  traceThis = traceEnabled("glApplyTextureEXT",&traceParam);

  if (!traceGL_Native.glApplyTextureEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glApplyTextureEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureLightEXT)
    traceGL_lookupNativeAddress("glTextureLightEXT", (void **) &traceGL_Native.glTextureLightEXT);

  traceThis = traceEnabled("glTextureLightEXT",&traceParam);

  if (!traceGL_Native.glTextureLightEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureLightEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureMaterialEXT)
    traceGL_lookupNativeAddress("glTextureMaterialEXT", (void **) &traceGL_Native.glTextureMaterialEXT);

  traceThis = traceEnabled("glTextureMaterialEXT",&traceParam);

  if (!traceGL_Native.glTextureMaterialEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureMaterialEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glAsyncMarkerSGIX)
    traceGL_lookupNativeAddress("glAsyncMarkerSGIX", (void **) &traceGL_Native.glAsyncMarkerSGIX);

  traceThis = traceEnabled("glAsyncMarkerSGIX",&traceParam);

  if (!traceGL_Native.glAsyncMarkerSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glAsyncMarkerSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFinishAsyncSGIX)
    traceGL_lookupNativeAddress("glFinishAsyncSGIX", (void **) &traceGL_Native.glFinishAsyncSGIX);

  traceThis = traceEnabled("glFinishAsyncSGIX",&traceParam);

  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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPollAsyncSGIX)
    traceGL_lookupNativeAddress("glPollAsyncSGIX", (void **) &traceGL_Native.glPollAsyncSGIX);

  traceThis = traceEnabled("glPollAsyncSGIX",&traceParam);

  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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenAsyncMarkersSGIX)
    traceGL_lookupNativeAddress("glGenAsyncMarkersSGIX", (void **) &traceGL_Native.glGenAsyncMarkersSGIX);

  traceThis = traceEnabled("glGenAsyncMarkersSGIX",&traceParam);

  if (!traceGL_Native.glGenAsyncMarkersSGIX)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenAsyncMarkersSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("range", "%d", range);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGenAsyncMarkersSGIX(range);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glDeleteAsyncMarkersSGIX(GLuint marker, GLsizei range)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteAsyncMarkersSGIX)
    traceGL_lookupNativeAddress("glDeleteAsyncMarkersSGIX", (void **) &traceGL_Native.glDeleteAsyncMarkersSGIX);

  traceThis = traceEnabled("glDeleteAsyncMarkersSGIX",&traceParam);

  if (!traceGL_Native.glDeleteAsyncMarkersSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteAsyncMarkersSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsAsyncMarkerSGIX)
    traceGL_lookupNativeAddress("glIsAsyncMarkerSGIX", (void **) &traceGL_Native.glIsAsyncMarkerSGIX);

  traceThis = traceEnabled("glIsAsyncMarkerSGIX",&traceParam);

  if (!traceGL_Native.glIsAsyncMarkerSGIX)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsAsyncMarkerSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("marker", "%u", marker);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsAsyncMarkerSGIX(marker);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glVertexPointervINTEL(GLint size, GLenum type, const GLvoid **pointer)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexPointervINTEL)
    traceGL_lookupNativeAddress("glVertexPointervINTEL", (void **) &traceGL_Native.glVertexPointervINTEL);

  traceThis = traceEnabled("glVertexPointervINTEL",&traceParam);

  if (!traceGL_Native.glVertexPointervINTEL)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexPointervINTEL");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalPointervINTEL)
    traceGL_lookupNativeAddress("glNormalPointervINTEL", (void **) &traceGL_Native.glNormalPointervINTEL);

  traceThis = traceEnabled("glNormalPointervINTEL",&traceParam);

  if (!traceGL_Native.glNormalPointervINTEL)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalPointervINTEL");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorPointervINTEL)
    traceGL_lookupNativeAddress("glColorPointervINTEL", (void **) &traceGL_Native.glColorPointervINTEL);

  traceThis = traceEnabled("glColorPointervINTEL",&traceParam);

  if (!traceGL_Native.glColorPointervINTEL)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorPointervINTEL");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoordPointervINTEL)
    traceGL_lookupNativeAddress("glTexCoordPointervINTEL", (void **) &traceGL_Native.glTexCoordPointervINTEL);

  traceThis = traceEnabled("glTexCoordPointervINTEL",&traceParam);

  if (!traceGL_Native.glTexCoordPointervINTEL)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoordPointervINTEL");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelTransformParameteriEXT)
    traceGL_lookupNativeAddress("glPixelTransformParameteriEXT", (void **) &traceGL_Native.glPixelTransformParameteriEXT);

  traceThis = traceEnabled("glPixelTransformParameteriEXT",&traceParam);

  if (!traceGL_Native.glPixelTransformParameteriEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelTransformParameteriEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelTransformParameterfEXT)
    traceGL_lookupNativeAddress("glPixelTransformParameterfEXT", (void **) &traceGL_Native.glPixelTransformParameterfEXT);

  traceThis = traceEnabled("glPixelTransformParameterfEXT",&traceParam);

  if (!traceGL_Native.glPixelTransformParameterfEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelTransformParameterfEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelTransformParameterivEXT)
    traceGL_lookupNativeAddress("glPixelTransformParameterivEXT", (void **) &traceGL_Native.glPixelTransformParameterivEXT);

  traceThis = traceEnabled("glPixelTransformParameterivEXT",&traceParam);

  if (!traceGL_Native.glPixelTransformParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelTransformParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelTransformParameterfvEXT)
    traceGL_lookupNativeAddress("glPixelTransformParameterfvEXT", (void **) &traceGL_Native.glPixelTransformParameterfvEXT);

  traceThis = traceEnabled("glPixelTransformParameterfvEXT",&traceParam);

  if (!traceGL_Native.glPixelTransformParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelTransformParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3bEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3bEXT", (void **) &traceGL_Native.glSecondaryColor3bEXT);

  traceThis = traceEnabled("glSecondaryColor3bEXT",&traceParam);

  if (!traceGL_Native.glSecondaryColor3bEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3bEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3bvEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3bvEXT", (void **) &traceGL_Native.glSecondaryColor3bvEXT);

  traceThis = traceEnabled("glSecondaryColor3bvEXT",&traceParam);

  if (!traceGL_Native.glSecondaryColor3bvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3bvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3dEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3dEXT", (void **) &traceGL_Native.glSecondaryColor3dEXT);

  traceThis = traceEnabled("glSecondaryColor3dEXT",&traceParam);

  if (!traceGL_Native.glSecondaryColor3dEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3dEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3dvEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3dvEXT", (void **) &traceGL_Native.glSecondaryColor3dvEXT);

  traceThis = traceEnabled("glSecondaryColor3dvEXT",&traceParam);

  if (!traceGL_Native.glSecondaryColor3dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3dvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3fEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3fEXT", (void **) &traceGL_Native.glSecondaryColor3fEXT);

  traceThis = traceEnabled("glSecondaryColor3fEXT",&traceParam);

  if (!traceGL_Native.glSecondaryColor3fEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3fEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3fvEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3fvEXT", (void **) &traceGL_Native.glSecondaryColor3fvEXT);

  traceThis = traceEnabled("glSecondaryColor3fvEXT",&traceParam);

  if (!traceGL_Native.glSecondaryColor3fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3fvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3iEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3iEXT", (void **) &traceGL_Native.glSecondaryColor3iEXT);

  traceThis = traceEnabled("glSecondaryColor3iEXT",&traceParam);

  if (!traceGL_Native.glSecondaryColor3iEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3iEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3ivEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3ivEXT", (void **) &traceGL_Native.glSecondaryColor3ivEXT);

  traceThis = traceEnabled("glSecondaryColor3ivEXT",&traceParam);

  if (!traceGL_Native.glSecondaryColor3ivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3ivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3sEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3sEXT", (void **) &traceGL_Native.glSecondaryColor3sEXT);

  traceThis = traceEnabled("glSecondaryColor3sEXT",&traceParam);

  if (!traceGL_Native.glSecondaryColor3sEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3sEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3svEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3svEXT", (void **) &traceGL_Native.glSecondaryColor3svEXT);

  traceThis = traceEnabled("glSecondaryColor3svEXT",&traceParam);

  if (!traceGL_Native.glSecondaryColor3svEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3svEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3ubEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3ubEXT", (void **) &traceGL_Native.glSecondaryColor3ubEXT);

  traceThis = traceEnabled("glSecondaryColor3ubEXT",&traceParam);

  if (!traceGL_Native.glSecondaryColor3ubEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3ubEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3ubvEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3ubvEXT", (void **) &traceGL_Native.glSecondaryColor3ubvEXT);

  traceThis = traceEnabled("glSecondaryColor3ubvEXT",&traceParam);

  if (!traceGL_Native.glSecondaryColor3ubvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3ubvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3uiEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3uiEXT", (void **) &traceGL_Native.glSecondaryColor3uiEXT);

  traceThis = traceEnabled("glSecondaryColor3uiEXT",&traceParam);

  if (!traceGL_Native.glSecondaryColor3uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3uiEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3uivEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3uivEXT", (void **) &traceGL_Native.glSecondaryColor3uivEXT);

  traceThis = traceEnabled("glSecondaryColor3uivEXT",&traceParam);

  if (!traceGL_Native.glSecondaryColor3uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3uivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3usEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3usEXT", (void **) &traceGL_Native.glSecondaryColor3usEXT);

  traceThis = traceEnabled("glSecondaryColor3usEXT",&traceParam);

  if (!traceGL_Native.glSecondaryColor3usEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3usEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3usvEXT)
    traceGL_lookupNativeAddress("glSecondaryColor3usvEXT", (void **) &traceGL_Native.glSecondaryColor3usvEXT);

  traceThis = traceEnabled("glSecondaryColor3usvEXT",&traceParam);

  if (!traceGL_Native.glSecondaryColor3usvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3usvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColorPointerEXT)
    traceGL_lookupNativeAddress("glSecondaryColorPointerEXT", (void **) &traceGL_Native.glSecondaryColorPointerEXT);

  traceThis = traceEnabled("glSecondaryColorPointerEXT",&traceParam);

  if (!traceGL_Native.glSecondaryColorPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColorPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureNormalEXT)
    traceGL_lookupNativeAddress("glTextureNormalEXT", (void **) &traceGL_Native.glTextureNormalEXT);

  traceThis = traceEnabled("glTextureNormalEXT",&traceParam);

  if (!traceGL_Native.glTextureNormalEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureNormalEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiDrawArraysEXT)
    traceGL_lookupNativeAddress("glMultiDrawArraysEXT", (void **) &traceGL_Native.glMultiDrawArraysEXT);

  traceThis = traceEnabled("glMultiDrawArraysEXT",&traceParam);

  if (!traceGL_Native.glMultiDrawArraysEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiDrawArraysEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiDrawElementsEXT)
    traceGL_lookupNativeAddress("glMultiDrawElementsEXT", (void **) &traceGL_Native.glMultiDrawElementsEXT);

  traceThis = traceEnabled("glMultiDrawElementsEXT",&traceParam);

  if (!traceGL_Native.glMultiDrawElementsEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiDrawElementsEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoordfEXT)
    traceGL_lookupNativeAddress("glFogCoordfEXT", (void **) &traceGL_Native.glFogCoordfEXT);

  traceThis = traceEnabled("glFogCoordfEXT",&traceParam);

  if (!traceGL_Native.glFogCoordfEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoordfEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoordfvEXT)
    traceGL_lookupNativeAddress("glFogCoordfvEXT", (void **) &traceGL_Native.glFogCoordfvEXT);

  traceThis = traceEnabled("glFogCoordfvEXT",&traceParam);

  if (!traceGL_Native.glFogCoordfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoordfvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoorddEXT)
    traceGL_lookupNativeAddress("glFogCoorddEXT", (void **) &traceGL_Native.glFogCoorddEXT);

  traceThis = traceEnabled("glFogCoorddEXT",&traceParam);

  if (!traceGL_Native.glFogCoorddEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoorddEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoorddvEXT)
    traceGL_lookupNativeAddress("glFogCoorddvEXT", (void **) &traceGL_Native.glFogCoorddvEXT);

  traceThis = traceEnabled("glFogCoorddvEXT",&traceParam);

  if (!traceGL_Native.glFogCoorddvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoorddvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoordPointerEXT)
    traceGL_lookupNativeAddress("glFogCoordPointerEXT", (void **) &traceGL_Native.glFogCoordPointerEXT);

  traceThis = traceEnabled("glFogCoordPointerEXT",&traceParam);

  if (!traceGL_Native.glFogCoordPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoordPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTangent3bEXT)
    traceGL_lookupNativeAddress("glTangent3bEXT", (void **) &traceGL_Native.glTangent3bEXT);

  traceThis = traceEnabled("glTangent3bEXT",&traceParam);

  if (!traceGL_Native.glTangent3bEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTangent3bEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTangent3bvEXT)
    traceGL_lookupNativeAddress("glTangent3bvEXT", (void **) &traceGL_Native.glTangent3bvEXT);

  traceThis = traceEnabled("glTangent3bvEXT",&traceParam);

  if (!traceGL_Native.glTangent3bvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTangent3bvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTangent3dEXT)
    traceGL_lookupNativeAddress("glTangent3dEXT", (void **) &traceGL_Native.glTangent3dEXT);

  traceThis = traceEnabled("glTangent3dEXT",&traceParam);

  if (!traceGL_Native.glTangent3dEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTangent3dEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTangent3dvEXT)
    traceGL_lookupNativeAddress("glTangent3dvEXT", (void **) &traceGL_Native.glTangent3dvEXT);

  traceThis = traceEnabled("glTangent3dvEXT",&traceParam);

  if (!traceGL_Native.glTangent3dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTangent3dvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTangent3fEXT)
    traceGL_lookupNativeAddress("glTangent3fEXT", (void **) &traceGL_Native.glTangent3fEXT);

  traceThis = traceEnabled("glTangent3fEXT",&traceParam);

  if (!traceGL_Native.glTangent3fEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTangent3fEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTangent3fvEXT)
    traceGL_lookupNativeAddress("glTangent3fvEXT", (void **) &traceGL_Native.glTangent3fvEXT);

  traceThis = traceEnabled("glTangent3fvEXT",&traceParam);

  if (!traceGL_Native.glTangent3fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTangent3fvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTangent3iEXT)
    traceGL_lookupNativeAddress("glTangent3iEXT", (void **) &traceGL_Native.glTangent3iEXT);

  traceThis = traceEnabled("glTangent3iEXT",&traceParam);

  if (!traceGL_Native.glTangent3iEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTangent3iEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTangent3ivEXT)
    traceGL_lookupNativeAddress("glTangent3ivEXT", (void **) &traceGL_Native.glTangent3ivEXT);

  traceThis = traceEnabled("glTangent3ivEXT",&traceParam);

  if (!traceGL_Native.glTangent3ivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTangent3ivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTangent3sEXT)
    traceGL_lookupNativeAddress("glTangent3sEXT", (void **) &traceGL_Native.glTangent3sEXT);

  traceThis = traceEnabled("glTangent3sEXT",&traceParam);

  if (!traceGL_Native.glTangent3sEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTangent3sEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTangent3svEXT)
    traceGL_lookupNativeAddress("glTangent3svEXT", (void **) &traceGL_Native.glTangent3svEXT);

  traceThis = traceEnabled("glTangent3svEXT",&traceParam);

  if (!traceGL_Native.glTangent3svEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTangent3svEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBinormal3bEXT)
    traceGL_lookupNativeAddress("glBinormal3bEXT", (void **) &traceGL_Native.glBinormal3bEXT);

  traceThis = traceEnabled("glBinormal3bEXT",&traceParam);

  if (!traceGL_Native.glBinormal3bEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBinormal3bEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBinormal3bvEXT)
    traceGL_lookupNativeAddress("glBinormal3bvEXT", (void **) &traceGL_Native.glBinormal3bvEXT);

  traceThis = traceEnabled("glBinormal3bvEXT",&traceParam);

  if (!traceGL_Native.glBinormal3bvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBinormal3bvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBinormal3dEXT)
    traceGL_lookupNativeAddress("glBinormal3dEXT", (void **) &traceGL_Native.glBinormal3dEXT);

  traceThis = traceEnabled("glBinormal3dEXT",&traceParam);

  if (!traceGL_Native.glBinormal3dEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBinormal3dEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBinormal3dvEXT)
    traceGL_lookupNativeAddress("glBinormal3dvEXT", (void **) &traceGL_Native.glBinormal3dvEXT);

  traceThis = traceEnabled("glBinormal3dvEXT",&traceParam);

  if (!traceGL_Native.glBinormal3dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBinormal3dvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBinormal3fEXT)
    traceGL_lookupNativeAddress("glBinormal3fEXT", (void **) &traceGL_Native.glBinormal3fEXT);

  traceThis = traceEnabled("glBinormal3fEXT",&traceParam);

  if (!traceGL_Native.glBinormal3fEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBinormal3fEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBinormal3fvEXT)
    traceGL_lookupNativeAddress("glBinormal3fvEXT", (void **) &traceGL_Native.glBinormal3fvEXT);

  traceThis = traceEnabled("glBinormal3fvEXT",&traceParam);

  if (!traceGL_Native.glBinormal3fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBinormal3fvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBinormal3iEXT)
    traceGL_lookupNativeAddress("glBinormal3iEXT", (void **) &traceGL_Native.glBinormal3iEXT);

  traceThis = traceEnabled("glBinormal3iEXT",&traceParam);

  if (!traceGL_Native.glBinormal3iEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBinormal3iEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBinormal3ivEXT)
    traceGL_lookupNativeAddress("glBinormal3ivEXT", (void **) &traceGL_Native.glBinormal3ivEXT);

  traceThis = traceEnabled("glBinormal3ivEXT",&traceParam);

  if (!traceGL_Native.glBinormal3ivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBinormal3ivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBinormal3sEXT)
    traceGL_lookupNativeAddress("glBinormal3sEXT", (void **) &traceGL_Native.glBinormal3sEXT);

  traceThis = traceEnabled("glBinormal3sEXT",&traceParam);

  if (!traceGL_Native.glBinormal3sEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBinormal3sEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBinormal3svEXT)
    traceGL_lookupNativeAddress("glBinormal3svEXT", (void **) &traceGL_Native.glBinormal3svEXT);

  traceThis = traceEnabled("glBinormal3svEXT",&traceParam);

  if (!traceGL_Native.glBinormal3svEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBinormal3svEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTangentPointerEXT)
    traceGL_lookupNativeAddress("glTangentPointerEXT", (void **) &traceGL_Native.glTangentPointerEXT);

  traceThis = traceEnabled("glTangentPointerEXT",&traceParam);

  if (!traceGL_Native.glTangentPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTangentPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBinormalPointerEXT)
    traceGL_lookupNativeAddress("glBinormalPointerEXT", (void **) &traceGL_Native.glBinormalPointerEXT);

  traceThis = traceEnabled("glBinormalPointerEXT",&traceParam);

  if (!traceGL_Native.glBinormalPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBinormalPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFinishTextureSUNX)
    traceGL_lookupNativeAddress("glFinishTextureSUNX", (void **) &traceGL_Native.glFinishTextureSUNX);

  traceThis = traceEnabled("glFinishTextureSUNX",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGlobalAlphaFactorbSUN)
    traceGL_lookupNativeAddress("glGlobalAlphaFactorbSUN", (void **) &traceGL_Native.glGlobalAlphaFactorbSUN);

  traceThis = traceEnabled("glGlobalAlphaFactorbSUN",&traceParam);

  if (!traceGL_Native.glGlobalAlphaFactorbSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGlobalAlphaFactorbSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGlobalAlphaFactorsSUN)
    traceGL_lookupNativeAddress("glGlobalAlphaFactorsSUN", (void **) &traceGL_Native.glGlobalAlphaFactorsSUN);

  traceThis = traceEnabled("glGlobalAlphaFactorsSUN",&traceParam);

  if (!traceGL_Native.glGlobalAlphaFactorsSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGlobalAlphaFactorsSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGlobalAlphaFactoriSUN)
    traceGL_lookupNativeAddress("glGlobalAlphaFactoriSUN", (void **) &traceGL_Native.glGlobalAlphaFactoriSUN);

  traceThis = traceEnabled("glGlobalAlphaFactoriSUN",&traceParam);

  if (!traceGL_Native.glGlobalAlphaFactoriSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGlobalAlphaFactoriSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGlobalAlphaFactorfSUN)
    traceGL_lookupNativeAddress("glGlobalAlphaFactorfSUN", (void **) &traceGL_Native.glGlobalAlphaFactorfSUN);

  traceThis = traceEnabled("glGlobalAlphaFactorfSUN",&traceParam);

  if (!traceGL_Native.glGlobalAlphaFactorfSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGlobalAlphaFactorfSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGlobalAlphaFactordSUN)
    traceGL_lookupNativeAddress("glGlobalAlphaFactordSUN", (void **) &traceGL_Native.glGlobalAlphaFactordSUN);

  traceThis = traceEnabled("glGlobalAlphaFactordSUN",&traceParam);

  if (!traceGL_Native.glGlobalAlphaFactordSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGlobalAlphaFactordSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGlobalAlphaFactorubSUN)
    traceGL_lookupNativeAddress("glGlobalAlphaFactorubSUN", (void **) &traceGL_Native.glGlobalAlphaFactorubSUN);

  traceThis = traceEnabled("glGlobalAlphaFactorubSUN",&traceParam);

  if (!traceGL_Native.glGlobalAlphaFactorubSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGlobalAlphaFactorubSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGlobalAlphaFactorusSUN)
    traceGL_lookupNativeAddress("glGlobalAlphaFactorusSUN", (void **) &traceGL_Native.glGlobalAlphaFactorusSUN);

  traceThis = traceEnabled("glGlobalAlphaFactorusSUN",&traceParam);

  if (!traceGL_Native.glGlobalAlphaFactorusSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGlobalAlphaFactorusSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGlobalAlphaFactoruiSUN)
    traceGL_lookupNativeAddress("glGlobalAlphaFactoruiSUN", (void **) &traceGL_Native.glGlobalAlphaFactoruiSUN);

  traceThis = traceEnabled("glGlobalAlphaFactoruiSUN",&traceParam);

  if (!traceGL_Native.glGlobalAlphaFactoruiSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGlobalAlphaFactoruiSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiSUN", (void **) &traceGL_Native.glReplacementCodeuiSUN);

  traceThis = traceEnabled("glReplacementCodeuiSUN",&traceParam);

  if (!traceGL_Native.glReplacementCodeuiSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeusSUN)
    traceGL_lookupNativeAddress("glReplacementCodeusSUN", (void **) &traceGL_Native.glReplacementCodeusSUN);

  traceThis = traceEnabled("glReplacementCodeusSUN",&traceParam);

  if (!traceGL_Native.glReplacementCodeusSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeusSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeubSUN)
    traceGL_lookupNativeAddress("glReplacementCodeubSUN", (void **) &traceGL_Native.glReplacementCodeubSUN);

  traceThis = traceEnabled("glReplacementCodeubSUN",&traceParam);

  if (!traceGL_Native.glReplacementCodeubSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeubSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuivSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuivSUN", (void **) &traceGL_Native.glReplacementCodeuivSUN);

  traceThis = traceEnabled("glReplacementCodeuivSUN",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeusvSUN)
    traceGL_lookupNativeAddress("glReplacementCodeusvSUN", (void **) &traceGL_Native.glReplacementCodeusvSUN);

  traceThis = traceEnabled("glReplacementCodeusvSUN",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeubvSUN)
    traceGL_lookupNativeAddress("glReplacementCodeubvSUN", (void **) &traceGL_Native.glReplacementCodeubvSUN);

  traceThis = traceEnabled("glReplacementCodeubvSUN",&traceParam);

  if (!traceGL_Native.glReplacementCodeubvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeubvSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodePointerSUN)
    traceGL_lookupNativeAddress("glReplacementCodePointerSUN", (void **) &traceGL_Native.glReplacementCodePointerSUN);

  traceThis = traceEnabled("glReplacementCodePointerSUN",&traceParam);

  if (!traceGL_Native.glReplacementCodePointerSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodePointerSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4ubVertex2fSUN)
    traceGL_lookupNativeAddress("glColor4ubVertex2fSUN", (void **) &traceGL_Native.glColor4ubVertex2fSUN);

  traceThis = traceEnabled("glColor4ubVertex2fSUN",&traceParam);

  if (!traceGL_Native.glColor4ubVertex2fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4ubVertex2fSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4ubVertex2fvSUN)
    traceGL_lookupNativeAddress("glColor4ubVertex2fvSUN", (void **) &traceGL_Native.glColor4ubVertex2fvSUN);

  traceThis = traceEnabled("glColor4ubVertex2fvSUN",&traceParam);

  if (!traceGL_Native.glColor4ubVertex2fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4ubVertex2fvSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4ubVertex3fSUN)
    traceGL_lookupNativeAddress("glColor4ubVertex3fSUN", (void **) &traceGL_Native.glColor4ubVertex3fSUN);

  traceThis = traceEnabled("glColor4ubVertex3fSUN",&traceParam);

  if (!traceGL_Native.glColor4ubVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4ubVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4ubVertex3fvSUN)
    traceGL_lookupNativeAddress("glColor4ubVertex3fvSUN", (void **) &traceGL_Native.glColor4ubVertex3fvSUN);

  traceThis = traceEnabled("glColor4ubVertex3fvSUN",&traceParam);

  if (!traceGL_Native.glColor4ubVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4ubVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor3fVertex3fSUN)
    traceGL_lookupNativeAddress("glColor3fVertex3fSUN", (void **) &traceGL_Native.glColor3fVertex3fSUN);

  traceThis = traceEnabled("glColor3fVertex3fSUN",&traceParam);

  if (!traceGL_Native.glColor3fVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor3fVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor3fVertex3fvSUN)
    traceGL_lookupNativeAddress("glColor3fVertex3fvSUN", (void **) &traceGL_Native.glColor3fVertex3fvSUN);

  traceThis = traceEnabled("glColor3fVertex3fvSUN",&traceParam);

  if (!traceGL_Native.glColor3fVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor3fVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormal3fVertex3fSUN)
    traceGL_lookupNativeAddress("glNormal3fVertex3fSUN", (void **) &traceGL_Native.glNormal3fVertex3fSUN);

  traceThis = traceEnabled("glNormal3fVertex3fSUN",&traceParam);

  if (!traceGL_Native.glNormal3fVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormal3fVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormal3fVertex3fvSUN)
    traceGL_lookupNativeAddress("glNormal3fVertex3fvSUN", (void **) &traceGL_Native.glNormal3fVertex3fvSUN);

  traceThis = traceEnabled("glNormal3fVertex3fvSUN",&traceParam);

  if (!traceGL_Native.glNormal3fVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormal3fVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4fNormal3fVertex3fSUN)
    traceGL_lookupNativeAddress("glColor4fNormal3fVertex3fSUN", (void **) &traceGL_Native.glColor4fNormal3fVertex3fSUN);

  traceThis = traceEnabled("glColor4fNormal3fVertex3fSUN",&traceParam);

  if (!traceGL_Native.glColor4fNormal3fVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4fNormal3fVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4fNormal3fVertex3fvSUN)
    traceGL_lookupNativeAddress("glColor4fNormal3fVertex3fvSUN", (void **) &traceGL_Native.glColor4fNormal3fVertex3fvSUN);

  traceThis = traceEnabled("glColor4fNormal3fVertex3fvSUN",&traceParam);

  if (!traceGL_Native.glColor4fNormal3fVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4fNormal3fVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2fVertex3fSUN)
    traceGL_lookupNativeAddress("glTexCoord2fVertex3fSUN", (void **) &traceGL_Native.glTexCoord2fVertex3fSUN);

  traceThis = traceEnabled("glTexCoord2fVertex3fSUN",&traceParam);

  if (!traceGL_Native.glTexCoord2fVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2fVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2fVertex3fvSUN)
    traceGL_lookupNativeAddress("glTexCoord2fVertex3fvSUN", (void **) &traceGL_Native.glTexCoord2fVertex3fvSUN);

  traceThis = traceEnabled("glTexCoord2fVertex3fvSUN",&traceParam);

  if (!traceGL_Native.glTexCoord2fVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2fVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord4fVertex4fSUN)
    traceGL_lookupNativeAddress("glTexCoord4fVertex4fSUN", (void **) &traceGL_Native.glTexCoord4fVertex4fSUN);

  traceThis = traceEnabled("glTexCoord4fVertex4fSUN",&traceParam);

  if (!traceGL_Native.glTexCoord4fVertex4fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord4fVertex4fSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord4fVertex4fvSUN)
    traceGL_lookupNativeAddress("glTexCoord4fVertex4fvSUN", (void **) &traceGL_Native.glTexCoord4fVertex4fvSUN);

  traceThis = traceEnabled("glTexCoord4fVertex4fvSUN",&traceParam);

  if (!traceGL_Native.glTexCoord4fVertex4fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord4fVertex4fvSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2fColor4ubVertex3fSUN)
    traceGL_lookupNativeAddress("glTexCoord2fColor4ubVertex3fSUN", (void **) &traceGL_Native.glTexCoord2fColor4ubVertex3fSUN);

  traceThis = traceEnabled("glTexCoord2fColor4ubVertex3fSUN",&traceParam);

  if (!traceGL_Native.glTexCoord2fColor4ubVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2fColor4ubVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2fColor4ubVertex3fvSUN)
    traceGL_lookupNativeAddress("glTexCoord2fColor4ubVertex3fvSUN", (void **) &traceGL_Native.glTexCoord2fColor4ubVertex3fvSUN);

  traceThis = traceEnabled("glTexCoord2fColor4ubVertex3fvSUN",&traceParam);

  if (!traceGL_Native.glTexCoord2fColor4ubVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2fColor4ubVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2fColor3fVertex3fSUN)
    traceGL_lookupNativeAddress("glTexCoord2fColor3fVertex3fSUN", (void **) &traceGL_Native.glTexCoord2fColor3fVertex3fSUN);

  traceThis = traceEnabled("glTexCoord2fColor3fVertex3fSUN",&traceParam);

  if (!traceGL_Native.glTexCoord2fColor3fVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2fColor3fVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2fColor3fVertex3fvSUN)
    traceGL_lookupNativeAddress("glTexCoord2fColor3fVertex3fvSUN", (void **) &traceGL_Native.glTexCoord2fColor3fVertex3fvSUN);

  traceThis = traceEnabled("glTexCoord2fColor3fVertex3fvSUN",&traceParam);

  if (!traceGL_Native.glTexCoord2fColor3fVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2fColor3fVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2fNormal3fVertex3fSUN)
    traceGL_lookupNativeAddress("glTexCoord2fNormal3fVertex3fSUN", (void **) &traceGL_Native.glTexCoord2fNormal3fVertex3fSUN);

  traceThis = traceEnabled("glTexCoord2fNormal3fVertex3fSUN",&traceParam);

  if (!traceGL_Native.glTexCoord2fNormal3fVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2fNormal3fVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2fNormal3fVertex3fvSUN)
    traceGL_lookupNativeAddress("glTexCoord2fNormal3fVertex3fvSUN", (void **) &traceGL_Native.glTexCoord2fNormal3fVertex3fvSUN);

  traceThis = traceEnabled("glTexCoord2fNormal3fVertex3fvSUN",&traceParam);

  if (!traceGL_Native.glTexCoord2fNormal3fVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2fNormal3fVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2fColor4fNormal3fVertex3fSUN)
    traceGL_lookupNativeAddress("glTexCoord2fColor4fNormal3fVertex3fSUN", (void **) &traceGL_Native.glTexCoord2fColor4fNormal3fVertex3fSUN);

  traceThis = traceEnabled("glTexCoord2fColor4fNormal3fVertex3fSUN",&traceParam);

  if (!traceGL_Native.glTexCoord2fColor4fNormal3fVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2fColor4fNormal3fVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2fColor4fNormal3fVertex3fvSUN)
    traceGL_lookupNativeAddress("glTexCoord2fColor4fNormal3fVertex3fvSUN", (void **) &traceGL_Native.glTexCoord2fColor4fNormal3fVertex3fvSUN);

  traceThis = traceEnabled("glTexCoord2fColor4fNormal3fVertex3fvSUN",&traceParam);

  if (!traceGL_Native.glTexCoord2fColor4fNormal3fVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2fColor4fNormal3fVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord4fColor4fNormal3fVertex4fSUN)
    traceGL_lookupNativeAddress("glTexCoord4fColor4fNormal3fVertex4fSUN", (void **) &traceGL_Native.glTexCoord4fColor4fNormal3fVertex4fSUN);

  traceThis = traceEnabled("glTexCoord4fColor4fNormal3fVertex4fSUN",&traceParam);

  if (!traceGL_Native.glTexCoord4fColor4fNormal3fVertex4fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord4fColor4fNormal3fVertex4fSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord4fColor4fNormal3fVertex4fvSUN)
    traceGL_lookupNativeAddress("glTexCoord4fColor4fNormal3fVertex4fvSUN", (void **) &traceGL_Native.glTexCoord4fColor4fNormal3fVertex4fvSUN);

  traceThis = traceEnabled("glTexCoord4fColor4fNormal3fVertex4fvSUN",&traceParam);

  if (!traceGL_Native.glTexCoord4fColor4fNormal3fVertex4fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord4fColor4fNormal3fVertex4fvSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiVertex3fSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiVertex3fSUN", (void **) &traceGL_Native.glReplacementCodeuiVertex3fSUN);

  traceThis = traceEnabled("glReplacementCodeuiVertex3fSUN",&traceParam);

  if (!traceGL_Native.glReplacementCodeuiVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiVertex3fvSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiVertex3fvSUN", (void **) &traceGL_Native.glReplacementCodeuiVertex3fvSUN);

  traceThis = traceEnabled("glReplacementCodeuiVertex3fvSUN",&traceParam);

  if (!traceGL_Native.glReplacementCodeuiVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiColor4ubVertex3fSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiColor4ubVertex3fSUN", (void **) &traceGL_Native.glReplacementCodeuiColor4ubVertex3fSUN);

  traceThis = traceEnabled("glReplacementCodeuiColor4ubVertex3fSUN",&traceParam);

  if (!traceGL_Native.glReplacementCodeuiColor4ubVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiColor4ubVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiColor4ubVertex3fvSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiColor4ubVertex3fvSUN", (void **) &traceGL_Native.glReplacementCodeuiColor4ubVertex3fvSUN);

  traceThis = traceEnabled("glReplacementCodeuiColor4ubVertex3fvSUN",&traceParam);

  if (!traceGL_Native.glReplacementCodeuiColor4ubVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiColor4ubVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiColor3fVertex3fSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiColor3fVertex3fSUN", (void **) &traceGL_Native.glReplacementCodeuiColor3fVertex3fSUN);

  traceThis = traceEnabled("glReplacementCodeuiColor3fVertex3fSUN",&traceParam);

  if (!traceGL_Native.glReplacementCodeuiColor3fVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiColor3fVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiColor3fVertex3fvSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiColor3fVertex3fvSUN", (void **) &traceGL_Native.glReplacementCodeuiColor3fVertex3fvSUN);

  traceThis = traceEnabled("glReplacementCodeuiColor3fVertex3fvSUN",&traceParam);

  if (!traceGL_Native.glReplacementCodeuiColor3fVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiColor3fVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiNormal3fVertex3fSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiNormal3fVertex3fSUN", (void **) &traceGL_Native.glReplacementCodeuiNormal3fVertex3fSUN);

  traceThis = traceEnabled("glReplacementCodeuiNormal3fVertex3fSUN",&traceParam);

  if (!traceGL_Native.glReplacementCodeuiNormal3fVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiNormal3fVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiNormal3fVertex3fvSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiNormal3fVertex3fvSUN", (void **) &traceGL_Native.glReplacementCodeuiNormal3fVertex3fvSUN);

  traceThis = traceEnabled("glReplacementCodeuiNormal3fVertex3fvSUN",&traceParam);

  if (!traceGL_Native.glReplacementCodeuiNormal3fVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiNormal3fVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiColor4fNormal3fVertex3fSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiColor4fNormal3fVertex3fSUN", (void **) &traceGL_Native.glReplacementCodeuiColor4fNormal3fVertex3fSUN);

  traceThis = traceEnabled("glReplacementCodeuiColor4fNormal3fVertex3fSUN",&traceParam);

  if (!traceGL_Native.glReplacementCodeuiColor4fNormal3fVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiColor4fNormal3fVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiColor4fNormal3fVertex3fvSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiColor4fNormal3fVertex3fvSUN", (void **) &traceGL_Native.glReplacementCodeuiColor4fNormal3fVertex3fvSUN);

  traceThis = traceEnabled("glReplacementCodeuiColor4fNormal3fVertex3fvSUN",&traceParam);

  if (!traceGL_Native.glReplacementCodeuiColor4fNormal3fVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiColor4fNormal3fVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiTexCoord2fVertex3fSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiTexCoord2fVertex3fSUN", (void **) &traceGL_Native.glReplacementCodeuiTexCoord2fVertex3fSUN);

  traceThis = traceEnabled("glReplacementCodeuiTexCoord2fVertex3fSUN",&traceParam);

  if (!traceGL_Native.glReplacementCodeuiTexCoord2fVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiTexCoord2fVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiTexCoord2fVertex3fvSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiTexCoord2fVertex3fvSUN", (void **) &traceGL_Native.glReplacementCodeuiTexCoord2fVertex3fvSUN);

  traceThis = traceEnabled("glReplacementCodeuiTexCoord2fVertex3fvSUN",&traceParam);

  if (!traceGL_Native.glReplacementCodeuiTexCoord2fVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiTexCoord2fVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN", (void **) &traceGL_Native.glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN);

  traceThis = traceEnabled("glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN",&traceParam);

  if (!traceGL_Native.glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN", (void **) &traceGL_Native.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN);

  traceThis = traceEnabled("glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN",&traceParam);

  if (!traceGL_Native.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN", (void **) &traceGL_Native.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN);

  traceThis = traceEnabled("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN",&traceParam);

  if (!traceGL_Native.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN)
    traceGL_lookupNativeAddress("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN", (void **) &traceGL_Native.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN);

  traceThis = traceEnabled("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN",&traceParam);

  if (!traceGL_Native.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendFuncSeparateEXT)
    traceGL_lookupNativeAddress("glBlendFuncSeparateEXT", (void **) &traceGL_Native.glBlendFuncSeparateEXT);

  traceThis = traceEnabled("glBlendFuncSeparateEXT",&traceParam);

  if (!traceGL_Native.glBlendFuncSeparateEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendFuncSeparateEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendFuncSeparateINGR)
    traceGL_lookupNativeAddress("glBlendFuncSeparateINGR", (void **) &traceGL_Native.glBlendFuncSeparateINGR);

  traceThis = traceEnabled("glBlendFuncSeparateINGR",&traceParam);

  if (!traceGL_Native.glBlendFuncSeparateINGR)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendFuncSeparateINGR");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexWeightfEXT)
    traceGL_lookupNativeAddress("glVertexWeightfEXT", (void **) &traceGL_Native.glVertexWeightfEXT);

  traceThis = traceEnabled("glVertexWeightfEXT",&traceParam);

  if (!traceGL_Native.glVertexWeightfEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexWeightfEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexWeightfvEXT)
    traceGL_lookupNativeAddress("glVertexWeightfvEXT", (void **) &traceGL_Native.glVertexWeightfvEXT);

  traceThis = traceEnabled("glVertexWeightfvEXT",&traceParam);

  if (!traceGL_Native.glVertexWeightfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexWeightfvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexWeightPointerEXT)
    traceGL_lookupNativeAddress("glVertexWeightPointerEXT", (void **) &traceGL_Native.glVertexWeightPointerEXT);

  traceThis = traceEnabled("glVertexWeightPointerEXT",&traceParam);

  if (!traceGL_Native.glVertexWeightPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexWeightPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFlushVertexArrayRangeNV)
    traceGL_lookupNativeAddress("glFlushVertexArrayRangeNV", (void **) &traceGL_Native.glFlushVertexArrayRangeNV);

  traceThis = traceEnabled("glFlushVertexArrayRangeNV",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexArrayRangeNV)
    traceGL_lookupNativeAddress("glVertexArrayRangeNV", (void **) &traceGL_Native.glVertexArrayRangeNV);

  traceThis = traceEnabled("glVertexArrayRangeNV",&traceParam);

  if (!traceGL_Native.glVertexArrayRangeNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexArrayRangeNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCombinerParameterfvNV)
    traceGL_lookupNativeAddress("glCombinerParameterfvNV", (void **) &traceGL_Native.glCombinerParameterfvNV);

  traceThis = traceEnabled("glCombinerParameterfvNV",&traceParam);

  if (!traceGL_Native.glCombinerParameterfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCombinerParameterfvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCombinerParameterfNV)
    traceGL_lookupNativeAddress("glCombinerParameterfNV", (void **) &traceGL_Native.glCombinerParameterfNV);

  traceThis = traceEnabled("glCombinerParameterfNV",&traceParam);

  if (!traceGL_Native.glCombinerParameterfNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCombinerParameterfNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCombinerParameterivNV)
    traceGL_lookupNativeAddress("glCombinerParameterivNV", (void **) &traceGL_Native.glCombinerParameterivNV);

  traceThis = traceEnabled("glCombinerParameterivNV",&traceParam);

  if (!traceGL_Native.glCombinerParameterivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCombinerParameterivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCombinerParameteriNV)
    traceGL_lookupNativeAddress("glCombinerParameteriNV", (void **) &traceGL_Native.glCombinerParameteriNV);

  traceThis = traceEnabled("glCombinerParameteriNV",&traceParam);

  if (!traceGL_Native.glCombinerParameteriNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCombinerParameteriNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCombinerInputNV)
    traceGL_lookupNativeAddress("glCombinerInputNV", (void **) &traceGL_Native.glCombinerInputNV);

  traceThis = traceEnabled("glCombinerInputNV",&traceParam);

  if (!traceGL_Native.glCombinerInputNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCombinerInputNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCombinerOutputNV)
    traceGL_lookupNativeAddress("glCombinerOutputNV", (void **) &traceGL_Native.glCombinerOutputNV);

  traceThis = traceEnabled("glCombinerOutputNV",&traceParam);

  if (!traceGL_Native.glCombinerOutputNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCombinerOutputNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFinalCombinerInputNV)
    traceGL_lookupNativeAddress("glFinalCombinerInputNV", (void **) &traceGL_Native.glFinalCombinerInputNV);

  traceThis = traceEnabled("glFinalCombinerInputNV",&traceParam);

  if (!traceGL_Native.glFinalCombinerInputNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFinalCombinerInputNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetCombinerInputParameterfvNV)
    traceGL_lookupNativeAddress("glGetCombinerInputParameterfvNV", (void **) &traceGL_Native.glGetCombinerInputParameterfvNV);

  traceThis = traceEnabled("glGetCombinerInputParameterfvNV",&traceParam);

  if (!traceGL_Native.glGetCombinerInputParameterfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetCombinerInputParameterfvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetCombinerInputParameterivNV)
    traceGL_lookupNativeAddress("glGetCombinerInputParameterivNV", (void **) &traceGL_Native.glGetCombinerInputParameterivNV);

  traceThis = traceEnabled("glGetCombinerInputParameterivNV",&traceParam);

  if (!traceGL_Native.glGetCombinerInputParameterivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetCombinerInputParameterivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetCombinerOutputParameterfvNV)
    traceGL_lookupNativeAddress("glGetCombinerOutputParameterfvNV", (void **) &traceGL_Native.glGetCombinerOutputParameterfvNV);

  traceThis = traceEnabled("glGetCombinerOutputParameterfvNV",&traceParam);

  if (!traceGL_Native.glGetCombinerOutputParameterfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetCombinerOutputParameterfvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetCombinerOutputParameterivNV)
    traceGL_lookupNativeAddress("glGetCombinerOutputParameterivNV", (void **) &traceGL_Native.glGetCombinerOutputParameterivNV);

  traceThis = traceEnabled("glGetCombinerOutputParameterivNV",&traceParam);

  if (!traceGL_Native.glGetCombinerOutputParameterivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetCombinerOutputParameterivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFinalCombinerInputParameterfvNV)
    traceGL_lookupNativeAddress("glGetFinalCombinerInputParameterfvNV", (void **) &traceGL_Native.glGetFinalCombinerInputParameterfvNV);

  traceThis = traceEnabled("glGetFinalCombinerInputParameterfvNV",&traceParam);

  if (!traceGL_Native.glGetFinalCombinerInputParameterfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFinalCombinerInputParameterfvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFinalCombinerInputParameterivNV)
    traceGL_lookupNativeAddress("glGetFinalCombinerInputParameterivNV", (void **) &traceGL_Native.glGetFinalCombinerInputParameterivNV);

  traceThis = traceEnabled("glGetFinalCombinerInputParameterivNV",&traceParam);

  if (!traceGL_Native.glGetFinalCombinerInputParameterivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFinalCombinerInputParameterivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glResizeBuffersMESA)
    traceGL_lookupNativeAddress("glResizeBuffersMESA", (void **) &traceGL_Native.glResizeBuffersMESA);

  traceThis = traceEnabled("glResizeBuffersMESA",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2dMESA)
    traceGL_lookupNativeAddress("glWindowPos2dMESA", (void **) &traceGL_Native.glWindowPos2dMESA);

  traceThis = traceEnabled("glWindowPos2dMESA",&traceParam);

  if (!traceGL_Native.glWindowPos2dMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2dMESA");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2dvMESA)
    traceGL_lookupNativeAddress("glWindowPos2dvMESA", (void **) &traceGL_Native.glWindowPos2dvMESA);

  traceThis = traceEnabled("glWindowPos2dvMESA",&traceParam);

  if (!traceGL_Native.glWindowPos2dvMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2dvMESA");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2fMESA)
    traceGL_lookupNativeAddress("glWindowPos2fMESA", (void **) &traceGL_Native.glWindowPos2fMESA);

  traceThis = traceEnabled("glWindowPos2fMESA",&traceParam);

  if (!traceGL_Native.glWindowPos2fMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2fMESA");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2fvMESA)
    traceGL_lookupNativeAddress("glWindowPos2fvMESA", (void **) &traceGL_Native.glWindowPos2fvMESA);

  traceThis = traceEnabled("glWindowPos2fvMESA",&traceParam);

  if (!traceGL_Native.glWindowPos2fvMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2fvMESA");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2iMESA)
    traceGL_lookupNativeAddress("glWindowPos2iMESA", (void **) &traceGL_Native.glWindowPos2iMESA);

  traceThis = traceEnabled("glWindowPos2iMESA",&traceParam);

  if (!traceGL_Native.glWindowPos2iMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2iMESA");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2ivMESA)
    traceGL_lookupNativeAddress("glWindowPos2ivMESA", (void **) &traceGL_Native.glWindowPos2ivMESA);

  traceThis = traceEnabled("glWindowPos2ivMESA",&traceParam);

  if (!traceGL_Native.glWindowPos2ivMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2ivMESA");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2sMESA)
    traceGL_lookupNativeAddress("glWindowPos2sMESA", (void **) &traceGL_Native.glWindowPos2sMESA);

  traceThis = traceEnabled("glWindowPos2sMESA",&traceParam);

  if (!traceGL_Native.glWindowPos2sMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2sMESA");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos2svMESA)
    traceGL_lookupNativeAddress("glWindowPos2svMESA", (void **) &traceGL_Native.glWindowPos2svMESA);

  traceThis = traceEnabled("glWindowPos2svMESA",&traceParam);

  if (!traceGL_Native.glWindowPos2svMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos2svMESA");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3dMESA)
    traceGL_lookupNativeAddress("glWindowPos3dMESA", (void **) &traceGL_Native.glWindowPos3dMESA);

  traceThis = traceEnabled("glWindowPos3dMESA",&traceParam);

  if (!traceGL_Native.glWindowPos3dMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3dMESA");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3dvMESA)
    traceGL_lookupNativeAddress("glWindowPos3dvMESA", (void **) &traceGL_Native.glWindowPos3dvMESA);

  traceThis = traceEnabled("glWindowPos3dvMESA",&traceParam);

  if (!traceGL_Native.glWindowPos3dvMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3dvMESA");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3fMESA)
    traceGL_lookupNativeAddress("glWindowPos3fMESA", (void **) &traceGL_Native.glWindowPos3fMESA);

  traceThis = traceEnabled("glWindowPos3fMESA",&traceParam);

  if (!traceGL_Native.glWindowPos3fMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3fMESA");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3fvMESA)
    traceGL_lookupNativeAddress("glWindowPos3fvMESA", (void **) &traceGL_Native.glWindowPos3fvMESA);

  traceThis = traceEnabled("glWindowPos3fvMESA",&traceParam);

  if (!traceGL_Native.glWindowPos3fvMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3fvMESA");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3iMESA)
    traceGL_lookupNativeAddress("glWindowPos3iMESA", (void **) &traceGL_Native.glWindowPos3iMESA);

  traceThis = traceEnabled("glWindowPos3iMESA",&traceParam);

  if (!traceGL_Native.glWindowPos3iMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3iMESA");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3ivMESA)
    traceGL_lookupNativeAddress("glWindowPos3ivMESA", (void **) &traceGL_Native.glWindowPos3ivMESA);

  traceThis = traceEnabled("glWindowPos3ivMESA",&traceParam);

  if (!traceGL_Native.glWindowPos3ivMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3ivMESA");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3sMESA)
    traceGL_lookupNativeAddress("glWindowPos3sMESA", (void **) &traceGL_Native.glWindowPos3sMESA);

  traceThis = traceEnabled("glWindowPos3sMESA",&traceParam);

  if (!traceGL_Native.glWindowPos3sMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3sMESA");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos3svMESA)
    traceGL_lookupNativeAddress("glWindowPos3svMESA", (void **) &traceGL_Native.glWindowPos3svMESA);

  traceThis = traceEnabled("glWindowPos3svMESA",&traceParam);

  if (!traceGL_Native.glWindowPos3svMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos3svMESA");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos4dMESA)
    traceGL_lookupNativeAddress("glWindowPos4dMESA", (void **) &traceGL_Native.glWindowPos4dMESA);

  traceThis = traceEnabled("glWindowPos4dMESA",&traceParam);

  if (!traceGL_Native.glWindowPos4dMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos4dMESA");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos4dvMESA)
    traceGL_lookupNativeAddress("glWindowPos4dvMESA", (void **) &traceGL_Native.glWindowPos4dvMESA);

  traceThis = traceEnabled("glWindowPos4dvMESA",&traceParam);

  if (!traceGL_Native.glWindowPos4dvMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos4dvMESA");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos4fMESA)
    traceGL_lookupNativeAddress("glWindowPos4fMESA", (void **) &traceGL_Native.glWindowPos4fMESA);

  traceThis = traceEnabled("glWindowPos4fMESA",&traceParam);

  if (!traceGL_Native.glWindowPos4fMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos4fMESA");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos4fvMESA)
    traceGL_lookupNativeAddress("glWindowPos4fvMESA", (void **) &traceGL_Native.glWindowPos4fvMESA);

  traceThis = traceEnabled("glWindowPos4fvMESA",&traceParam);

  if (!traceGL_Native.glWindowPos4fvMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos4fvMESA");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos4iMESA)
    traceGL_lookupNativeAddress("glWindowPos4iMESA", (void **) &traceGL_Native.glWindowPos4iMESA);

  traceThis = traceEnabled("glWindowPos4iMESA",&traceParam);

  if (!traceGL_Native.glWindowPos4iMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos4iMESA");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos4ivMESA)
    traceGL_lookupNativeAddress("glWindowPos4ivMESA", (void **) &traceGL_Native.glWindowPos4ivMESA);

  traceThis = traceEnabled("glWindowPos4ivMESA",&traceParam);

  if (!traceGL_Native.glWindowPos4ivMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos4ivMESA");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos4sMESA)
    traceGL_lookupNativeAddress("glWindowPos4sMESA", (void **) &traceGL_Native.glWindowPos4sMESA);

  traceThis = traceEnabled("glWindowPos4sMESA",&traceParam);

  if (!traceGL_Native.glWindowPos4sMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos4sMESA");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWindowPos4svMESA)
    traceGL_lookupNativeAddress("glWindowPos4svMESA", (void **) &traceGL_Native.glWindowPos4svMESA);

  traceThis = traceEnabled("glWindowPos4svMESA",&traceParam);

  if (!traceGL_Native.glWindowPos4svMESA)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWindowPos4svMESA");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiModeDrawArraysIBM)
    traceGL_lookupNativeAddress("glMultiModeDrawArraysIBM", (void **) &traceGL_Native.glMultiModeDrawArraysIBM);

  traceThis = traceEnabled("glMultiModeDrawArraysIBM",&traceParam);

  if (!traceGL_Native.glMultiModeDrawArraysIBM)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiModeDrawArraysIBM");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiModeDrawElementsIBM)
    traceGL_lookupNativeAddress("glMultiModeDrawElementsIBM", (void **) &traceGL_Native.glMultiModeDrawElementsIBM);

  traceThis = traceEnabled("glMultiModeDrawElementsIBM",&traceParam);

  if (!traceGL_Native.glMultiModeDrawElementsIBM)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiModeDrawElementsIBM");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorPointerListIBM)
    traceGL_lookupNativeAddress("glColorPointerListIBM", (void **) &traceGL_Native.glColorPointerListIBM);

  traceThis = traceEnabled("glColorPointerListIBM",&traceParam);

  if (!traceGL_Native.glColorPointerListIBM)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorPointerListIBM");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColorPointerListIBM)
    traceGL_lookupNativeAddress("glSecondaryColorPointerListIBM", (void **) &traceGL_Native.glSecondaryColorPointerListIBM);

  traceThis = traceEnabled("glSecondaryColorPointerListIBM",&traceParam);

  if (!traceGL_Native.glSecondaryColorPointerListIBM)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColorPointerListIBM");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEdgeFlagPointerListIBM)
    traceGL_lookupNativeAddress("glEdgeFlagPointerListIBM", (void **) &traceGL_Native.glEdgeFlagPointerListIBM);

  traceThis = traceEnabled("glEdgeFlagPointerListIBM",&traceParam);

  if (!traceGL_Native.glEdgeFlagPointerListIBM)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEdgeFlagPointerListIBM");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoordPointerListIBM)
    traceGL_lookupNativeAddress("glFogCoordPointerListIBM", (void **) &traceGL_Native.glFogCoordPointerListIBM);

  traceThis = traceEnabled("glFogCoordPointerListIBM",&traceParam);

  if (!traceGL_Native.glFogCoordPointerListIBM)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoordPointerListIBM");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIndexPointerListIBM)
    traceGL_lookupNativeAddress("glIndexPointerListIBM", (void **) &traceGL_Native.glIndexPointerListIBM);

  traceThis = traceEnabled("glIndexPointerListIBM",&traceParam);

  if (!traceGL_Native.glIndexPointerListIBM)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIndexPointerListIBM");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalPointerListIBM)
    traceGL_lookupNativeAddress("glNormalPointerListIBM", (void **) &traceGL_Native.glNormalPointerListIBM);

  traceThis = traceEnabled("glNormalPointerListIBM",&traceParam);

  if (!traceGL_Native.glNormalPointerListIBM)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalPointerListIBM");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoordPointerListIBM)
    traceGL_lookupNativeAddress("glTexCoordPointerListIBM", (void **) &traceGL_Native.glTexCoordPointerListIBM);

  traceThis = traceEnabled("glTexCoordPointerListIBM",&traceParam);

  if (!traceGL_Native.glTexCoordPointerListIBM)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoordPointerListIBM");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexPointerListIBM)
    traceGL_lookupNativeAddress("glVertexPointerListIBM", (void **) &traceGL_Native.glVertexPointerListIBM);

  traceThis = traceEnabled("glVertexPointerListIBM",&traceParam);

  if (!traceGL_Native.glVertexPointerListIBM)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexPointerListIBM");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTbufferMask3DFX)
    traceGL_lookupNativeAddress("glTbufferMask3DFX", (void **) &traceGL_Native.glTbufferMask3DFX);

  traceThis = traceEnabled("glTbufferMask3DFX",&traceParam);

  if (!traceGL_Native.glTbufferMask3DFX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTbufferMask3DFX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSampleMaskEXT)
    traceGL_lookupNativeAddress("glSampleMaskEXT", (void **) &traceGL_Native.glSampleMaskEXT);

  traceThis = traceEnabled("glSampleMaskEXT",&traceParam);

  if (!traceGL_Native.glSampleMaskEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSampleMaskEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSamplePatternEXT)
    traceGL_lookupNativeAddress("glSamplePatternEXT", (void **) &traceGL_Native.glSamplePatternEXT);

  traceThis = traceEnabled("glSamplePatternEXT",&traceParam);

  if (!traceGL_Native.glSamplePatternEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSamplePatternEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureColorMaskSGIS)
    traceGL_lookupNativeAddress("glTextureColorMaskSGIS", (void **) &traceGL_Native.glTextureColorMaskSGIS);

  traceThis = traceEnabled("glTextureColorMaskSGIS",&traceParam);

  if (!traceGL_Native.glTextureColorMaskSGIS)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureColorMaskSGIS");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIglooInterfaceSGIX)
    traceGL_lookupNativeAddress("glIglooInterfaceSGIX", (void **) &traceGL_Native.glIglooInterfaceSGIX);

  traceThis = traceEnabled("glIglooInterfaceSGIX",&traceParam);

  if (!traceGL_Native.glIglooInterfaceSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIglooInterfaceSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteFencesNV)
    traceGL_lookupNativeAddress("glDeleteFencesNV", (void **) &traceGL_Native.glDeleteFencesNV);

  traceThis = traceEnabled("glDeleteFencesNV",&traceParam);

  if (!traceGL_Native.glDeleteFencesNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteFencesNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenFencesNV)
    traceGL_lookupNativeAddress("glGenFencesNV", (void **) &traceGL_Native.glGenFencesNV);

  traceThis = traceEnabled("glGenFencesNV",&traceParam);

  if (!traceGL_Native.glGenFencesNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenFencesNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenFencesNV(n, fences);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceOutputParameter("fences", "%u[%d]", fences, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsFenceNV(GLuint fence)
{
  GLboolean ret = GL_FALSE;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsFenceNV)
    traceGL_lookupNativeAddress("glIsFenceNV", (void **) &traceGL_Native.glIsFenceNV);

  traceThis = traceEnabled("glIsFenceNV",&traceParam);

  if (!traceGL_Native.glIsFenceNV)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsFenceNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("fence", "%u", fence);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsFenceNV(fence);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLboolean GLAPIENTRY
glTestFenceNV(GLuint fence)
{
  GLboolean ret = GL_FALSE;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTestFenceNV)
    traceGL_lookupNativeAddress("glTestFenceNV", (void **) &traceGL_Native.glTestFenceNV);

  traceThis = traceEnabled("glTestFenceNV",&traceParam);

  if (!traceGL_Native.glTestFenceNV)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTestFenceNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("fence", "%u", fence);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glTestFenceNV(fence);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetFenceivNV(GLuint fence, GLenum pname, GLint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFenceivNV)
    traceGL_lookupNativeAddress("glGetFenceivNV", (void **) &traceGL_Native.glGetFenceivNV);

  traceThis = traceEnabled("glGetFenceivNV",&traceParam);

  if (!traceGL_Native.glGetFenceivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFenceivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFinishFenceNV)
    traceGL_lookupNativeAddress("glFinishFenceNV", (void **) &traceGL_Native.glFinishFenceNV);

  traceThis = traceEnabled("glFinishFenceNV",&traceParam);

  if (!traceGL_Native.glFinishFenceNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFinishFenceNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSetFenceNV)
    traceGL_lookupNativeAddress("glSetFenceNV", (void **) &traceGL_Native.glSetFenceNV);

  traceThis = traceEnabled("glSetFenceNV",&traceParam);

  if (!traceGL_Native.glSetFenceNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSetFenceNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapControlPointsNV)
    traceGL_lookupNativeAddress("glMapControlPointsNV", (void **) &traceGL_Native.glMapControlPointsNV);

  traceThis = traceEnabled("glMapControlPointsNV",&traceParam);

  if (!traceGL_Native.glMapControlPointsNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapControlPointsNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapParameterivNV)
    traceGL_lookupNativeAddress("glMapParameterivNV", (void **) &traceGL_Native.glMapParameterivNV);

  traceThis = traceEnabled("glMapParameterivNV",&traceParam);

  if (!traceGL_Native.glMapParameterivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapParameterivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapParameterfvNV)
    traceGL_lookupNativeAddress("glMapParameterfvNV", (void **) &traceGL_Native.glMapParameterfvNV);

  traceThis = traceEnabled("glMapParameterfvNV",&traceParam);

  if (!traceGL_Native.glMapParameterfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapParameterfvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMapControlPointsNV)
    traceGL_lookupNativeAddress("glGetMapControlPointsNV", (void **) &traceGL_Native.glGetMapControlPointsNV);

  traceThis = traceEnabled("glGetMapControlPointsNV",&traceParam);

  if (!traceGL_Native.glGetMapControlPointsNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMapControlPointsNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("points", "%p", points);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMapParameterivNV(GLenum target, GLenum pname, GLint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMapParameterivNV)
    traceGL_lookupNativeAddress("glGetMapParameterivNV", (void **) &traceGL_Native.glGetMapParameterivNV);

  traceThis = traceEnabled("glGetMapParameterivNV",&traceParam);

  if (!traceGL_Native.glGetMapParameterivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMapParameterivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMapParameterfvNV)
    traceGL_lookupNativeAddress("glGetMapParameterfvNV", (void **) &traceGL_Native.glGetMapParameterfvNV);

  traceThis = traceEnabled("glGetMapParameterfvNV",&traceParam);

  if (!traceGL_Native.glGetMapParameterfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMapParameterfvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMapAttribParameterivNV)
    traceGL_lookupNativeAddress("glGetMapAttribParameterivNV", (void **) &traceGL_Native.glGetMapAttribParameterivNV);

  traceThis = traceEnabled("glGetMapAttribParameterivNV",&traceParam);

  if (!traceGL_Native.glGetMapAttribParameterivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMapAttribParameterivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMapAttribParameterfvNV)
    traceGL_lookupNativeAddress("glGetMapAttribParameterfvNV", (void **) &traceGL_Native.glGetMapAttribParameterfvNV);

  traceThis = traceEnabled("glGetMapAttribParameterfvNV",&traceParam);

  if (!traceGL_Native.glGetMapAttribParameterfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMapAttribParameterfvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEvalMapsNV)
    traceGL_lookupNativeAddress("glEvalMapsNV", (void **) &traceGL_Native.glEvalMapsNV);

  traceThis = traceEnabled("glEvalMapsNV",&traceParam);

  if (!traceGL_Native.glEvalMapsNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEvalMapsNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCombinerStageParameterfvNV)
    traceGL_lookupNativeAddress("glCombinerStageParameterfvNV", (void **) &traceGL_Native.glCombinerStageParameterfvNV);

  traceThis = traceEnabled("glCombinerStageParameterfvNV",&traceParam);

  if (!traceGL_Native.glCombinerStageParameterfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCombinerStageParameterfvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetCombinerStageParameterfvNV)
    traceGL_lookupNativeAddress("glGetCombinerStageParameterfvNV", (void **) &traceGL_Native.glGetCombinerStageParameterfvNV);

  traceThis = traceEnabled("glGetCombinerStageParameterfvNV",&traceParam);

  if (!traceGL_Native.glGetCombinerStageParameterfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetCombinerStageParameterfvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glAreProgramsResidentNV)
    traceGL_lookupNativeAddress("glAreProgramsResidentNV", (void **) &traceGL_Native.glAreProgramsResidentNV);

  traceThis = traceEnabled("glAreProgramsResidentNV",&traceParam);

  if (!traceGL_Native.glAreProgramsResidentNV)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glAreProgramsResidentNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindProgramNV)
    traceGL_lookupNativeAddress("glBindProgramNV", (void **) &traceGL_Native.glBindProgramNV);

  traceThis = traceEnabled("glBindProgramNV",&traceParam);

  if (!traceGL_Native.glBindProgramNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindProgramNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteProgramsNV)
    traceGL_lookupNativeAddress("glDeleteProgramsNV", (void **) &traceGL_Native.glDeleteProgramsNV);

  traceThis = traceEnabled("glDeleteProgramsNV",&traceParam);

  if (!traceGL_Native.glDeleteProgramsNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteProgramsNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glExecuteProgramNV)
    traceGL_lookupNativeAddress("glExecuteProgramNV", (void **) &traceGL_Native.glExecuteProgramNV);

  traceThis = traceEnabled("glExecuteProgramNV",&traceParam);

  if (!traceGL_Native.glExecuteProgramNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glExecuteProgramNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenProgramsNV)
    traceGL_lookupNativeAddress("glGenProgramsNV", (void **) &traceGL_Native.glGenProgramsNV);

  traceThis = traceEnabled("glGenProgramsNV",&traceParam);

  if (!traceGL_Native.glGenProgramsNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenProgramsNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenProgramsNV(n, programs);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceOutputParameter("programs", "%u[%d]", programs, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramParameterdvNV(GLenum target, GLuint index, GLenum pname, GLdouble *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramParameterdvNV)
    traceGL_lookupNativeAddress("glGetProgramParameterdvNV", (void **) &traceGL_Native.glGetProgramParameterdvNV);

  traceThis = traceEnabled("glGetProgramParameterdvNV",&traceParam);

  if (!traceGL_Native.glGetProgramParameterdvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramParameterdvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%lf[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramParameterfvNV(GLenum target, GLuint index, GLenum pname, GLfloat *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramParameterfvNV)
    traceGL_lookupNativeAddress("glGetProgramParameterfvNV", (void **) &traceGL_Native.glGetProgramParameterfvNV);

  traceThis = traceEnabled("glGetProgramParameterfvNV",&traceParam);

  if (!traceGL_Native.glGetProgramParameterfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramParameterfvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%f[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramivNV(GLuint id, GLenum pname, GLint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramivNV)
    traceGL_lookupNativeAddress("glGetProgramivNV", (void **) &traceGL_Native.glGetProgramivNV);

  traceThis = traceEnabled("glGetProgramivNV",&traceParam);

  if (!traceGL_Native.glGetProgramivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%d[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramStringNV(GLuint id, GLenum pname, GLubyte *program)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramStringNV)
    traceGL_lookupNativeAddress("glGetProgramStringNV", (void **) &traceGL_Native.glGetProgramStringNV);

  traceThis = traceEnabled("glGetProgramStringNV",&traceParam);

  if (!traceGL_Native.glGetProgramStringNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramStringNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("program", "%s", program);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTrackMatrixivNV(GLenum target, GLuint address, GLenum pname, GLint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTrackMatrixivNV)
    traceGL_lookupNativeAddress("glGetTrackMatrixivNV", (void **) &traceGL_Native.glGetTrackMatrixivNV);

  traceThis = traceEnabled("glGetTrackMatrixivNV",&traceParam);

  if (!traceGL_Native.glGetTrackMatrixivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTrackMatrixivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%d[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribdvNV(GLuint index, GLenum pname, GLdouble *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribdvNV)
    traceGL_lookupNativeAddress("glGetVertexAttribdvNV", (void **) &traceGL_Native.glGetVertexAttribdvNV);

  traceThis = traceEnabled("glGetVertexAttribdvNV",&traceParam);

  if (!traceGL_Native.glGetVertexAttribdvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribdvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%lf[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribfvNV(GLuint index, GLenum pname, GLfloat *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribfvNV)
    traceGL_lookupNativeAddress("glGetVertexAttribfvNV", (void **) &traceGL_Native.glGetVertexAttribfvNV);

  traceThis = traceEnabled("glGetVertexAttribfvNV",&traceParam);

  if (!traceGL_Native.glGetVertexAttribfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribfvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%f[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribivNV(GLuint index, GLenum pname, GLint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribivNV)
    traceGL_lookupNativeAddress("glGetVertexAttribivNV", (void **) &traceGL_Native.glGetVertexAttribivNV);

  traceThis = traceEnabled("glGetVertexAttribivNV",&traceParam);

  if (!traceGL_Native.glGetVertexAttribivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%d[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribPointervNV(GLuint index, GLenum pname, GLvoid **pointer)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribPointervNV)
    traceGL_lookupNativeAddress("glGetVertexAttribPointervNV", (void **) &traceGL_Native.glGetVertexAttribPointervNV);

  traceThis = traceEnabled("glGetVertexAttribPointervNV",&traceParam);

  if (!traceGL_Native.glGetVertexAttribPointervNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribPointervNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsProgramNV)
    traceGL_lookupNativeAddress("glIsProgramNV", (void **) &traceGL_Native.glIsProgramNV);

  traceThis = traceEnabled("glIsProgramNV",&traceParam);

  if (!traceGL_Native.glIsProgramNV)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsProgramNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsProgramNV(id);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glLoadProgramNV)
    traceGL_lookupNativeAddress("glLoadProgramNV", (void **) &traceGL_Native.glLoadProgramNV);

  traceThis = traceEnabled("glLoadProgramNV",&traceParam);

  if (!traceGL_Native.glLoadProgramNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glLoadProgramNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramParameter4dNV)
    traceGL_lookupNativeAddress("glProgramParameter4dNV", (void **) &traceGL_Native.glProgramParameter4dNV);

  traceThis = traceEnabled("glProgramParameter4dNV",&traceParam);

  if (!traceGL_Native.glProgramParameter4dNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramParameter4dNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramParameter4dvNV)
    traceGL_lookupNativeAddress("glProgramParameter4dvNV", (void **) &traceGL_Native.glProgramParameter4dvNV);

  traceThis = traceEnabled("glProgramParameter4dvNV",&traceParam);

  if (!traceGL_Native.glProgramParameter4dvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramParameter4dvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramParameter4fNV)
    traceGL_lookupNativeAddress("glProgramParameter4fNV", (void **) &traceGL_Native.glProgramParameter4fNV);

  traceThis = traceEnabled("glProgramParameter4fNV",&traceParam);

  if (!traceGL_Native.glProgramParameter4fNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramParameter4fNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramParameter4fvNV)
    traceGL_lookupNativeAddress("glProgramParameter4fvNV", (void **) &traceGL_Native.glProgramParameter4fvNV);

  traceThis = traceEnabled("glProgramParameter4fvNV",&traceParam);

  if (!traceGL_Native.glProgramParameter4fvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramParameter4fvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramParameters4dvNV)
    traceGL_lookupNativeAddress("glProgramParameters4dvNV", (void **) &traceGL_Native.glProgramParameters4dvNV);

  traceThis = traceEnabled("glProgramParameters4dvNV",&traceParam);

  if (!traceGL_Native.glProgramParameters4dvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramParameters4dvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramParameters4fvNV)
    traceGL_lookupNativeAddress("glProgramParameters4fvNV", (void **) &traceGL_Native.glProgramParameters4fvNV);

  traceThis = traceEnabled("glProgramParameters4fvNV",&traceParam);

  if (!traceGL_Native.glProgramParameters4fvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramParameters4fvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRequestResidentProgramsNV)
    traceGL_lookupNativeAddress("glRequestResidentProgramsNV", (void **) &traceGL_Native.glRequestResidentProgramsNV);

  traceThis = traceEnabled("glRequestResidentProgramsNV",&traceParam);

  if (!traceGL_Native.glRequestResidentProgramsNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRequestResidentProgramsNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTrackMatrixNV)
    traceGL_lookupNativeAddress("glTrackMatrixNV", (void **) &traceGL_Native.glTrackMatrixNV);

  traceThis = traceEnabled("glTrackMatrixNV",&traceParam);

  if (!traceGL_Native.glTrackMatrixNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTrackMatrixNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribPointerNV)
    traceGL_lookupNativeAddress("glVertexAttribPointerNV", (void **) &traceGL_Native.glVertexAttribPointerNV);

  traceThis = traceEnabled("glVertexAttribPointerNV",&traceParam);

  if (!traceGL_Native.glVertexAttribPointerNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribPointerNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1dNV)
    traceGL_lookupNativeAddress("glVertexAttrib1dNV", (void **) &traceGL_Native.glVertexAttrib1dNV);

  traceThis = traceEnabled("glVertexAttrib1dNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib1dNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1dNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1dvNV)
    traceGL_lookupNativeAddress("glVertexAttrib1dvNV", (void **) &traceGL_Native.glVertexAttrib1dvNV);

  traceThis = traceEnabled("glVertexAttrib1dvNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib1dvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1dvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1fNV)
    traceGL_lookupNativeAddress("glVertexAttrib1fNV", (void **) &traceGL_Native.glVertexAttrib1fNV);

  traceThis = traceEnabled("glVertexAttrib1fNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib1fNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1fNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1fvNV)
    traceGL_lookupNativeAddress("glVertexAttrib1fvNV", (void **) &traceGL_Native.glVertexAttrib1fvNV);

  traceThis = traceEnabled("glVertexAttrib1fvNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib1fvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1fvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1sNV)
    traceGL_lookupNativeAddress("glVertexAttrib1sNV", (void **) &traceGL_Native.glVertexAttrib1sNV);

  traceThis = traceEnabled("glVertexAttrib1sNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib1sNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1sNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1svNV)
    traceGL_lookupNativeAddress("glVertexAttrib1svNV", (void **) &traceGL_Native.glVertexAttrib1svNV);

  traceThis = traceEnabled("glVertexAttrib1svNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib1svNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1svNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2dNV)
    traceGL_lookupNativeAddress("glVertexAttrib2dNV", (void **) &traceGL_Native.glVertexAttrib2dNV);

  traceThis = traceEnabled("glVertexAttrib2dNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib2dNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2dNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2dvNV)
    traceGL_lookupNativeAddress("glVertexAttrib2dvNV", (void **) &traceGL_Native.glVertexAttrib2dvNV);

  traceThis = traceEnabled("glVertexAttrib2dvNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib2dvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2dvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2fNV)
    traceGL_lookupNativeAddress("glVertexAttrib2fNV", (void **) &traceGL_Native.glVertexAttrib2fNV);

  traceThis = traceEnabled("glVertexAttrib2fNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib2fNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2fNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2fvNV)
    traceGL_lookupNativeAddress("glVertexAttrib2fvNV", (void **) &traceGL_Native.glVertexAttrib2fvNV);

  traceThis = traceEnabled("glVertexAttrib2fvNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib2fvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2fvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2sNV)
    traceGL_lookupNativeAddress("glVertexAttrib2sNV", (void **) &traceGL_Native.glVertexAttrib2sNV);

  traceThis = traceEnabled("glVertexAttrib2sNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib2sNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2sNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2svNV)
    traceGL_lookupNativeAddress("glVertexAttrib2svNV", (void **) &traceGL_Native.glVertexAttrib2svNV);

  traceThis = traceEnabled("glVertexAttrib2svNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib2svNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2svNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3dNV)
    traceGL_lookupNativeAddress("glVertexAttrib3dNV", (void **) &traceGL_Native.glVertexAttrib3dNV);

  traceThis = traceEnabled("glVertexAttrib3dNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib3dNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3dNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3dvNV)
    traceGL_lookupNativeAddress("glVertexAttrib3dvNV", (void **) &traceGL_Native.glVertexAttrib3dvNV);

  traceThis = traceEnabled("glVertexAttrib3dvNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib3dvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3dvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3fNV)
    traceGL_lookupNativeAddress("glVertexAttrib3fNV", (void **) &traceGL_Native.glVertexAttrib3fNV);

  traceThis = traceEnabled("glVertexAttrib3fNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib3fNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3fNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3fvNV)
    traceGL_lookupNativeAddress("glVertexAttrib3fvNV", (void **) &traceGL_Native.glVertexAttrib3fvNV);

  traceThis = traceEnabled("glVertexAttrib3fvNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib3fvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3fvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3sNV)
    traceGL_lookupNativeAddress("glVertexAttrib3sNV", (void **) &traceGL_Native.glVertexAttrib3sNV);

  traceThis = traceEnabled("glVertexAttrib3sNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib3sNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3sNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3svNV)
    traceGL_lookupNativeAddress("glVertexAttrib3svNV", (void **) &traceGL_Native.glVertexAttrib3svNV);

  traceThis = traceEnabled("glVertexAttrib3svNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib3svNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3svNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4dNV)
    traceGL_lookupNativeAddress("glVertexAttrib4dNV", (void **) &traceGL_Native.glVertexAttrib4dNV);

  traceThis = traceEnabled("glVertexAttrib4dNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib4dNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4dNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4dvNV)
    traceGL_lookupNativeAddress("glVertexAttrib4dvNV", (void **) &traceGL_Native.glVertexAttrib4dvNV);

  traceThis = traceEnabled("glVertexAttrib4dvNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib4dvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4dvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4fNV)
    traceGL_lookupNativeAddress("glVertexAttrib4fNV", (void **) &traceGL_Native.glVertexAttrib4fNV);

  traceThis = traceEnabled("glVertexAttrib4fNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib4fNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4fNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4fvNV)
    traceGL_lookupNativeAddress("glVertexAttrib4fvNV", (void **) &traceGL_Native.glVertexAttrib4fvNV);

  traceThis = traceEnabled("glVertexAttrib4fvNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib4fvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4fvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4sNV)
    traceGL_lookupNativeAddress("glVertexAttrib4sNV", (void **) &traceGL_Native.glVertexAttrib4sNV);

  traceThis = traceEnabled("glVertexAttrib4sNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib4sNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4sNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4svNV)
    traceGL_lookupNativeAddress("glVertexAttrib4svNV", (void **) &traceGL_Native.glVertexAttrib4svNV);

  traceThis = traceEnabled("glVertexAttrib4svNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib4svNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4svNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4ubNV)
    traceGL_lookupNativeAddress("glVertexAttrib4ubNV", (void **) &traceGL_Native.glVertexAttrib4ubNV);

  traceThis = traceEnabled("glVertexAttrib4ubNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib4ubNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4ubNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4ubvNV)
    traceGL_lookupNativeAddress("glVertexAttrib4ubvNV", (void **) &traceGL_Native.glVertexAttrib4ubvNV);

  traceThis = traceEnabled("glVertexAttrib4ubvNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib4ubvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4ubvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs1dvNV)
    traceGL_lookupNativeAddress("glVertexAttribs1dvNV", (void **) &traceGL_Native.glVertexAttribs1dvNV);

  traceThis = traceEnabled("glVertexAttribs1dvNV",&traceParam);

  if (!traceGL_Native.glVertexAttribs1dvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs1dvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs1fvNV)
    traceGL_lookupNativeAddress("glVertexAttribs1fvNV", (void **) &traceGL_Native.glVertexAttribs1fvNV);

  traceThis = traceEnabled("glVertexAttribs1fvNV",&traceParam);

  if (!traceGL_Native.glVertexAttribs1fvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs1fvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs1svNV)
    traceGL_lookupNativeAddress("glVertexAttribs1svNV", (void **) &traceGL_Native.glVertexAttribs1svNV);

  traceThis = traceEnabled("glVertexAttribs1svNV",&traceParam);

  if (!traceGL_Native.glVertexAttribs1svNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs1svNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs2dvNV)
    traceGL_lookupNativeAddress("glVertexAttribs2dvNV", (void **) &traceGL_Native.glVertexAttribs2dvNV);

  traceThis = traceEnabled("glVertexAttribs2dvNV",&traceParam);

  if (!traceGL_Native.glVertexAttribs2dvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs2dvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs2fvNV)
    traceGL_lookupNativeAddress("glVertexAttribs2fvNV", (void **) &traceGL_Native.glVertexAttribs2fvNV);

  traceThis = traceEnabled("glVertexAttribs2fvNV",&traceParam);

  if (!traceGL_Native.glVertexAttribs2fvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs2fvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs2svNV)
    traceGL_lookupNativeAddress("glVertexAttribs2svNV", (void **) &traceGL_Native.glVertexAttribs2svNV);

  traceThis = traceEnabled("glVertexAttribs2svNV",&traceParam);

  if (!traceGL_Native.glVertexAttribs2svNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs2svNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs3dvNV)
    traceGL_lookupNativeAddress("glVertexAttribs3dvNV", (void **) &traceGL_Native.glVertexAttribs3dvNV);

  traceThis = traceEnabled("glVertexAttribs3dvNV",&traceParam);

  if (!traceGL_Native.glVertexAttribs3dvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs3dvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs3fvNV)
    traceGL_lookupNativeAddress("glVertexAttribs3fvNV", (void **) &traceGL_Native.glVertexAttribs3fvNV);

  traceThis = traceEnabled("glVertexAttribs3fvNV",&traceParam);

  if (!traceGL_Native.glVertexAttribs3fvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs3fvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs3svNV)
    traceGL_lookupNativeAddress("glVertexAttribs3svNV", (void **) &traceGL_Native.glVertexAttribs3svNV);

  traceThis = traceEnabled("glVertexAttribs3svNV",&traceParam);

  if (!traceGL_Native.glVertexAttribs3svNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs3svNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs4dvNV)
    traceGL_lookupNativeAddress("glVertexAttribs4dvNV", (void **) &traceGL_Native.glVertexAttribs4dvNV);

  traceThis = traceEnabled("glVertexAttribs4dvNV",&traceParam);

  if (!traceGL_Native.glVertexAttribs4dvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs4dvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs4fvNV)
    traceGL_lookupNativeAddress("glVertexAttribs4fvNV", (void **) &traceGL_Native.glVertexAttribs4fvNV);

  traceThis = traceEnabled("glVertexAttribs4fvNV",&traceParam);

  if (!traceGL_Native.glVertexAttribs4fvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs4fvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs4svNV)
    traceGL_lookupNativeAddress("glVertexAttribs4svNV", (void **) &traceGL_Native.glVertexAttribs4svNV);

  traceThis = traceEnabled("glVertexAttribs4svNV",&traceParam);

  if (!traceGL_Native.glVertexAttribs4svNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs4svNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs4ubvNV)
    traceGL_lookupNativeAddress("glVertexAttribs4ubvNV", (void **) &traceGL_Native.glVertexAttribs4ubvNV);

  traceThis = traceEnabled("glVertexAttribs4ubvNV",&traceParam);

  if (!traceGL_Native.glVertexAttribs4ubvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs4ubvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexBumpParameterivATI)
    traceGL_lookupNativeAddress("glTexBumpParameterivATI", (void **) &traceGL_Native.glTexBumpParameterivATI);

  traceThis = traceEnabled("glTexBumpParameterivATI",&traceParam);

  if (!traceGL_Native.glTexBumpParameterivATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexBumpParameterivATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexBumpParameterfvATI)
    traceGL_lookupNativeAddress("glTexBumpParameterfvATI", (void **) &traceGL_Native.glTexBumpParameterfvATI);

  traceThis = traceEnabled("glTexBumpParameterfvATI",&traceParam);

  if (!traceGL_Native.glTexBumpParameterfvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexBumpParameterfvATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTexBumpParameterivATI)
    traceGL_lookupNativeAddress("glGetTexBumpParameterivATI", (void **) &traceGL_Native.glGetTexBumpParameterivATI);

  traceThis = traceEnabled("glGetTexBumpParameterivATI",&traceParam);

  if (!traceGL_Native.glGetTexBumpParameterivATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTexBumpParameterivATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTexBumpParameterfvATI)
    traceGL_lookupNativeAddress("glGetTexBumpParameterfvATI", (void **) &traceGL_Native.glGetTexBumpParameterfvATI);

  traceThis = traceEnabled("glGetTexBumpParameterfvATI",&traceParam);

  if (!traceGL_Native.glGetTexBumpParameterfvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTexBumpParameterfvATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenFragmentShadersATI)
    traceGL_lookupNativeAddress("glGenFragmentShadersATI", (void **) &traceGL_Native.glGenFragmentShadersATI);

  traceThis = traceEnabled("glGenFragmentShadersATI",&traceParam);

  if (!traceGL_Native.glGenFragmentShadersATI)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenFragmentShadersATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("range", "%u", range);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGenFragmentShadersATI(range);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBindFragmentShaderATI(GLuint id)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindFragmentShaderATI)
    traceGL_lookupNativeAddress("glBindFragmentShaderATI", (void **) &traceGL_Native.glBindFragmentShaderATI);

  traceThis = traceEnabled("glBindFragmentShaderATI",&traceParam);

  if (!traceGL_Native.glBindFragmentShaderATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindFragmentShaderATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteFragmentShaderATI)
    traceGL_lookupNativeAddress("glDeleteFragmentShaderATI", (void **) &traceGL_Native.glDeleteFragmentShaderATI);

  traceThis = traceEnabled("glDeleteFragmentShaderATI",&traceParam);

  if (!traceGL_Native.glDeleteFragmentShaderATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteFragmentShaderATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBeginFragmentShaderATI)
    traceGL_lookupNativeAddress("glBeginFragmentShaderATI", (void **) &traceGL_Native.glBeginFragmentShaderATI);

  traceThis = traceEnabled("glBeginFragmentShaderATI",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndFragmentShaderATI)
    traceGL_lookupNativeAddress("glEndFragmentShaderATI", (void **) &traceGL_Native.glEndFragmentShaderATI);

  traceThis = traceEnabled("glEndFragmentShaderATI",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPassTexCoordATI)
    traceGL_lookupNativeAddress("glPassTexCoordATI", (void **) &traceGL_Native.glPassTexCoordATI);

  traceThis = traceEnabled("glPassTexCoordATI",&traceParam);

  if (!traceGL_Native.glPassTexCoordATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPassTexCoordATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSampleMapATI)
    traceGL_lookupNativeAddress("glSampleMapATI", (void **) &traceGL_Native.glSampleMapATI);

  traceThis = traceEnabled("glSampleMapATI",&traceParam);

  if (!traceGL_Native.glSampleMapATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSampleMapATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorFragmentOp1ATI)
    traceGL_lookupNativeAddress("glColorFragmentOp1ATI", (void **) &traceGL_Native.glColorFragmentOp1ATI);

  traceThis = traceEnabled("glColorFragmentOp1ATI",&traceParam);

  if (!traceGL_Native.glColorFragmentOp1ATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorFragmentOp1ATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorFragmentOp2ATI)
    traceGL_lookupNativeAddress("glColorFragmentOp2ATI", (void **) &traceGL_Native.glColorFragmentOp2ATI);

  traceThis = traceEnabled("glColorFragmentOp2ATI",&traceParam);

  if (!traceGL_Native.glColorFragmentOp2ATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorFragmentOp2ATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorFragmentOp3ATI)
    traceGL_lookupNativeAddress("glColorFragmentOp3ATI", (void **) &traceGL_Native.glColorFragmentOp3ATI);

  traceThis = traceEnabled("glColorFragmentOp3ATI",&traceParam);

  if (!traceGL_Native.glColorFragmentOp3ATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorFragmentOp3ATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glAlphaFragmentOp1ATI)
    traceGL_lookupNativeAddress("glAlphaFragmentOp1ATI", (void **) &traceGL_Native.glAlphaFragmentOp1ATI);

  traceThis = traceEnabled("glAlphaFragmentOp1ATI",&traceParam);

  if (!traceGL_Native.glAlphaFragmentOp1ATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glAlphaFragmentOp1ATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glAlphaFragmentOp2ATI)
    traceGL_lookupNativeAddress("glAlphaFragmentOp2ATI", (void **) &traceGL_Native.glAlphaFragmentOp2ATI);

  traceThis = traceEnabled("glAlphaFragmentOp2ATI",&traceParam);

  if (!traceGL_Native.glAlphaFragmentOp2ATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glAlphaFragmentOp2ATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glAlphaFragmentOp3ATI)
    traceGL_lookupNativeAddress("glAlphaFragmentOp3ATI", (void **) &traceGL_Native.glAlphaFragmentOp3ATI);

  traceThis = traceEnabled("glAlphaFragmentOp3ATI",&traceParam);

  if (!traceGL_Native.glAlphaFragmentOp3ATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glAlphaFragmentOp3ATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSetFragmentShaderConstantATI)
    traceGL_lookupNativeAddress("glSetFragmentShaderConstantATI", (void **) &traceGL_Native.glSetFragmentShaderConstantATI);

  traceThis = traceEnabled("glSetFragmentShaderConstantATI",&traceParam);

  if (!traceGL_Native.glSetFragmentShaderConstantATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSetFragmentShaderConstantATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPNTrianglesiATI)
    traceGL_lookupNativeAddress("glPNTrianglesiATI", (void **) &traceGL_Native.glPNTrianglesiATI);

  traceThis = traceEnabled("glPNTrianglesiATI",&traceParam);

  if (!traceGL_Native.glPNTrianglesiATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPNTrianglesiATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPNTrianglesfATI)
    traceGL_lookupNativeAddress("glPNTrianglesfATI", (void **) &traceGL_Native.glPNTrianglesfATI);

  traceThis = traceEnabled("glPNTrianglesfATI",&traceParam);

  if (!traceGL_Native.glPNTrianglesfATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPNTrianglesfATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNewObjectBufferATI)
    traceGL_lookupNativeAddress("glNewObjectBufferATI", (void **) &traceGL_Native.glNewObjectBufferATI);

  traceThis = traceEnabled("glNewObjectBufferATI",&traceParam);

  if (!traceGL_Native.glNewObjectBufferATI)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNewObjectBufferATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLboolean GLAPIENTRY
glIsObjectBufferATI(GLuint buffer)
{
  GLboolean ret = GL_FALSE;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsObjectBufferATI)
    traceGL_lookupNativeAddress("glIsObjectBufferATI", (void **) &traceGL_Native.glIsObjectBufferATI);

  traceThis = traceEnabled("glIsObjectBufferATI",&traceParam);

  if (!traceGL_Native.glIsObjectBufferATI)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsObjectBufferATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("buffer", "%u", buffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsObjectBufferATI(buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUpdateObjectBufferATI)
    traceGL_lookupNativeAddress("glUpdateObjectBufferATI", (void **) &traceGL_Native.glUpdateObjectBufferATI);

  traceThis = traceEnabled("glUpdateObjectBufferATI",&traceParam);

  if (!traceGL_Native.glUpdateObjectBufferATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUpdateObjectBufferATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetObjectBufferfvATI)
    traceGL_lookupNativeAddress("glGetObjectBufferfvATI", (void **) &traceGL_Native.glGetObjectBufferfvATI);

  traceThis = traceEnabled("glGetObjectBufferfvATI",&traceParam);

  if (!traceGL_Native.glGetObjectBufferfvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetObjectBufferfvATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%f[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetObjectBufferivATI(GLuint buffer, GLenum pname, GLint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetObjectBufferivATI)
    traceGL_lookupNativeAddress("glGetObjectBufferivATI", (void **) &traceGL_Native.glGetObjectBufferivATI);

  traceThis = traceEnabled("glGetObjectBufferivATI",&traceParam);

  if (!traceGL_Native.glGetObjectBufferivATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetObjectBufferivATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%d[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFreeObjectBufferATI(GLuint buffer)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFreeObjectBufferATI)
    traceGL_lookupNativeAddress("glFreeObjectBufferATI", (void **) &traceGL_Native.glFreeObjectBufferATI);

  traceThis = traceEnabled("glFreeObjectBufferATI",&traceParam);

  if (!traceGL_Native.glFreeObjectBufferATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFreeObjectBufferATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glArrayObjectATI)
    traceGL_lookupNativeAddress("glArrayObjectATI", (void **) &traceGL_Native.glArrayObjectATI);

  traceThis = traceEnabled("glArrayObjectATI",&traceParam);

  if (!traceGL_Native.glArrayObjectATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glArrayObjectATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetArrayObjectfvATI)
    traceGL_lookupNativeAddress("glGetArrayObjectfvATI", (void **) &traceGL_Native.glGetArrayObjectfvATI);

  traceThis = traceEnabled("glGetArrayObjectfvATI",&traceParam);

  if (!traceGL_Native.glGetArrayObjectfvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetArrayObjectfvATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%f[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetArrayObjectivATI(GLenum array, GLenum pname, GLint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetArrayObjectivATI)
    traceGL_lookupNativeAddress("glGetArrayObjectivATI", (void **) &traceGL_Native.glGetArrayObjectivATI);

  traceThis = traceEnabled("glGetArrayObjectivATI",&traceParam);

  if (!traceGL_Native.glGetArrayObjectivATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetArrayObjectivATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVariantArrayObjectATI)
    traceGL_lookupNativeAddress("glVariantArrayObjectATI", (void **) &traceGL_Native.glVariantArrayObjectATI);

  traceThis = traceEnabled("glVariantArrayObjectATI",&traceParam);

  if (!traceGL_Native.glVariantArrayObjectATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVariantArrayObjectATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVariantArrayObjectfvATI)
    traceGL_lookupNativeAddress("glGetVariantArrayObjectfvATI", (void **) &traceGL_Native.glGetVariantArrayObjectfvATI);

  traceThis = traceEnabled("glGetVariantArrayObjectfvATI",&traceParam);

  if (!traceGL_Native.glGetVariantArrayObjectfvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVariantArrayObjectfvATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%f[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVariantArrayObjectivATI(GLuint id, GLenum pname, GLint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVariantArrayObjectivATI)
    traceGL_lookupNativeAddress("glGetVariantArrayObjectivATI", (void **) &traceGL_Native.glGetVariantArrayObjectivATI);

  traceThis = traceEnabled("glGetVariantArrayObjectivATI",&traceParam);

  if (!traceGL_Native.glGetVariantArrayObjectivATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVariantArrayObjectivATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%d[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glBeginVertexShaderEXT()
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBeginVertexShaderEXT)
    traceGL_lookupNativeAddress("glBeginVertexShaderEXT", (void **) &traceGL_Native.glBeginVertexShaderEXT);

  traceThis = traceEnabled("glBeginVertexShaderEXT",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndVertexShaderEXT)
    traceGL_lookupNativeAddress("glEndVertexShaderEXT", (void **) &traceGL_Native.glEndVertexShaderEXT);

  traceThis = traceEnabled("glEndVertexShaderEXT",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindVertexShaderEXT)
    traceGL_lookupNativeAddress("glBindVertexShaderEXT", (void **) &traceGL_Native.glBindVertexShaderEXT);

  traceThis = traceEnabled("glBindVertexShaderEXT",&traceParam);

  if (!traceGL_Native.glBindVertexShaderEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindVertexShaderEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenVertexShadersEXT)
    traceGL_lookupNativeAddress("glGenVertexShadersEXT", (void **) &traceGL_Native.glGenVertexShadersEXT);

  traceThis = traceEnabled("glGenVertexShadersEXT",&traceParam);

  if (!traceGL_Native.glGenVertexShadersEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenVertexShadersEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("range", "%u", range);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glGenVertexShadersEXT(range);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glDeleteVertexShaderEXT(GLuint id)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteVertexShaderEXT)
    traceGL_lookupNativeAddress("glDeleteVertexShaderEXT", (void **) &traceGL_Native.glDeleteVertexShaderEXT);

  traceThis = traceEnabled("glDeleteVertexShaderEXT",&traceParam);

  if (!traceGL_Native.glDeleteVertexShaderEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteVertexShaderEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glShaderOp1EXT)
    traceGL_lookupNativeAddress("glShaderOp1EXT", (void **) &traceGL_Native.glShaderOp1EXT);

  traceThis = traceEnabled("glShaderOp1EXT",&traceParam);

  if (!traceGL_Native.glShaderOp1EXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glShaderOp1EXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glShaderOp2EXT)
    traceGL_lookupNativeAddress("glShaderOp2EXT", (void **) &traceGL_Native.glShaderOp2EXT);

  traceThis = traceEnabled("glShaderOp2EXT",&traceParam);

  if (!traceGL_Native.glShaderOp2EXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glShaderOp2EXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glShaderOp3EXT)
    traceGL_lookupNativeAddress("glShaderOp3EXT", (void **) &traceGL_Native.glShaderOp3EXT);

  traceThis = traceEnabled("glShaderOp3EXT",&traceParam);

  if (!traceGL_Native.glShaderOp3EXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glShaderOp3EXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSwizzleEXT)
    traceGL_lookupNativeAddress("glSwizzleEXT", (void **) &traceGL_Native.glSwizzleEXT);

  traceThis = traceEnabled("glSwizzleEXT",&traceParam);

  if (!traceGL_Native.glSwizzleEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSwizzleEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glWriteMaskEXT)
    traceGL_lookupNativeAddress("glWriteMaskEXT", (void **) &traceGL_Native.glWriteMaskEXT);

  traceThis = traceEnabled("glWriteMaskEXT",&traceParam);

  if (!traceGL_Native.glWriteMaskEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glWriteMaskEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glInsertComponentEXT)
    traceGL_lookupNativeAddress("glInsertComponentEXT", (void **) &traceGL_Native.glInsertComponentEXT);

  traceThis = traceEnabled("glInsertComponentEXT",&traceParam);

  if (!traceGL_Native.glInsertComponentEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glInsertComponentEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glExtractComponentEXT)
    traceGL_lookupNativeAddress("glExtractComponentEXT", (void **) &traceGL_Native.glExtractComponentEXT);

  traceThis = traceEnabled("glExtractComponentEXT",&traceParam);

  if (!traceGL_Native.glExtractComponentEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glExtractComponentEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenSymbolsEXT)
    traceGL_lookupNativeAddress("glGenSymbolsEXT", (void **) &traceGL_Native.glGenSymbolsEXT);

  traceThis = traceEnabled("glGenSymbolsEXT",&traceParam);

  if (!traceGL_Native.glGenSymbolsEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenSymbolsEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glSetInvariantEXT(GLuint id, GLenum type, const GLvoid *addr)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSetInvariantEXT)
    traceGL_lookupNativeAddress("glSetInvariantEXT", (void **) &traceGL_Native.glSetInvariantEXT);

  traceThis = traceEnabled("glSetInvariantEXT",&traceParam);

  if (!traceGL_Native.glSetInvariantEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSetInvariantEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSetLocalConstantEXT)
    traceGL_lookupNativeAddress("glSetLocalConstantEXT", (void **) &traceGL_Native.glSetLocalConstantEXT);

  traceThis = traceEnabled("glSetLocalConstantEXT",&traceParam);

  if (!traceGL_Native.glSetLocalConstantEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSetLocalConstantEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVariantbvEXT)
    traceGL_lookupNativeAddress("glVariantbvEXT", (void **) &traceGL_Native.glVariantbvEXT);

  traceThis = traceEnabled("glVariantbvEXT",&traceParam);

  if (!traceGL_Native.glVariantbvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVariantbvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVariantsvEXT)
    traceGL_lookupNativeAddress("glVariantsvEXT", (void **) &traceGL_Native.glVariantsvEXT);

  traceThis = traceEnabled("glVariantsvEXT",&traceParam);

  if (!traceGL_Native.glVariantsvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVariantsvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVariantivEXT)
    traceGL_lookupNativeAddress("glVariantivEXT", (void **) &traceGL_Native.glVariantivEXT);

  traceThis = traceEnabled("glVariantivEXT",&traceParam);

  if (!traceGL_Native.glVariantivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVariantivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVariantfvEXT)
    traceGL_lookupNativeAddress("glVariantfvEXT", (void **) &traceGL_Native.glVariantfvEXT);

  traceThis = traceEnabled("glVariantfvEXT",&traceParam);

  if (!traceGL_Native.glVariantfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVariantfvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVariantdvEXT)
    traceGL_lookupNativeAddress("glVariantdvEXT", (void **) &traceGL_Native.glVariantdvEXT);

  traceThis = traceEnabled("glVariantdvEXT",&traceParam);

  if (!traceGL_Native.glVariantdvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVariantdvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVariantubvEXT)
    traceGL_lookupNativeAddress("glVariantubvEXT", (void **) &traceGL_Native.glVariantubvEXT);

  traceThis = traceEnabled("glVariantubvEXT",&traceParam);

  if (!traceGL_Native.glVariantubvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVariantubvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVariantusvEXT)
    traceGL_lookupNativeAddress("glVariantusvEXT", (void **) &traceGL_Native.glVariantusvEXT);

  traceThis = traceEnabled("glVariantusvEXT",&traceParam);

  if (!traceGL_Native.glVariantusvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVariantusvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVariantuivEXT)
    traceGL_lookupNativeAddress("glVariantuivEXT", (void **) &traceGL_Native.glVariantuivEXT);

  traceThis = traceEnabled("glVariantuivEXT",&traceParam);

  if (!traceGL_Native.glVariantuivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVariantuivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVariantPointerEXT)
    traceGL_lookupNativeAddress("glVariantPointerEXT", (void **) &traceGL_Native.glVariantPointerEXT);

  traceThis = traceEnabled("glVariantPointerEXT",&traceParam);

  if (!traceGL_Native.glVariantPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVariantPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEnableVariantClientStateEXT)
    traceGL_lookupNativeAddress("glEnableVariantClientStateEXT", (void **) &traceGL_Native.glEnableVariantClientStateEXT);

  traceThis = traceEnabled("glEnableVariantClientStateEXT",&traceParam);

  if (!traceGL_Native.glEnableVariantClientStateEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEnableVariantClientStateEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDisableVariantClientStateEXT)
    traceGL_lookupNativeAddress("glDisableVariantClientStateEXT", (void **) &traceGL_Native.glDisableVariantClientStateEXT);

  traceThis = traceEnabled("glDisableVariantClientStateEXT",&traceParam);

  if (!traceGL_Native.glDisableVariantClientStateEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDisableVariantClientStateEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindLightParameterEXT)
    traceGL_lookupNativeAddress("glBindLightParameterEXT", (void **) &traceGL_Native.glBindLightParameterEXT);

  traceThis = traceEnabled("glBindLightParameterEXT",&traceParam);

  if (!traceGL_Native.glBindLightParameterEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindLightParameterEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLuint GLAPIENTRY
glBindMaterialParameterEXT(GLenum face, GLenum value)
{
  GLuint ret = 0;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindMaterialParameterEXT)
    traceGL_lookupNativeAddress("glBindMaterialParameterEXT", (void **) &traceGL_Native.glBindMaterialParameterEXT);

  traceThis = traceEnabled("glBindMaterialParameterEXT",&traceParam);

  if (!traceGL_Native.glBindMaterialParameterEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindMaterialParameterEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLuint GLAPIENTRY
glBindTexGenParameterEXT(GLenum unit, GLenum coord, GLenum value)
{
  GLuint ret = 0;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindTexGenParameterEXT)
    traceGL_lookupNativeAddress("glBindTexGenParameterEXT", (void **) &traceGL_Native.glBindTexGenParameterEXT);

  traceThis = traceEnabled("glBindTexGenParameterEXT",&traceParam);

  if (!traceGL_Native.glBindTexGenParameterEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindTexGenParameterEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLuint GLAPIENTRY
glBindTextureUnitParameterEXT(GLenum unit, GLenum value)
{
  GLuint ret = 0;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindTextureUnitParameterEXT)
    traceGL_lookupNativeAddress("glBindTextureUnitParameterEXT", (void **) &traceGL_Native.glBindTextureUnitParameterEXT);

  traceThis = traceEnabled("glBindTextureUnitParameterEXT",&traceParam);

  if (!traceGL_Native.glBindTextureUnitParameterEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindTextureUnitParameterEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLuint GLAPIENTRY
glBindParameterEXT(GLenum value)
{
  GLuint ret = 0;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindParameterEXT)
    traceGL_lookupNativeAddress("glBindParameterEXT", (void **) &traceGL_Native.glBindParameterEXT);

  traceThis = traceEnabled("glBindParameterEXT",&traceParam);

  if (!traceGL_Native.glBindParameterEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindParameterEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("value", "%u", value);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glBindParameterEXT(value);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLboolean GLAPIENTRY
glIsVariantEnabledEXT(GLuint id, GLenum cap)
{
  GLboolean ret = GL_FALSE;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsVariantEnabledEXT)
    traceGL_lookupNativeAddress("glIsVariantEnabledEXT", (void **) &traceGL_Native.glIsVariantEnabledEXT);

  traceThis = traceEnabled("glIsVariantEnabledEXT",&traceParam);

  if (!traceGL_Native.glIsVariantEnabledEXT)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsVariantEnabledEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetVariantBooleanvEXT(GLuint id, GLenum value, GLboolean *data)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVariantBooleanvEXT)
    traceGL_lookupNativeAddress("glGetVariantBooleanvEXT", (void **) &traceGL_Native.glGetVariantBooleanvEXT);

  traceThis = traceEnabled("glGetVariantBooleanvEXT",&traceParam);

  if (!traceGL_Native.glGetVariantBooleanvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVariantBooleanvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVariantIntegervEXT)
    traceGL_lookupNativeAddress("glGetVariantIntegervEXT", (void **) &traceGL_Native.glGetVariantIntegervEXT);

  traceThis = traceEnabled("glGetVariantIntegervEXT",&traceParam);

  if (!traceGL_Native.glGetVariantIntegervEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVariantIntegervEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVariantFloatvEXT)
    traceGL_lookupNativeAddress("glGetVariantFloatvEXT", (void **) &traceGL_Native.glGetVariantFloatvEXT);

  traceThis = traceEnabled("glGetVariantFloatvEXT",&traceParam);

  if (!traceGL_Native.glGetVariantFloatvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVariantFloatvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVariantPointervEXT)
    traceGL_lookupNativeAddress("glGetVariantPointervEXT", (void **) &traceGL_Native.glGetVariantPointervEXT);

  traceThis = traceEnabled("glGetVariantPointervEXT",&traceParam);

  if (!traceGL_Native.glGetVariantPointervEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVariantPointervEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetInvariantBooleanvEXT)
    traceGL_lookupNativeAddress("glGetInvariantBooleanvEXT", (void **) &traceGL_Native.glGetInvariantBooleanvEXT);

  traceThis = traceEnabled("glGetInvariantBooleanvEXT",&traceParam);

  if (!traceGL_Native.glGetInvariantBooleanvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetInvariantBooleanvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetInvariantIntegervEXT)
    traceGL_lookupNativeAddress("glGetInvariantIntegervEXT", (void **) &traceGL_Native.glGetInvariantIntegervEXT);

  traceThis = traceEnabled("glGetInvariantIntegervEXT",&traceParam);

  if (!traceGL_Native.glGetInvariantIntegervEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetInvariantIntegervEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetInvariantFloatvEXT)
    traceGL_lookupNativeAddress("glGetInvariantFloatvEXT", (void **) &traceGL_Native.glGetInvariantFloatvEXT);

  traceThis = traceEnabled("glGetInvariantFloatvEXT",&traceParam);

  if (!traceGL_Native.glGetInvariantFloatvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetInvariantFloatvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetLocalConstantBooleanvEXT)
    traceGL_lookupNativeAddress("glGetLocalConstantBooleanvEXT", (void **) &traceGL_Native.glGetLocalConstantBooleanvEXT);

  traceThis = traceEnabled("glGetLocalConstantBooleanvEXT",&traceParam);

  if (!traceGL_Native.glGetLocalConstantBooleanvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetLocalConstantBooleanvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetLocalConstantIntegervEXT)
    traceGL_lookupNativeAddress("glGetLocalConstantIntegervEXT", (void **) &traceGL_Native.glGetLocalConstantIntegervEXT);

  traceThis = traceEnabled("glGetLocalConstantIntegervEXT",&traceParam);

  if (!traceGL_Native.glGetLocalConstantIntegervEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetLocalConstantIntegervEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetLocalConstantFloatvEXT)
    traceGL_lookupNativeAddress("glGetLocalConstantFloatvEXT", (void **) &traceGL_Native.glGetLocalConstantFloatvEXT);

  traceThis = traceEnabled("glGetLocalConstantFloatvEXT",&traceParam);

  if (!traceGL_Native.glGetLocalConstantFloatvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetLocalConstantFloatvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream1sATI)
    traceGL_lookupNativeAddress("glVertexStream1sATI", (void **) &traceGL_Native.glVertexStream1sATI);

  traceThis = traceEnabled("glVertexStream1sATI",&traceParam);

  if (!traceGL_Native.glVertexStream1sATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream1sATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream1svATI)
    traceGL_lookupNativeAddress("glVertexStream1svATI", (void **) &traceGL_Native.glVertexStream1svATI);

  traceThis = traceEnabled("glVertexStream1svATI",&traceParam);

  if (!traceGL_Native.glVertexStream1svATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream1svATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream1iATI)
    traceGL_lookupNativeAddress("glVertexStream1iATI", (void **) &traceGL_Native.glVertexStream1iATI);

  traceThis = traceEnabled("glVertexStream1iATI",&traceParam);

  if (!traceGL_Native.glVertexStream1iATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream1iATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream1ivATI)
    traceGL_lookupNativeAddress("glVertexStream1ivATI", (void **) &traceGL_Native.glVertexStream1ivATI);

  traceThis = traceEnabled("glVertexStream1ivATI",&traceParam);

  if (!traceGL_Native.glVertexStream1ivATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream1ivATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream1fATI)
    traceGL_lookupNativeAddress("glVertexStream1fATI", (void **) &traceGL_Native.glVertexStream1fATI);

  traceThis = traceEnabled("glVertexStream1fATI",&traceParam);

  if (!traceGL_Native.glVertexStream1fATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream1fATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream1fvATI)
    traceGL_lookupNativeAddress("glVertexStream1fvATI", (void **) &traceGL_Native.glVertexStream1fvATI);

  traceThis = traceEnabled("glVertexStream1fvATI",&traceParam);

  if (!traceGL_Native.glVertexStream1fvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream1fvATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream1dATI)
    traceGL_lookupNativeAddress("glVertexStream1dATI", (void **) &traceGL_Native.glVertexStream1dATI);

  traceThis = traceEnabled("glVertexStream1dATI",&traceParam);

  if (!traceGL_Native.glVertexStream1dATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream1dATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream1dvATI)
    traceGL_lookupNativeAddress("glVertexStream1dvATI", (void **) &traceGL_Native.glVertexStream1dvATI);

  traceThis = traceEnabled("glVertexStream1dvATI",&traceParam);

  if (!traceGL_Native.glVertexStream1dvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream1dvATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream2sATI)
    traceGL_lookupNativeAddress("glVertexStream2sATI", (void **) &traceGL_Native.glVertexStream2sATI);

  traceThis = traceEnabled("glVertexStream2sATI",&traceParam);

  if (!traceGL_Native.glVertexStream2sATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream2sATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream2svATI)
    traceGL_lookupNativeAddress("glVertexStream2svATI", (void **) &traceGL_Native.glVertexStream2svATI);

  traceThis = traceEnabled("glVertexStream2svATI",&traceParam);

  if (!traceGL_Native.glVertexStream2svATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream2svATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream2iATI)
    traceGL_lookupNativeAddress("glVertexStream2iATI", (void **) &traceGL_Native.glVertexStream2iATI);

  traceThis = traceEnabled("glVertexStream2iATI",&traceParam);

  if (!traceGL_Native.glVertexStream2iATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream2iATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream2ivATI)
    traceGL_lookupNativeAddress("glVertexStream2ivATI", (void **) &traceGL_Native.glVertexStream2ivATI);

  traceThis = traceEnabled("glVertexStream2ivATI",&traceParam);

  if (!traceGL_Native.glVertexStream2ivATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream2ivATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream2fATI)
    traceGL_lookupNativeAddress("glVertexStream2fATI", (void **) &traceGL_Native.glVertexStream2fATI);

  traceThis = traceEnabled("glVertexStream2fATI",&traceParam);

  if (!traceGL_Native.glVertexStream2fATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream2fATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream2fvATI)
    traceGL_lookupNativeAddress("glVertexStream2fvATI", (void **) &traceGL_Native.glVertexStream2fvATI);

  traceThis = traceEnabled("glVertexStream2fvATI",&traceParam);

  if (!traceGL_Native.glVertexStream2fvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream2fvATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream2dATI)
    traceGL_lookupNativeAddress("glVertexStream2dATI", (void **) &traceGL_Native.glVertexStream2dATI);

  traceThis = traceEnabled("glVertexStream2dATI",&traceParam);

  if (!traceGL_Native.glVertexStream2dATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream2dATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream2dvATI)
    traceGL_lookupNativeAddress("glVertexStream2dvATI", (void **) &traceGL_Native.glVertexStream2dvATI);

  traceThis = traceEnabled("glVertexStream2dvATI",&traceParam);

  if (!traceGL_Native.glVertexStream2dvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream2dvATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream3sATI)
    traceGL_lookupNativeAddress("glVertexStream3sATI", (void **) &traceGL_Native.glVertexStream3sATI);

  traceThis = traceEnabled("glVertexStream3sATI",&traceParam);

  if (!traceGL_Native.glVertexStream3sATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream3sATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream3svATI)
    traceGL_lookupNativeAddress("glVertexStream3svATI", (void **) &traceGL_Native.glVertexStream3svATI);

  traceThis = traceEnabled("glVertexStream3svATI",&traceParam);

  if (!traceGL_Native.glVertexStream3svATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream3svATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream3iATI)
    traceGL_lookupNativeAddress("glVertexStream3iATI", (void **) &traceGL_Native.glVertexStream3iATI);

  traceThis = traceEnabled("glVertexStream3iATI",&traceParam);

  if (!traceGL_Native.glVertexStream3iATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream3iATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream3ivATI)
    traceGL_lookupNativeAddress("glVertexStream3ivATI", (void **) &traceGL_Native.glVertexStream3ivATI);

  traceThis = traceEnabled("glVertexStream3ivATI",&traceParam);

  if (!traceGL_Native.glVertexStream3ivATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream3ivATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream3fATI)
    traceGL_lookupNativeAddress("glVertexStream3fATI", (void **) &traceGL_Native.glVertexStream3fATI);

  traceThis = traceEnabled("glVertexStream3fATI",&traceParam);

  if (!traceGL_Native.glVertexStream3fATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream3fATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream3fvATI)
    traceGL_lookupNativeAddress("glVertexStream3fvATI", (void **) &traceGL_Native.glVertexStream3fvATI);

  traceThis = traceEnabled("glVertexStream3fvATI",&traceParam);

  if (!traceGL_Native.glVertexStream3fvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream3fvATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream3dATI)
    traceGL_lookupNativeAddress("glVertexStream3dATI", (void **) &traceGL_Native.glVertexStream3dATI);

  traceThis = traceEnabled("glVertexStream3dATI",&traceParam);

  if (!traceGL_Native.glVertexStream3dATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream3dATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream3dvATI)
    traceGL_lookupNativeAddress("glVertexStream3dvATI", (void **) &traceGL_Native.glVertexStream3dvATI);

  traceThis = traceEnabled("glVertexStream3dvATI",&traceParam);

  if (!traceGL_Native.glVertexStream3dvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream3dvATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream4sATI)
    traceGL_lookupNativeAddress("glVertexStream4sATI", (void **) &traceGL_Native.glVertexStream4sATI);

  traceThis = traceEnabled("glVertexStream4sATI",&traceParam);

  if (!traceGL_Native.glVertexStream4sATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream4sATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream4svATI)
    traceGL_lookupNativeAddress("glVertexStream4svATI", (void **) &traceGL_Native.glVertexStream4svATI);

  traceThis = traceEnabled("glVertexStream4svATI",&traceParam);

  if (!traceGL_Native.glVertexStream4svATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream4svATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream4iATI)
    traceGL_lookupNativeAddress("glVertexStream4iATI", (void **) &traceGL_Native.glVertexStream4iATI);

  traceThis = traceEnabled("glVertexStream4iATI",&traceParam);

  if (!traceGL_Native.glVertexStream4iATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream4iATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream4ivATI)
    traceGL_lookupNativeAddress("glVertexStream4ivATI", (void **) &traceGL_Native.glVertexStream4ivATI);

  traceThis = traceEnabled("glVertexStream4ivATI",&traceParam);

  if (!traceGL_Native.glVertexStream4ivATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream4ivATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream4fATI)
    traceGL_lookupNativeAddress("glVertexStream4fATI", (void **) &traceGL_Native.glVertexStream4fATI);

  traceThis = traceEnabled("glVertexStream4fATI",&traceParam);

  if (!traceGL_Native.glVertexStream4fATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream4fATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream4fvATI)
    traceGL_lookupNativeAddress("glVertexStream4fvATI", (void **) &traceGL_Native.glVertexStream4fvATI);

  traceThis = traceEnabled("glVertexStream4fvATI",&traceParam);

  if (!traceGL_Native.glVertexStream4fvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream4fvATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream4dATI)
    traceGL_lookupNativeAddress("glVertexStream4dATI", (void **) &traceGL_Native.glVertexStream4dATI);

  traceThis = traceEnabled("glVertexStream4dATI",&traceParam);

  if (!traceGL_Native.glVertexStream4dATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream4dATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexStream4dvATI)
    traceGL_lookupNativeAddress("glVertexStream4dvATI", (void **) &traceGL_Native.glVertexStream4dvATI);

  traceThis = traceEnabled("glVertexStream4dvATI",&traceParam);

  if (!traceGL_Native.glVertexStream4dvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexStream4dvATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalStream3bATI)
    traceGL_lookupNativeAddress("glNormalStream3bATI", (void **) &traceGL_Native.glNormalStream3bATI);

  traceThis = traceEnabled("glNormalStream3bATI",&traceParam);

  if (!traceGL_Native.glNormalStream3bATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalStream3bATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalStream3bvATI)
    traceGL_lookupNativeAddress("glNormalStream3bvATI", (void **) &traceGL_Native.glNormalStream3bvATI);

  traceThis = traceEnabled("glNormalStream3bvATI",&traceParam);

  if (!traceGL_Native.glNormalStream3bvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalStream3bvATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalStream3sATI)
    traceGL_lookupNativeAddress("glNormalStream3sATI", (void **) &traceGL_Native.glNormalStream3sATI);

  traceThis = traceEnabled("glNormalStream3sATI",&traceParam);

  if (!traceGL_Native.glNormalStream3sATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalStream3sATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalStream3svATI)
    traceGL_lookupNativeAddress("glNormalStream3svATI", (void **) &traceGL_Native.glNormalStream3svATI);

  traceThis = traceEnabled("glNormalStream3svATI",&traceParam);

  if (!traceGL_Native.glNormalStream3svATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalStream3svATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalStream3iATI)
    traceGL_lookupNativeAddress("glNormalStream3iATI", (void **) &traceGL_Native.glNormalStream3iATI);

  traceThis = traceEnabled("glNormalStream3iATI",&traceParam);

  if (!traceGL_Native.glNormalStream3iATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalStream3iATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalStream3ivATI)
    traceGL_lookupNativeAddress("glNormalStream3ivATI", (void **) &traceGL_Native.glNormalStream3ivATI);

  traceThis = traceEnabled("glNormalStream3ivATI",&traceParam);

  if (!traceGL_Native.glNormalStream3ivATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalStream3ivATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalStream3fATI)
    traceGL_lookupNativeAddress("glNormalStream3fATI", (void **) &traceGL_Native.glNormalStream3fATI);

  traceThis = traceEnabled("glNormalStream3fATI",&traceParam);

  if (!traceGL_Native.glNormalStream3fATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalStream3fATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalStream3fvATI)
    traceGL_lookupNativeAddress("glNormalStream3fvATI", (void **) &traceGL_Native.glNormalStream3fvATI);

  traceThis = traceEnabled("glNormalStream3fvATI",&traceParam);

  if (!traceGL_Native.glNormalStream3fvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalStream3fvATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalStream3dATI)
    traceGL_lookupNativeAddress("glNormalStream3dATI", (void **) &traceGL_Native.glNormalStream3dATI);

  traceThis = traceEnabled("glNormalStream3dATI",&traceParam);

  if (!traceGL_Native.glNormalStream3dATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalStream3dATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalStream3dvATI)
    traceGL_lookupNativeAddress("glNormalStream3dvATI", (void **) &traceGL_Native.glNormalStream3dvATI);

  traceThis = traceEnabled("glNormalStream3dvATI",&traceParam);

  if (!traceGL_Native.glNormalStream3dvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalStream3dvATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClientActiveVertexStreamATI)
    traceGL_lookupNativeAddress("glClientActiveVertexStreamATI", (void **) &traceGL_Native.glClientActiveVertexStreamATI);

  traceThis = traceEnabled("glClientActiveVertexStreamATI",&traceParam);

  if (!traceGL_Native.glClientActiveVertexStreamATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClientActiveVertexStreamATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexBlendEnviATI)
    traceGL_lookupNativeAddress("glVertexBlendEnviATI", (void **) &traceGL_Native.glVertexBlendEnviATI);

  traceThis = traceEnabled("glVertexBlendEnviATI",&traceParam);

  if (!traceGL_Native.glVertexBlendEnviATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexBlendEnviATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexBlendEnvfATI)
    traceGL_lookupNativeAddress("glVertexBlendEnvfATI", (void **) &traceGL_Native.glVertexBlendEnvfATI);

  traceThis = traceEnabled("glVertexBlendEnvfATI",&traceParam);

  if (!traceGL_Native.glVertexBlendEnvfATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexBlendEnvfATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glElementPointerATI)
    traceGL_lookupNativeAddress("glElementPointerATI", (void **) &traceGL_Native.glElementPointerATI);

  traceThis = traceEnabled("glElementPointerATI",&traceParam);

  if (!traceGL_Native.glElementPointerATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glElementPointerATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawElementArrayATI)
    traceGL_lookupNativeAddress("glDrawElementArrayATI", (void **) &traceGL_Native.glDrawElementArrayATI);

  traceThis = traceEnabled("glDrawElementArrayATI",&traceParam);

  if (!traceGL_Native.glDrawElementArrayATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawElementArrayATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawRangeElementArrayATI)
    traceGL_lookupNativeAddress("glDrawRangeElementArrayATI", (void **) &traceGL_Native.glDrawRangeElementArrayATI);

  traceThis = traceEnabled("glDrawRangeElementArrayATI",&traceParam);

  if (!traceGL_Native.glDrawRangeElementArrayATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawRangeElementArrayATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawMeshArraysSUN)
    traceGL_lookupNativeAddress("glDrawMeshArraysSUN", (void **) &traceGL_Native.glDrawMeshArraysSUN);

  traceThis = traceEnabled("glDrawMeshArraysSUN",&traceParam);

  if (!traceGL_Native.glDrawMeshArraysSUN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawMeshArraysSUN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenOcclusionQueriesNV)
    traceGL_lookupNativeAddress("glGenOcclusionQueriesNV", (void **) &traceGL_Native.glGenOcclusionQueriesNV);

  traceThis = traceEnabled("glGenOcclusionQueriesNV",&traceParam);

  if (!traceGL_Native.glGenOcclusionQueriesNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenOcclusionQueriesNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenOcclusionQueriesNV(n, ids);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceOutputParameter("ids", "%u[%d]", ids, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glDeleteOcclusionQueriesNV(GLsizei n, const GLuint *ids)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteOcclusionQueriesNV)
    traceGL_lookupNativeAddress("glDeleteOcclusionQueriesNV", (void **) &traceGL_Native.glDeleteOcclusionQueriesNV);

  traceThis = traceEnabled("glDeleteOcclusionQueriesNV",&traceParam);

  if (!traceGL_Native.glDeleteOcclusionQueriesNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteOcclusionQueriesNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsOcclusionQueryNV)
    traceGL_lookupNativeAddress("glIsOcclusionQueryNV", (void **) &traceGL_Native.glIsOcclusionQueryNV);

  traceThis = traceEnabled("glIsOcclusionQueryNV",&traceParam);

  if (!traceGL_Native.glIsOcclusionQueryNV)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsOcclusionQueryNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsOcclusionQueryNV(id);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBeginOcclusionQueryNV(GLuint id)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBeginOcclusionQueryNV)
    traceGL_lookupNativeAddress("glBeginOcclusionQueryNV", (void **) &traceGL_Native.glBeginOcclusionQueryNV);

  traceThis = traceEnabled("glBeginOcclusionQueryNV",&traceParam);

  if (!traceGL_Native.glBeginOcclusionQueryNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBeginOcclusionQueryNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndOcclusionQueryNV)
    traceGL_lookupNativeAddress("glEndOcclusionQueryNV", (void **) &traceGL_Native.glEndOcclusionQueryNV);

  traceThis = traceEnabled("glEndOcclusionQueryNV",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetOcclusionQueryivNV)
    traceGL_lookupNativeAddress("glGetOcclusionQueryivNV", (void **) &traceGL_Native.glGetOcclusionQueryivNV);

  traceThis = traceEnabled("glGetOcclusionQueryivNV",&traceParam);

  if (!traceGL_Native.glGetOcclusionQueryivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetOcclusionQueryivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetOcclusionQueryuivNV)
    traceGL_lookupNativeAddress("glGetOcclusionQueryuivNV", (void **) &traceGL_Native.glGetOcclusionQueryuivNV);

  traceThis = traceEnabled("glGetOcclusionQueryuivNV",&traceParam);

  if (!traceGL_Native.glGetOcclusionQueryuivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetOcclusionQueryuivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPointParameteriNV)
    traceGL_lookupNativeAddress("glPointParameteriNV", (void **) &traceGL_Native.glPointParameteriNV);

  traceThis = traceEnabled("glPointParameteriNV",&traceParam);

  if (!traceGL_Native.glPointParameteriNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPointParameteriNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPointParameterivNV)
    traceGL_lookupNativeAddress("glPointParameterivNV", (void **) &traceGL_Native.glPointParameterivNV);

  traceThis = traceEnabled("glPointParameterivNV",&traceParam);

  if (!traceGL_Native.glPointParameterivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPointParameterivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glActiveStencilFaceEXT)
    traceGL_lookupNativeAddress("glActiveStencilFaceEXT", (void **) &traceGL_Native.glActiveStencilFaceEXT);

  traceThis = traceEnabled("glActiveStencilFaceEXT",&traceParam);

  if (!traceGL_Native.glActiveStencilFaceEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glActiveStencilFaceEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glElementPointerAPPLE)
    traceGL_lookupNativeAddress("glElementPointerAPPLE", (void **) &traceGL_Native.glElementPointerAPPLE);

  traceThis = traceEnabled("glElementPointerAPPLE",&traceParam);

  if (!traceGL_Native.glElementPointerAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glElementPointerAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawElementArrayAPPLE)
    traceGL_lookupNativeAddress("glDrawElementArrayAPPLE", (void **) &traceGL_Native.glDrawElementArrayAPPLE);

  traceThis = traceEnabled("glDrawElementArrayAPPLE",&traceParam);

  if (!traceGL_Native.glDrawElementArrayAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawElementArrayAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawRangeElementArrayAPPLE)
    traceGL_lookupNativeAddress("glDrawRangeElementArrayAPPLE", (void **) &traceGL_Native.glDrawRangeElementArrayAPPLE);

  traceThis = traceEnabled("glDrawRangeElementArrayAPPLE",&traceParam);

  if (!traceGL_Native.glDrawRangeElementArrayAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawRangeElementArrayAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiDrawElementArrayAPPLE)
    traceGL_lookupNativeAddress("glMultiDrawElementArrayAPPLE", (void **) &traceGL_Native.glMultiDrawElementArrayAPPLE);

  traceThis = traceEnabled("glMultiDrawElementArrayAPPLE",&traceParam);

  if (!traceGL_Native.glMultiDrawElementArrayAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiDrawElementArrayAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiDrawRangeElementArrayAPPLE)
    traceGL_lookupNativeAddress("glMultiDrawRangeElementArrayAPPLE", (void **) &traceGL_Native.glMultiDrawRangeElementArrayAPPLE);

  traceThis = traceEnabled("glMultiDrawRangeElementArrayAPPLE",&traceParam);

  if (!traceGL_Native.glMultiDrawRangeElementArrayAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiDrawRangeElementArrayAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenFencesAPPLE)
    traceGL_lookupNativeAddress("glGenFencesAPPLE", (void **) &traceGL_Native.glGenFencesAPPLE);

  traceThis = traceEnabled("glGenFencesAPPLE",&traceParam);

  if (!traceGL_Native.glGenFencesAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenFencesAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteFencesAPPLE)
    traceGL_lookupNativeAddress("glDeleteFencesAPPLE", (void **) &traceGL_Native.glDeleteFencesAPPLE);

  traceThis = traceEnabled("glDeleteFencesAPPLE",&traceParam);

  if (!traceGL_Native.glDeleteFencesAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteFencesAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSetFenceAPPLE)
    traceGL_lookupNativeAddress("glSetFenceAPPLE", (void **) &traceGL_Native.glSetFenceAPPLE);

  traceThis = traceEnabled("glSetFenceAPPLE",&traceParam);

  if (!traceGL_Native.glSetFenceAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSetFenceAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsFenceAPPLE)
    traceGL_lookupNativeAddress("glIsFenceAPPLE", (void **) &traceGL_Native.glIsFenceAPPLE);

  traceThis = traceEnabled("glIsFenceAPPLE",&traceParam);

  if (!traceGL_Native.glIsFenceAPPLE)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsFenceAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("fence", "%u", fence);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsFenceAPPLE(fence);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLboolean GLAPIENTRY
glTestFenceAPPLE(GLuint fence)
{
  GLboolean ret = GL_FALSE;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTestFenceAPPLE)
    traceGL_lookupNativeAddress("glTestFenceAPPLE", (void **) &traceGL_Native.glTestFenceAPPLE);

  traceThis = traceEnabled("glTestFenceAPPLE",&traceParam);

  if (!traceGL_Native.glTestFenceAPPLE)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTestFenceAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("fence", "%u", fence);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glTestFenceAPPLE(fence);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glFinishFenceAPPLE(GLuint fence)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFinishFenceAPPLE)
    traceGL_lookupNativeAddress("glFinishFenceAPPLE", (void **) &traceGL_Native.glFinishFenceAPPLE);

  traceThis = traceEnabled("glFinishFenceAPPLE",&traceParam);

  if (!traceGL_Native.glFinishFenceAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFinishFenceAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTestObjectAPPLE)
    traceGL_lookupNativeAddress("glTestObjectAPPLE", (void **) &traceGL_Native.glTestObjectAPPLE);

  traceThis = traceEnabled("glTestObjectAPPLE",&traceParam);

  if (!traceGL_Native.glTestObjectAPPLE)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTestObjectAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glFinishObjectAPPLE(GLenum object, GLint name)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFinishObjectAPPLE)
    traceGL_lookupNativeAddress("glFinishObjectAPPLE", (void **) &traceGL_Native.glFinishObjectAPPLE);

  traceThis = traceEnabled("glFinishObjectAPPLE",&traceParam);

  if (!traceGL_Native.glFinishObjectAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFinishObjectAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindVertexArrayAPPLE)
    traceGL_lookupNativeAddress("glBindVertexArrayAPPLE", (void **) &traceGL_Native.glBindVertexArrayAPPLE);

  traceThis = traceEnabled("glBindVertexArrayAPPLE",&traceParam);

  if (!traceGL_Native.glBindVertexArrayAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindVertexArrayAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteVertexArraysAPPLE)
    traceGL_lookupNativeAddress("glDeleteVertexArraysAPPLE", (void **) &traceGL_Native.glDeleteVertexArraysAPPLE);

  traceThis = traceEnabled("glDeleteVertexArraysAPPLE",&traceParam);

  if (!traceGL_Native.glDeleteVertexArraysAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteVertexArraysAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenVertexArraysAPPLE)
    traceGL_lookupNativeAddress("glGenVertexArraysAPPLE", (void **) &traceGL_Native.glGenVertexArraysAPPLE);

  traceThis = traceEnabled("glGenVertexArraysAPPLE",&traceParam);

  if (!traceGL_Native.glGenVertexArraysAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenVertexArraysAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsVertexArrayAPPLE)
    traceGL_lookupNativeAddress("glIsVertexArrayAPPLE", (void **) &traceGL_Native.glIsVertexArrayAPPLE);

  traceThis = traceEnabled("glIsVertexArrayAPPLE",&traceParam);

  if (!traceGL_Native.glIsVertexArrayAPPLE)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsVertexArrayAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("array", "%u", array);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsVertexArrayAPPLE(array);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glVertexArrayRangeAPPLE(GLsizei length, GLvoid *pointer)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexArrayRangeAPPLE)
    traceGL_lookupNativeAddress("glVertexArrayRangeAPPLE", (void **) &traceGL_Native.glVertexArrayRangeAPPLE);

  traceThis = traceEnabled("glVertexArrayRangeAPPLE",&traceParam);

  if (!traceGL_Native.glVertexArrayRangeAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexArrayRangeAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("length", "%d", length);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glVertexArrayRangeAPPLE(length, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceOutputParameter("pointer", "%p", pointer);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glFlushVertexArrayRangeAPPLE(GLsizei length, GLvoid *pointer)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFlushVertexArrayRangeAPPLE)
    traceGL_lookupNativeAddress("glFlushVertexArrayRangeAPPLE", (void **) &traceGL_Native.glFlushVertexArrayRangeAPPLE);

  traceThis = traceEnabled("glFlushVertexArrayRangeAPPLE",&traceParam);

  if (!traceGL_Native.glFlushVertexArrayRangeAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFlushVertexArrayRangeAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("length", "%d", length);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glFlushVertexArrayRangeAPPLE(length, pointer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceOutputParameter("pointer", "%p", pointer);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertexArrayParameteriAPPLE(GLenum pname, GLint param)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexArrayParameteriAPPLE)
    traceGL_lookupNativeAddress("glVertexArrayParameteriAPPLE", (void **) &traceGL_Native.glVertexArrayParameteriAPPLE);

  traceThis = traceEnabled("glVertexArrayParameteriAPPLE",&traceParam);

  if (!traceGL_Native.glVertexArrayParameteriAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexArrayParameteriAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawBuffersATI)
    traceGL_lookupNativeAddress("glDrawBuffersATI", (void **) &traceGL_Native.glDrawBuffersATI);

  traceThis = traceEnabled("glDrawBuffersATI",&traceParam);

  if (!traceGL_Native.glDrawBuffersATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawBuffersATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramNamedParameter4fNV)
    traceGL_lookupNativeAddress("glProgramNamedParameter4fNV", (void **) &traceGL_Native.glProgramNamedParameter4fNV);

  traceThis = traceEnabled("glProgramNamedParameter4fNV",&traceParam);

  if (!traceGL_Native.glProgramNamedParameter4fNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramNamedParameter4fNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramNamedParameter4dNV)
    traceGL_lookupNativeAddress("glProgramNamedParameter4dNV", (void **) &traceGL_Native.glProgramNamedParameter4dNV);

  traceThis = traceEnabled("glProgramNamedParameter4dNV",&traceParam);

  if (!traceGL_Native.glProgramNamedParameter4dNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramNamedParameter4dNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramNamedParameter4fvNV)
    traceGL_lookupNativeAddress("glProgramNamedParameter4fvNV", (void **) &traceGL_Native.glProgramNamedParameter4fvNV);

  traceThis = traceEnabled("glProgramNamedParameter4fvNV",&traceParam);

  if (!traceGL_Native.glProgramNamedParameter4fvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramNamedParameter4fvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramNamedParameter4dvNV)
    traceGL_lookupNativeAddress("glProgramNamedParameter4dvNV", (void **) &traceGL_Native.glProgramNamedParameter4dvNV);

  traceThis = traceEnabled("glProgramNamedParameter4dvNV",&traceParam);

  if (!traceGL_Native.glProgramNamedParameter4dvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramNamedParameter4dvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramNamedParameterfvNV)
    traceGL_lookupNativeAddress("glGetProgramNamedParameterfvNV", (void **) &traceGL_Native.glGetProgramNamedParameterfvNV);

  traceThis = traceEnabled("glGetProgramNamedParameterfvNV",&traceParam);

  if (!traceGL_Native.glGetProgramNamedParameterfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramNamedParameterfvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramNamedParameterdvNV)
    traceGL_lookupNativeAddress("glGetProgramNamedParameterdvNV", (void **) &traceGL_Native.glGetProgramNamedParameterdvNV);

  traceThis = traceEnabled("glGetProgramNamedParameterdvNV",&traceParam);

  if (!traceGL_Native.glGetProgramNamedParameterdvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramNamedParameterdvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%lf[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glVertex2hNV(GLhalfNV x, GLhalfNV y)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex2hNV)
    traceGL_lookupNativeAddress("glVertex2hNV", (void **) &traceGL_Native.glVertex2hNV);

  traceThis = traceEnabled("glVertex2hNV",&traceParam);

  if (!traceGL_Native.glVertex2hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex2hNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex2hvNV)
    traceGL_lookupNativeAddress("glVertex2hvNV", (void **) &traceGL_Native.glVertex2hvNV);

  traceThis = traceEnabled("glVertex2hvNV",&traceParam);

  if (!traceGL_Native.glVertex2hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex2hvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex3hNV)
    traceGL_lookupNativeAddress("glVertex3hNV", (void **) &traceGL_Native.glVertex3hNV);

  traceThis = traceEnabled("glVertex3hNV",&traceParam);

  if (!traceGL_Native.glVertex3hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex3hNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex3hvNV)
    traceGL_lookupNativeAddress("glVertex3hvNV", (void **) &traceGL_Native.glVertex3hvNV);

  traceThis = traceEnabled("glVertex3hvNV",&traceParam);

  if (!traceGL_Native.glVertex3hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex3hvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex4hNV)
    traceGL_lookupNativeAddress("glVertex4hNV", (void **) &traceGL_Native.glVertex4hNV);

  traceThis = traceEnabled("glVertex4hNV",&traceParam);

  if (!traceGL_Native.glVertex4hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex4hNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertex4hvNV)
    traceGL_lookupNativeAddress("glVertex4hvNV", (void **) &traceGL_Native.glVertex4hvNV);

  traceThis = traceEnabled("glVertex4hvNV",&traceParam);

  if (!traceGL_Native.glVertex4hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertex4hvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormal3hNV)
    traceGL_lookupNativeAddress("glNormal3hNV", (void **) &traceGL_Native.glNormal3hNV);

  traceThis = traceEnabled("glNormal3hNV",&traceParam);

  if (!traceGL_Native.glNormal3hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormal3hNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormal3hvNV)
    traceGL_lookupNativeAddress("glNormal3hvNV", (void **) &traceGL_Native.glNormal3hvNV);

  traceThis = traceEnabled("glNormal3hvNV",&traceParam);

  if (!traceGL_Native.glNormal3hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormal3hvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor3hNV)
    traceGL_lookupNativeAddress("glColor3hNV", (void **) &traceGL_Native.glColor3hNV);

  traceThis = traceEnabled("glColor3hNV",&traceParam);

  if (!traceGL_Native.glColor3hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor3hNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor3hvNV)
    traceGL_lookupNativeAddress("glColor3hvNV", (void **) &traceGL_Native.glColor3hvNV);

  traceThis = traceEnabled("glColor3hvNV",&traceParam);

  if (!traceGL_Native.glColor3hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor3hvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4hNV)
    traceGL_lookupNativeAddress("glColor4hNV", (void **) &traceGL_Native.glColor4hNV);

  traceThis = traceEnabled("glColor4hNV",&traceParam);

  if (!traceGL_Native.glColor4hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4hNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColor4hvNV)
    traceGL_lookupNativeAddress("glColor4hvNV", (void **) &traceGL_Native.glColor4hvNV);

  traceThis = traceEnabled("glColor4hvNV",&traceParam);

  if (!traceGL_Native.glColor4hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColor4hvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord1hNV)
    traceGL_lookupNativeAddress("glTexCoord1hNV", (void **) &traceGL_Native.glTexCoord1hNV);

  traceThis = traceEnabled("glTexCoord1hNV",&traceParam);

  if (!traceGL_Native.glTexCoord1hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord1hNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord1hvNV)
    traceGL_lookupNativeAddress("glTexCoord1hvNV", (void **) &traceGL_Native.glTexCoord1hvNV);

  traceThis = traceEnabled("glTexCoord1hvNV",&traceParam);

  if (!traceGL_Native.glTexCoord1hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord1hvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2hNV)
    traceGL_lookupNativeAddress("glTexCoord2hNV", (void **) &traceGL_Native.glTexCoord2hNV);

  traceThis = traceEnabled("glTexCoord2hNV",&traceParam);

  if (!traceGL_Native.glTexCoord2hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2hNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord2hvNV)
    traceGL_lookupNativeAddress("glTexCoord2hvNV", (void **) &traceGL_Native.glTexCoord2hvNV);

  traceThis = traceEnabled("glTexCoord2hvNV",&traceParam);

  if (!traceGL_Native.glTexCoord2hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord2hvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord3hNV)
    traceGL_lookupNativeAddress("glTexCoord3hNV", (void **) &traceGL_Native.glTexCoord3hNV);

  traceThis = traceEnabled("glTexCoord3hNV",&traceParam);

  if (!traceGL_Native.glTexCoord3hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord3hNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord3hvNV)
    traceGL_lookupNativeAddress("glTexCoord3hvNV", (void **) &traceGL_Native.glTexCoord3hvNV);

  traceThis = traceEnabled("glTexCoord3hvNV",&traceParam);

  if (!traceGL_Native.glTexCoord3hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord3hvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord4hNV)
    traceGL_lookupNativeAddress("glTexCoord4hNV", (void **) &traceGL_Native.glTexCoord4hNV);

  traceThis = traceEnabled("glTexCoord4hNV",&traceParam);

  if (!traceGL_Native.glTexCoord4hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord4hNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoord4hvNV)
    traceGL_lookupNativeAddress("glTexCoord4hvNV", (void **) &traceGL_Native.glTexCoord4hvNV);

  traceThis = traceEnabled("glTexCoord4hvNV",&traceParam);

  if (!traceGL_Native.glTexCoord4hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoord4hvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1hNV)
    traceGL_lookupNativeAddress("glMultiTexCoord1hNV", (void **) &traceGL_Native.glMultiTexCoord1hNV);

  traceThis = traceEnabled("glMultiTexCoord1hNV",&traceParam);

  if (!traceGL_Native.glMultiTexCoord1hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1hNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord1hvNV)
    traceGL_lookupNativeAddress("glMultiTexCoord1hvNV", (void **) &traceGL_Native.glMultiTexCoord1hvNV);

  traceThis = traceEnabled("glMultiTexCoord1hvNV",&traceParam);

  if (!traceGL_Native.glMultiTexCoord1hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord1hvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2hNV)
    traceGL_lookupNativeAddress("glMultiTexCoord2hNV", (void **) &traceGL_Native.glMultiTexCoord2hNV);

  traceThis = traceEnabled("glMultiTexCoord2hNV",&traceParam);

  if (!traceGL_Native.glMultiTexCoord2hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2hNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord2hvNV)
    traceGL_lookupNativeAddress("glMultiTexCoord2hvNV", (void **) &traceGL_Native.glMultiTexCoord2hvNV);

  traceThis = traceEnabled("glMultiTexCoord2hvNV",&traceParam);

  if (!traceGL_Native.glMultiTexCoord2hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord2hvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3hNV)
    traceGL_lookupNativeAddress("glMultiTexCoord3hNV", (void **) &traceGL_Native.glMultiTexCoord3hNV);

  traceThis = traceEnabled("glMultiTexCoord3hNV",&traceParam);

  if (!traceGL_Native.glMultiTexCoord3hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3hNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord3hvNV)
    traceGL_lookupNativeAddress("glMultiTexCoord3hvNV", (void **) &traceGL_Native.glMultiTexCoord3hvNV);

  traceThis = traceEnabled("glMultiTexCoord3hvNV",&traceParam);

  if (!traceGL_Native.glMultiTexCoord3hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord3hvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4hNV)
    traceGL_lookupNativeAddress("glMultiTexCoord4hNV", (void **) &traceGL_Native.glMultiTexCoord4hNV);

  traceThis = traceEnabled("glMultiTexCoord4hNV",&traceParam);

  if (!traceGL_Native.glMultiTexCoord4hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4hNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoord4hvNV)
    traceGL_lookupNativeAddress("glMultiTexCoord4hvNV", (void **) &traceGL_Native.glMultiTexCoord4hvNV);

  traceThis = traceEnabled("glMultiTexCoord4hvNV",&traceParam);

  if (!traceGL_Native.glMultiTexCoord4hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoord4hvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoordhNV)
    traceGL_lookupNativeAddress("glFogCoordhNV", (void **) &traceGL_Native.glFogCoordhNV);

  traceThis = traceEnabled("glFogCoordhNV",&traceParam);

  if (!traceGL_Native.glFogCoordhNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoordhNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoordhvNV)
    traceGL_lookupNativeAddress("glFogCoordhvNV", (void **) &traceGL_Native.glFogCoordhvNV);

  traceThis = traceEnabled("glFogCoordhvNV",&traceParam);

  if (!traceGL_Native.glFogCoordhvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoordhvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3hNV)
    traceGL_lookupNativeAddress("glSecondaryColor3hNV", (void **) &traceGL_Native.glSecondaryColor3hNV);

  traceThis = traceEnabled("glSecondaryColor3hNV",&traceParam);

  if (!traceGL_Native.glSecondaryColor3hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3hNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColor3hvNV)
    traceGL_lookupNativeAddress("glSecondaryColor3hvNV", (void **) &traceGL_Native.glSecondaryColor3hvNV);

  traceThis = traceEnabled("glSecondaryColor3hvNV",&traceParam);

  if (!traceGL_Native.glSecondaryColor3hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColor3hvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexWeighthNV)
    traceGL_lookupNativeAddress("glVertexWeighthNV", (void **) &traceGL_Native.glVertexWeighthNV);

  traceThis = traceEnabled("glVertexWeighthNV",&traceParam);

  if (!traceGL_Native.glVertexWeighthNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexWeighthNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexWeighthvNV)
    traceGL_lookupNativeAddress("glVertexWeighthvNV", (void **) &traceGL_Native.glVertexWeighthvNV);

  traceThis = traceEnabled("glVertexWeighthvNV",&traceParam);

  if (!traceGL_Native.glVertexWeighthvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexWeighthvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1hNV)
    traceGL_lookupNativeAddress("glVertexAttrib1hNV", (void **) &traceGL_Native.glVertexAttrib1hNV);

  traceThis = traceEnabled("glVertexAttrib1hNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib1hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1hNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib1hvNV)
    traceGL_lookupNativeAddress("glVertexAttrib1hvNV", (void **) &traceGL_Native.glVertexAttrib1hvNV);

  traceThis = traceEnabled("glVertexAttrib1hvNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib1hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib1hvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2hNV)
    traceGL_lookupNativeAddress("glVertexAttrib2hNV", (void **) &traceGL_Native.glVertexAttrib2hNV);

  traceThis = traceEnabled("glVertexAttrib2hNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib2hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2hNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib2hvNV)
    traceGL_lookupNativeAddress("glVertexAttrib2hvNV", (void **) &traceGL_Native.glVertexAttrib2hvNV);

  traceThis = traceEnabled("glVertexAttrib2hvNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib2hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib2hvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3hNV)
    traceGL_lookupNativeAddress("glVertexAttrib3hNV", (void **) &traceGL_Native.glVertexAttrib3hNV);

  traceThis = traceEnabled("glVertexAttrib3hNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib3hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3hNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib3hvNV)
    traceGL_lookupNativeAddress("glVertexAttrib3hvNV", (void **) &traceGL_Native.glVertexAttrib3hvNV);

  traceThis = traceEnabled("glVertexAttrib3hvNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib3hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib3hvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4hNV)
    traceGL_lookupNativeAddress("glVertexAttrib4hNV", (void **) &traceGL_Native.glVertexAttrib4hNV);

  traceThis = traceEnabled("glVertexAttrib4hNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib4hNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4hNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttrib4hvNV)
    traceGL_lookupNativeAddress("glVertexAttrib4hvNV", (void **) &traceGL_Native.glVertexAttrib4hvNV);

  traceThis = traceEnabled("glVertexAttrib4hvNV",&traceParam);

  if (!traceGL_Native.glVertexAttrib4hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttrib4hvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs1hvNV)
    traceGL_lookupNativeAddress("glVertexAttribs1hvNV", (void **) &traceGL_Native.glVertexAttribs1hvNV);

  traceThis = traceEnabled("glVertexAttribs1hvNV",&traceParam);

  if (!traceGL_Native.glVertexAttribs1hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs1hvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs2hvNV)
    traceGL_lookupNativeAddress("glVertexAttribs2hvNV", (void **) &traceGL_Native.glVertexAttribs2hvNV);

  traceThis = traceEnabled("glVertexAttribs2hvNV",&traceParam);

  if (!traceGL_Native.glVertexAttribs2hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs2hvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs3hvNV)
    traceGL_lookupNativeAddress("glVertexAttribs3hvNV", (void **) &traceGL_Native.glVertexAttribs3hvNV);

  traceThis = traceEnabled("glVertexAttribs3hvNV",&traceParam);

  if (!traceGL_Native.glVertexAttribs3hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs3hvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribs4hvNV)
    traceGL_lookupNativeAddress("glVertexAttribs4hvNV", (void **) &traceGL_Native.glVertexAttribs4hvNV);

  traceThis = traceEnabled("glVertexAttribs4hvNV",&traceParam);

  if (!traceGL_Native.glVertexAttribs4hvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribs4hvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPixelDataRangeNV)
    traceGL_lookupNativeAddress("glPixelDataRangeNV", (void **) &traceGL_Native.glPixelDataRangeNV);

  traceThis = traceEnabled("glPixelDataRangeNV",&traceParam);

  if (!traceGL_Native.glPixelDataRangeNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPixelDataRangeNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFlushPixelDataRangeNV)
    traceGL_lookupNativeAddress("glFlushPixelDataRangeNV", (void **) &traceGL_Native.glFlushPixelDataRangeNV);

  traceThis = traceEnabled("glFlushPixelDataRangeNV",&traceParam);

  if (!traceGL_Native.glFlushPixelDataRangeNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFlushPixelDataRangeNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPrimitiveRestartNV)
    traceGL_lookupNativeAddress("glPrimitiveRestartNV", (void **) &traceGL_Native.glPrimitiveRestartNV);

  traceThis = traceEnabled("glPrimitiveRestartNV",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPrimitiveRestartIndexNV)
    traceGL_lookupNativeAddress("glPrimitiveRestartIndexNV", (void **) &traceGL_Native.glPrimitiveRestartIndexNV);

  traceThis = traceEnabled("glPrimitiveRestartIndexNV",&traceParam);

  if (!traceGL_Native.glPrimitiveRestartIndexNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPrimitiveRestartIndexNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapObjectBufferATI)
    traceGL_lookupNativeAddress("glMapObjectBufferATI", (void **) &traceGL_Native.glMapObjectBufferATI);

  traceThis = traceEnabled("glMapObjectBufferATI",&traceParam);

  if (!traceGL_Native.glMapObjectBufferATI)
    return NULL;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapObjectBufferATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("buffer", "%u", buffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glMapObjectBufferATI(buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%p", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glUnmapObjectBufferATI(GLuint buffer)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUnmapObjectBufferATI)
    traceGL_lookupNativeAddress("glUnmapObjectBufferATI", (void **) &traceGL_Native.glUnmapObjectBufferATI);

  traceThis = traceEnabled("glUnmapObjectBufferATI",&traceParam);

  if (!traceGL_Native.glUnmapObjectBufferATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUnmapObjectBufferATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glStencilOpSeparateATI)
    traceGL_lookupNativeAddress("glStencilOpSeparateATI", (void **) &traceGL_Native.glStencilOpSeparateATI);

  traceThis = traceEnabled("glStencilOpSeparateATI",&traceParam);

  if (!traceGL_Native.glStencilOpSeparateATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glStencilOpSeparateATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glStencilFuncSeparateATI)
    traceGL_lookupNativeAddress("glStencilFuncSeparateATI", (void **) &traceGL_Native.glStencilFuncSeparateATI);

  traceThis = traceEnabled("glStencilFuncSeparateATI",&traceParam);

  if (!traceGL_Native.glStencilFuncSeparateATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glStencilFuncSeparateATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribArrayObjectATI)
    traceGL_lookupNativeAddress("glVertexAttribArrayObjectATI", (void **) &traceGL_Native.glVertexAttribArrayObjectATI);

  traceThis = traceEnabled("glVertexAttribArrayObjectATI",&traceParam);

  if (!traceGL_Native.glVertexAttribArrayObjectATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribArrayObjectATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribArrayObjectfvATI)
    traceGL_lookupNativeAddress("glGetVertexAttribArrayObjectfvATI", (void **) &traceGL_Native.glGetVertexAttribArrayObjectfvATI);

  traceThis = traceEnabled("glGetVertexAttribArrayObjectfvATI",&traceParam);

  if (!traceGL_Native.glGetVertexAttribArrayObjectfvATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribArrayObjectfvATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribArrayObjectivATI)
    traceGL_lookupNativeAddress("glGetVertexAttribArrayObjectivATI", (void **) &traceGL_Native.glGetVertexAttribArrayObjectivATI);

  traceThis = traceEnabled("glGetVertexAttribArrayObjectivATI",&traceParam);

  if (!traceGL_Native.glGetVertexAttribArrayObjectivATI)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribArrayObjectivATI");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDepthBoundsEXT)
    traceGL_lookupNativeAddress("glDepthBoundsEXT", (void **) &traceGL_Native.glDepthBoundsEXT);

  traceThis = traceEnabled("glDepthBoundsEXT",&traceParam);

  if (!traceGL_Native.glDepthBoundsEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDepthBoundsEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendEquationSeparateEXT)
    traceGL_lookupNativeAddress("glBlendEquationSeparateEXT", (void **) &traceGL_Native.glBlendEquationSeparateEXT);

  traceThis = traceEnabled("glBlendEquationSeparateEXT",&traceParam);

  if (!traceGL_Native.glBlendEquationSeparateEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendEquationSeparateEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsRenderbufferEXT)
    traceGL_lookupNativeAddress("glIsRenderbufferEXT", (void **) &traceGL_Native.glIsRenderbufferEXT);

  traceThis = traceEnabled("glIsRenderbufferEXT",&traceParam);

  if (!traceGL_Native.glIsRenderbufferEXT)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsRenderbufferEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("renderbuffer", "%u", renderbuffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsRenderbufferEXT(renderbuffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBindRenderbufferEXT(GLenum target, GLuint renderbuffer)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindRenderbufferEXT)
    traceGL_lookupNativeAddress("glBindRenderbufferEXT", (void **) &traceGL_Native.glBindRenderbufferEXT);

  traceThis = traceEnabled("glBindRenderbufferEXT",&traceParam);

  if (!traceGL_Native.glBindRenderbufferEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindRenderbufferEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteRenderbuffersEXT)
    traceGL_lookupNativeAddress("glDeleteRenderbuffersEXT", (void **) &traceGL_Native.glDeleteRenderbuffersEXT);

  traceThis = traceEnabled("glDeleteRenderbuffersEXT",&traceParam);

  if (!traceGL_Native.glDeleteRenderbuffersEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteRenderbuffersEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenRenderbuffersEXT)
    traceGL_lookupNativeAddress("glGenRenderbuffersEXT", (void **) &traceGL_Native.glGenRenderbuffersEXT);

  traceThis = traceEnabled("glGenRenderbuffersEXT",&traceParam);

  if (!traceGL_Native.glGenRenderbuffersEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenRenderbuffersEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenRenderbuffersEXT(n, renderbuffers);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceOutputParameter("renderbuffers", "%u[%d]", renderbuffers, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glRenderbufferStorageEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRenderbufferStorageEXT)
    traceGL_lookupNativeAddress("glRenderbufferStorageEXT", (void **) &traceGL_Native.glRenderbufferStorageEXT);

  traceThis = traceEnabled("glRenderbufferStorageEXT",&traceParam);

  if (!traceGL_Native.glRenderbufferStorageEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRenderbufferStorageEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetRenderbufferParameterivEXT)
    traceGL_lookupNativeAddress("glGetRenderbufferParameterivEXT", (void **) &traceGL_Native.glGetRenderbufferParameterivEXT);

  traceThis = traceEnabled("glGetRenderbufferParameterivEXT",&traceParam);

  if (!traceGL_Native.glGetRenderbufferParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetRenderbufferParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsFramebufferEXT)
    traceGL_lookupNativeAddress("glIsFramebufferEXT", (void **) &traceGL_Native.glIsFramebufferEXT);

  traceThis = traceEnabled("glIsFramebufferEXT",&traceParam);

  if (!traceGL_Native.glIsFramebufferEXT)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsFramebufferEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("framebuffer", "%u", framebuffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsFramebufferEXT(framebuffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBindFramebufferEXT(GLenum target, GLuint framebuffer)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindFramebufferEXT)
    traceGL_lookupNativeAddress("glBindFramebufferEXT", (void **) &traceGL_Native.glBindFramebufferEXT);

  traceThis = traceEnabled("glBindFramebufferEXT",&traceParam);

  if (!traceGL_Native.glBindFramebufferEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindFramebufferEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteFramebuffersEXT)
    traceGL_lookupNativeAddress("glDeleteFramebuffersEXT", (void **) &traceGL_Native.glDeleteFramebuffersEXT);

  traceThis = traceEnabled("glDeleteFramebuffersEXT",&traceParam);

  if (!traceGL_Native.glDeleteFramebuffersEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteFramebuffersEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenFramebuffersEXT)
    traceGL_lookupNativeAddress("glGenFramebuffersEXT", (void **) &traceGL_Native.glGenFramebuffersEXT);

  traceThis = traceEnabled("glGenFramebuffersEXT",&traceParam);

  if (!traceGL_Native.glGenFramebuffersEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenFramebuffersEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenFramebuffersEXT(n, framebuffers);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceOutputParameter("framebuffers", "%u[%d]", framebuffers, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLenum GLAPIENTRY
glCheckFramebufferStatusEXT(GLenum target)
{
  GLenum ret = 0;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCheckFramebufferStatusEXT)
    traceGL_lookupNativeAddress("glCheckFramebufferStatusEXT", (void **) &traceGL_Native.glCheckFramebufferStatusEXT);

  traceThis = traceEnabled("glCheckFramebufferStatusEXT",&traceParam);

  if (!traceGL_Native.glCheckFramebufferStatusEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCheckFramebufferStatusEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glCheckFramebufferStatusEXT(target);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTexture1DEXT)
    traceGL_lookupNativeAddress("glFramebufferTexture1DEXT", (void **) &traceGL_Native.glFramebufferTexture1DEXT);

  traceThis = traceEnabled("glFramebufferTexture1DEXT",&traceParam);

  if (!traceGL_Native.glFramebufferTexture1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTexture1DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTexture2DEXT)
    traceGL_lookupNativeAddress("glFramebufferTexture2DEXT", (void **) &traceGL_Native.glFramebufferTexture2DEXT);

  traceThis = traceEnabled("glFramebufferTexture2DEXT",&traceParam);

  if (!traceGL_Native.glFramebufferTexture2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTexture2DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTexture3DEXT)
    traceGL_lookupNativeAddress("glFramebufferTexture3DEXT", (void **) &traceGL_Native.glFramebufferTexture3DEXT);

  traceThis = traceEnabled("glFramebufferTexture3DEXT",&traceParam);

  if (!traceGL_Native.glFramebufferTexture3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTexture3DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferRenderbufferEXT)
    traceGL_lookupNativeAddress("glFramebufferRenderbufferEXT", (void **) &traceGL_Native.glFramebufferRenderbufferEXT);

  traceThis = traceEnabled("glFramebufferRenderbufferEXT",&traceParam);

  if (!traceGL_Native.glFramebufferRenderbufferEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferRenderbufferEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFramebufferAttachmentParameterivEXT)
    traceGL_lookupNativeAddress("glGetFramebufferAttachmentParameterivEXT", (void **) &traceGL_Native.glGetFramebufferAttachmentParameterivEXT);

  traceThis = traceEnabled("glGetFramebufferAttachmentParameterivEXT",&traceParam);

  if (!traceGL_Native.glGetFramebufferAttachmentParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFramebufferAttachmentParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenerateMipmapEXT)
    traceGL_lookupNativeAddress("glGenerateMipmapEXT", (void **) &traceGL_Native.glGenerateMipmapEXT);

  traceThis = traceEnabled("glGenerateMipmapEXT",&traceParam);

  if (!traceGL_Native.glGenerateMipmapEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenerateMipmapEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glStringMarkerGREMEDY)
    traceGL_lookupNativeAddress("glStringMarkerGREMEDY", (void **) &traceGL_Native.glStringMarkerGREMEDY);

  traceThis = traceEnabled("glStringMarkerGREMEDY",&traceParam);

  if (!traceGL_Native.glStringMarkerGREMEDY)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glStringMarkerGREMEDY");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glStencilClearTagEXT)
    traceGL_lookupNativeAddress("glStencilClearTagEXT", (void **) &traceGL_Native.glStencilClearTagEXT);

  traceThis = traceEnabled("glStencilClearTagEXT",&traceParam);

  if (!traceGL_Native.glStencilClearTagEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glStencilClearTagEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlitFramebufferEXT)
    traceGL_lookupNativeAddress("glBlitFramebufferEXT", (void **) &traceGL_Native.glBlitFramebufferEXT);

  traceThis = traceEnabled("glBlitFramebufferEXT",&traceParam);

  if (!traceGL_Native.glBlitFramebufferEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlitFramebufferEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRenderbufferStorageMultisampleEXT)
    traceGL_lookupNativeAddress("glRenderbufferStorageMultisampleEXT", (void **) &traceGL_Native.glRenderbufferStorageMultisampleEXT);

  traceThis = traceEnabled("glRenderbufferStorageMultisampleEXT",&traceParam);

  if (!traceGL_Native.glRenderbufferStorageMultisampleEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRenderbufferStorageMultisampleEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetQueryObjecti64vEXT)
    traceGL_lookupNativeAddress("glGetQueryObjecti64vEXT", (void **) &traceGL_Native.glGetQueryObjecti64vEXT);

  traceThis = traceEnabled("glGetQueryObjecti64vEXT",&traceParam);

  if (!traceGL_Native.glGetQueryObjecti64vEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetQueryObjecti64vEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetQueryObjectui64vEXT)
    traceGL_lookupNativeAddress("glGetQueryObjectui64vEXT", (void **) &traceGL_Native.glGetQueryObjectui64vEXT);

  traceThis = traceEnabled("glGetQueryObjectui64vEXT",&traceParam);

  if (!traceGL_Native.glGetQueryObjectui64vEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetQueryObjectui64vEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramEnvParameters4fvEXT)
    traceGL_lookupNativeAddress("glProgramEnvParameters4fvEXT", (void **) &traceGL_Native.glProgramEnvParameters4fvEXT);

  traceThis = traceEnabled("glProgramEnvParameters4fvEXT",&traceParam);

  if (!traceGL_Native.glProgramEnvParameters4fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramEnvParameters4fvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramLocalParameters4fvEXT)
    traceGL_lookupNativeAddress("glProgramLocalParameters4fvEXT", (void **) &traceGL_Native.glProgramLocalParameters4fvEXT);

  traceThis = traceEnabled("glProgramLocalParameters4fvEXT",&traceParam);

  if (!traceGL_Native.glProgramLocalParameters4fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramLocalParameters4fvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBufferParameteriAPPLE)
    traceGL_lookupNativeAddress("glBufferParameteriAPPLE", (void **) &traceGL_Native.glBufferParameteriAPPLE);

  traceThis = traceEnabled("glBufferParameteriAPPLE",&traceParam);

  if (!traceGL_Native.glBufferParameteriAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBufferParameteriAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFlushMappedBufferRangeAPPLE)
    traceGL_lookupNativeAddress("glFlushMappedBufferRangeAPPLE", (void **) &traceGL_Native.glFlushMappedBufferRangeAPPLE);

  traceThis = traceEnabled("glFlushMappedBufferRangeAPPLE",&traceParam);

  if (!traceGL_Native.glFlushMappedBufferRangeAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFlushMappedBufferRangeAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramLocalParameterI4iNV)
    traceGL_lookupNativeAddress("glProgramLocalParameterI4iNV", (void **) &traceGL_Native.glProgramLocalParameterI4iNV);

  traceThis = traceEnabled("glProgramLocalParameterI4iNV",&traceParam);

  if (!traceGL_Native.glProgramLocalParameterI4iNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramLocalParameterI4iNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramLocalParameterI4ivNV)
    traceGL_lookupNativeAddress("glProgramLocalParameterI4ivNV", (void **) &traceGL_Native.glProgramLocalParameterI4ivNV);

  traceThis = traceEnabled("glProgramLocalParameterI4ivNV",&traceParam);

  if (!traceGL_Native.glProgramLocalParameterI4ivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramLocalParameterI4ivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramLocalParametersI4ivNV)
    traceGL_lookupNativeAddress("glProgramLocalParametersI4ivNV", (void **) &traceGL_Native.glProgramLocalParametersI4ivNV);

  traceThis = traceEnabled("glProgramLocalParametersI4ivNV",&traceParam);

  if (!traceGL_Native.glProgramLocalParametersI4ivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramLocalParametersI4ivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramLocalParameterI4uiNV)
    traceGL_lookupNativeAddress("glProgramLocalParameterI4uiNV", (void **) &traceGL_Native.glProgramLocalParameterI4uiNV);

  traceThis = traceEnabled("glProgramLocalParameterI4uiNV",&traceParam);

  if (!traceGL_Native.glProgramLocalParameterI4uiNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramLocalParameterI4uiNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramLocalParameterI4uivNV)
    traceGL_lookupNativeAddress("glProgramLocalParameterI4uivNV", (void **) &traceGL_Native.glProgramLocalParameterI4uivNV);

  traceThis = traceEnabled("glProgramLocalParameterI4uivNV",&traceParam);

  if (!traceGL_Native.glProgramLocalParameterI4uivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramLocalParameterI4uivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramLocalParametersI4uivNV)
    traceGL_lookupNativeAddress("glProgramLocalParametersI4uivNV", (void **) &traceGL_Native.glProgramLocalParametersI4uivNV);

  traceThis = traceEnabled("glProgramLocalParametersI4uivNV",&traceParam);

  if (!traceGL_Native.glProgramLocalParametersI4uivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramLocalParametersI4uivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramEnvParameterI4iNV)
    traceGL_lookupNativeAddress("glProgramEnvParameterI4iNV", (void **) &traceGL_Native.glProgramEnvParameterI4iNV);

  traceThis = traceEnabled("glProgramEnvParameterI4iNV",&traceParam);

  if (!traceGL_Native.glProgramEnvParameterI4iNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramEnvParameterI4iNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramEnvParameterI4ivNV)
    traceGL_lookupNativeAddress("glProgramEnvParameterI4ivNV", (void **) &traceGL_Native.glProgramEnvParameterI4ivNV);

  traceThis = traceEnabled("glProgramEnvParameterI4ivNV",&traceParam);

  if (!traceGL_Native.glProgramEnvParameterI4ivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramEnvParameterI4ivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramEnvParametersI4ivNV)
    traceGL_lookupNativeAddress("glProgramEnvParametersI4ivNV", (void **) &traceGL_Native.glProgramEnvParametersI4ivNV);

  traceThis = traceEnabled("glProgramEnvParametersI4ivNV",&traceParam);

  if (!traceGL_Native.glProgramEnvParametersI4ivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramEnvParametersI4ivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramEnvParameterI4uiNV)
    traceGL_lookupNativeAddress("glProgramEnvParameterI4uiNV", (void **) &traceGL_Native.glProgramEnvParameterI4uiNV);

  traceThis = traceEnabled("glProgramEnvParameterI4uiNV",&traceParam);

  if (!traceGL_Native.glProgramEnvParameterI4uiNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramEnvParameterI4uiNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramEnvParameterI4uivNV)
    traceGL_lookupNativeAddress("glProgramEnvParameterI4uivNV", (void **) &traceGL_Native.glProgramEnvParameterI4uivNV);

  traceThis = traceEnabled("glProgramEnvParameterI4uivNV",&traceParam);

  if (!traceGL_Native.glProgramEnvParameterI4uivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramEnvParameterI4uivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramEnvParametersI4uivNV)
    traceGL_lookupNativeAddress("glProgramEnvParametersI4uivNV", (void **) &traceGL_Native.glProgramEnvParametersI4uivNV);

  traceThis = traceEnabled("glProgramEnvParametersI4uivNV",&traceParam);

  if (!traceGL_Native.glProgramEnvParametersI4uivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramEnvParametersI4uivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramLocalParameterIivNV)
    traceGL_lookupNativeAddress("glGetProgramLocalParameterIivNV", (void **) &traceGL_Native.glGetProgramLocalParameterIivNV);

  traceThis = traceEnabled("glGetProgramLocalParameterIivNV",&traceParam);

  if (!traceGL_Native.glGetProgramLocalParameterIivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramLocalParameterIivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%d[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramLocalParameterIuivNV(GLenum target, GLuint index, GLuint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramLocalParameterIuivNV)
    traceGL_lookupNativeAddress("glGetProgramLocalParameterIuivNV", (void **) &traceGL_Native.glGetProgramLocalParameterIuivNV);

  traceThis = traceEnabled("glGetProgramLocalParameterIuivNV",&traceParam);

  if (!traceGL_Native.glGetProgramLocalParameterIuivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramLocalParameterIuivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%u[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramEnvParameterIivNV(GLenum target, GLuint index, GLint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramEnvParameterIivNV)
    traceGL_lookupNativeAddress("glGetProgramEnvParameterIivNV", (void **) &traceGL_Native.glGetProgramEnvParameterIivNV);

  traceThis = traceEnabled("glGetProgramEnvParameterIivNV",&traceParam);

  if (!traceGL_Native.glGetProgramEnvParameterIivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramEnvParameterIivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%d[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetProgramEnvParameterIuivNV(GLenum target, GLuint index, GLuint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetProgramEnvParameterIuivNV)
    traceGL_lookupNativeAddress("glGetProgramEnvParameterIuivNV", (void **) &traceGL_Native.glGetProgramEnvParameterIuivNV);

  traceThis = traceEnabled("glGetProgramEnvParameterIuivNV",&traceParam);

  if (!traceGL_Native.glGetProgramEnvParameterIuivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetProgramEnvParameterIuivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%u[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glProgramVertexLimitNV(GLenum target, GLint limit)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramVertexLimitNV)
    traceGL_lookupNativeAddress("glProgramVertexLimitNV", (void **) &traceGL_Native.glProgramVertexLimitNV);

  traceThis = traceEnabled("glProgramVertexLimitNV",&traceParam);

  if (!traceGL_Native.glProgramVertexLimitNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramVertexLimitNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTextureEXT)
    traceGL_lookupNativeAddress("glFramebufferTextureEXT", (void **) &traceGL_Native.glFramebufferTextureEXT);

  traceThis = traceEnabled("glFramebufferTextureEXT",&traceParam);

  if (!traceGL_Native.glFramebufferTextureEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTextureEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTextureLayerEXT)
    traceGL_lookupNativeAddress("glFramebufferTextureLayerEXT", (void **) &traceGL_Native.glFramebufferTextureLayerEXT);

  traceThis = traceEnabled("glFramebufferTextureLayerEXT",&traceParam);

  if (!traceGL_Native.glFramebufferTextureLayerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTextureLayerEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferTextureFaceEXT)
    traceGL_lookupNativeAddress("glFramebufferTextureFaceEXT", (void **) &traceGL_Native.glFramebufferTextureFaceEXT);

  traceThis = traceEnabled("glFramebufferTextureFaceEXT",&traceParam);

  if (!traceGL_Native.glFramebufferTextureFaceEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferTextureFaceEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramParameteriEXT)
    traceGL_lookupNativeAddress("glProgramParameteriEXT", (void **) &traceGL_Native.glProgramParameteriEXT);

  traceThis = traceEnabled("glProgramParameteriEXT",&traceParam);

  if (!traceGL_Native.glProgramParameteriEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramParameteriEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI1iEXT)
    traceGL_lookupNativeAddress("glVertexAttribI1iEXT", (void **) &traceGL_Native.glVertexAttribI1iEXT);

  traceThis = traceEnabled("glVertexAttribI1iEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribI1iEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI1iEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI2iEXT)
    traceGL_lookupNativeAddress("glVertexAttribI2iEXT", (void **) &traceGL_Native.glVertexAttribI2iEXT);

  traceThis = traceEnabled("glVertexAttribI2iEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribI2iEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI2iEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI3iEXT)
    traceGL_lookupNativeAddress("glVertexAttribI3iEXT", (void **) &traceGL_Native.glVertexAttribI3iEXT);

  traceThis = traceEnabled("glVertexAttribI3iEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribI3iEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI3iEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4iEXT)
    traceGL_lookupNativeAddress("glVertexAttribI4iEXT", (void **) &traceGL_Native.glVertexAttribI4iEXT);

  traceThis = traceEnabled("glVertexAttribI4iEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribI4iEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4iEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI1uiEXT)
    traceGL_lookupNativeAddress("glVertexAttribI1uiEXT", (void **) &traceGL_Native.glVertexAttribI1uiEXT);

  traceThis = traceEnabled("glVertexAttribI1uiEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribI1uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI1uiEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI2uiEXT)
    traceGL_lookupNativeAddress("glVertexAttribI2uiEXT", (void **) &traceGL_Native.glVertexAttribI2uiEXT);

  traceThis = traceEnabled("glVertexAttribI2uiEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribI2uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI2uiEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI3uiEXT)
    traceGL_lookupNativeAddress("glVertexAttribI3uiEXT", (void **) &traceGL_Native.glVertexAttribI3uiEXT);

  traceThis = traceEnabled("glVertexAttribI3uiEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribI3uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI3uiEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4uiEXT)
    traceGL_lookupNativeAddress("glVertexAttribI4uiEXT", (void **) &traceGL_Native.glVertexAttribI4uiEXT);

  traceThis = traceEnabled("glVertexAttribI4uiEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribI4uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4uiEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI1ivEXT)
    traceGL_lookupNativeAddress("glVertexAttribI1ivEXT", (void **) &traceGL_Native.glVertexAttribI1ivEXT);

  traceThis = traceEnabled("glVertexAttribI1ivEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribI1ivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI1ivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI2ivEXT)
    traceGL_lookupNativeAddress("glVertexAttribI2ivEXT", (void **) &traceGL_Native.glVertexAttribI2ivEXT);

  traceThis = traceEnabled("glVertexAttribI2ivEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribI2ivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI2ivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI3ivEXT)
    traceGL_lookupNativeAddress("glVertexAttribI3ivEXT", (void **) &traceGL_Native.glVertexAttribI3ivEXT);

  traceThis = traceEnabled("glVertexAttribI3ivEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribI3ivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI3ivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4ivEXT)
    traceGL_lookupNativeAddress("glVertexAttribI4ivEXT", (void **) &traceGL_Native.glVertexAttribI4ivEXT);

  traceThis = traceEnabled("glVertexAttribI4ivEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribI4ivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4ivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI1uivEXT)
    traceGL_lookupNativeAddress("glVertexAttribI1uivEXT", (void **) &traceGL_Native.glVertexAttribI1uivEXT);

  traceThis = traceEnabled("glVertexAttribI1uivEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribI1uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI1uivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI2uivEXT)
    traceGL_lookupNativeAddress("glVertexAttribI2uivEXT", (void **) &traceGL_Native.glVertexAttribI2uivEXT);

  traceThis = traceEnabled("glVertexAttribI2uivEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribI2uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI2uivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI3uivEXT)
    traceGL_lookupNativeAddress("glVertexAttribI3uivEXT", (void **) &traceGL_Native.glVertexAttribI3uivEXT);

  traceThis = traceEnabled("glVertexAttribI3uivEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribI3uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI3uivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4uivEXT)
    traceGL_lookupNativeAddress("glVertexAttribI4uivEXT", (void **) &traceGL_Native.glVertexAttribI4uivEXT);

  traceThis = traceEnabled("glVertexAttribI4uivEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribI4uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4uivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4bvEXT)
    traceGL_lookupNativeAddress("glVertexAttribI4bvEXT", (void **) &traceGL_Native.glVertexAttribI4bvEXT);

  traceThis = traceEnabled("glVertexAttribI4bvEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribI4bvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4bvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4svEXT)
    traceGL_lookupNativeAddress("glVertexAttribI4svEXT", (void **) &traceGL_Native.glVertexAttribI4svEXT);

  traceThis = traceEnabled("glVertexAttribI4svEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribI4svEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4svEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4ubvEXT)
    traceGL_lookupNativeAddress("glVertexAttribI4ubvEXT", (void **) &traceGL_Native.glVertexAttribI4ubvEXT);

  traceThis = traceEnabled("glVertexAttribI4ubvEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribI4ubvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4ubvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribI4usvEXT)
    traceGL_lookupNativeAddress("glVertexAttribI4usvEXT", (void **) &traceGL_Native.glVertexAttribI4usvEXT);

  traceThis = traceEnabled("glVertexAttribI4usvEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribI4usvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribI4usvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribIPointerEXT)
    traceGL_lookupNativeAddress("glVertexAttribIPointerEXT", (void **) &traceGL_Native.glVertexAttribIPointerEXT);

  traceThis = traceEnabled("glVertexAttribIPointerEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribIPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribIPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribIivEXT)
    traceGL_lookupNativeAddress("glGetVertexAttribIivEXT", (void **) &traceGL_Native.glGetVertexAttribIivEXT);

  traceThis = traceEnabled("glGetVertexAttribIivEXT",&traceParam);

  if (!traceGL_Native.glGetVertexAttribIivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribIivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%d[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetVertexAttribIuivEXT(GLuint index, GLenum pname, GLuint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribIuivEXT)
    traceGL_lookupNativeAddress("glGetVertexAttribIuivEXT", (void **) &traceGL_Native.glGetVertexAttribIuivEXT);

  traceThis = traceEnabled("glGetVertexAttribIuivEXT",&traceParam);

  if (!traceGL_Native.glGetVertexAttribIuivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribIuivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%u[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetUniformuivEXT(GLuint program, GLint location, GLuint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformuivEXT)
    traceGL_lookupNativeAddress("glGetUniformuivEXT", (void **) &traceGL_Native.glGetUniformuivEXT);

  traceThis = traceEnabled("glGetUniformuivEXT",&traceParam);

  if (!traceGL_Native.glGetUniformuivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformuivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindFragDataLocationEXT)
    traceGL_lookupNativeAddress("glBindFragDataLocationEXT", (void **) &traceGL_Native.glBindFragDataLocationEXT);

  traceThis = traceEnabled("glBindFragDataLocationEXT",&traceParam);

  if (!traceGL_Native.glBindFragDataLocationEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindFragDataLocationEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFragDataLocationEXT)
    traceGL_lookupNativeAddress("glGetFragDataLocationEXT", (void **) &traceGL_Native.glGetFragDataLocationEXT);

  traceThis = traceEnabled("glGetFragDataLocationEXT",&traceParam);

  if (!traceGL_Native.glGetFragDataLocationEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFragDataLocationEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%d", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glUniform1uiEXT(GLint location, GLuint v0)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1uiEXT)
    traceGL_lookupNativeAddress("glUniform1uiEXT", (void **) &traceGL_Native.glUniform1uiEXT);

  traceThis = traceEnabled("glUniform1uiEXT",&traceParam);

  if (!traceGL_Native.glUniform1uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1uiEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2uiEXT)
    traceGL_lookupNativeAddress("glUniform2uiEXT", (void **) &traceGL_Native.glUniform2uiEXT);

  traceThis = traceEnabled("glUniform2uiEXT",&traceParam);

  if (!traceGL_Native.glUniform2uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2uiEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3uiEXT)
    traceGL_lookupNativeAddress("glUniform3uiEXT", (void **) &traceGL_Native.glUniform3uiEXT);

  traceThis = traceEnabled("glUniform3uiEXT",&traceParam);

  if (!traceGL_Native.glUniform3uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3uiEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4uiEXT)
    traceGL_lookupNativeAddress("glUniform4uiEXT", (void **) &traceGL_Native.glUniform4uiEXT);

  traceThis = traceEnabled("glUniform4uiEXT",&traceParam);

  if (!traceGL_Native.glUniform4uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4uiEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1uivEXT)
    traceGL_lookupNativeAddress("glUniform1uivEXT", (void **) &traceGL_Native.glUniform1uivEXT);

  traceThis = traceEnabled("glUniform1uivEXT",&traceParam);

  if (!traceGL_Native.glUniform1uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1uivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2uivEXT)
    traceGL_lookupNativeAddress("glUniform2uivEXT", (void **) &traceGL_Native.glUniform2uivEXT);

  traceThis = traceEnabled("glUniform2uivEXT",&traceParam);

  if (!traceGL_Native.glUniform2uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2uivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3uivEXT)
    traceGL_lookupNativeAddress("glUniform3uivEXT", (void **) &traceGL_Native.glUniform3uivEXT);

  traceThis = traceEnabled("glUniform3uivEXT",&traceParam);

  if (!traceGL_Native.glUniform3uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3uivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4uivEXT)
    traceGL_lookupNativeAddress("glUniform4uivEXT", (void **) &traceGL_Native.glUniform4uivEXT);

  traceThis = traceEnabled("glUniform4uivEXT",&traceParam);

  if (!traceGL_Native.glUniform4uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4uivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawArraysInstancedEXT)
    traceGL_lookupNativeAddress("glDrawArraysInstancedEXT", (void **) &traceGL_Native.glDrawArraysInstancedEXT);

  traceThis = traceEnabled("glDrawArraysInstancedEXT",&traceParam);

  if (!traceGL_Native.glDrawArraysInstancedEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawArraysInstancedEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawElementsInstancedEXT)
    traceGL_lookupNativeAddress("glDrawElementsInstancedEXT", (void **) &traceGL_Native.glDrawElementsInstancedEXT);

  traceThis = traceEnabled("glDrawElementsInstancedEXT",&traceParam);

  if (!traceGL_Native.glDrawElementsInstancedEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawElementsInstancedEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexBufferEXT)
    traceGL_lookupNativeAddress("glTexBufferEXT", (void **) &traceGL_Native.glTexBufferEXT);

  traceThis = traceEnabled("glTexBufferEXT",&traceParam);

  if (!traceGL_Native.glTexBufferEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexBufferEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDepthRangedNV)
    traceGL_lookupNativeAddress("glDepthRangedNV", (void **) &traceGL_Native.glDepthRangedNV);

  traceThis = traceEnabled("glDepthRangedNV",&traceParam);

  if (!traceGL_Native.glDepthRangedNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDepthRangedNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClearDepthdNV)
    traceGL_lookupNativeAddress("glClearDepthdNV", (void **) &traceGL_Native.glClearDepthdNV);

  traceThis = traceEnabled("glClearDepthdNV",&traceParam);

  if (!traceGL_Native.glClearDepthdNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClearDepthdNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDepthBoundsdNV)
    traceGL_lookupNativeAddress("glDepthBoundsdNV", (void **) &traceGL_Native.glDepthBoundsdNV);

  traceThis = traceEnabled("glDepthBoundsdNV",&traceParam);

  if (!traceGL_Native.glDepthBoundsdNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDepthBoundsdNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glRenderbufferStorageMultisampleCoverageNV)
    traceGL_lookupNativeAddress("glRenderbufferStorageMultisampleCoverageNV", (void **) &traceGL_Native.glRenderbufferStorageMultisampleCoverageNV);

  traceThis = traceEnabled("glRenderbufferStorageMultisampleCoverageNV",&traceParam);

  if (!traceGL_Native.glRenderbufferStorageMultisampleCoverageNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glRenderbufferStorageMultisampleCoverageNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramBufferParametersfvNV)
    traceGL_lookupNativeAddress("glProgramBufferParametersfvNV", (void **) &traceGL_Native.glProgramBufferParametersfvNV);

  traceThis = traceEnabled("glProgramBufferParametersfvNV",&traceParam);

  if (!traceGL_Native.glProgramBufferParametersfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramBufferParametersfvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramBufferParametersIivNV)
    traceGL_lookupNativeAddress("glProgramBufferParametersIivNV", (void **) &traceGL_Native.glProgramBufferParametersIivNV);

  traceThis = traceEnabled("glProgramBufferParametersIivNV",&traceParam);

  if (!traceGL_Native.glProgramBufferParametersIivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramBufferParametersIivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramBufferParametersIuivNV)
    traceGL_lookupNativeAddress("glProgramBufferParametersIuivNV", (void **) &traceGL_Native.glProgramBufferParametersIuivNV);

  traceThis = traceEnabled("glProgramBufferParametersIuivNV",&traceParam);

  if (!traceGL_Native.glProgramBufferParametersIuivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramBufferParametersIuivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorMaskIndexedEXT)
    traceGL_lookupNativeAddress("glColorMaskIndexedEXT", (void **) &traceGL_Native.glColorMaskIndexedEXT);

  traceThis = traceEnabled("glColorMaskIndexedEXT",&traceParam);

  if (!traceGL_Native.glColorMaskIndexedEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorMaskIndexedEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetBooleanIndexedvEXT)
    traceGL_lookupNativeAddress("glGetBooleanIndexedvEXT", (void **) &traceGL_Native.glGetBooleanIndexedvEXT);

  traceThis = traceEnabled("glGetBooleanIndexedvEXT",&traceParam);

  if (!traceGL_Native.glGetBooleanIndexedvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetBooleanIndexedvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetIntegerIndexedvEXT)
    traceGL_lookupNativeAddress("glGetIntegerIndexedvEXT", (void **) &traceGL_Native.glGetIntegerIndexedvEXT);

  traceThis = traceEnabled("glGetIntegerIndexedvEXT",&traceParam);

  if (!traceGL_Native.glGetIntegerIndexedvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetIntegerIndexedvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEnableIndexedEXT)
    traceGL_lookupNativeAddress("glEnableIndexedEXT", (void **) &traceGL_Native.glEnableIndexedEXT);

  traceThis = traceEnabled("glEnableIndexedEXT",&traceParam);

  if (!traceGL_Native.glEnableIndexedEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEnableIndexedEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDisableIndexedEXT)
    traceGL_lookupNativeAddress("glDisableIndexedEXT", (void **) &traceGL_Native.glDisableIndexedEXT);

  traceThis = traceEnabled("glDisableIndexedEXT",&traceParam);

  if (!traceGL_Native.glDisableIndexedEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDisableIndexedEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsEnabledIndexedEXT)
    traceGL_lookupNativeAddress("glIsEnabledIndexedEXT", (void **) &traceGL_Native.glIsEnabledIndexedEXT);

  traceThis = traceEnabled("glIsEnabledIndexedEXT",&traceParam);

  if (!traceGL_Native.glIsEnabledIndexedEXT)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsEnabledIndexedEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glBeginTransformFeedbackNV(GLenum primitiveMode)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBeginTransformFeedbackNV)
    traceGL_lookupNativeAddress("glBeginTransformFeedbackNV", (void **) &traceGL_Native.glBeginTransformFeedbackNV);

  traceThis = traceEnabled("glBeginTransformFeedbackNV",&traceParam);

  if (!traceGL_Native.glBeginTransformFeedbackNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBeginTransformFeedbackNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndTransformFeedbackNV)
    traceGL_lookupNativeAddress("glEndTransformFeedbackNV", (void **) &traceGL_Native.glEndTransformFeedbackNV);

  traceThis = traceEnabled("glEndTransformFeedbackNV",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTransformFeedbackAttribsNV)
    traceGL_lookupNativeAddress("glTransformFeedbackAttribsNV", (void **) &traceGL_Native.glTransformFeedbackAttribsNV);

  traceThis = traceEnabled("glTransformFeedbackAttribsNV",&traceParam);

  if (!traceGL_Native.glTransformFeedbackAttribsNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTransformFeedbackAttribsNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindBufferRangeNV)
    traceGL_lookupNativeAddress("glBindBufferRangeNV", (void **) &traceGL_Native.glBindBufferRangeNV);

  traceThis = traceEnabled("glBindBufferRangeNV",&traceParam);

  if (!traceGL_Native.glBindBufferRangeNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindBufferRangeNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindBufferOffsetNV)
    traceGL_lookupNativeAddress("glBindBufferOffsetNV", (void **) &traceGL_Native.glBindBufferOffsetNV);

  traceThis = traceEnabled("glBindBufferOffsetNV",&traceParam);

  if (!traceGL_Native.glBindBufferOffsetNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindBufferOffsetNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindBufferBaseNV)
    traceGL_lookupNativeAddress("glBindBufferBaseNV", (void **) &traceGL_Native.glBindBufferBaseNV);

  traceThis = traceEnabled("glBindBufferBaseNV",&traceParam);

  if (!traceGL_Native.glBindBufferBaseNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindBufferBaseNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTransformFeedbackVaryingsNV)
    traceGL_lookupNativeAddress("glTransformFeedbackVaryingsNV", (void **) &traceGL_Native.glTransformFeedbackVaryingsNV);

  traceThis = traceEnabled("glTransformFeedbackVaryingsNV",&traceParam);

  if (!traceGL_Native.glTransformFeedbackVaryingsNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTransformFeedbackVaryingsNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glActiveVaryingNV)
    traceGL_lookupNativeAddress("glActiveVaryingNV", (void **) &traceGL_Native.glActiveVaryingNV);

  traceThis = traceEnabled("glActiveVaryingNV",&traceParam);

  if (!traceGL_Native.glActiveVaryingNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glActiveVaryingNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVaryingLocationNV)
    traceGL_lookupNativeAddress("glGetVaryingLocationNV", (void **) &traceGL_Native.glGetVaryingLocationNV);

  traceThis = traceEnabled("glGetVaryingLocationNV",&traceParam);

  if (!traceGL_Native.glGetVaryingLocationNV)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVaryingLocationNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetActiveVaryingNV)
    traceGL_lookupNativeAddress("glGetActiveVaryingNV", (void **) &traceGL_Native.glGetActiveVaryingNV);

  traceThis = traceEnabled("glGetActiveVaryingNV",&traceParam);

  if (!traceGL_Native.glGetActiveVaryingNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetActiveVaryingNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTransformFeedbackVaryingNV)
    traceGL_lookupNativeAddress("glGetTransformFeedbackVaryingNV", (void **) &traceGL_Native.glGetTransformFeedbackVaryingNV);

  traceThis = traceEnabled("glGetTransformFeedbackVaryingNV",&traceParam);

  if (!traceGL_Native.glGetTransformFeedbackVaryingNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTransformFeedbackVaryingNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("location", "%d[%d]", location, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniformBufferEXT(GLuint program, GLint location, GLuint buffer)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformBufferEXT)
    traceGL_lookupNativeAddress("glUniformBufferEXT", (void **) &traceGL_Native.glUniformBufferEXT);

  traceThis = traceEnabled("glUniformBufferEXT",&traceParam);

  if (!traceGL_Native.glUniformBufferEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformBufferEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformBufferSizeEXT)
    traceGL_lookupNativeAddress("glGetUniformBufferSizeEXT", (void **) &traceGL_Native.glGetUniformBufferSizeEXT);

  traceThis = traceEnabled("glGetUniformBufferSizeEXT",&traceParam);

  if (!traceGL_Native.glGetUniformBufferSizeEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformBufferSizeEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%d", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLintptr GLAPIENTRY
glGetUniformOffsetEXT(GLuint program, GLint location)
{
  GLintptr ret = 0;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformOffsetEXT)
    traceGL_lookupNativeAddress("glGetUniformOffsetEXT", (void **) &traceGL_Native.glGetUniformOffsetEXT);

  traceThis = traceEnabled("glGetUniformOffsetEXT",&traceParam);

  if (!traceGL_Native.glGetUniformOffsetEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformOffsetEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%z", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glTexParameterIivEXT(GLenum target, GLenum pname, const GLint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexParameterIivEXT)
    traceGL_lookupNativeAddress("glTexParameterIivEXT", (void **) &traceGL_Native.glTexParameterIivEXT);

  traceThis = traceEnabled("glTexParameterIivEXT",&traceParam);

  if (!traceGL_Native.glTexParameterIivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexParameterIivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexParameterIuivEXT)
    traceGL_lookupNativeAddress("glTexParameterIuivEXT", (void **) &traceGL_Native.glTexParameterIuivEXT);

  traceThis = traceEnabled("glTexParameterIuivEXT",&traceParam);

  if (!traceGL_Native.glTexParameterIuivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexParameterIuivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTexParameterIivEXT)
    traceGL_lookupNativeAddress("glGetTexParameterIivEXT", (void **) &traceGL_Native.glGetTexParameterIivEXT);

  traceThis = traceEnabled("glGetTexParameterIivEXT",&traceParam);

  if (!traceGL_Native.glGetTexParameterIivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTexParameterIivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTexParameterIuivEXT)
    traceGL_lookupNativeAddress("glGetTexParameterIuivEXT", (void **) &traceGL_Native.glGetTexParameterIuivEXT);

  traceThis = traceEnabled("glGetTexParameterIuivEXT",&traceParam);

  if (!traceGL_Native.glGetTexParameterIuivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTexParameterIuivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClearColorIiEXT)
    traceGL_lookupNativeAddress("glClearColorIiEXT", (void **) &traceGL_Native.glClearColorIiEXT);

  traceThis = traceEnabled("glClearColorIiEXT",&traceParam);

  if (!traceGL_Native.glClearColorIiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClearColorIiEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClearColorIuiEXT)
    traceGL_lookupNativeAddress("glClearColorIuiEXT", (void **) &traceGL_Native.glClearColorIuiEXT);

  traceThis = traceEnabled("glClearColorIuiEXT",&traceParam);

  if (!traceGL_Native.glClearColorIuiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClearColorIuiEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFrameTerminatorGREMEDY)
    traceGL_lookupNativeAddress("glFrameTerminatorGREMEDY", (void **) &traceGL_Native.glFrameTerminatorGREMEDY);

  traceThis = traceEnabled("glFrameTerminatorGREMEDY",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBeginConditionalRenderNV)
    traceGL_lookupNativeAddress("glBeginConditionalRenderNV", (void **) &traceGL_Native.glBeginConditionalRenderNV);

  traceThis = traceEnabled("glBeginConditionalRenderNV",&traceParam);

  if (!traceGL_Native.glBeginConditionalRenderNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBeginConditionalRenderNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndConditionalRenderNV)
    traceGL_lookupNativeAddress("glEndConditionalRenderNV", (void **) &traceGL_Native.glEndConditionalRenderNV);

  traceThis = traceEnabled("glEndConditionalRenderNV",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPresentFrameKeyedNV)
    traceGL_lookupNativeAddress("glPresentFrameKeyedNV", (void **) &traceGL_Native.glPresentFrameKeyedNV);

  traceThis = traceEnabled("glPresentFrameKeyedNV",&traceParam);

  if (!traceGL_Native.glPresentFrameKeyedNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPresentFrameKeyedNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPresentFrameDualFillNV)
    traceGL_lookupNativeAddress("glPresentFrameDualFillNV", (void **) &traceGL_Native.glPresentFrameDualFillNV);

  traceThis = traceEnabled("glPresentFrameDualFillNV",&traceParam);

  if (!traceGL_Native.glPresentFrameDualFillNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPresentFrameDualFillNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVideoivNV)
    traceGL_lookupNativeAddress("glGetVideoivNV", (void **) &traceGL_Native.glGetVideoivNV);

  traceThis = traceEnabled("glGetVideoivNV",&traceParam);

  if (!traceGL_Native.glGetVideoivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVideoivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVideouivNV)
    traceGL_lookupNativeAddress("glGetVideouivNV", (void **) &traceGL_Native.glGetVideouivNV);

  traceThis = traceEnabled("glGetVideouivNV",&traceParam);

  if (!traceGL_Native.glGetVideouivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVideouivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVideoi64vNV)
    traceGL_lookupNativeAddress("glGetVideoi64vNV", (void **) &traceGL_Native.glGetVideoi64vNV);

  traceThis = traceEnabled("glGetVideoi64vNV",&traceParam);

  if (!traceGL_Native.glGetVideoi64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVideoi64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVideoui64vNV)
    traceGL_lookupNativeAddress("glGetVideoui64vNV", (void **) &traceGL_Native.glGetVideoui64vNV);

  traceThis = traceEnabled("glGetVideoui64vNV",&traceParam);

  if (!traceGL_Native.glGetVideoui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVideoui64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBeginTransformFeedbackEXT)
    traceGL_lookupNativeAddress("glBeginTransformFeedbackEXT", (void **) &traceGL_Native.glBeginTransformFeedbackEXT);

  traceThis = traceEnabled("glBeginTransformFeedbackEXT",&traceParam);

  if (!traceGL_Native.glBeginTransformFeedbackEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBeginTransformFeedbackEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndTransformFeedbackEXT)
    traceGL_lookupNativeAddress("glEndTransformFeedbackEXT", (void **) &traceGL_Native.glEndTransformFeedbackEXT);

  traceThis = traceEnabled("glEndTransformFeedbackEXT",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindBufferRangeEXT)
    traceGL_lookupNativeAddress("glBindBufferRangeEXT", (void **) &traceGL_Native.glBindBufferRangeEXT);

  traceThis = traceEnabled("glBindBufferRangeEXT",&traceParam);

  if (!traceGL_Native.glBindBufferRangeEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindBufferRangeEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindBufferOffsetEXT)
    traceGL_lookupNativeAddress("glBindBufferOffsetEXT", (void **) &traceGL_Native.glBindBufferOffsetEXT);

  traceThis = traceEnabled("glBindBufferOffsetEXT",&traceParam);

  if (!traceGL_Native.glBindBufferOffsetEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindBufferOffsetEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindBufferBaseEXT)
    traceGL_lookupNativeAddress("glBindBufferBaseEXT", (void **) &traceGL_Native.glBindBufferBaseEXT);

  traceThis = traceEnabled("glBindBufferBaseEXT",&traceParam);

  if (!traceGL_Native.glBindBufferBaseEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindBufferBaseEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTransformFeedbackVaryingsEXT)
    traceGL_lookupNativeAddress("glTransformFeedbackVaryingsEXT", (void **) &traceGL_Native.glTransformFeedbackVaryingsEXT);

  traceThis = traceEnabled("glTransformFeedbackVaryingsEXT",&traceParam);

  if (!traceGL_Native.glTransformFeedbackVaryingsEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTransformFeedbackVaryingsEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTransformFeedbackVaryingEXT)
    traceGL_lookupNativeAddress("glGetTransformFeedbackVaryingEXT", (void **) &traceGL_Native.glGetTransformFeedbackVaryingEXT);

  traceThis = traceEnabled("glGetTransformFeedbackVaryingEXT",&traceParam);

  if (!traceGL_Native.glGetTransformFeedbackVaryingEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTransformFeedbackVaryingEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glClientAttribDefaultEXT)
    traceGL_lookupNativeAddress("glClientAttribDefaultEXT", (void **) &traceGL_Native.glClientAttribDefaultEXT);

  traceThis = traceEnabled("glClientAttribDefaultEXT",&traceParam);

  if (!traceGL_Native.glClientAttribDefaultEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glClientAttribDefaultEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPushClientAttribDefaultEXT)
    traceGL_lookupNativeAddress("glPushClientAttribDefaultEXT", (void **) &traceGL_Native.glPushClientAttribDefaultEXT);

  traceThis = traceEnabled("glPushClientAttribDefaultEXT",&traceParam);

  if (!traceGL_Native.glPushClientAttribDefaultEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glPushClientAttribDefaultEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixLoadfEXT)
    traceGL_lookupNativeAddress("glMatrixLoadfEXT", (void **) &traceGL_Native.glMatrixLoadfEXT);

  traceThis = traceEnabled("glMatrixLoadfEXT",&traceParam);

  if (!traceGL_Native.glMatrixLoadfEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixLoadfEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixLoaddEXT)
    traceGL_lookupNativeAddress("glMatrixLoaddEXT", (void **) &traceGL_Native.glMatrixLoaddEXT);

  traceThis = traceEnabled("glMatrixLoaddEXT",&traceParam);

  if (!traceGL_Native.glMatrixLoaddEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixLoaddEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixMultfEXT)
    traceGL_lookupNativeAddress("glMatrixMultfEXT", (void **) &traceGL_Native.glMatrixMultfEXT);

  traceThis = traceEnabled("glMatrixMultfEXT",&traceParam);

  if (!traceGL_Native.glMatrixMultfEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixMultfEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixMultdEXT)
    traceGL_lookupNativeAddress("glMatrixMultdEXT", (void **) &traceGL_Native.glMatrixMultdEXT);

  traceThis = traceEnabled("glMatrixMultdEXT",&traceParam);

  if (!traceGL_Native.glMatrixMultdEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixMultdEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixLoadIdentityEXT)
    traceGL_lookupNativeAddress("glMatrixLoadIdentityEXT", (void **) &traceGL_Native.glMatrixLoadIdentityEXT);

  traceThis = traceEnabled("glMatrixLoadIdentityEXT",&traceParam);

  if (!traceGL_Native.glMatrixLoadIdentityEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixLoadIdentityEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixRotatefEXT)
    traceGL_lookupNativeAddress("glMatrixRotatefEXT", (void **) &traceGL_Native.glMatrixRotatefEXT);

  traceThis = traceEnabled("glMatrixRotatefEXT",&traceParam);

  if (!traceGL_Native.glMatrixRotatefEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixRotatefEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixRotatedEXT)
    traceGL_lookupNativeAddress("glMatrixRotatedEXT", (void **) &traceGL_Native.glMatrixRotatedEXT);

  traceThis = traceEnabled("glMatrixRotatedEXT",&traceParam);

  if (!traceGL_Native.glMatrixRotatedEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixRotatedEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixScalefEXT)
    traceGL_lookupNativeAddress("glMatrixScalefEXT", (void **) &traceGL_Native.glMatrixScalefEXT);

  traceThis = traceEnabled("glMatrixScalefEXT",&traceParam);

  if (!traceGL_Native.glMatrixScalefEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixScalefEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixScaledEXT)
    traceGL_lookupNativeAddress("glMatrixScaledEXT", (void **) &traceGL_Native.glMatrixScaledEXT);

  traceThis = traceEnabled("glMatrixScaledEXT",&traceParam);

  if (!traceGL_Native.glMatrixScaledEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixScaledEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixTranslatefEXT)
    traceGL_lookupNativeAddress("glMatrixTranslatefEXT", (void **) &traceGL_Native.glMatrixTranslatefEXT);

  traceThis = traceEnabled("glMatrixTranslatefEXT",&traceParam);

  if (!traceGL_Native.glMatrixTranslatefEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixTranslatefEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixTranslatedEXT)
    traceGL_lookupNativeAddress("glMatrixTranslatedEXT", (void **) &traceGL_Native.glMatrixTranslatedEXT);

  traceThis = traceEnabled("glMatrixTranslatedEXT",&traceParam);

  if (!traceGL_Native.glMatrixTranslatedEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixTranslatedEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixFrustumEXT)
    traceGL_lookupNativeAddress("glMatrixFrustumEXT", (void **) &traceGL_Native.glMatrixFrustumEXT);

  traceThis = traceEnabled("glMatrixFrustumEXT",&traceParam);

  if (!traceGL_Native.glMatrixFrustumEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixFrustumEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixOrthoEXT)
    traceGL_lookupNativeAddress("glMatrixOrthoEXT", (void **) &traceGL_Native.glMatrixOrthoEXT);

  traceThis = traceEnabled("glMatrixOrthoEXT",&traceParam);

  if (!traceGL_Native.glMatrixOrthoEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixOrthoEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixPopEXT)
    traceGL_lookupNativeAddress("glMatrixPopEXT", (void **) &traceGL_Native.glMatrixPopEXT);

  traceThis = traceEnabled("glMatrixPopEXT",&traceParam);

  if (!traceGL_Native.glMatrixPopEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixPopEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixPushEXT)
    traceGL_lookupNativeAddress("glMatrixPushEXT", (void **) &traceGL_Native.glMatrixPushEXT);

  traceThis = traceEnabled("glMatrixPushEXT",&traceParam);

  if (!traceGL_Native.glMatrixPushEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixPushEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixLoadTransposefEXT)
    traceGL_lookupNativeAddress("glMatrixLoadTransposefEXT", (void **) &traceGL_Native.glMatrixLoadTransposefEXT);

  traceThis = traceEnabled("glMatrixLoadTransposefEXT",&traceParam);

  if (!traceGL_Native.glMatrixLoadTransposefEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixLoadTransposefEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixLoadTransposedEXT)
    traceGL_lookupNativeAddress("glMatrixLoadTransposedEXT", (void **) &traceGL_Native.glMatrixLoadTransposedEXT);

  traceThis = traceEnabled("glMatrixLoadTransposedEXT",&traceParam);

  if (!traceGL_Native.glMatrixLoadTransposedEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixLoadTransposedEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixMultTransposefEXT)
    traceGL_lookupNativeAddress("glMatrixMultTransposefEXT", (void **) &traceGL_Native.glMatrixMultTransposefEXT);

  traceThis = traceEnabled("glMatrixMultTransposefEXT",&traceParam);

  if (!traceGL_Native.glMatrixMultTransposefEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixMultTransposefEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMatrixMultTransposedEXT)
    traceGL_lookupNativeAddress("glMatrixMultTransposedEXT", (void **) &traceGL_Native.glMatrixMultTransposedEXT);

  traceThis = traceEnabled("glMatrixMultTransposedEXT",&traceParam);

  if (!traceGL_Native.glMatrixMultTransposedEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMatrixMultTransposedEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureParameterfEXT)
    traceGL_lookupNativeAddress("glTextureParameterfEXT", (void **) &traceGL_Native.glTextureParameterfEXT);

  traceThis = traceEnabled("glTextureParameterfEXT",&traceParam);

  if (!traceGL_Native.glTextureParameterfEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureParameterfEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureParameterfvEXT)
    traceGL_lookupNativeAddress("glTextureParameterfvEXT", (void **) &traceGL_Native.glTextureParameterfvEXT);

  traceThis = traceEnabled("glTextureParameterfvEXT",&traceParam);

  if (!traceGL_Native.glTextureParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureParameteriEXT)
    traceGL_lookupNativeAddress("glTextureParameteriEXT", (void **) &traceGL_Native.glTextureParameteriEXT);

  traceThis = traceEnabled("glTextureParameteriEXT",&traceParam);

  if (!traceGL_Native.glTextureParameteriEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureParameteriEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureParameterivEXT)
    traceGL_lookupNativeAddress("glTextureParameterivEXT", (void **) &traceGL_Native.glTextureParameterivEXT);

  traceThis = traceEnabled("glTextureParameterivEXT",&traceParam);

  if (!traceGL_Native.glTextureParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureImage1DEXT)
    traceGL_lookupNativeAddress("glTextureImage1DEXT", (void **) &traceGL_Native.glTextureImage1DEXT);

  traceThis = traceEnabled("glTextureImage1DEXT",&traceParam);

  if (!traceGL_Native.glTextureImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureImage2DEXT)
    traceGL_lookupNativeAddress("glTextureImage2DEXT", (void **) &traceGL_Native.glTextureImage2DEXT);

  traceThis = traceEnabled("glTextureImage2DEXT",&traceParam);

  if (!traceGL_Native.glTextureImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureSubImage1DEXT)
    traceGL_lookupNativeAddress("glTextureSubImage1DEXT", (void **) &traceGL_Native.glTextureSubImage1DEXT);

  traceThis = traceEnabled("glTextureSubImage1DEXT",&traceParam);

  if (!traceGL_Native.glTextureSubImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureSubImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureSubImage2DEXT)
    traceGL_lookupNativeAddress("glTextureSubImage2DEXT", (void **) &traceGL_Native.glTextureSubImage2DEXT);

  traceThis = traceEnabled("glTextureSubImage2DEXT",&traceParam);

  if (!traceGL_Native.glTextureSubImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureSubImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyTextureImage1DEXT)
    traceGL_lookupNativeAddress("glCopyTextureImage1DEXT", (void **) &traceGL_Native.glCopyTextureImage1DEXT);

  traceThis = traceEnabled("glCopyTextureImage1DEXT",&traceParam);

  if (!traceGL_Native.glCopyTextureImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyTextureImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyTextureImage2DEXT)
    traceGL_lookupNativeAddress("glCopyTextureImage2DEXT", (void **) &traceGL_Native.glCopyTextureImage2DEXT);

  traceThis = traceEnabled("glCopyTextureImage2DEXT",&traceParam);

  if (!traceGL_Native.glCopyTextureImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyTextureImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyTextureSubImage1DEXT)
    traceGL_lookupNativeAddress("glCopyTextureSubImage1DEXT", (void **) &traceGL_Native.glCopyTextureSubImage1DEXT);

  traceThis = traceEnabled("glCopyTextureSubImage1DEXT",&traceParam);

  if (!traceGL_Native.glCopyTextureSubImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyTextureSubImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyTextureSubImage2DEXT)
    traceGL_lookupNativeAddress("glCopyTextureSubImage2DEXT", (void **) &traceGL_Native.glCopyTextureSubImage2DEXT);

  traceThis = traceEnabled("glCopyTextureSubImage2DEXT",&traceParam);

  if (!traceGL_Native.glCopyTextureSubImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyTextureSubImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTextureImageEXT)
    traceGL_lookupNativeAddress("glGetTextureImageEXT", (void **) &traceGL_Native.glGetTextureImageEXT);

  traceThis = traceEnabled("glGetTextureImageEXT",&traceParam);

  if (!traceGL_Native.glGetTextureImageEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTextureImageEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("pixels", "%p", pixels);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTextureParameterfvEXT)
    traceGL_lookupNativeAddress("glGetTextureParameterfvEXT", (void **) &traceGL_Native.glGetTextureParameterfvEXT);

  traceThis = traceEnabled("glGetTextureParameterfvEXT",&traceParam);

  if (!traceGL_Native.glGetTextureParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTextureParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTextureParameterivEXT)
    traceGL_lookupNativeAddress("glGetTextureParameterivEXT", (void **) &traceGL_Native.glGetTextureParameterivEXT);

  traceThis = traceEnabled("glGetTextureParameterivEXT",&traceParam);

  if (!traceGL_Native.glGetTextureParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTextureParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTextureLevelParameterfvEXT)
    traceGL_lookupNativeAddress("glGetTextureLevelParameterfvEXT", (void **) &traceGL_Native.glGetTextureLevelParameterfvEXT);

  traceThis = traceEnabled("glGetTextureLevelParameterfvEXT",&traceParam);

  if (!traceGL_Native.glGetTextureLevelParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTextureLevelParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTextureLevelParameterivEXT)
    traceGL_lookupNativeAddress("glGetTextureLevelParameterivEXT", (void **) &traceGL_Native.glGetTextureLevelParameterivEXT);

  traceThis = traceEnabled("glGetTextureLevelParameterivEXT",&traceParam);

  if (!traceGL_Native.glGetTextureLevelParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTextureLevelParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureImage3DEXT)
    traceGL_lookupNativeAddress("glTextureImage3DEXT", (void **) &traceGL_Native.glTextureImage3DEXT);

  traceThis = traceEnabled("glTextureImage3DEXT",&traceParam);

  if (!traceGL_Native.glTextureImage3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureImage3DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureSubImage3DEXT)
    traceGL_lookupNativeAddress("glTextureSubImage3DEXT", (void **) &traceGL_Native.glTextureSubImage3DEXT);

  traceThis = traceEnabled("glTextureSubImage3DEXT",&traceParam);

  if (!traceGL_Native.glTextureSubImage3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureSubImage3DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyTextureSubImage3DEXT)
    traceGL_lookupNativeAddress("glCopyTextureSubImage3DEXT", (void **) &traceGL_Native.glCopyTextureSubImage3DEXT);

  traceThis = traceEnabled("glCopyTextureSubImage3DEXT",&traceParam);

  if (!traceGL_Native.glCopyTextureSubImage3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyTextureSubImage3DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexParameterfEXT)
    traceGL_lookupNativeAddress("glMultiTexParameterfEXT", (void **) &traceGL_Native.glMultiTexParameterfEXT);

  traceThis = traceEnabled("glMultiTexParameterfEXT",&traceParam);

  if (!traceGL_Native.glMultiTexParameterfEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexParameterfEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexParameterfvEXT)
    traceGL_lookupNativeAddress("glMultiTexParameterfvEXT", (void **) &traceGL_Native.glMultiTexParameterfvEXT);

  traceThis = traceEnabled("glMultiTexParameterfvEXT",&traceParam);

  if (!traceGL_Native.glMultiTexParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexParameteriEXT)
    traceGL_lookupNativeAddress("glMultiTexParameteriEXT", (void **) &traceGL_Native.glMultiTexParameteriEXT);

  traceThis = traceEnabled("glMultiTexParameteriEXT",&traceParam);

  if (!traceGL_Native.glMultiTexParameteriEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexParameteriEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexParameterivEXT)
    traceGL_lookupNativeAddress("glMultiTexParameterivEXT", (void **) &traceGL_Native.glMultiTexParameterivEXT);

  traceThis = traceEnabled("glMultiTexParameterivEXT",&traceParam);

  if (!traceGL_Native.glMultiTexParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexImage1DEXT)
    traceGL_lookupNativeAddress("glMultiTexImage1DEXT", (void **) &traceGL_Native.glMultiTexImage1DEXT);

  traceThis = traceEnabled("glMultiTexImage1DEXT",&traceParam);

  if (!traceGL_Native.glMultiTexImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexImage2DEXT)
    traceGL_lookupNativeAddress("glMultiTexImage2DEXT", (void **) &traceGL_Native.glMultiTexImage2DEXT);

  traceThis = traceEnabled("glMultiTexImage2DEXT",&traceParam);

  if (!traceGL_Native.glMultiTexImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexSubImage1DEXT)
    traceGL_lookupNativeAddress("glMultiTexSubImage1DEXT", (void **) &traceGL_Native.glMultiTexSubImage1DEXT);

  traceThis = traceEnabled("glMultiTexSubImage1DEXT",&traceParam);

  if (!traceGL_Native.glMultiTexSubImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexSubImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexSubImage2DEXT)
    traceGL_lookupNativeAddress("glMultiTexSubImage2DEXT", (void **) &traceGL_Native.glMultiTexSubImage2DEXT);

  traceThis = traceEnabled("glMultiTexSubImage2DEXT",&traceParam);

  if (!traceGL_Native.glMultiTexSubImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexSubImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyMultiTexImage1DEXT)
    traceGL_lookupNativeAddress("glCopyMultiTexImage1DEXT", (void **) &traceGL_Native.glCopyMultiTexImage1DEXT);

  traceThis = traceEnabled("glCopyMultiTexImage1DEXT",&traceParam);

  if (!traceGL_Native.glCopyMultiTexImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyMultiTexImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyMultiTexImage2DEXT)
    traceGL_lookupNativeAddress("glCopyMultiTexImage2DEXT", (void **) &traceGL_Native.glCopyMultiTexImage2DEXT);

  traceThis = traceEnabled("glCopyMultiTexImage2DEXT",&traceParam);

  if (!traceGL_Native.glCopyMultiTexImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyMultiTexImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyMultiTexSubImage1DEXT)
    traceGL_lookupNativeAddress("glCopyMultiTexSubImage1DEXT", (void **) &traceGL_Native.glCopyMultiTexSubImage1DEXT);

  traceThis = traceEnabled("glCopyMultiTexSubImage1DEXT",&traceParam);

  if (!traceGL_Native.glCopyMultiTexSubImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyMultiTexSubImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyMultiTexSubImage2DEXT)
    traceGL_lookupNativeAddress("glCopyMultiTexSubImage2DEXT", (void **) &traceGL_Native.glCopyMultiTexSubImage2DEXT);

  traceThis = traceEnabled("glCopyMultiTexSubImage2DEXT",&traceParam);

  if (!traceGL_Native.glCopyMultiTexSubImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyMultiTexSubImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultiTexImageEXT)
    traceGL_lookupNativeAddress("glGetMultiTexImageEXT", (void **) &traceGL_Native.glGetMultiTexImageEXT);

  traceThis = traceEnabled("glGetMultiTexImageEXT",&traceParam);

  if (!traceGL_Native.glGetMultiTexImageEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultiTexImageEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("pixels", "%p", pixels);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultiTexParameterfvEXT)
    traceGL_lookupNativeAddress("glGetMultiTexParameterfvEXT", (void **) &traceGL_Native.glGetMultiTexParameterfvEXT);

  traceThis = traceEnabled("glGetMultiTexParameterfvEXT",&traceParam);

  if (!traceGL_Native.glGetMultiTexParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultiTexParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultiTexParameterivEXT)
    traceGL_lookupNativeAddress("glGetMultiTexParameterivEXT", (void **) &traceGL_Native.glGetMultiTexParameterivEXT);

  traceThis = traceEnabled("glGetMultiTexParameterivEXT",&traceParam);

  if (!traceGL_Native.glGetMultiTexParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultiTexParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultiTexLevelParameterfvEXT)
    traceGL_lookupNativeAddress("glGetMultiTexLevelParameterfvEXT", (void **) &traceGL_Native.glGetMultiTexLevelParameterfvEXT);

  traceThis = traceEnabled("glGetMultiTexLevelParameterfvEXT",&traceParam);

  if (!traceGL_Native.glGetMultiTexLevelParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultiTexLevelParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultiTexLevelParameterivEXT)
    traceGL_lookupNativeAddress("glGetMultiTexLevelParameterivEXT", (void **) &traceGL_Native.glGetMultiTexLevelParameterivEXT);

  traceThis = traceEnabled("glGetMultiTexLevelParameterivEXT",&traceParam);

  if (!traceGL_Native.glGetMultiTexLevelParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultiTexLevelParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexImage3DEXT)
    traceGL_lookupNativeAddress("glMultiTexImage3DEXT", (void **) &traceGL_Native.glMultiTexImage3DEXT);

  traceThis = traceEnabled("glMultiTexImage3DEXT",&traceParam);

  if (!traceGL_Native.glMultiTexImage3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexImage3DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexSubImage3DEXT)
    traceGL_lookupNativeAddress("glMultiTexSubImage3DEXT", (void **) &traceGL_Native.glMultiTexSubImage3DEXT);

  traceThis = traceEnabled("glMultiTexSubImage3DEXT",&traceParam);

  if (!traceGL_Native.glMultiTexSubImage3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexSubImage3DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyMultiTexSubImage3DEXT)
    traceGL_lookupNativeAddress("glCopyMultiTexSubImage3DEXT", (void **) &traceGL_Native.glCopyMultiTexSubImage3DEXT);

  traceThis = traceEnabled("glCopyMultiTexSubImage3DEXT",&traceParam);

  if (!traceGL_Native.glCopyMultiTexSubImage3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyMultiTexSubImage3DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindMultiTextureEXT)
    traceGL_lookupNativeAddress("glBindMultiTextureEXT", (void **) &traceGL_Native.glBindMultiTextureEXT);

  traceThis = traceEnabled("glBindMultiTextureEXT",&traceParam);

  if (!traceGL_Native.glBindMultiTextureEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindMultiTextureEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEnableClientStateIndexedEXT)
    traceGL_lookupNativeAddress("glEnableClientStateIndexedEXT", (void **) &traceGL_Native.glEnableClientStateIndexedEXT);

  traceThis = traceEnabled("glEnableClientStateIndexedEXT",&traceParam);

  if (!traceGL_Native.glEnableClientStateIndexedEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEnableClientStateIndexedEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDisableClientStateIndexedEXT)
    traceGL_lookupNativeAddress("glDisableClientStateIndexedEXT", (void **) &traceGL_Native.glDisableClientStateIndexedEXT);

  traceThis = traceEnabled("glDisableClientStateIndexedEXT",&traceParam);

  if (!traceGL_Native.glDisableClientStateIndexedEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDisableClientStateIndexedEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexCoordPointerEXT)
    traceGL_lookupNativeAddress("glMultiTexCoordPointerEXT", (void **) &traceGL_Native.glMultiTexCoordPointerEXT);

  traceThis = traceEnabled("glMultiTexCoordPointerEXT",&traceParam);

  if (!traceGL_Native.glMultiTexCoordPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexCoordPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexEnvfEXT)
    traceGL_lookupNativeAddress("glMultiTexEnvfEXT", (void **) &traceGL_Native.glMultiTexEnvfEXT);

  traceThis = traceEnabled("glMultiTexEnvfEXT",&traceParam);

  if (!traceGL_Native.glMultiTexEnvfEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexEnvfEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexEnvfvEXT)
    traceGL_lookupNativeAddress("glMultiTexEnvfvEXT", (void **) &traceGL_Native.glMultiTexEnvfvEXT);

  traceThis = traceEnabled("glMultiTexEnvfvEXT",&traceParam);

  if (!traceGL_Native.glMultiTexEnvfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexEnvfvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexEnviEXT)
    traceGL_lookupNativeAddress("glMultiTexEnviEXT", (void **) &traceGL_Native.glMultiTexEnviEXT);

  traceThis = traceEnabled("glMultiTexEnviEXT",&traceParam);

  if (!traceGL_Native.glMultiTexEnviEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexEnviEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexEnvivEXT)
    traceGL_lookupNativeAddress("glMultiTexEnvivEXT", (void **) &traceGL_Native.glMultiTexEnvivEXT);

  traceThis = traceEnabled("glMultiTexEnvivEXT",&traceParam);

  if (!traceGL_Native.glMultiTexEnvivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexEnvivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexGendEXT)
    traceGL_lookupNativeAddress("glMultiTexGendEXT", (void **) &traceGL_Native.glMultiTexGendEXT);

  traceThis = traceEnabled("glMultiTexGendEXT",&traceParam);

  if (!traceGL_Native.glMultiTexGendEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexGendEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexGendvEXT)
    traceGL_lookupNativeAddress("glMultiTexGendvEXT", (void **) &traceGL_Native.glMultiTexGendvEXT);

  traceThis = traceEnabled("glMultiTexGendvEXT",&traceParam);

  if (!traceGL_Native.glMultiTexGendvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexGendvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexGenfEXT)
    traceGL_lookupNativeAddress("glMultiTexGenfEXT", (void **) &traceGL_Native.glMultiTexGenfEXT);

  traceThis = traceEnabled("glMultiTexGenfEXT",&traceParam);

  if (!traceGL_Native.glMultiTexGenfEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexGenfEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexGenfvEXT)
    traceGL_lookupNativeAddress("glMultiTexGenfvEXT", (void **) &traceGL_Native.glMultiTexGenfvEXT);

  traceThis = traceEnabled("glMultiTexGenfvEXT",&traceParam);

  if (!traceGL_Native.glMultiTexGenfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexGenfvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexGeniEXT)
    traceGL_lookupNativeAddress("glMultiTexGeniEXT", (void **) &traceGL_Native.glMultiTexGeniEXT);

  traceThis = traceEnabled("glMultiTexGeniEXT",&traceParam);

  if (!traceGL_Native.glMultiTexGeniEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexGeniEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexGenivEXT)
    traceGL_lookupNativeAddress("glMultiTexGenivEXT", (void **) &traceGL_Native.glMultiTexGenivEXT);

  traceThis = traceEnabled("glMultiTexGenivEXT",&traceParam);

  if (!traceGL_Native.glMultiTexGenivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexGenivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultiTexEnvfvEXT)
    traceGL_lookupNativeAddress("glGetMultiTexEnvfvEXT", (void **) &traceGL_Native.glGetMultiTexEnvfvEXT);

  traceThis = traceEnabled("glGetMultiTexEnvfvEXT",&traceParam);

  if (!traceGL_Native.glGetMultiTexEnvfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultiTexEnvfvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultiTexEnvivEXT)
    traceGL_lookupNativeAddress("glGetMultiTexEnvivEXT", (void **) &traceGL_Native.glGetMultiTexEnvivEXT);

  traceThis = traceEnabled("glGetMultiTexEnvivEXT",&traceParam);

  if (!traceGL_Native.glGetMultiTexEnvivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultiTexEnvivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultiTexGendvEXT)
    traceGL_lookupNativeAddress("glGetMultiTexGendvEXT", (void **) &traceGL_Native.glGetMultiTexGendvEXT);

  traceThis = traceEnabled("glGetMultiTexGendvEXT",&traceParam);

  if (!traceGL_Native.glGetMultiTexGendvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultiTexGendvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultiTexGenfvEXT)
    traceGL_lookupNativeAddress("glGetMultiTexGenfvEXT", (void **) &traceGL_Native.glGetMultiTexGenfvEXT);

  traceThis = traceEnabled("glGetMultiTexGenfvEXT",&traceParam);

  if (!traceGL_Native.glGetMultiTexGenfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultiTexGenfvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultiTexGenivEXT)
    traceGL_lookupNativeAddress("glGetMultiTexGenivEXT", (void **) &traceGL_Native.glGetMultiTexGenivEXT);

  traceThis = traceEnabled("glGetMultiTexGenivEXT",&traceParam);

  if (!traceGL_Native.glGetMultiTexGenivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultiTexGenivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFloatIndexedvEXT)
    traceGL_lookupNativeAddress("glGetFloatIndexedvEXT", (void **) &traceGL_Native.glGetFloatIndexedvEXT);

  traceThis = traceEnabled("glGetFloatIndexedvEXT",&traceParam);

  if (!traceGL_Native.glGetFloatIndexedvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFloatIndexedvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetDoubleIndexedvEXT)
    traceGL_lookupNativeAddress("glGetDoubleIndexedvEXT", (void **) &traceGL_Native.glGetDoubleIndexedvEXT);

  traceThis = traceEnabled("glGetDoubleIndexedvEXT",&traceParam);

  if (!traceGL_Native.glGetDoubleIndexedvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetDoubleIndexedvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetPointerIndexedvEXT)
    traceGL_lookupNativeAddress("glGetPointerIndexedvEXT", (void **) &traceGL_Native.glGetPointerIndexedvEXT);

  traceThis = traceEnabled("glGetPointerIndexedvEXT",&traceParam);

  if (!traceGL_Native.glGetPointerIndexedvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetPointerIndexedvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTextureImage3DEXT)
    traceGL_lookupNativeAddress("glCompressedTextureImage3DEXT", (void **) &traceGL_Native.glCompressedTextureImage3DEXT);

  traceThis = traceEnabled("glCompressedTextureImage3DEXT",&traceParam);

  if (!traceGL_Native.glCompressedTextureImage3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTextureImage3DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTextureImage2DEXT)
    traceGL_lookupNativeAddress("glCompressedTextureImage2DEXT", (void **) &traceGL_Native.glCompressedTextureImage2DEXT);

  traceThis = traceEnabled("glCompressedTextureImage2DEXT",&traceParam);

  if (!traceGL_Native.glCompressedTextureImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTextureImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTextureImage1DEXT)
    traceGL_lookupNativeAddress("glCompressedTextureImage1DEXT", (void **) &traceGL_Native.glCompressedTextureImage1DEXT);

  traceThis = traceEnabled("glCompressedTextureImage1DEXT",&traceParam);

  if (!traceGL_Native.glCompressedTextureImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTextureImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTextureSubImage3DEXT)
    traceGL_lookupNativeAddress("glCompressedTextureSubImage3DEXT", (void **) &traceGL_Native.glCompressedTextureSubImage3DEXT);

  traceThis = traceEnabled("glCompressedTextureSubImage3DEXT",&traceParam);

  if (!traceGL_Native.glCompressedTextureSubImage3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTextureSubImage3DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTextureSubImage2DEXT)
    traceGL_lookupNativeAddress("glCompressedTextureSubImage2DEXT", (void **) &traceGL_Native.glCompressedTextureSubImage2DEXT);

  traceThis = traceEnabled("glCompressedTextureSubImage2DEXT",&traceParam);

  if (!traceGL_Native.glCompressedTextureSubImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTextureSubImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedTextureSubImage1DEXT)
    traceGL_lookupNativeAddress("glCompressedTextureSubImage1DEXT", (void **) &traceGL_Native.glCompressedTextureSubImage1DEXT);

  traceThis = traceEnabled("glCompressedTextureSubImage1DEXT",&traceParam);

  if (!traceGL_Native.glCompressedTextureSubImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedTextureSubImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetCompressedTextureImageEXT)
    traceGL_lookupNativeAddress("glGetCompressedTextureImageEXT", (void **) &traceGL_Native.glGetCompressedTextureImageEXT);

  traceThis = traceEnabled("glGetCompressedTextureImageEXT",&traceParam);

  if (!traceGL_Native.glGetCompressedTextureImageEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetCompressedTextureImageEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedMultiTexImage3DEXT)
    traceGL_lookupNativeAddress("glCompressedMultiTexImage3DEXT", (void **) &traceGL_Native.glCompressedMultiTexImage3DEXT);

  traceThis = traceEnabled("glCompressedMultiTexImage3DEXT",&traceParam);

  if (!traceGL_Native.glCompressedMultiTexImage3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedMultiTexImage3DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedMultiTexImage2DEXT)
    traceGL_lookupNativeAddress("glCompressedMultiTexImage2DEXT", (void **) &traceGL_Native.glCompressedMultiTexImage2DEXT);

  traceThis = traceEnabled("glCompressedMultiTexImage2DEXT",&traceParam);

  if (!traceGL_Native.glCompressedMultiTexImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedMultiTexImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedMultiTexImage1DEXT)
    traceGL_lookupNativeAddress("glCompressedMultiTexImage1DEXT", (void **) &traceGL_Native.glCompressedMultiTexImage1DEXT);

  traceThis = traceEnabled("glCompressedMultiTexImage1DEXT",&traceParam);

  if (!traceGL_Native.glCompressedMultiTexImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedMultiTexImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedMultiTexSubImage3DEXT)
    traceGL_lookupNativeAddress("glCompressedMultiTexSubImage3DEXT", (void **) &traceGL_Native.glCompressedMultiTexSubImage3DEXT);

  traceThis = traceEnabled("glCompressedMultiTexSubImage3DEXT",&traceParam);

  if (!traceGL_Native.glCompressedMultiTexSubImage3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedMultiTexSubImage3DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedMultiTexSubImage2DEXT)
    traceGL_lookupNativeAddress("glCompressedMultiTexSubImage2DEXT", (void **) &traceGL_Native.glCompressedMultiTexSubImage2DEXT);

  traceThis = traceEnabled("glCompressedMultiTexSubImage2DEXT",&traceParam);

  if (!traceGL_Native.glCompressedMultiTexSubImage2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedMultiTexSubImage2DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCompressedMultiTexSubImage1DEXT)
    traceGL_lookupNativeAddress("glCompressedMultiTexSubImage1DEXT", (void **) &traceGL_Native.glCompressedMultiTexSubImage1DEXT);

  traceThis = traceEnabled("glCompressedMultiTexSubImage1DEXT",&traceParam);

  if (!traceGL_Native.glCompressedMultiTexSubImage1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCompressedMultiTexSubImage1DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetCompressedMultiTexImageEXT)
    traceGL_lookupNativeAddress("glGetCompressedMultiTexImageEXT", (void **) &traceGL_Native.glGetCompressedMultiTexImageEXT);

  traceThis = traceEnabled("glGetCompressedMultiTexImageEXT",&traceParam);

  if (!traceGL_Native.glGetCompressedMultiTexImageEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetCompressedMultiTexImageEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedProgramStringEXT)
    traceGL_lookupNativeAddress("glNamedProgramStringEXT", (void **) &traceGL_Native.glNamedProgramStringEXT);

  traceThis = traceEnabled("glNamedProgramStringEXT",&traceParam);

  if (!traceGL_Native.glNamedProgramStringEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedProgramStringEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedProgramLocalParameter4dEXT)
    traceGL_lookupNativeAddress("glNamedProgramLocalParameter4dEXT", (void **) &traceGL_Native.glNamedProgramLocalParameter4dEXT);

  traceThis = traceEnabled("glNamedProgramLocalParameter4dEXT",&traceParam);

  if (!traceGL_Native.glNamedProgramLocalParameter4dEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedProgramLocalParameter4dEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedProgramLocalParameter4dvEXT)
    traceGL_lookupNativeAddress("glNamedProgramLocalParameter4dvEXT", (void **) &traceGL_Native.glNamedProgramLocalParameter4dvEXT);

  traceThis = traceEnabled("glNamedProgramLocalParameter4dvEXT",&traceParam);

  if (!traceGL_Native.glNamedProgramLocalParameter4dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedProgramLocalParameter4dvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedProgramLocalParameter4fEXT)
    traceGL_lookupNativeAddress("glNamedProgramLocalParameter4fEXT", (void **) &traceGL_Native.glNamedProgramLocalParameter4fEXT);

  traceThis = traceEnabled("glNamedProgramLocalParameter4fEXT",&traceParam);

  if (!traceGL_Native.glNamedProgramLocalParameter4fEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedProgramLocalParameter4fEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedProgramLocalParameter4fvEXT)
    traceGL_lookupNativeAddress("glNamedProgramLocalParameter4fvEXT", (void **) &traceGL_Native.glNamedProgramLocalParameter4fvEXT);

  traceThis = traceEnabled("glNamedProgramLocalParameter4fvEXT",&traceParam);

  if (!traceGL_Native.glNamedProgramLocalParameter4fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedProgramLocalParameter4fvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedProgramLocalParameterdvEXT)
    traceGL_lookupNativeAddress("glGetNamedProgramLocalParameterdvEXT", (void **) &traceGL_Native.glGetNamedProgramLocalParameterdvEXT);

  traceThis = traceEnabled("glGetNamedProgramLocalParameterdvEXT",&traceParam);

  if (!traceGL_Native.glGetNamedProgramLocalParameterdvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedProgramLocalParameterdvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%lf[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetNamedProgramLocalParameterfvEXT(GLuint program, GLenum target, GLuint index, GLfloat *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedProgramLocalParameterfvEXT)
    traceGL_lookupNativeAddress("glGetNamedProgramLocalParameterfvEXT", (void **) &traceGL_Native.glGetNamedProgramLocalParameterfvEXT);

  traceThis = traceEnabled("glGetNamedProgramLocalParameterfvEXT",&traceParam);

  if (!traceGL_Native.glGetNamedProgramLocalParameterfvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedProgramLocalParameterfvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%f[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetNamedProgramivEXT(GLuint program, GLenum target, GLenum pname, GLint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedProgramivEXT)
    traceGL_lookupNativeAddress("glGetNamedProgramivEXT", (void **) &traceGL_Native.glGetNamedProgramivEXT);

  traceThis = traceEnabled("glGetNamedProgramivEXT",&traceParam);

  if (!traceGL_Native.glGetNamedProgramivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedProgramivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%d[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetNamedProgramStringEXT(GLuint program, GLenum target, GLenum pname, GLvoid *string)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedProgramStringEXT)
    traceGL_lookupNativeAddress("glGetNamedProgramStringEXT", (void **) &traceGL_Native.glGetNamedProgramStringEXT);

  traceThis = traceEnabled("glGetNamedProgramStringEXT",&traceParam);

  if (!traceGL_Native.glGetNamedProgramStringEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedProgramStringEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedProgramLocalParameters4fvEXT)
    traceGL_lookupNativeAddress("glNamedProgramLocalParameters4fvEXT", (void **) &traceGL_Native.glNamedProgramLocalParameters4fvEXT);

  traceThis = traceEnabled("glNamedProgramLocalParameters4fvEXT",&traceParam);

  if (!traceGL_Native.glNamedProgramLocalParameters4fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedProgramLocalParameters4fvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedProgramLocalParameterI4iEXT)
    traceGL_lookupNativeAddress("glNamedProgramLocalParameterI4iEXT", (void **) &traceGL_Native.glNamedProgramLocalParameterI4iEXT);

  traceThis = traceEnabled("glNamedProgramLocalParameterI4iEXT",&traceParam);

  if (!traceGL_Native.glNamedProgramLocalParameterI4iEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedProgramLocalParameterI4iEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedProgramLocalParameterI4ivEXT)
    traceGL_lookupNativeAddress("glNamedProgramLocalParameterI4ivEXT", (void **) &traceGL_Native.glNamedProgramLocalParameterI4ivEXT);

  traceThis = traceEnabled("glNamedProgramLocalParameterI4ivEXT",&traceParam);

  if (!traceGL_Native.glNamedProgramLocalParameterI4ivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedProgramLocalParameterI4ivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedProgramLocalParametersI4ivEXT)
    traceGL_lookupNativeAddress("glNamedProgramLocalParametersI4ivEXT", (void **) &traceGL_Native.glNamedProgramLocalParametersI4ivEXT);

  traceThis = traceEnabled("glNamedProgramLocalParametersI4ivEXT",&traceParam);

  if (!traceGL_Native.glNamedProgramLocalParametersI4ivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedProgramLocalParametersI4ivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedProgramLocalParameterI4uiEXT)
    traceGL_lookupNativeAddress("glNamedProgramLocalParameterI4uiEXT", (void **) &traceGL_Native.glNamedProgramLocalParameterI4uiEXT);

  traceThis = traceEnabled("glNamedProgramLocalParameterI4uiEXT",&traceParam);

  if (!traceGL_Native.glNamedProgramLocalParameterI4uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedProgramLocalParameterI4uiEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedProgramLocalParameterI4uivEXT)
    traceGL_lookupNativeAddress("glNamedProgramLocalParameterI4uivEXT", (void **) &traceGL_Native.glNamedProgramLocalParameterI4uivEXT);

  traceThis = traceEnabled("glNamedProgramLocalParameterI4uivEXT",&traceParam);

  if (!traceGL_Native.glNamedProgramLocalParameterI4uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedProgramLocalParameterI4uivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedProgramLocalParametersI4uivEXT)
    traceGL_lookupNativeAddress("glNamedProgramLocalParametersI4uivEXT", (void **) &traceGL_Native.glNamedProgramLocalParametersI4uivEXT);

  traceThis = traceEnabled("glNamedProgramLocalParametersI4uivEXT",&traceParam);

  if (!traceGL_Native.glNamedProgramLocalParametersI4uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedProgramLocalParametersI4uivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedProgramLocalParameterIivEXT)
    traceGL_lookupNativeAddress("glGetNamedProgramLocalParameterIivEXT", (void **) &traceGL_Native.glGetNamedProgramLocalParameterIivEXT);

  traceThis = traceEnabled("glGetNamedProgramLocalParameterIivEXT",&traceParam);

  if (!traceGL_Native.glGetNamedProgramLocalParameterIivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedProgramLocalParameterIivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%d[%d]", params, 4);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGetNamedProgramLocalParameterIuivEXT(GLuint program, GLenum target, GLuint index, GLuint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedProgramLocalParameterIuivEXT)
    traceGL_lookupNativeAddress("glGetNamedProgramLocalParameterIuivEXT", (void **) &traceGL_Native.glGetNamedProgramLocalParameterIuivEXT);

  traceThis = traceEnabled("glGetNamedProgramLocalParameterIuivEXT",&traceParam);

  if (!traceGL_Native.glGetNamedProgramLocalParameterIuivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedProgramLocalParameterIuivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureParameterIivEXT)
    traceGL_lookupNativeAddress("glTextureParameterIivEXT", (void **) &traceGL_Native.glTextureParameterIivEXT);

  traceThis = traceEnabled("glTextureParameterIivEXT",&traceParam);

  if (!traceGL_Native.glTextureParameterIivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureParameterIivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureParameterIuivEXT)
    traceGL_lookupNativeAddress("glTextureParameterIuivEXT", (void **) &traceGL_Native.glTextureParameterIuivEXT);

  traceThis = traceEnabled("glTextureParameterIuivEXT",&traceParam);

  if (!traceGL_Native.glTextureParameterIuivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureParameterIuivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTextureParameterIivEXT)
    traceGL_lookupNativeAddress("glGetTextureParameterIivEXT", (void **) &traceGL_Native.glGetTextureParameterIivEXT);

  traceThis = traceEnabled("glGetTextureParameterIivEXT",&traceParam);

  if (!traceGL_Native.glGetTextureParameterIivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTextureParameterIivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTextureParameterIuivEXT)
    traceGL_lookupNativeAddress("glGetTextureParameterIuivEXT", (void **) &traceGL_Native.glGetTextureParameterIuivEXT);

  traceThis = traceEnabled("glGetTextureParameterIuivEXT",&traceParam);

  if (!traceGL_Native.glGetTextureParameterIuivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTextureParameterIuivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexParameterIivEXT)
    traceGL_lookupNativeAddress("glMultiTexParameterIivEXT", (void **) &traceGL_Native.glMultiTexParameterIivEXT);

  traceThis = traceEnabled("glMultiTexParameterIivEXT",&traceParam);

  if (!traceGL_Native.glMultiTexParameterIivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexParameterIivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexParameterIuivEXT)
    traceGL_lookupNativeAddress("glMultiTexParameterIuivEXT", (void **) &traceGL_Native.glMultiTexParameterIuivEXT);

  traceThis = traceEnabled("glMultiTexParameterIuivEXT",&traceParam);

  if (!traceGL_Native.glMultiTexParameterIuivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexParameterIuivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultiTexParameterIivEXT)
    traceGL_lookupNativeAddress("glGetMultiTexParameterIivEXT", (void **) &traceGL_Native.glGetMultiTexParameterIivEXT);

  traceThis = traceEnabled("glGetMultiTexParameterIivEXT",&traceParam);

  if (!traceGL_Native.glGetMultiTexParameterIivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultiTexParameterIivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultiTexParameterIuivEXT)
    traceGL_lookupNativeAddress("glGetMultiTexParameterIuivEXT", (void **) &traceGL_Native.glGetMultiTexParameterIuivEXT);

  traceThis = traceEnabled("glGetMultiTexParameterIuivEXT",&traceParam);

  if (!traceGL_Native.glGetMultiTexParameterIuivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultiTexParameterIuivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1fEXT)
    traceGL_lookupNativeAddress("glProgramUniform1fEXT", (void **) &traceGL_Native.glProgramUniform1fEXT);

  traceThis = traceEnabled("glProgramUniform1fEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform1fEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1fEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2fEXT)
    traceGL_lookupNativeAddress("glProgramUniform2fEXT", (void **) &traceGL_Native.glProgramUniform2fEXT);

  traceThis = traceEnabled("glProgramUniform2fEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform2fEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2fEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3fEXT)
    traceGL_lookupNativeAddress("glProgramUniform3fEXT", (void **) &traceGL_Native.glProgramUniform3fEXT);

  traceThis = traceEnabled("glProgramUniform3fEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform3fEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3fEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4fEXT)
    traceGL_lookupNativeAddress("glProgramUniform4fEXT", (void **) &traceGL_Native.glProgramUniform4fEXT);

  traceThis = traceEnabled("glProgramUniform4fEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform4fEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4fEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1iEXT)
    traceGL_lookupNativeAddress("glProgramUniform1iEXT", (void **) &traceGL_Native.glProgramUniform1iEXT);

  traceThis = traceEnabled("glProgramUniform1iEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform1iEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1iEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2iEXT)
    traceGL_lookupNativeAddress("glProgramUniform2iEXT", (void **) &traceGL_Native.glProgramUniform2iEXT);

  traceThis = traceEnabled("glProgramUniform2iEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform2iEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2iEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3iEXT)
    traceGL_lookupNativeAddress("glProgramUniform3iEXT", (void **) &traceGL_Native.glProgramUniform3iEXT);

  traceThis = traceEnabled("glProgramUniform3iEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform3iEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3iEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4iEXT)
    traceGL_lookupNativeAddress("glProgramUniform4iEXT", (void **) &traceGL_Native.glProgramUniform4iEXT);

  traceThis = traceEnabled("glProgramUniform4iEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform4iEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4iEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1fvEXT)
    traceGL_lookupNativeAddress("glProgramUniform1fvEXT", (void **) &traceGL_Native.glProgramUniform1fvEXT);

  traceThis = traceEnabled("glProgramUniform1fvEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform1fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1fvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2fvEXT)
    traceGL_lookupNativeAddress("glProgramUniform2fvEXT", (void **) &traceGL_Native.glProgramUniform2fvEXT);

  traceThis = traceEnabled("glProgramUniform2fvEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform2fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2fvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3fvEXT)
    traceGL_lookupNativeAddress("glProgramUniform3fvEXT", (void **) &traceGL_Native.glProgramUniform3fvEXT);

  traceThis = traceEnabled("glProgramUniform3fvEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform3fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3fvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4fvEXT)
    traceGL_lookupNativeAddress("glProgramUniform4fvEXT", (void **) &traceGL_Native.glProgramUniform4fvEXT);

  traceThis = traceEnabled("glProgramUniform4fvEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform4fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4fvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1ivEXT)
    traceGL_lookupNativeAddress("glProgramUniform1ivEXT", (void **) &traceGL_Native.glProgramUniform1ivEXT);

  traceThis = traceEnabled("glProgramUniform1ivEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform1ivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1ivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2ivEXT)
    traceGL_lookupNativeAddress("glProgramUniform2ivEXT", (void **) &traceGL_Native.glProgramUniform2ivEXT);

  traceThis = traceEnabled("glProgramUniform2ivEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform2ivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2ivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3ivEXT)
    traceGL_lookupNativeAddress("glProgramUniform3ivEXT", (void **) &traceGL_Native.glProgramUniform3ivEXT);

  traceThis = traceEnabled("glProgramUniform3ivEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform3ivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3ivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4ivEXT)
    traceGL_lookupNativeAddress("glProgramUniform4ivEXT", (void **) &traceGL_Native.glProgramUniform4ivEXT);

  traceThis = traceEnabled("glProgramUniform4ivEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform4ivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4ivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix2fvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix2fvEXT", (void **) &traceGL_Native.glProgramUniformMatrix2fvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix2fvEXT",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix2fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix2fvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix3fvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix3fvEXT", (void **) &traceGL_Native.glProgramUniformMatrix3fvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix3fvEXT",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix3fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix3fvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix4fvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix4fvEXT", (void **) &traceGL_Native.glProgramUniformMatrix4fvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix4fvEXT",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix4fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix4fvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix2x3fvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix2x3fvEXT", (void **) &traceGL_Native.glProgramUniformMatrix2x3fvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix2x3fvEXT",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix2x3fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix2x3fvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix3x2fvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix3x2fvEXT", (void **) &traceGL_Native.glProgramUniformMatrix3x2fvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix3x2fvEXT",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix3x2fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix3x2fvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix2x4fvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix2x4fvEXT", (void **) &traceGL_Native.glProgramUniformMatrix2x4fvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix2x4fvEXT",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix2x4fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix2x4fvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix4x2fvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix4x2fvEXT", (void **) &traceGL_Native.glProgramUniformMatrix4x2fvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix4x2fvEXT",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix4x2fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix4x2fvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix3x4fvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix3x4fvEXT", (void **) &traceGL_Native.glProgramUniformMatrix3x4fvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix3x4fvEXT",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix3x4fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix3x4fvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix4x3fvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix4x3fvEXT", (void **) &traceGL_Native.glProgramUniformMatrix4x3fvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix4x3fvEXT",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix4x3fvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix4x3fvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1uiEXT)
    traceGL_lookupNativeAddress("glProgramUniform1uiEXT", (void **) &traceGL_Native.glProgramUniform1uiEXT);

  traceThis = traceEnabled("glProgramUniform1uiEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform1uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1uiEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2uiEXT)
    traceGL_lookupNativeAddress("glProgramUniform2uiEXT", (void **) &traceGL_Native.glProgramUniform2uiEXT);

  traceThis = traceEnabled("glProgramUniform2uiEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform2uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2uiEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3uiEXT)
    traceGL_lookupNativeAddress("glProgramUniform3uiEXT", (void **) &traceGL_Native.glProgramUniform3uiEXT);

  traceThis = traceEnabled("glProgramUniform3uiEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform3uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3uiEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4uiEXT)
    traceGL_lookupNativeAddress("glProgramUniform4uiEXT", (void **) &traceGL_Native.glProgramUniform4uiEXT);

  traceThis = traceEnabled("glProgramUniform4uiEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform4uiEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4uiEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1uivEXT)
    traceGL_lookupNativeAddress("glProgramUniform1uivEXT", (void **) &traceGL_Native.glProgramUniform1uivEXT);

  traceThis = traceEnabled("glProgramUniform1uivEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform1uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1uivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2uivEXT)
    traceGL_lookupNativeAddress("glProgramUniform2uivEXT", (void **) &traceGL_Native.glProgramUniform2uivEXT);

  traceThis = traceEnabled("glProgramUniform2uivEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform2uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2uivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3uivEXT)
    traceGL_lookupNativeAddress("glProgramUniform3uivEXT", (void **) &traceGL_Native.glProgramUniform3uivEXT);

  traceThis = traceEnabled("glProgramUniform3uivEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform3uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3uivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4uivEXT)
    traceGL_lookupNativeAddress("glProgramUniform4uivEXT", (void **) &traceGL_Native.glProgramUniform4uivEXT);

  traceThis = traceEnabled("glProgramUniform4uivEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform4uivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4uivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedBufferDataEXT)
    traceGL_lookupNativeAddress("glNamedBufferDataEXT", (void **) &traceGL_Native.glNamedBufferDataEXT);

  traceThis = traceEnabled("glNamedBufferDataEXT",&traceParam);

  if (!traceGL_Native.glNamedBufferDataEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedBufferDataEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedBufferSubDataEXT)
    traceGL_lookupNativeAddress("glNamedBufferSubDataEXT", (void **) &traceGL_Native.glNamedBufferSubDataEXT);

  traceThis = traceEnabled("glNamedBufferSubDataEXT",&traceParam);

  if (!traceGL_Native.glNamedBufferSubDataEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedBufferSubDataEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapNamedBufferEXT)
    traceGL_lookupNativeAddress("glMapNamedBufferEXT", (void **) &traceGL_Native.glMapNamedBufferEXT);

  traceThis = traceEnabled("glMapNamedBufferEXT",&traceParam);

  if (!traceGL_Native.glMapNamedBufferEXT)
    return NULL;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapNamedBufferEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%p", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLboolean GLAPIENTRY
glUnmapNamedBufferEXT(GLuint buffer)
{
  GLboolean ret = GL_FALSE;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUnmapNamedBufferEXT)
    traceGL_lookupNativeAddress("glUnmapNamedBufferEXT", (void **) &traceGL_Native.glUnmapNamedBufferEXT);

  traceThis = traceEnabled("glUnmapNamedBufferEXT",&traceParam);

  if (!traceGL_Native.glUnmapNamedBufferEXT)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUnmapNamedBufferEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("buffer", "%u", buffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glUnmapNamedBufferEXT(buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetNamedBufferParameterivEXT(GLuint buffer, GLenum pname, GLint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedBufferParameterivEXT)
    traceGL_lookupNativeAddress("glGetNamedBufferParameterivEXT", (void **) &traceGL_Native.glGetNamedBufferParameterivEXT);

  traceThis = traceEnabled("glGetNamedBufferParameterivEXT",&traceParam);

  if (!traceGL_Native.glGetNamedBufferParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedBufferParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedBufferPointervEXT)
    traceGL_lookupNativeAddress("glGetNamedBufferPointervEXT", (void **) &traceGL_Native.glGetNamedBufferPointervEXT);

  traceThis = traceEnabled("glGetNamedBufferPointervEXT",&traceParam);

  if (!traceGL_Native.glGetNamedBufferPointervEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedBufferPointervEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedBufferSubDataEXT)
    traceGL_lookupNativeAddress("glGetNamedBufferSubDataEXT", (void **) &traceGL_Native.glGetNamedBufferSubDataEXT);

  traceThis = traceEnabled("glGetNamedBufferSubDataEXT",&traceParam);

  if (!traceGL_Native.glGetNamedBufferSubDataEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedBufferSubDataEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("data", "%p", data);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTextureBufferEXT(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureBufferEXT)
    traceGL_lookupNativeAddress("glTextureBufferEXT", (void **) &traceGL_Native.glTextureBufferEXT);

  traceThis = traceEnabled("glTextureBufferEXT",&traceParam);

  if (!traceGL_Native.glTextureBufferEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureBufferEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexBufferEXT)
    traceGL_lookupNativeAddress("glMultiTexBufferEXT", (void **) &traceGL_Native.glMultiTexBufferEXT);

  traceThis = traceEnabled("glMultiTexBufferEXT",&traceParam);

  if (!traceGL_Native.glMultiTexBufferEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexBufferEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedRenderbufferStorageEXT)
    traceGL_lookupNativeAddress("glNamedRenderbufferStorageEXT", (void **) &traceGL_Native.glNamedRenderbufferStorageEXT);

  traceThis = traceEnabled("glNamedRenderbufferStorageEXT",&traceParam);

  if (!traceGL_Native.glNamedRenderbufferStorageEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedRenderbufferStorageEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedRenderbufferParameterivEXT)
    traceGL_lookupNativeAddress("glGetNamedRenderbufferParameterivEXT", (void **) &traceGL_Native.glGetNamedRenderbufferParameterivEXT);

  traceThis = traceEnabled("glGetNamedRenderbufferParameterivEXT",&traceParam);

  if (!traceGL_Native.glGetNamedRenderbufferParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedRenderbufferParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCheckNamedFramebufferStatusEXT)
    traceGL_lookupNativeAddress("glCheckNamedFramebufferStatusEXT", (void **) &traceGL_Native.glCheckNamedFramebufferStatusEXT);

  traceThis = traceEnabled("glCheckNamedFramebufferStatusEXT",&traceParam);

  if (!traceGL_Native.glCheckNamedFramebufferStatusEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCheckNamedFramebufferStatusEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedFramebufferTexture1DEXT)
    traceGL_lookupNativeAddress("glNamedFramebufferTexture1DEXT", (void **) &traceGL_Native.glNamedFramebufferTexture1DEXT);

  traceThis = traceEnabled("glNamedFramebufferTexture1DEXT",&traceParam);

  if (!traceGL_Native.glNamedFramebufferTexture1DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedFramebufferTexture1DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedFramebufferTexture2DEXT)
    traceGL_lookupNativeAddress("glNamedFramebufferTexture2DEXT", (void **) &traceGL_Native.glNamedFramebufferTexture2DEXT);

  traceThis = traceEnabled("glNamedFramebufferTexture2DEXT",&traceParam);

  if (!traceGL_Native.glNamedFramebufferTexture2DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedFramebufferTexture2DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedFramebufferTexture3DEXT)
    traceGL_lookupNativeAddress("glNamedFramebufferTexture3DEXT", (void **) &traceGL_Native.glNamedFramebufferTexture3DEXT);

  traceThis = traceEnabled("glNamedFramebufferTexture3DEXT",&traceParam);

  if (!traceGL_Native.glNamedFramebufferTexture3DEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedFramebufferTexture3DEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedFramebufferRenderbufferEXT)
    traceGL_lookupNativeAddress("glNamedFramebufferRenderbufferEXT", (void **) &traceGL_Native.glNamedFramebufferRenderbufferEXT);

  traceThis = traceEnabled("glNamedFramebufferRenderbufferEXT",&traceParam);

  if (!traceGL_Native.glNamedFramebufferRenderbufferEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedFramebufferRenderbufferEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedFramebufferAttachmentParameterivEXT)
    traceGL_lookupNativeAddress("glGetNamedFramebufferAttachmentParameterivEXT", (void **) &traceGL_Native.glGetNamedFramebufferAttachmentParameterivEXT);

  traceThis = traceEnabled("glGetNamedFramebufferAttachmentParameterivEXT",&traceParam);

  if (!traceGL_Native.glGetNamedFramebufferAttachmentParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedFramebufferAttachmentParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenerateTextureMipmapEXT)
    traceGL_lookupNativeAddress("glGenerateTextureMipmapEXT", (void **) &traceGL_Native.glGenerateTextureMipmapEXT);

  traceThis = traceEnabled("glGenerateTextureMipmapEXT",&traceParam);

  if (!traceGL_Native.glGenerateTextureMipmapEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenerateTextureMipmapEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenerateMultiTexMipmapEXT)
    traceGL_lookupNativeAddress("glGenerateMultiTexMipmapEXT", (void **) &traceGL_Native.glGenerateMultiTexMipmapEXT);

  traceThis = traceEnabled("glGenerateMultiTexMipmapEXT",&traceParam);

  if (!traceGL_Native.glGenerateMultiTexMipmapEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenerateMultiTexMipmapEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferDrawBufferEXT)
    traceGL_lookupNativeAddress("glFramebufferDrawBufferEXT", (void **) &traceGL_Native.glFramebufferDrawBufferEXT);

  traceThis = traceEnabled("glFramebufferDrawBufferEXT",&traceParam);

  if (!traceGL_Native.glFramebufferDrawBufferEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferDrawBufferEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferDrawBuffersEXT)
    traceGL_lookupNativeAddress("glFramebufferDrawBuffersEXT", (void **) &traceGL_Native.glFramebufferDrawBuffersEXT);

  traceThis = traceEnabled("glFramebufferDrawBuffersEXT",&traceParam);

  if (!traceGL_Native.glFramebufferDrawBuffersEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferDrawBuffersEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFramebufferReadBufferEXT)
    traceGL_lookupNativeAddress("glFramebufferReadBufferEXT", (void **) &traceGL_Native.glFramebufferReadBufferEXT);

  traceThis = traceEnabled("glFramebufferReadBufferEXT",&traceParam);

  if (!traceGL_Native.glFramebufferReadBufferEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFramebufferReadBufferEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetFramebufferParameterivEXT)
    traceGL_lookupNativeAddress("glGetFramebufferParameterivEXT", (void **) &traceGL_Native.glGetFramebufferParameterivEXT);

  traceThis = traceEnabled("glGetFramebufferParameterivEXT",&traceParam);

  if (!traceGL_Native.glGetFramebufferParameterivEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetFramebufferParameterivEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedRenderbufferStorageMultisampleEXT)
    traceGL_lookupNativeAddress("glNamedRenderbufferStorageMultisampleEXT", (void **) &traceGL_Native.glNamedRenderbufferStorageMultisampleEXT);

  traceThis = traceEnabled("glNamedRenderbufferStorageMultisampleEXT",&traceParam);

  if (!traceGL_Native.glNamedRenderbufferStorageMultisampleEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedRenderbufferStorageMultisampleEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedRenderbufferStorageMultisampleCoverageEXT)
    traceGL_lookupNativeAddress("glNamedRenderbufferStorageMultisampleCoverageEXT", (void **) &traceGL_Native.glNamedRenderbufferStorageMultisampleCoverageEXT);

  traceThis = traceEnabled("glNamedRenderbufferStorageMultisampleCoverageEXT",&traceParam);

  if (!traceGL_Native.glNamedRenderbufferStorageMultisampleCoverageEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedRenderbufferStorageMultisampleCoverageEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedFramebufferTextureEXT)
    traceGL_lookupNativeAddress("glNamedFramebufferTextureEXT", (void **) &traceGL_Native.glNamedFramebufferTextureEXT);

  traceThis = traceEnabled("glNamedFramebufferTextureEXT",&traceParam);

  if (!traceGL_Native.glNamedFramebufferTextureEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedFramebufferTextureEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedFramebufferTextureLayerEXT)
    traceGL_lookupNativeAddress("glNamedFramebufferTextureLayerEXT", (void **) &traceGL_Native.glNamedFramebufferTextureLayerEXT);

  traceThis = traceEnabled("glNamedFramebufferTextureLayerEXT",&traceParam);

  if (!traceGL_Native.glNamedFramebufferTextureLayerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedFramebufferTextureLayerEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedFramebufferTextureFaceEXT)
    traceGL_lookupNativeAddress("glNamedFramebufferTextureFaceEXT", (void **) &traceGL_Native.glNamedFramebufferTextureFaceEXT);

  traceThis = traceEnabled("glNamedFramebufferTextureFaceEXT",&traceParam);

  if (!traceGL_Native.glNamedFramebufferTextureFaceEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedFramebufferTextureFaceEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureRenderbufferEXT)
    traceGL_lookupNativeAddress("glTextureRenderbufferEXT", (void **) &traceGL_Native.glTextureRenderbufferEXT);

  traceThis = traceEnabled("glTextureRenderbufferEXT",&traceParam);

  if (!traceGL_Native.glTextureRenderbufferEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureRenderbufferEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMultiTexRenderbufferEXT)
    traceGL_lookupNativeAddress("glMultiTexRenderbufferEXT", (void **) &traceGL_Native.glMultiTexRenderbufferEXT);

  traceThis = traceEnabled("glMultiTexRenderbufferEXT",&traceParam);

  if (!traceGL_Native.glMultiTexRenderbufferEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMultiTexRenderbufferEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapNamedBufferRangeEXT)
    traceGL_lookupNativeAddress("glMapNamedBufferRangeEXT", (void **) &traceGL_Native.glMapNamedBufferRangeEXT);

  traceThis = traceEnabled("glMapNamedBufferRangeEXT",&traceParam);

  if (!traceGL_Native.glMapNamedBufferRangeEXT)
    return NULL;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapNamedBufferRangeEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%p", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glFlushMappedNamedBufferRangeEXT(GLuint buffer, GLintptr offset, GLsizeiptr length)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFlushMappedNamedBufferRangeEXT)
    traceGL_lookupNativeAddress("glFlushMappedNamedBufferRangeEXT", (void **) &traceGL_Native.glFlushMappedNamedBufferRangeEXT);

  traceThis = traceEnabled("glFlushMappedNamedBufferRangeEXT",&traceParam);

  if (!traceGL_Native.glFlushMappedNamedBufferRangeEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFlushMappedNamedBufferRangeEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNamedCopyBufferSubDataEXT)
    traceGL_lookupNativeAddress("glNamedCopyBufferSubDataEXT", (void **) &traceGL_Native.glNamedCopyBufferSubDataEXT);

  traceThis = traceEnabled("glNamedCopyBufferSubDataEXT",&traceParam);

  if (!traceGL_Native.glNamedCopyBufferSubDataEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNamedCopyBufferSubDataEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1dEXT)
    traceGL_lookupNativeAddress("glProgramUniform1dEXT", (void **) &traceGL_Native.glProgramUniform1dEXT);

  traceThis = traceEnabled("glProgramUniform1dEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform1dEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1dEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2dEXT)
    traceGL_lookupNativeAddress("glProgramUniform2dEXT", (void **) &traceGL_Native.glProgramUniform2dEXT);

  traceThis = traceEnabled("glProgramUniform2dEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform2dEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2dEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3dEXT)
    traceGL_lookupNativeAddress("glProgramUniform3dEXT", (void **) &traceGL_Native.glProgramUniform3dEXT);

  traceThis = traceEnabled("glProgramUniform3dEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform3dEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3dEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4dEXT)
    traceGL_lookupNativeAddress("glProgramUniform4dEXT", (void **) &traceGL_Native.glProgramUniform4dEXT);

  traceThis = traceEnabled("glProgramUniform4dEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform4dEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4dEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1dvEXT)
    traceGL_lookupNativeAddress("glProgramUniform1dvEXT", (void **) &traceGL_Native.glProgramUniform1dvEXT);

  traceThis = traceEnabled("glProgramUniform1dvEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform1dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1dvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2dvEXT)
    traceGL_lookupNativeAddress("glProgramUniform2dvEXT", (void **) &traceGL_Native.glProgramUniform2dvEXT);

  traceThis = traceEnabled("glProgramUniform2dvEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform2dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2dvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3dvEXT)
    traceGL_lookupNativeAddress("glProgramUniform3dvEXT", (void **) &traceGL_Native.glProgramUniform3dvEXT);

  traceThis = traceEnabled("glProgramUniform3dvEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform3dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3dvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4dvEXT)
    traceGL_lookupNativeAddress("glProgramUniform4dvEXT", (void **) &traceGL_Native.glProgramUniform4dvEXT);

  traceThis = traceEnabled("glProgramUniform4dvEXT",&traceParam);

  if (!traceGL_Native.glProgramUniform4dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4dvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix2dvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix2dvEXT", (void **) &traceGL_Native.glProgramUniformMatrix2dvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix2dvEXT",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix2dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix2dvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix3dvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix3dvEXT", (void **) &traceGL_Native.glProgramUniformMatrix3dvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix3dvEXT",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix3dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix3dvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix4dvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix4dvEXT", (void **) &traceGL_Native.glProgramUniformMatrix4dvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix4dvEXT",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix4dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix4dvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix2x3dvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix2x3dvEXT", (void **) &traceGL_Native.glProgramUniformMatrix2x3dvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix2x3dvEXT",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix2x3dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix2x3dvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix2x4dvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix2x4dvEXT", (void **) &traceGL_Native.glProgramUniformMatrix2x4dvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix2x4dvEXT",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix2x4dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix2x4dvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix3x2dvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix3x2dvEXT", (void **) &traceGL_Native.glProgramUniformMatrix3x2dvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix3x2dvEXT",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix3x2dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix3x2dvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix3x4dvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix3x4dvEXT", (void **) &traceGL_Native.glProgramUniformMatrix3x4dvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix3x4dvEXT",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix3x4dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix3x4dvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix4x2dvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix4x2dvEXT", (void **) &traceGL_Native.glProgramUniformMatrix4x2dvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix4x2dvEXT",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix4x2dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix4x2dvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformMatrix4x3dvEXT)
    traceGL_lookupNativeAddress("glProgramUniformMatrix4x3dvEXT", (void **) &traceGL_Native.glProgramUniformMatrix4x3dvEXT);

  traceThis = traceEnabled("glProgramUniformMatrix4x3dvEXT",&traceParam);

  if (!traceGL_Native.glProgramUniformMatrix4x3dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformMatrix4x3dvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetMultisamplefvNV)
    traceGL_lookupNativeAddress("glGetMultisamplefvNV", (void **) &traceGL_Native.glGetMultisamplefvNV);

  traceThis = traceEnabled("glGetMultisamplefvNV",&traceParam);

  if (!traceGL_Native.glGetMultisamplefvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetMultisamplefvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("val", "%f[%d]", val, 2);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glSampleMaskIndexedNV(GLuint index, GLbitfield mask)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSampleMaskIndexedNV)
    traceGL_lookupNativeAddress("glSampleMaskIndexedNV", (void **) &traceGL_Native.glSampleMaskIndexedNV);

  traceThis = traceEnabled("glSampleMaskIndexedNV",&traceParam);

  if (!traceGL_Native.glSampleMaskIndexedNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSampleMaskIndexedNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexRenderbufferNV)
    traceGL_lookupNativeAddress("glTexRenderbufferNV", (void **) &traceGL_Native.glTexRenderbufferNV);

  traceThis = traceEnabled("glTexRenderbufferNV",&traceParam);

  if (!traceGL_Native.glTexRenderbufferNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexRenderbufferNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindTransformFeedbackNV)
    traceGL_lookupNativeAddress("glBindTransformFeedbackNV", (void **) &traceGL_Native.glBindTransformFeedbackNV);

  traceThis = traceEnabled("glBindTransformFeedbackNV",&traceParam);

  if (!traceGL_Native.glBindTransformFeedbackNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindTransformFeedbackNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteTransformFeedbacksNV)
    traceGL_lookupNativeAddress("glDeleteTransformFeedbacksNV", (void **) &traceGL_Native.glDeleteTransformFeedbacksNV);

  traceThis = traceEnabled("glDeleteTransformFeedbacksNV",&traceParam);

  if (!traceGL_Native.glDeleteTransformFeedbacksNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteTransformFeedbacksNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenTransformFeedbacksNV)
    traceGL_lookupNativeAddress("glGenTransformFeedbacksNV", (void **) &traceGL_Native.glGenTransformFeedbacksNV);

  traceThis = traceEnabled("glGenTransformFeedbacksNV",&traceParam);

  if (!traceGL_Native.glGenTransformFeedbacksNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenTransformFeedbacksNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("n", "%d", n);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGenTransformFeedbacksNV(n, ids);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceOutputParameter("ids", "%u[%d]", ids, n);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT GLboolean GLAPIENTRY
glIsTransformFeedbackNV(GLuint id)
{
  GLboolean ret = GL_FALSE;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsTransformFeedbackNV)
    traceGL_lookupNativeAddress("glIsTransformFeedbackNV", (void **) &traceGL_Native.glIsTransformFeedbackNV);

  traceThis = traceEnabled("glIsTransformFeedbackNV",&traceParam);

  if (!traceGL_Native.glIsTransformFeedbackNV)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsTransformFeedbackNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("id", "%u", id);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsTransformFeedbackNV(id);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glPauseTransformFeedbackNV()
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glPauseTransformFeedbackNV)
    traceGL_lookupNativeAddress("glPauseTransformFeedbackNV", (void **) &traceGL_Native.glPauseTransformFeedbackNV);

  traceThis = traceEnabled("glPauseTransformFeedbackNV",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glResumeTransformFeedbackNV)
    traceGL_lookupNativeAddress("glResumeTransformFeedbackNV", (void **) &traceGL_Native.glResumeTransformFeedbackNV);

  traceThis = traceEnabled("glResumeTransformFeedbackNV",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawTransformFeedbackNV)
    traceGL_lookupNativeAddress("glDrawTransformFeedbackNV", (void **) &traceGL_Native.glDrawTransformFeedbackNV);

  traceThis = traceEnabled("glDrawTransformFeedbackNV",&traceParam);

  if (!traceGL_Native.glDrawTransformFeedbackNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawTransformFeedbackNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetPerfMonitorGroupsAMD)
    traceGL_lookupNativeAddress("glGetPerfMonitorGroupsAMD", (void **) &traceGL_Native.glGetPerfMonitorGroupsAMD);

  traceThis = traceEnabled("glGetPerfMonitorGroupsAMD",&traceParam);

  if (!traceGL_Native.glGetPerfMonitorGroupsAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetPerfMonitorGroupsAMD");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("groupsSize", "%d", groupsSize);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  traceGL_Native.glGetPerfMonitorGroupsAMD(numGroups, groupsSize, groups);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetPerfMonitorCountersAMD)
    traceGL_lookupNativeAddress("glGetPerfMonitorCountersAMD", (void **) &traceGL_Native.glGetPerfMonitorCountersAMD);

  traceThis = traceEnabled("glGetPerfMonitorCountersAMD",&traceParam);

  if (!traceGL_Native.glGetPerfMonitorCountersAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetPerfMonitorCountersAMD");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetPerfMonitorGroupStringAMD)
    traceGL_lookupNativeAddress("glGetPerfMonitorGroupStringAMD", (void **) &traceGL_Native.glGetPerfMonitorGroupStringAMD);

  traceThis = traceEnabled("glGetPerfMonitorGroupStringAMD",&traceParam);

  if (!traceGL_Native.glGetPerfMonitorGroupStringAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetPerfMonitorGroupStringAMD");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetPerfMonitorCounterStringAMD)
    traceGL_lookupNativeAddress("glGetPerfMonitorCounterStringAMD", (void **) &traceGL_Native.glGetPerfMonitorCounterStringAMD);

  traceThis = traceEnabled("glGetPerfMonitorCounterStringAMD",&traceParam);

  if (!traceGL_Native.glGetPerfMonitorCounterStringAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetPerfMonitorCounterStringAMD");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetPerfMonitorCounterInfoAMD)
    traceGL_lookupNativeAddress("glGetPerfMonitorCounterInfoAMD", (void **) &traceGL_Native.glGetPerfMonitorCounterInfoAMD);

  traceThis = traceEnabled("glGetPerfMonitorCounterInfoAMD",&traceParam);

  if (!traceGL_Native.glGetPerfMonitorCounterInfoAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetPerfMonitorCounterInfoAMD");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("data", "%p", data);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glGenPerfMonitorsAMD(GLsizei n, GLuint *monitors)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGenPerfMonitorsAMD)
    traceGL_lookupNativeAddress("glGenPerfMonitorsAMD", (void **) &traceGL_Native.glGenPerfMonitorsAMD);

  traceThis = traceEnabled("glGenPerfMonitorsAMD",&traceParam);

  if (!traceGL_Native.glGenPerfMonitorsAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGenPerfMonitorsAMD");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeletePerfMonitorsAMD)
    traceGL_lookupNativeAddress("glDeletePerfMonitorsAMD", (void **) &traceGL_Native.glDeletePerfMonitorsAMD);

  traceThis = traceEnabled("glDeletePerfMonitorsAMD",&traceParam);

  if (!traceGL_Native.glDeletePerfMonitorsAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeletePerfMonitorsAMD");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSelectPerfMonitorCountersAMD)
    traceGL_lookupNativeAddress("glSelectPerfMonitorCountersAMD", (void **) &traceGL_Native.glSelectPerfMonitorCountersAMD);

  traceThis = traceEnabled("glSelectPerfMonitorCountersAMD",&traceParam);

  if (!traceGL_Native.glSelectPerfMonitorCountersAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSelectPerfMonitorCountersAMD");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBeginPerfMonitorAMD)
    traceGL_lookupNativeAddress("glBeginPerfMonitorAMD", (void **) &traceGL_Native.glBeginPerfMonitorAMD);

  traceThis = traceEnabled("glBeginPerfMonitorAMD",&traceParam);

  if (!traceGL_Native.glBeginPerfMonitorAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBeginPerfMonitorAMD");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndPerfMonitorAMD)
    traceGL_lookupNativeAddress("glEndPerfMonitorAMD", (void **) &traceGL_Native.glEndPerfMonitorAMD);

  traceThis = traceEnabled("glEndPerfMonitorAMD",&traceParam);

  if (!traceGL_Native.glEndPerfMonitorAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEndPerfMonitorAMD");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetPerfMonitorCounterDataAMD)
    traceGL_lookupNativeAddress("glGetPerfMonitorCounterDataAMD", (void **) &traceGL_Native.glGetPerfMonitorCounterDataAMD);

  traceThis = traceEnabled("glGetPerfMonitorCounterDataAMD",&traceParam);

  if (!traceGL_Native.glGetPerfMonitorCounterDataAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetPerfMonitorCounterDataAMD");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("bytesWritten", "%d[%d]", bytesWritten, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glTessellationFactorAMD(GLfloat factor)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTessellationFactorAMD)
    traceGL_lookupNativeAddress("glTessellationFactorAMD", (void **) &traceGL_Native.glTessellationFactorAMD);

  traceThis = traceEnabled("glTessellationFactorAMD",&traceParam);

  if (!traceGL_Native.glTessellationFactorAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTessellationFactorAMD");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTessellationModeAMD)
    traceGL_lookupNativeAddress("glTessellationModeAMD", (void **) &traceGL_Native.glTessellationModeAMD);

  traceThis = traceEnabled("glTessellationModeAMD",&traceParam);

  if (!traceGL_Native.glTessellationModeAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTessellationModeAMD");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProvokingVertexEXT)
    traceGL_lookupNativeAddress("glProvokingVertexEXT", (void **) &traceGL_Native.glProvokingVertexEXT);

  traceThis = traceEnabled("glProvokingVertexEXT",&traceParam);

  if (!traceGL_Native.glProvokingVertexEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProvokingVertexEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendFuncIndexedAMD)
    traceGL_lookupNativeAddress("glBlendFuncIndexedAMD", (void **) &traceGL_Native.glBlendFuncIndexedAMD);

  traceThis = traceEnabled("glBlendFuncIndexedAMD",&traceParam);

  if (!traceGL_Native.glBlendFuncIndexedAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendFuncIndexedAMD");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendFuncSeparateIndexedAMD)
    traceGL_lookupNativeAddress("glBlendFuncSeparateIndexedAMD", (void **) &traceGL_Native.glBlendFuncSeparateIndexedAMD);

  traceThis = traceEnabled("glBlendFuncSeparateIndexedAMD",&traceParam);

  if (!traceGL_Native.glBlendFuncSeparateIndexedAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendFuncSeparateIndexedAMD");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendEquationIndexedAMD)
    traceGL_lookupNativeAddress("glBlendEquationIndexedAMD", (void **) &traceGL_Native.glBlendEquationIndexedAMD);

  traceThis = traceEnabled("glBlendEquationIndexedAMD",&traceParam);

  if (!traceGL_Native.glBlendEquationIndexedAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendEquationIndexedAMD");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBlendEquationSeparateIndexedAMD)
    traceGL_lookupNativeAddress("glBlendEquationSeparateIndexedAMD", (void **) &traceGL_Native.glBlendEquationSeparateIndexedAMD);

  traceThis = traceEnabled("glBlendEquationSeparateIndexedAMD",&traceParam);

  if (!traceGL_Native.glBlendEquationSeparateIndexedAMD)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBlendEquationSeparateIndexedAMD");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureRangeAPPLE)
    traceGL_lookupNativeAddress("glTextureRangeAPPLE", (void **) &traceGL_Native.glTextureRangeAPPLE);

  traceThis = traceEnabled("glTextureRangeAPPLE",&traceParam);

  if (!traceGL_Native.glTextureRangeAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureRangeAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetTexParameterPointervAPPLE)
    traceGL_lookupNativeAddress("glGetTexParameterPointervAPPLE", (void **) &traceGL_Native.glGetTexParameterPointervAPPLE);

  traceThis = traceEnabled("glGetTexParameterPointervAPPLE",&traceParam);

  if (!traceGL_Native.glGetTexParameterPointervAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetTexParameterPointervAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEnableVertexAttribAPPLE)
    traceGL_lookupNativeAddress("glEnableVertexAttribAPPLE", (void **) &traceGL_Native.glEnableVertexAttribAPPLE);

  traceThis = traceEnabled("glEnableVertexAttribAPPLE",&traceParam);

  if (!traceGL_Native.glEnableVertexAttribAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEnableVertexAttribAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDisableVertexAttribAPPLE)
    traceGL_lookupNativeAddress("glDisableVertexAttribAPPLE", (void **) &traceGL_Native.glDisableVertexAttribAPPLE);

  traceThis = traceEnabled("glDisableVertexAttribAPPLE",&traceParam);

  if (!traceGL_Native.glDisableVertexAttribAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDisableVertexAttribAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsVertexAttribEnabledAPPLE)
    traceGL_lookupNativeAddress("glIsVertexAttribEnabledAPPLE", (void **) &traceGL_Native.glIsVertexAttribEnabledAPPLE);

  traceThis = traceEnabled("glIsVertexAttribEnabledAPPLE",&traceParam);

  if (!traceGL_Native.glIsVertexAttribEnabledAPPLE)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsVertexAttribEnabledAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapVertexAttrib1dAPPLE)
    traceGL_lookupNativeAddress("glMapVertexAttrib1dAPPLE", (void **) &traceGL_Native.glMapVertexAttrib1dAPPLE);

  traceThis = traceEnabled("glMapVertexAttrib1dAPPLE",&traceParam);

  if (!traceGL_Native.glMapVertexAttrib1dAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapVertexAttrib1dAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapVertexAttrib1fAPPLE)
    traceGL_lookupNativeAddress("glMapVertexAttrib1fAPPLE", (void **) &traceGL_Native.glMapVertexAttrib1fAPPLE);

  traceThis = traceEnabled("glMapVertexAttrib1fAPPLE",&traceParam);

  if (!traceGL_Native.glMapVertexAttrib1fAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapVertexAttrib1fAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapVertexAttrib2dAPPLE)
    traceGL_lookupNativeAddress("glMapVertexAttrib2dAPPLE", (void **) &traceGL_Native.glMapVertexAttrib2dAPPLE);

  traceThis = traceEnabled("glMapVertexAttrib2dAPPLE",&traceParam);

  if (!traceGL_Native.glMapVertexAttrib2dAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapVertexAttrib2dAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMapVertexAttrib2fAPPLE)
    traceGL_lookupNativeAddress("glMapVertexAttrib2fAPPLE", (void **) &traceGL_Native.glMapVertexAttrib2fAPPLE);

  traceThis = traceEnabled("glMapVertexAttrib2fAPPLE",&traceParam);

  if (!traceGL_Native.glMapVertexAttrib2fAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMapVertexAttrib2fAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glObjectPurgeableAPPLE)
    traceGL_lookupNativeAddress("glObjectPurgeableAPPLE", (void **) &traceGL_Native.glObjectPurgeableAPPLE);

  traceThis = traceEnabled("glObjectPurgeableAPPLE",&traceParam);

  if (!traceGL_Native.glObjectPurgeableAPPLE)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glObjectPurgeableAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLenum GLAPIENTRY
glObjectUnpurgeableAPPLE(GLenum objectType, GLuint name, GLenum option)
{
  GLenum ret = 0;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glObjectUnpurgeableAPPLE)
    traceGL_lookupNativeAddress("glObjectUnpurgeableAPPLE", (void **) &traceGL_Native.glObjectUnpurgeableAPPLE);

  traceThis = traceEnabled("glObjectUnpurgeableAPPLE",&traceParam);

  if (!traceGL_Native.glObjectUnpurgeableAPPLE)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glObjectUnpurgeableAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetObjectParameterivAPPLE(GLenum objectType, GLuint name, GLenum pname, GLint *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetObjectParameterivAPPLE)
    traceGL_lookupNativeAddress("glGetObjectParameterivAPPLE", (void **) &traceGL_Native.glGetObjectParameterivAPPLE);

  traceThis = traceEnabled("glGetObjectParameterivAPPLE",&traceParam);

  if (!traceGL_Native.glGetObjectParameterivAPPLE)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetObjectParameterivAPPLE");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBeginVideoCaptureNV)
    traceGL_lookupNativeAddress("glBeginVideoCaptureNV", (void **) &traceGL_Native.glBeginVideoCaptureNV);

  traceThis = traceEnabled("glBeginVideoCaptureNV",&traceParam);

  if (!traceGL_Native.glBeginVideoCaptureNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBeginVideoCaptureNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindVideoCaptureStreamBufferNV)
    traceGL_lookupNativeAddress("glBindVideoCaptureStreamBufferNV", (void **) &traceGL_Native.glBindVideoCaptureStreamBufferNV);

  traceThis = traceEnabled("glBindVideoCaptureStreamBufferNV",&traceParam);

  if (!traceGL_Native.glBindVideoCaptureStreamBufferNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindVideoCaptureStreamBufferNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindVideoCaptureStreamTextureNV)
    traceGL_lookupNativeAddress("glBindVideoCaptureStreamTextureNV", (void **) &traceGL_Native.glBindVideoCaptureStreamTextureNV);

  traceThis = traceEnabled("glBindVideoCaptureStreamTextureNV",&traceParam);

  if (!traceGL_Native.glBindVideoCaptureStreamTextureNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindVideoCaptureStreamTextureNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEndVideoCaptureNV)
    traceGL_lookupNativeAddress("glEndVideoCaptureNV", (void **) &traceGL_Native.glEndVideoCaptureNV);

  traceThis = traceEnabled("glEndVideoCaptureNV",&traceParam);

  if (!traceGL_Native.glEndVideoCaptureNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEndVideoCaptureNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVideoCaptureivNV)
    traceGL_lookupNativeAddress("glGetVideoCaptureivNV", (void **) &traceGL_Native.glGetVideoCaptureivNV);

  traceThis = traceEnabled("glGetVideoCaptureivNV",&traceParam);

  if (!traceGL_Native.glGetVideoCaptureivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVideoCaptureivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVideoCaptureStreamivNV)
    traceGL_lookupNativeAddress("glGetVideoCaptureStreamivNV", (void **) &traceGL_Native.glGetVideoCaptureStreamivNV);

  traceThis = traceEnabled("glGetVideoCaptureStreamivNV",&traceParam);

  if (!traceGL_Native.glGetVideoCaptureStreamivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVideoCaptureStreamivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVideoCaptureStreamfvNV)
    traceGL_lookupNativeAddress("glGetVideoCaptureStreamfvNV", (void **) &traceGL_Native.glGetVideoCaptureStreamfvNV);

  traceThis = traceEnabled("glGetVideoCaptureStreamfvNV",&traceParam);

  if (!traceGL_Native.glGetVideoCaptureStreamfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVideoCaptureStreamfvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVideoCaptureStreamdvNV)
    traceGL_lookupNativeAddress("glGetVideoCaptureStreamdvNV", (void **) &traceGL_Native.glGetVideoCaptureStreamdvNV);

  traceThis = traceEnabled("glGetVideoCaptureStreamdvNV",&traceParam);

  if (!traceGL_Native.glGetVideoCaptureStreamdvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVideoCaptureStreamdvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVideoCaptureNV)
    traceGL_lookupNativeAddress("glVideoCaptureNV", (void **) &traceGL_Native.glVideoCaptureNV);

  traceThis = traceEnabled("glVideoCaptureNV",&traceParam);

  if (!traceGL_Native.glVideoCaptureNV)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVideoCaptureNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVideoCaptureStreamParameterivNV)
    traceGL_lookupNativeAddress("glVideoCaptureStreamParameterivNV", (void **) &traceGL_Native.glVideoCaptureStreamParameterivNV);

  traceThis = traceEnabled("glVideoCaptureStreamParameterivNV",&traceParam);

  if (!traceGL_Native.glVideoCaptureStreamParameterivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVideoCaptureStreamParameterivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVideoCaptureStreamParameterfvNV)
    traceGL_lookupNativeAddress("glVideoCaptureStreamParameterfvNV", (void **) &traceGL_Native.glVideoCaptureStreamParameterfvNV);

  traceThis = traceEnabled("glVideoCaptureStreamParameterfvNV",&traceParam);

  if (!traceGL_Native.glVideoCaptureStreamParameterfvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVideoCaptureStreamParameterfvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVideoCaptureStreamParameterdvNV)
    traceGL_lookupNativeAddress("glVideoCaptureStreamParameterdvNV", (void **) &traceGL_Native.glVideoCaptureStreamParameterdvNV);

  traceThis = traceEnabled("glVideoCaptureStreamParameterdvNV",&traceParam);

  if (!traceGL_Native.glVideoCaptureStreamParameterdvNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVideoCaptureStreamParameterdvNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCopyImageSubDataNV)
    traceGL_lookupNativeAddress("glCopyImageSubDataNV", (void **) &traceGL_Native.glCopyImageSubDataNV);

  traceThis = traceEnabled("glCopyImageSubDataNV",&traceParam);

  if (!traceGL_Native.glCopyImageSubDataNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCopyImageSubDataNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUseShaderProgramEXT)
    traceGL_lookupNativeAddress("glUseShaderProgramEXT", (void **) &traceGL_Native.glUseShaderProgramEXT);

  traceThis = traceEnabled("glUseShaderProgramEXT",&traceParam);

  if (!traceGL_Native.glUseShaderProgramEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUseShaderProgramEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glActiveProgramEXT)
    traceGL_lookupNativeAddress("glActiveProgramEXT", (void **) &traceGL_Native.glActiveProgramEXT);

  traceThis = traceEnabled("glActiveProgramEXT",&traceParam);

  if (!traceGL_Native.glActiveProgramEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glActiveProgramEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glCreateShaderProgramEXT)
    traceGL_lookupNativeAddress("glCreateShaderProgramEXT", (void **) &traceGL_Native.glCreateShaderProgramEXT);

  traceThis = traceEnabled("glCreateShaderProgramEXT",&traceParam);

  if (!traceGL_Native.glCreateShaderProgramEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glCreateShaderProgramEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glMakeBufferResidentNV(GLenum target, GLenum access)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMakeBufferResidentNV)
    traceGL_lookupNativeAddress("glMakeBufferResidentNV", (void **) &traceGL_Native.glMakeBufferResidentNV);

  traceThis = traceEnabled("glMakeBufferResidentNV",&traceParam);

  if (!traceGL_Native.glMakeBufferResidentNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMakeBufferResidentNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMakeBufferNonResidentNV)
    traceGL_lookupNativeAddress("glMakeBufferNonResidentNV", (void **) &traceGL_Native.glMakeBufferNonResidentNV);

  traceThis = traceEnabled("glMakeBufferNonResidentNV",&traceParam);

  if (!traceGL_Native.glMakeBufferNonResidentNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMakeBufferNonResidentNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsBufferResidentNV)
    traceGL_lookupNativeAddress("glIsBufferResidentNV", (void **) &traceGL_Native.glIsBufferResidentNV);

  traceThis = traceEnabled("glIsBufferResidentNV",&traceParam);

  if (!traceGL_Native.glIsBufferResidentNV)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsBufferResidentNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("target", "%u", target);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsBufferResidentNV(target);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glMakeNamedBufferResidentNV(GLuint buffer, GLenum access)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMakeNamedBufferResidentNV)
    traceGL_lookupNativeAddress("glMakeNamedBufferResidentNV", (void **) &traceGL_Native.glMakeNamedBufferResidentNV);

  traceThis = traceEnabled("glMakeNamedBufferResidentNV",&traceParam);

  if (!traceGL_Native.glMakeNamedBufferResidentNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMakeNamedBufferResidentNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMakeNamedBufferNonResidentNV)
    traceGL_lookupNativeAddress("glMakeNamedBufferNonResidentNV", (void **) &traceGL_Native.glMakeNamedBufferNonResidentNV);

  traceThis = traceEnabled("glMakeNamedBufferNonResidentNV",&traceParam);

  if (!traceGL_Native.glMakeNamedBufferNonResidentNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMakeNamedBufferNonResidentNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIsNamedBufferResidentNV)
    traceGL_lookupNativeAddress("glIsNamedBufferResidentNV", (void **) &traceGL_Native.glIsNamedBufferResidentNV);

  traceThis = traceEnabled("glIsNamedBufferResidentNV",&traceParam);

  if (!traceGL_Native.glIsNamedBufferResidentNV)
    return GL_FALSE;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIsNamedBufferResidentNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("buffer", "%u", buffer);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glIsNamedBufferResidentNV(buffer);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glGetBufferParameterui64vNV(GLenum target, GLenum pname, GLuint64EXT *params)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetBufferParameterui64vNV)
    traceGL_lookupNativeAddress("glGetBufferParameterui64vNV", (void **) &traceGL_Native.glGetBufferParameterui64vNV);

  traceThis = traceEnabled("glGetBufferParameterui64vNV",&traceParam);

  if (!traceGL_Native.glGetBufferParameterui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetBufferParameterui64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetNamedBufferParameterui64vNV)
    traceGL_lookupNativeAddress("glGetNamedBufferParameterui64vNV", (void **) &traceGL_Native.glGetNamedBufferParameterui64vNV);

  traceThis = traceEnabled("glGetNamedBufferParameterui64vNV",&traceParam);

  if (!traceGL_Native.glGetNamedBufferParameterui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetNamedBufferParameterui64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetIntegerui64vNV)
    traceGL_lookupNativeAddress("glGetIntegerui64vNV", (void **) &traceGL_Native.glGetIntegerui64vNV);

  traceThis = traceEnabled("glGetIntegerui64vNV",&traceParam);

  if (!traceGL_Native.glGetIntegerui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetIntegerui64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformui64NV)
    traceGL_lookupNativeAddress("glUniformui64NV", (void **) &traceGL_Native.glUniformui64NV);

  traceThis = traceEnabled("glUniformui64NV",&traceParam);

  if (!traceGL_Native.glUniformui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformui64NV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniformui64vNV)
    traceGL_lookupNativeAddress("glUniformui64vNV", (void **) &traceGL_Native.glUniformui64vNV);

  traceThis = traceEnabled("glUniformui64vNV",&traceParam);

  if (!traceGL_Native.glUniformui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniformui64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformui64vNV)
    traceGL_lookupNativeAddress("glGetUniformui64vNV", (void **) &traceGL_Native.glGetUniformui64vNV);

  traceThis = traceEnabled("glGetUniformui64vNV",&traceParam);

  if (!traceGL_Native.glGetUniformui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformui64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformui64NV)
    traceGL_lookupNativeAddress("glProgramUniformui64NV", (void **) &traceGL_Native.glProgramUniformui64NV);

  traceThis = traceEnabled("glProgramUniformui64NV",&traceParam);

  if (!traceGL_Native.glProgramUniformui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformui64NV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniformui64vNV)
    traceGL_lookupNativeAddress("glProgramUniformui64vNV", (void **) &traceGL_Native.glProgramUniformui64vNV);

  traceThis = traceEnabled("glProgramUniformui64vNV",&traceParam);

  if (!traceGL_Native.glProgramUniformui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniformui64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBufferAddressRangeNV)
    traceGL_lookupNativeAddress("glBufferAddressRangeNV", (void **) &traceGL_Native.glBufferAddressRangeNV);

  traceThis = traceEnabled("glBufferAddressRangeNV",&traceParam);

  if (!traceGL_Native.glBufferAddressRangeNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBufferAddressRangeNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexFormatNV)
    traceGL_lookupNativeAddress("glVertexFormatNV", (void **) &traceGL_Native.glVertexFormatNV);

  traceThis = traceEnabled("glVertexFormatNV",&traceParam);

  if (!traceGL_Native.glVertexFormatNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexFormatNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNormalFormatNV)
    traceGL_lookupNativeAddress("glNormalFormatNV", (void **) &traceGL_Native.glNormalFormatNV);

  traceThis = traceEnabled("glNormalFormatNV",&traceParam);

  if (!traceGL_Native.glNormalFormatNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNormalFormatNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glColorFormatNV)
    traceGL_lookupNativeAddress("glColorFormatNV", (void **) &traceGL_Native.glColorFormatNV);

  traceThis = traceEnabled("glColorFormatNV",&traceParam);

  if (!traceGL_Native.glColorFormatNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glColorFormatNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glIndexFormatNV)
    traceGL_lookupNativeAddress("glIndexFormatNV", (void **) &traceGL_Native.glIndexFormatNV);

  traceThis = traceEnabled("glIndexFormatNV",&traceParam);

  if (!traceGL_Native.glIndexFormatNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glIndexFormatNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTexCoordFormatNV)
    traceGL_lookupNativeAddress("glTexCoordFormatNV", (void **) &traceGL_Native.glTexCoordFormatNV);

  traceThis = traceEnabled("glTexCoordFormatNV",&traceParam);

  if (!traceGL_Native.glTexCoordFormatNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTexCoordFormatNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glEdgeFlagFormatNV)
    traceGL_lookupNativeAddress("glEdgeFlagFormatNV", (void **) &traceGL_Native.glEdgeFlagFormatNV);

  traceThis = traceEnabled("glEdgeFlagFormatNV",&traceParam);

  if (!traceGL_Native.glEdgeFlagFormatNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glEdgeFlagFormatNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glSecondaryColorFormatNV)
    traceGL_lookupNativeAddress("glSecondaryColorFormatNV", (void **) &traceGL_Native.glSecondaryColorFormatNV);

  traceThis = traceEnabled("glSecondaryColorFormatNV",&traceParam);

  if (!traceGL_Native.glSecondaryColorFormatNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glSecondaryColorFormatNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glFogCoordFormatNV)
    traceGL_lookupNativeAddress("glFogCoordFormatNV", (void **) &traceGL_Native.glFogCoordFormatNV);

  traceThis = traceEnabled("glFogCoordFormatNV",&traceParam);

  if (!traceGL_Native.glFogCoordFormatNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glFogCoordFormatNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribFormatNV)
    traceGL_lookupNativeAddress("glVertexAttribFormatNV", (void **) &traceGL_Native.glVertexAttribFormatNV);

  traceThis = traceEnabled("glVertexAttribFormatNV",&traceParam);

  if (!traceGL_Native.glVertexAttribFormatNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribFormatNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribIFormatNV)
    traceGL_lookupNativeAddress("glVertexAttribIFormatNV", (void **) &traceGL_Native.glVertexAttribIFormatNV);

  traceThis = traceEnabled("glVertexAttribIFormatNV",&traceParam);

  if (!traceGL_Native.glVertexAttribIFormatNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribIFormatNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  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",&traceParam);

  if (!traceGL_Native.glGetIntegerui64i_vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetIntegerui64i_vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureBarrierNV)
    traceGL_lookupNativeAddress("glTextureBarrierNV", (void **) &traceGL_Native.glTextureBarrierNV);

  traceThis = traceEnabled("glTextureBarrierNV",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBindImageTextureEXT)
    traceGL_lookupNativeAddress("glBindImageTextureEXT", (void **) &traceGL_Native.glBindImageTextureEXT);

  traceThis = traceEnabled("glBindImageTextureEXT",&traceParam);

  if (!traceGL_Native.glBindImageTextureEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glBindImageTextureEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glMemoryBarrierEXT)
    traceGL_lookupNativeAddress("glMemoryBarrierEXT", (void **) &traceGL_Native.glMemoryBarrierEXT);

  traceThis = traceEnabled("glMemoryBarrierEXT",&traceParam);

  if (!traceGL_Native.glMemoryBarrierEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glMemoryBarrierEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL1dEXT)
    traceGL_lookupNativeAddress("glVertexAttribL1dEXT", (void **) &traceGL_Native.glVertexAttribL1dEXT);

  traceThis = traceEnabled("glVertexAttribL1dEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribL1dEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL1dEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL2dEXT)
    traceGL_lookupNativeAddress("glVertexAttribL2dEXT", (void **) &traceGL_Native.glVertexAttribL2dEXT);

  traceThis = traceEnabled("glVertexAttribL2dEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribL2dEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL2dEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL3dEXT)
    traceGL_lookupNativeAddress("glVertexAttribL3dEXT", (void **) &traceGL_Native.glVertexAttribL3dEXT);

  traceThis = traceEnabled("glVertexAttribL3dEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribL3dEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL3dEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL4dEXT)
    traceGL_lookupNativeAddress("glVertexAttribL4dEXT", (void **) &traceGL_Native.glVertexAttribL4dEXT);

  traceThis = traceEnabled("glVertexAttribL4dEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribL4dEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL4dEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL1dvEXT)
    traceGL_lookupNativeAddress("glVertexAttribL1dvEXT", (void **) &traceGL_Native.glVertexAttribL1dvEXT);

  traceThis = traceEnabled("glVertexAttribL1dvEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribL1dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL1dvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL2dvEXT)
    traceGL_lookupNativeAddress("glVertexAttribL2dvEXT", (void **) &traceGL_Native.glVertexAttribL2dvEXT);

  traceThis = traceEnabled("glVertexAttribL2dvEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribL2dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL2dvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL3dvEXT)
    traceGL_lookupNativeAddress("glVertexAttribL3dvEXT", (void **) &traceGL_Native.glVertexAttribL3dvEXT);

  traceThis = traceEnabled("glVertexAttribL3dvEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribL3dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL3dvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL4dvEXT)
    traceGL_lookupNativeAddress("glVertexAttribL4dvEXT", (void **) &traceGL_Native.glVertexAttribL4dvEXT);

  traceThis = traceEnabled("glVertexAttribL4dvEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribL4dvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL4dvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribLPointerEXT)
    traceGL_lookupNativeAddress("glVertexAttribLPointerEXT", (void **) &traceGL_Native.glVertexAttribLPointerEXT);

  traceThis = traceEnabled("glVertexAttribLPointerEXT",&traceParam);

  if (!traceGL_Native.glVertexAttribLPointerEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribLPointerEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexArrayVertexAttribLOffsetEXT)
    traceGL_lookupNativeAddress("glVertexArrayVertexAttribLOffsetEXT", (void **) &traceGL_Native.glVertexArrayVertexAttribLOffsetEXT);

  traceThis = traceEnabled("glVertexArrayVertexAttribLOffsetEXT",&traceParam);

  if (!traceGL_Native.glVertexArrayVertexAttribLOffsetEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexArrayVertexAttribLOffsetEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribLdvEXT)
    traceGL_lookupNativeAddress("glGetVertexAttribLdvEXT", (void **) &traceGL_Native.glGetVertexAttribLdvEXT);

  traceThis = traceEnabled("glGetVertexAttribLdvEXT",&traceParam);

  if (!traceGL_Native.glGetVertexAttribLdvEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribLdvEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
      traceOutputParameter("params", "%lf[%d]", params, 1);

    /* Trace function end. */

    traceEnd();
  }
}

DLLEXPORT void GLAPIENTRY
glUniform1i64NV(GLint location, GLint64EXT x)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1i64NV)
    traceGL_lookupNativeAddress("glUniform1i64NV", (void **) &traceGL_Native.glUniform1i64NV);

  traceThis = traceEnabled("glUniform1i64NV",&traceParam);

  if (!traceGL_Native.glUniform1i64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1i64NV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2i64NV)
    traceGL_lookupNativeAddress("glUniform2i64NV", (void **) &traceGL_Native.glUniform2i64NV);

  traceThis = traceEnabled("glUniform2i64NV",&traceParam);

  if (!traceGL_Native.glUniform2i64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2i64NV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3i64NV)
    traceGL_lookupNativeAddress("glUniform3i64NV", (void **) &traceGL_Native.glUniform3i64NV);

  traceThis = traceEnabled("glUniform3i64NV",&traceParam);

  if (!traceGL_Native.glUniform3i64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3i64NV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4i64NV)
    traceGL_lookupNativeAddress("glUniform4i64NV", (void **) &traceGL_Native.glUniform4i64NV);

  traceThis = traceEnabled("glUniform4i64NV",&traceParam);

  if (!traceGL_Native.glUniform4i64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4i64NV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1i64vNV)
    traceGL_lookupNativeAddress("glUniform1i64vNV", (void **) &traceGL_Native.glUniform1i64vNV);

  traceThis = traceEnabled("glUniform1i64vNV",&traceParam);

  if (!traceGL_Native.glUniform1i64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1i64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2i64vNV)
    traceGL_lookupNativeAddress("glUniform2i64vNV", (void **) &traceGL_Native.glUniform2i64vNV);

  traceThis = traceEnabled("glUniform2i64vNV",&traceParam);

  if (!traceGL_Native.glUniform2i64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2i64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3i64vNV)
    traceGL_lookupNativeAddress("glUniform3i64vNV", (void **) &traceGL_Native.glUniform3i64vNV);

  traceThis = traceEnabled("glUniform3i64vNV",&traceParam);

  if (!traceGL_Native.glUniform3i64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3i64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4i64vNV)
    traceGL_lookupNativeAddress("glUniform4i64vNV", (void **) &traceGL_Native.glUniform4i64vNV);

  traceThis = traceEnabled("glUniform4i64vNV",&traceParam);

  if (!traceGL_Native.glUniform4i64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4i64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1ui64NV)
    traceGL_lookupNativeAddress("glUniform1ui64NV", (void **) &traceGL_Native.glUniform1ui64NV);

  traceThis = traceEnabled("glUniform1ui64NV",&traceParam);

  if (!traceGL_Native.glUniform1ui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1ui64NV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2ui64NV)
    traceGL_lookupNativeAddress("glUniform2ui64NV", (void **) &traceGL_Native.glUniform2ui64NV);

  traceThis = traceEnabled("glUniform2ui64NV",&traceParam);

  if (!traceGL_Native.glUniform2ui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2ui64NV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3ui64NV)
    traceGL_lookupNativeAddress("glUniform3ui64NV", (void **) &traceGL_Native.glUniform3ui64NV);

  traceThis = traceEnabled("glUniform3ui64NV",&traceParam);

  if (!traceGL_Native.glUniform3ui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3ui64NV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4ui64NV)
    traceGL_lookupNativeAddress("glUniform4ui64NV", (void **) &traceGL_Native.glUniform4ui64NV);

  traceThis = traceEnabled("glUniform4ui64NV",&traceParam);

  if (!traceGL_Native.glUniform4ui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4ui64NV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform1ui64vNV)
    traceGL_lookupNativeAddress("glUniform1ui64vNV", (void **) &traceGL_Native.glUniform1ui64vNV);

  traceThis = traceEnabled("glUniform1ui64vNV",&traceParam);

  if (!traceGL_Native.glUniform1ui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform1ui64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform2ui64vNV)
    traceGL_lookupNativeAddress("glUniform2ui64vNV", (void **) &traceGL_Native.glUniform2ui64vNV);

  traceThis = traceEnabled("glUniform2ui64vNV",&traceParam);

  if (!traceGL_Native.glUniform2ui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform2ui64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform3ui64vNV)
    traceGL_lookupNativeAddress("glUniform3ui64vNV", (void **) &traceGL_Native.glUniform3ui64vNV);

  traceThis = traceEnabled("glUniform3ui64vNV",&traceParam);

  if (!traceGL_Native.glUniform3ui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform3ui64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glUniform4ui64vNV)
    traceGL_lookupNativeAddress("glUniform4ui64vNV", (void **) &traceGL_Native.glUniform4ui64vNV);

  traceThis = traceEnabled("glUniform4ui64vNV",&traceParam);

  if (!traceGL_Native.glUniform4ui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glUniform4ui64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1i64NV)
    traceGL_lookupNativeAddress("glProgramUniform1i64NV", (void **) &traceGL_Native.glProgramUniform1i64NV);

  traceThis = traceEnabled("glProgramUniform1i64NV",&traceParam);

  if (!traceGL_Native.glProgramUniform1i64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1i64NV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2i64NV)
    traceGL_lookupNativeAddress("glProgramUniform2i64NV", (void **) &traceGL_Native.glProgramUniform2i64NV);

  traceThis = traceEnabled("glProgramUniform2i64NV",&traceParam);

  if (!traceGL_Native.glProgramUniform2i64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2i64NV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3i64NV)
    traceGL_lookupNativeAddress("glProgramUniform3i64NV", (void **) &traceGL_Native.glProgramUniform3i64NV);

  traceThis = traceEnabled("glProgramUniform3i64NV",&traceParam);

  if (!traceGL_Native.glProgramUniform3i64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3i64NV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4i64NV)
    traceGL_lookupNativeAddress("glProgramUniform4i64NV", (void **) &traceGL_Native.glProgramUniform4i64NV);

  traceThis = traceEnabled("glProgramUniform4i64NV",&traceParam);

  if (!traceGL_Native.glProgramUniform4i64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4i64NV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1i64vNV)
    traceGL_lookupNativeAddress("glProgramUniform1i64vNV", (void **) &traceGL_Native.glProgramUniform1i64vNV);

  traceThis = traceEnabled("glProgramUniform1i64vNV",&traceParam);

  if (!traceGL_Native.glProgramUniform1i64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1i64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2i64vNV)
    traceGL_lookupNativeAddress("glProgramUniform2i64vNV", (void **) &traceGL_Native.glProgramUniform2i64vNV);

  traceThis = traceEnabled("glProgramUniform2i64vNV",&traceParam);

  if (!traceGL_Native.glProgramUniform2i64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2i64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3i64vNV)
    traceGL_lookupNativeAddress("glProgramUniform3i64vNV", (void **) &traceGL_Native.glProgramUniform3i64vNV);

  traceThis = traceEnabled("glProgramUniform3i64vNV",&traceParam);

  if (!traceGL_Native.glProgramUniform3i64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3i64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4i64vNV)
    traceGL_lookupNativeAddress("glProgramUniform4i64vNV", (void **) &traceGL_Native.glProgramUniform4i64vNV);

  traceThis = traceEnabled("glProgramUniform4i64vNV",&traceParam);

  if (!traceGL_Native.glProgramUniform4i64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4i64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1ui64NV)
    traceGL_lookupNativeAddress("glProgramUniform1ui64NV", (void **) &traceGL_Native.glProgramUniform1ui64NV);

  traceThis = traceEnabled("glProgramUniform1ui64NV",&traceParam);

  if (!traceGL_Native.glProgramUniform1ui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1ui64NV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2ui64NV)
    traceGL_lookupNativeAddress("glProgramUniform2ui64NV", (void **) &traceGL_Native.glProgramUniform2ui64NV);

  traceThis = traceEnabled("glProgramUniform2ui64NV",&traceParam);

  if (!traceGL_Native.glProgramUniform2ui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2ui64NV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3ui64NV)
    traceGL_lookupNativeAddress("glProgramUniform3ui64NV", (void **) &traceGL_Native.glProgramUniform3ui64NV);

  traceThis = traceEnabled("glProgramUniform3ui64NV",&traceParam);

  if (!traceGL_Native.glProgramUniform3ui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3ui64NV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4ui64NV)
    traceGL_lookupNativeAddress("glProgramUniform4ui64NV", (void **) &traceGL_Native.glProgramUniform4ui64NV);

  traceThis = traceEnabled("glProgramUniform4ui64NV",&traceParam);

  if (!traceGL_Native.glProgramUniform4ui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4ui64NV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform1ui64vNV)
    traceGL_lookupNativeAddress("glProgramUniform1ui64vNV", (void **) &traceGL_Native.glProgramUniform1ui64vNV);

  traceThis = traceEnabled("glProgramUniform1ui64vNV",&traceParam);

  if (!traceGL_Native.glProgramUniform1ui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform1ui64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform2ui64vNV)
    traceGL_lookupNativeAddress("glProgramUniform2ui64vNV", (void **) &traceGL_Native.glProgramUniform2ui64vNV);

  traceThis = traceEnabled("glProgramUniform2ui64vNV",&traceParam);

  if (!traceGL_Native.glProgramUniform2ui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform2ui64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform3ui64vNV)
    traceGL_lookupNativeAddress("glProgramUniform3ui64vNV", (void **) &traceGL_Native.glProgramUniform3ui64vNV);

  traceThis = traceEnabled("glProgramUniform3ui64vNV",&traceParam);

  if (!traceGL_Native.glProgramUniform3ui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform3ui64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glProgramUniform4ui64vNV)
    traceGL_lookupNativeAddress("glProgramUniform4ui64vNV", (void **) &traceGL_Native.glProgramUniform4ui64vNV);

  traceThis = traceEnabled("glProgramUniform4ui64vNV",&traceParam);

  if (!traceGL_Native.glProgramUniform4ui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glProgramUniform4ui64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetUniformi64vNV)
    traceGL_lookupNativeAddress("glGetUniformi64vNV", (void **) &traceGL_Native.glGetUniformi64vNV);

  traceThis = traceEnabled("glGetUniformi64vNV",&traceParam);

  if (!traceGL_Native.glGetUniformi64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetUniformi64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL1i64NV)
    traceGL_lookupNativeAddress("glVertexAttribL1i64NV", (void **) &traceGL_Native.glVertexAttribL1i64NV);

  traceThis = traceEnabled("glVertexAttribL1i64NV",&traceParam);

  if (!traceGL_Native.glVertexAttribL1i64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL1i64NV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL2i64NV)
    traceGL_lookupNativeAddress("glVertexAttribL2i64NV", (void **) &traceGL_Native.glVertexAttribL2i64NV);

  traceThis = traceEnabled("glVertexAttribL2i64NV",&traceParam);

  if (!traceGL_Native.glVertexAttribL2i64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL2i64NV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL3i64NV)
    traceGL_lookupNativeAddress("glVertexAttribL3i64NV", (void **) &traceGL_Native.glVertexAttribL3i64NV);

  traceThis = traceEnabled("glVertexAttribL3i64NV",&traceParam);

  if (!traceGL_Native.glVertexAttribL3i64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL3i64NV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL4i64NV)
    traceGL_lookupNativeAddress("glVertexAttribL4i64NV", (void **) &traceGL_Native.glVertexAttribL4i64NV);

  traceThis = traceEnabled("glVertexAttribL4i64NV",&traceParam);

  if (!traceGL_Native.glVertexAttribL4i64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL4i64NV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL1ui64NV)
    traceGL_lookupNativeAddress("glVertexAttribL1ui64NV", (void **) &traceGL_Native.glVertexAttribL1ui64NV);

  traceThis = traceEnabled("glVertexAttribL1ui64NV",&traceParam);

  if (!traceGL_Native.glVertexAttribL1ui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL1ui64NV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL2ui64NV)
    traceGL_lookupNativeAddress("glVertexAttribL2ui64NV", (void **) &traceGL_Native.glVertexAttribL2ui64NV);

  traceThis = traceEnabled("glVertexAttribL2ui64NV",&traceParam);

  if (!traceGL_Native.glVertexAttribL2ui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL2ui64NV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL3ui64NV)
    traceGL_lookupNativeAddress("glVertexAttribL3ui64NV", (void **) &traceGL_Native.glVertexAttribL3ui64NV);

  traceThis = traceEnabled("glVertexAttribL3ui64NV",&traceParam);

  if (!traceGL_Native.glVertexAttribL3ui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL3ui64NV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL4ui64NV)
    traceGL_lookupNativeAddress("glVertexAttribL4ui64NV", (void **) &traceGL_Native.glVertexAttribL4ui64NV);

  traceThis = traceEnabled("glVertexAttribL4ui64NV",&traceParam);

  if (!traceGL_Native.glVertexAttribL4ui64NV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL4ui64NV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL1i64vNV)
    traceGL_lookupNativeAddress("glVertexAttribL1i64vNV", (void **) &traceGL_Native.glVertexAttribL1i64vNV);

  traceThis = traceEnabled("glVertexAttribL1i64vNV",&traceParam);

  if (!traceGL_Native.glVertexAttribL1i64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL1i64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL2i64vNV)
    traceGL_lookupNativeAddress("glVertexAttribL2i64vNV", (void **) &traceGL_Native.glVertexAttribL2i64vNV);

  traceThis = traceEnabled("glVertexAttribL2i64vNV",&traceParam);

  if (!traceGL_Native.glVertexAttribL2i64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL2i64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL3i64vNV)
    traceGL_lookupNativeAddress("glVertexAttribL3i64vNV", (void **) &traceGL_Native.glVertexAttribL3i64vNV);

  traceThis = traceEnabled("glVertexAttribL3i64vNV",&traceParam);

  if (!traceGL_Native.glVertexAttribL3i64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL3i64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL4i64vNV)
    traceGL_lookupNativeAddress("glVertexAttribL4i64vNV", (void **) &traceGL_Native.glVertexAttribL4i64vNV);

  traceThis = traceEnabled("glVertexAttribL4i64vNV",&traceParam);

  if (!traceGL_Native.glVertexAttribL4i64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL4i64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL1ui64vNV)
    traceGL_lookupNativeAddress("glVertexAttribL1ui64vNV", (void **) &traceGL_Native.glVertexAttribL1ui64vNV);

  traceThis = traceEnabled("glVertexAttribL1ui64vNV",&traceParam);

  if (!traceGL_Native.glVertexAttribL1ui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL1ui64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL2ui64vNV)
    traceGL_lookupNativeAddress("glVertexAttribL2ui64vNV", (void **) &traceGL_Native.glVertexAttribL2ui64vNV);

  traceThis = traceEnabled("glVertexAttribL2ui64vNV",&traceParam);

  if (!traceGL_Native.glVertexAttribL2ui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL2ui64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL3ui64vNV)
    traceGL_lookupNativeAddress("glVertexAttribL3ui64vNV", (void **) &traceGL_Native.glVertexAttribL3ui64vNV);

  traceThis = traceEnabled("glVertexAttribL3ui64vNV",&traceParam);

  if (!traceGL_Native.glVertexAttribL3ui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL3ui64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribL4ui64vNV)
    traceGL_lookupNativeAddress("glVertexAttribL4ui64vNV", (void **) &traceGL_Native.glVertexAttribL4ui64vNV);

  traceThis = traceEnabled("glVertexAttribL4ui64vNV",&traceParam);

  if (!traceGL_Native.glVertexAttribL4ui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribL4ui64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVertexAttribLFormatNV)
    traceGL_lookupNativeAddress("glVertexAttribLFormatNV", (void **) &traceGL_Native.glVertexAttribLFormatNV);

  traceThis = traceEnabled("glVertexAttribLFormatNV",&traceParam);

  if (!traceGL_Native.glVertexAttribLFormatNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVertexAttribLFormatNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribLi64vNV)
    traceGL_lookupNativeAddress("glGetVertexAttribLi64vNV", (void **) &traceGL_Native.glGetVertexAttribLi64vNV);

  traceThis = traceEnabled("glGetVertexAttribLi64vNV",&traceParam);

  if (!traceGL_Native.glGetVertexAttribLi64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribLi64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glGetVertexAttribLui64vNV)
    traceGL_lookupNativeAddress("glGetVertexAttribLui64vNV", (void **) &traceGL_Native.glGetVertexAttribLui64vNV);

  traceThis = traceEnabled("glGetVertexAttribLui64vNV",&traceParam);

  if (!traceGL_Native.glGetVertexAttribLui64vNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glGetVertexAttribLui64vNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVDPAUInitNV)
    traceGL_lookupNativeAddress("glVDPAUInitNV", (void **) &traceGL_Native.glVDPAUInitNV);

  traceThis = traceEnabled("glVDPAUInitNV",&traceParam);

  if (!traceGL_Native.glVDPAUInitNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVDPAUInitNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVDPAUFiniNV)
    traceGL_lookupNativeAddress("glVDPAUFiniNV", (void **) &traceGL_Native.glVDPAUFiniNV);

  traceThis = traceEnabled("glVDPAUFiniNV",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVDPAURegisterVideoSurfaceNV)
    traceGL_lookupNativeAddress("glVDPAURegisterVideoSurfaceNV", (void **) &traceGL_Native.glVDPAURegisterVideoSurfaceNV);

  traceThis = traceEnabled("glVDPAURegisterVideoSurfaceNV",&traceParam);

  if (!traceGL_Native.glVDPAURegisterVideoSurfaceNV)
    return (GLvdpauSurfaceNV) 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVDPAURegisterVideoSurfaceNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVDPAURegisterOutputSurfaceNV)
    traceGL_lookupNativeAddress("glVDPAURegisterOutputSurfaceNV", (void **) &traceGL_Native.glVDPAURegisterOutputSurfaceNV);

  traceThis = traceEnabled("glVDPAURegisterOutputSurfaceNV",&traceParam);

  if (!traceGL_Native.glVDPAURegisterOutputSurfaceNV)
    return (GLvdpauSurfaceNV) 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVDPAURegisterOutputSurfaceNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVDPAUIsSurfaceNV)
    traceGL_lookupNativeAddress("glVDPAUIsSurfaceNV", (void **) &traceGL_Native.glVDPAUIsSurfaceNV);

  traceThis = traceEnabled("glVDPAUIsSurfaceNV",&traceParam);

  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. */

    if (traceParam)
      traceReturn("%u", (unsigned int) ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glVDPAUUnregisterSurfaceNV(GLvdpauSurfaceNV surface)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVDPAUUnregisterSurfaceNV)
    traceGL_lookupNativeAddress("glVDPAUUnregisterSurfaceNV", (void **) &traceGL_Native.glVDPAUUnregisterSurfaceNV);

  traceThis = traceEnabled("glVDPAUUnregisterSurfaceNV",&traceParam);

  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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVDPAUGetSurfaceivNV)
    traceGL_lookupNativeAddress("glVDPAUGetSurfaceivNV", (void **) &traceGL_Native.glVDPAUGetSurfaceivNV);

  traceThis = traceEnabled("glVDPAUGetSurfaceivNV",&traceParam);

  if (!traceGL_Native.glVDPAUGetSurfaceivNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVDPAUGetSurfaceivNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVDPAUSurfaceAccessNV)
    traceGL_lookupNativeAddress("glVDPAUSurfaceAccessNV", (void **) &traceGL_Native.glVDPAUSurfaceAccessNV);

  traceThis = traceEnabled("glVDPAUSurfaceAccessNV",&traceParam);

  if (!traceGL_Native.glVDPAUSurfaceAccessNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVDPAUSurfaceAccessNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVDPAUMapSurfacesNV)
    traceGL_lookupNativeAddress("glVDPAUMapSurfacesNV", (void **) &traceGL_Native.glVDPAUMapSurfacesNV);

  traceThis = traceEnabled("glVDPAUMapSurfacesNV",&traceParam);

  if (!traceGL_Native.glVDPAUMapSurfacesNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVDPAUMapSurfacesNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glVDPAUUnmapSurfacesNV)
    traceGL_lookupNativeAddress("glVDPAUUnmapSurfacesNV", (void **) &traceGL_Native.glVDPAUUnmapSurfacesNV);

  traceThis = traceEnabled("glVDPAUUnmapSurfacesNV",&traceParam);

  if (!traceGL_Native.glVDPAUUnmapSurfacesNV)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glVDPAUUnmapSurfacesNV");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glBufferRegionEnabledEXT)
    traceGL_lookupNativeAddress("glBufferRegionEnabledEXT", (void **) &traceGL_Native.glBufferRegionEnabledEXT);

  traceThis = traceEnabled("glBufferRegionEnabledEXT",&traceParam);

  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. */

    if (traceParam)
      traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT GLuint GLAPIENTRY
glNewBufferRegionEXT(GLenum region)
{
  GLuint ret = 0;
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glNewBufferRegionEXT)
    traceGL_lookupNativeAddress("glNewBufferRegionEXT", (void **) &traceGL_Native.glNewBufferRegionEXT);

  traceThis = traceEnabled("glNewBufferRegionEXT",&traceParam);

  if (!traceGL_Native.glNewBufferRegionEXT)
    return 0;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glNewBufferRegionEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      traceInputParameter("region", "%u", region);

    /* Pre Condition. */

    tracePreCondition();
  }

  /* Call the function. */

  ret = traceGL_Native.glNewBufferRegionEXT(region);

  if (traceThis)
  {
    /* Post Condition. */

    tracePostCondition();

    /* Encode output parameters. */

    if (traceParam)
      traceReturn("%u", ret);

    /* Trace function end. */

    traceEnd();
  }

  return ret;
}

DLLEXPORT void GLAPIENTRY
glDeleteBufferRegionEXT(GLenum region)
{
  int traceThis;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDeleteBufferRegionEXT)
    traceGL_lookupNativeAddress("glDeleteBufferRegionEXT", (void **) &traceGL_Native.glDeleteBufferRegionEXT);

  traceThis = traceEnabled("glDeleteBufferRegionEXT",&traceParam);

  if (!traceGL_Native.glDeleteBufferRegionEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDeleteBufferRegionEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glReadBufferRegionEXT)
    traceGL_lookupNativeAddress("glReadBufferRegionEXT", (void **) &traceGL_Native.glReadBufferRegionEXT);

  traceThis = traceEnabled("glReadBufferRegionEXT",&traceParam);

  if (!traceGL_Native.glReadBufferRegionEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glReadBufferRegionEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glDrawBufferRegionEXT)
    traceGL_lookupNativeAddress("glDrawBufferRegionEXT", (void **) &traceGL_Native.glDrawBufferRegionEXT);

  traceThis = traceEnabled("glDrawBufferRegionEXT",&traceParam);

  if (!traceGL_Native.glDrawBufferRegionEXT)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glDrawBufferRegionEXT");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glTextureFogSGIX)
    traceGL_lookupNativeAddress("glTextureFogSGIX", (void **) &traceGL_Native.glTextureFogSGIX);

  traceThis = traceEnabled("glTextureFogSGIX",&traceParam);

  if (!traceGL_Native.glTextureFogSGIX)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glTextureFogSGIX");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
      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;
  int traceParam;

  if (!traceGL_initialized)
    traceGL_init();

  /* Lookup API function pointer. */

  if (!traceGL_Native.glAddSwapHintRectWIN)
    traceGL_lookupNativeAddress("glAddSwapHintRectWIN", (void **) &traceGL_Native.glAddSwapHintRectWIN);

  traceThis = traceEnabled("glAddSwapHintRectWIN",&traceParam);

  if (!traceGL_Native.glAddSwapHintRectWIN)
    return;

  if (traceThis)
  {
    /* Trace function name and begin. */

    traceFunction("glAddSwapHintRectWIN");
    traceBegin();

    /* Encode input parameters. */

    if (traceParam)
    {
      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
}
