// Automatically generated OpenGL binding.
// 
// Categories in this package: 
// 
// EXT_bindable_uniform: https://www.opengl.org/registry/specs/EXT/bindable_uniform.txt
// 
// EXT_blend_color: https://www.opengl.org/registry/specs/EXT/blend_color.txt
// 
// EXT_blend_equation_separate: https://www.opengl.org/registry/specs/EXT/blend_equation_separate.txt
// 
// EXT_blend_func_separate: https://www.opengl.org/registry/specs/EXT/blend_func_separate.txt
// 
// EXT_blend_minmax: https://www.opengl.org/registry/specs/EXT/blend_minmax.txt
// 
// EXT_color_subtable: https://www.opengl.org/registry/specs/EXT/color_subtable.txt
// 
// EXT_compiled_vertex_array: https://www.opengl.org/registry/specs/EXT/compiled_vertex_array.txt
// 
// EXT_convolution: https://www.opengl.org/registry/specs/EXT/convolution.txt
// 
// EXT_coordinate_frame: https://www.opengl.org/registry/specs/EXT/coordinate_frame.txt
// 
// EXT_copy_texture: https://www.opengl.org/registry/specs/EXT/copy_texture.txt
// 
// EXT_cull_vertex: https://www.opengl.org/registry/specs/EXT/cull_vertex.txt
// 
// EXT_depth_bounds_test: https://www.opengl.org/registry/specs/EXT/depth_bounds_test.txt
// 
// EXT_direct_state_access: https://www.opengl.org/registry/specs/EXT/direct_state_access.txt
// 
// EXT_draw_buffers2: https://www.opengl.org/registry/specs/EXT/draw_buffers2.txt
// 
// EXT_draw_instanced: https://www.opengl.org/registry/specs/EXT/draw_instanced.txt
// 
// EXT_draw_range_elements: https://www.opengl.org/registry/specs/EXT/draw_range_elements.txt
// 
// EXT_fog_coord: https://www.opengl.org/registry/specs/EXT/fog_coord.txt
// 
// EXT_framebuffer_blit: https://www.opengl.org/registry/specs/EXT/framebuffer_blit.txt
// 
// EXT_framebuffer_multisample: https://www.opengl.org/registry/specs/EXT/framebuffer_multisample.txt
// 
// EXT_framebuffer_object: https://www.opengl.org/registry/specs/EXT/framebuffer_object.txt
// 
// EXT_geometry_shader4: https://www.opengl.org/registry/specs/EXT/geometry_shader4.txt
// 
// EXT_gpu_program_parameters: https://www.opengl.org/registry/specs/EXT/gpu_program_parameters.txt
// 
// EXT_gpu_shader4: https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt
// 
// EXT_histogram: https://www.opengl.org/registry/specs/EXT/histogram.txt
// 
// EXT_index_func: https://www.opengl.org/registry/specs/EXT/index_func.txt
// 
// EXT_index_material: https://www.opengl.org/registry/specs/EXT/index_material.txt
// 
// EXT_light_texture: https://www.opengl.org/registry/specs/EXT/light_texture.txt
// 
// EXT_multi_draw_arrays: https://www.opengl.org/registry/specs/EXT/multi_draw_arrays.txt
// 
// EXT_multisample: https://www.opengl.org/registry/specs/EXT/multisample.txt
// 
// EXT_paletted_texture: https://www.opengl.org/registry/specs/EXT/paletted_texture.txt
// 
// EXT_pixel_transform: https://www.opengl.org/registry/specs/EXT/pixel_transform.txt
// 
// EXT_point_parameters: https://www.opengl.org/registry/specs/EXT/point_parameters.txt
// 
// EXT_polygon_offset: https://www.opengl.org/registry/specs/EXT/polygon_offset.txt
// 
// EXT_provoking_vertex: https://www.opengl.org/registry/specs/EXT/provoking_vertex.txt
// 
// EXT_secondary_color: https://www.opengl.org/registry/specs/EXT/secondary_color.txt
// 
// EXT_separate_shader_objects: https://www.opengl.org/registry/specs/EXT/separate_shader_objects.txt
// 
// EXT_shader_image_load_store: https://www.opengl.org/registry/specs/EXT/shader_image_load_store.txt
// 
// EXT_stencil_clear_tag: https://www.opengl.org/registry/specs/EXT/stencil_clear_tag.txt
// 
// EXT_stencil_two_side: https://www.opengl.org/registry/specs/EXT/stencil_two_side.txt
// 
// EXT_subtexture: https://www.opengl.org/registry/specs/EXT/subtexture.txt
// 
// EXT_texture3D: https://www.opengl.org/registry/specs/EXT/texture3D.txt
// 
// EXT_texture_buffer_object: https://www.opengl.org/registry/specs/EXT/texture_buffer_object.txt
// 
// EXT_texture_integer: https://www.opengl.org/registry/specs/EXT/texture_integer.txt
// 
// EXT_texture_object: https://www.opengl.org/registry/specs/EXT/texture_object.txt
// 
// EXT_texture_perturb_normal: https://www.opengl.org/registry/specs/EXT/texture_perturb_normal.txt
// 
// EXT_timer_query: https://www.opengl.org/registry/specs/EXT/timer_query.txt
// 
// EXT_transform_feedback: https://www.opengl.org/registry/specs/EXT/transform_feedback.txt
// 
// EXT_vertex_array: https://www.opengl.org/registry/specs/EXT/vertex_array.txt
// 
// EXT_vertex_attrib_64bit: https://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt
// 
// EXT_vertex_shader: https://www.opengl.org/registry/specs/EXT/vertex_shader.txt
// 
// EXT_vertex_weighting: https://www.opengl.org/registry/specs/EXT/vertex_weighting.txt
// 
// EXT_x11_sync_object: https://www.opengl.org/registry/specs/EXT/x11_sync_object.txt
// 
package ext

// #cgo darwin  LDFLAGS: -framework OpenGL
// #cgo linux   LDFLAGS: -lGL
// #cgo windows LDFLAGS: -lopengl32
// 
// #include <stdlib.h>
// #if defined(__APPLE__)
// #include <dlfcn.h>
// #elif defined(_WIN32)
// #define WIN32_LEAN_AND_MEAN 1
// #include <windows.h>
// #else
// #include <X11/Xlib.h>
// #include <GL/glx.h>
// #endif
// 
// #ifndef APIENTRY
// #define APIENTRY
// #endif
// #ifndef APIENTRYP
// #define APIENTRYP APIENTRY *
// #endif
// #ifndef GLAPI
// #define GLAPI extern
// #endif
// 
// typedef unsigned int GLenum;
// typedef unsigned char GLboolean;
// typedef unsigned int GLbitfield;
// typedef signed char GLbyte;
// typedef short GLshort;
// typedef int GLint;
// typedef int GLsizei;
// typedef unsigned char GLubyte;
// typedef unsigned short GLushort;
// typedef unsigned int GLuint;
// typedef unsigned short GLhalf;
// typedef float GLfloat;
// typedef float GLclampf;
// typedef double GLdouble;
// typedef double GLclampd;
// typedef void GLvoid;
// 
// #include <stddef.h>
// #ifndef GL_VERSION_2_0
// /* GL type for program/shader text */
// typedef char GLchar;
// #endif
// 
// #ifndef GL_VERSION_1_5
// /* GL types for handling large vertex buffer objects */
// typedef ptrdiff_t GLintptr;
// typedef ptrdiff_t GLsizeiptr;
// #endif
// 
// #ifndef GL_ARB_vertex_buffer_object
// /* GL types for handling large vertex buffer objects */
// typedef ptrdiff_t GLintptrARB;
// typedef ptrdiff_t GLsizeiptrARB;
// #endif
// 
// #ifndef GL_ARB_shader_objects
// /* GL types for program/shader text and shader object handles */
// typedef char GLcharARB;
// typedef unsigned int GLhandleARB;
// #endif
// 
// /* GL type for "half" precision (s10e5) float data in host memory */
// #ifndef GL_ARB_half_float_pixel
// typedef unsigned short GLhalfARB;
// #endif
// 
// #ifndef GL_NV_half_float
// typedef unsigned short GLhalfNV;
// #endif
// 
// #ifndef GLEXT_64_TYPES_DEFINED
// /* This code block is duplicated in glxext.h, so must be protected */
// #define GLEXT_64_TYPES_DEFINED
// /* Define int32_t, int64_t, and uint64_t types for UST/MSC */
// /* (as used in the GL_EXT_timer_query extension). */
// #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
// #include <inttypes.h>
// #elif defined(__sun__) || defined(__digital__)
// #include <inttypes.h>
// #if defined(__STDC__)
// #if defined(__arch64__) || defined(_LP64)
// typedef long int int64_t;
// typedef unsigned long int uint64_t;
// #else
// typedef long long int int64_t;
// typedef unsigned long long int uint64_t;
// #endif /* __arch64__ */
// #endif /* __STDC__ */
// #elif defined( __VMS ) || defined(__sgi)
// #include <inttypes.h>
// #elif defined(__SCO__) || defined(__USLC__)
// #include <stdint.h>
// #elif defined(__UNIXOS2__) || defined(__SOL64__)
// typedef long int int32_t;
// typedef long long int int64_t;
// typedef unsigned long long int uint64_t;
// #elif defined(_WIN32) && defined(__GNUC__)
// #include <stdint.h>
// #elif defined(_WIN32)
// typedef __int32 int32_t;
// typedef __int64 int64_t;
// typedef unsigned __int64 uint64_t;
// #else
// /* Fallback if nothing above works */
// #include <inttypes.h>
// #endif
// #endif
// 
// #ifndef GL_EXT_timer_query
// typedef int64_t GLint64EXT;
// typedef uint64_t GLuint64EXT;
// #endif
// 
// #ifndef GL_ARB_sync
// typedef int64_t GLint64;
// typedef uint64_t GLuint64;
// typedef struct __GLsync *GLsync;
// #endif
// 
// #ifndef GL_ARB_cl_event
// /* These incomplete types let us declare types compatible with OpenCL's cl_context and cl_event */
// struct _cl_context;
// struct _cl_event;
// #endif
// 
// #ifndef GL_ARB_debug_output
// typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
// #endif
// 
// #ifndef GL_AMD_debug_output
// typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
// #endif
// 
// #ifndef GL_KHR_debug
// typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
// #endif
// 
// #ifndef GL_NV_vdpau_interop
// typedef GLintptr GLvdpauSurfaceNV;
// #endif
// 
// #ifdef _WIN32
// static HMODULE opengl32 = NULL;
// #endif
// 
// static void* goglGetProcAddress(const char* name) { 
// #ifdef __APPLE__
// 	return dlsym(RTLD_DEFAULT, name);
// #elif _WIN32
// 	void* pf = wglGetProcAddress((LPCSTR)name);
// 	if(pf) {
// 		return pf;
// 	}
// 	if(opengl32 == NULL) {
// 		opengl32 = LoadLibraryA("opengl32.dll");
// 	}
// 	return GetProcAddress(opengl32, (LPCSTR)name);
// #else
// 	return glXGetProcAddress((const GLubyte*)name);
// #endif
// }
// 
// //  EXT_bindable_uniform
// void (APIENTRYP ptrglUniformBufferEXT)(GLuint program, GLint location, GLuint buffer);
// GLint (APIENTRYP ptrglGetUniformBufferSizeEXT)(GLuint program, GLint location);
// GLintptr (APIENTRYP ptrglGetUniformOffsetEXT)(GLuint program, GLint location);
// //  EXT_blend_color
// void (APIENTRYP ptrglBlendColorEXT)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
// //  EXT_blend_equation_separate
// void (APIENTRYP ptrglBlendEquationSeparateEXT)(GLenum modeRGB, GLenum modeAlpha);
// //  EXT_blend_func_separate
// void (APIENTRYP ptrglBlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
// //  EXT_blend_minmax
// void (APIENTRYP ptrglBlendEquationEXT)(GLenum mode);
// //  EXT_color_subtable
// void (APIENTRYP ptrglColorSubTableEXT)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, GLvoid* data);
// void (APIENTRYP ptrglCopyColorSubTableEXT)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
// //  EXT_compiled_vertex_array
// void (APIENTRYP ptrglLockArraysEXT)(GLint first, GLsizei count);
// void (APIENTRYP ptrglUnlockArraysEXT)();
// //  EXT_convolution
// void (APIENTRYP ptrglConvolutionFilter1DEXT)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, GLvoid* image);
// void (APIENTRYP ptrglConvolutionFilter2DEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* image);
// void (APIENTRYP ptrglConvolutionParameterfEXT)(GLenum target, GLenum pname, GLfloat params);
// void (APIENTRYP ptrglConvolutionParameterfvEXT)(GLenum target, GLenum pname, GLfloat* params);
// void (APIENTRYP ptrglConvolutionParameteriEXT)(GLenum target, GLenum pname, GLint params);
// void (APIENTRYP ptrglConvolutionParameterivEXT)(GLenum target, GLenum pname, GLint* params);
// void (APIENTRYP ptrglCopyConvolutionFilter1DEXT)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
// void (APIENTRYP ptrglCopyConvolutionFilter2DEXT)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
// void (APIENTRYP ptrglGetConvolutionFilterEXT)(GLenum target, GLenum format, GLenum type, GLvoid* image);
// void (APIENTRYP ptrglGetConvolutionParameterfvEXT)(GLenum target, GLenum pname, GLfloat* params);
// void (APIENTRYP ptrglGetConvolutionParameterivEXT)(GLenum target, GLenum pname, GLint* params);
// void (APIENTRYP ptrglGetSeparableFilterEXT)(GLenum target, GLenum format, GLenum type, GLvoid* row, GLvoid* column, GLvoid* span);
// void (APIENTRYP ptrglSeparableFilter2DEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* row, GLvoid* column);
// //  EXT_coordinate_frame
// void (APIENTRYP ptrglTangent3bEXT)(GLbyte tx, GLbyte ty, GLbyte tz);
// void (APIENTRYP ptrglTangent3bvEXT)(GLbyte* v);
// void (APIENTRYP ptrglTangent3dEXT)(GLdouble tx, GLdouble ty, GLdouble tz);
// void (APIENTRYP ptrglTangent3dvEXT)(GLdouble* v);
// void (APIENTRYP ptrglTangent3fEXT)(GLfloat tx, GLfloat ty, GLfloat tz);
// void (APIENTRYP ptrglTangent3fvEXT)(GLfloat* v);
// void (APIENTRYP ptrglTangent3iEXT)(GLint tx, GLint ty, GLint tz);
// void (APIENTRYP ptrglTangent3ivEXT)(GLint* v);
// void (APIENTRYP ptrglTangent3sEXT)(GLshort tx, GLshort ty, GLshort tz);
// void (APIENTRYP ptrglTangent3svEXT)(GLshort* v);
// void (APIENTRYP ptrglBinormal3bEXT)(GLbyte bx, GLbyte by, GLbyte bz);
// void (APIENTRYP ptrglBinormal3bvEXT)(GLbyte* v);
// void (APIENTRYP ptrglBinormal3dEXT)(GLdouble bx, GLdouble by, GLdouble bz);
// void (APIENTRYP ptrglBinormal3dvEXT)(GLdouble* v);
// void (APIENTRYP ptrglBinormal3fEXT)(GLfloat bx, GLfloat by, GLfloat bz);
// void (APIENTRYP ptrglBinormal3fvEXT)(GLfloat* v);
// void (APIENTRYP ptrglBinormal3iEXT)(GLint bx, GLint by, GLint bz);
// void (APIENTRYP ptrglBinormal3ivEXT)(GLint* v);
// void (APIENTRYP ptrglBinormal3sEXT)(GLshort bx, GLshort by, GLshort bz);
// void (APIENTRYP ptrglBinormal3svEXT)(GLshort* v);
// void (APIENTRYP ptrglTangentPointerEXT)(GLenum type, GLsizei stride, GLvoid* pointer);
// void (APIENTRYP ptrglBinormalPointerEXT)(GLenum type, GLsizei stride, GLvoid* pointer);
// //  EXT_copy_texture
// void (APIENTRYP ptrglCopyTexImage1DEXT)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
// void (APIENTRYP ptrglCopyTexImage2DEXT)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
// void (APIENTRYP ptrglCopyTexSubImage1DEXT)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
// void (APIENTRYP ptrglCopyTexSubImage2DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
// void (APIENTRYP ptrglCopyTexSubImage3DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
// //  EXT_cull_vertex
// void (APIENTRYP ptrglCullParameterdvEXT)(GLenum pname, GLdouble* params);
// void (APIENTRYP ptrglCullParameterfvEXT)(GLenum pname, GLfloat* params);
// //  EXT_depth_bounds_test
// void (APIENTRYP ptrglDepthBoundsEXT)(GLclampd zmin, GLclampd zmax);
// //  EXT_direct_state_access
// void (APIENTRYP ptrglClientAttribDefaultEXT)(GLbitfield mask);
// void (APIENTRYP ptrglPushClientAttribDefaultEXT)(GLbitfield mask);
// void (APIENTRYP ptrglMatrixLoadfEXT)(GLenum mode, GLfloat* m);
// void (APIENTRYP ptrglMatrixLoaddEXT)(GLenum mode, GLdouble* m);
// void (APIENTRYP ptrglMatrixMultfEXT)(GLenum mode, GLfloat* m);
// void (APIENTRYP ptrglMatrixMultdEXT)(GLenum mode, GLdouble* m);
// void (APIENTRYP ptrglMatrixLoadIdentityEXT)(GLenum mode);
// void (APIENTRYP ptrglMatrixRotatefEXT)(GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
// void (APIENTRYP ptrglMatrixRotatedEXT)(GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
// void (APIENTRYP ptrglMatrixScalefEXT)(GLenum mode, GLfloat x, GLfloat y, GLfloat z);
// void (APIENTRYP ptrglMatrixScaledEXT)(GLenum mode, GLdouble x, GLdouble y, GLdouble z);
// void (APIENTRYP ptrglMatrixTranslatefEXT)(GLenum mode, GLfloat x, GLfloat y, GLfloat z);
// void (APIENTRYP ptrglMatrixTranslatedEXT)(GLenum mode, GLdouble x, GLdouble y, GLdouble z);
// void (APIENTRYP ptrglMatrixFrustumEXT)(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
// void (APIENTRYP ptrglMatrixOrthoEXT)(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
// void (APIENTRYP ptrglMatrixPopEXT)(GLenum mode);
// void (APIENTRYP ptrglMatrixPushEXT)(GLenum mode);
// void (APIENTRYP ptrglMatrixLoadTransposefEXT)(GLenum mode, GLfloat* m);
// void (APIENTRYP ptrglMatrixLoadTransposedEXT)(GLenum mode, GLdouble* m);
// void (APIENTRYP ptrglMatrixMultTransposefEXT)(GLenum mode, GLfloat* m);
// void (APIENTRYP ptrglMatrixMultTransposedEXT)(GLenum mode, GLdouble* m);
// void (APIENTRYP ptrglTextureParameterfEXT)(GLuint texture, GLenum target, GLenum pname, GLfloat param);
// void (APIENTRYP ptrglTextureParameterfvEXT)(GLuint texture, GLenum target, GLenum pname, GLfloat* params);
// void (APIENTRYP ptrglTextureParameteriEXT)(GLuint texture, GLenum target, GLenum pname, GLint param);
// void (APIENTRYP ptrglTextureParameterivEXT)(GLuint texture, GLenum target, GLenum pname, GLint* params);
// void (APIENTRYP ptrglTextureImage1DEXT)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, GLvoid* pixels);
// void (APIENTRYP ptrglTextureImage2DEXT)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, GLvoid* pixels);
// void (APIENTRYP ptrglTextureSubImage1DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, GLvoid* pixels);
// void (APIENTRYP ptrglTextureSubImage2DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);
// void (APIENTRYP ptrglCopyTextureImage1DEXT)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
// void (APIENTRYP ptrglCopyTextureImage2DEXT)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
// void (APIENTRYP ptrglCopyTextureSubImage1DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
// void (APIENTRYP ptrglCopyTextureSubImage2DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
// void (APIENTRYP ptrglGetTextureImageEXT)(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid* pixels);
// void (APIENTRYP ptrglGetTextureParameterfvEXT)(GLuint texture, GLenum target, GLenum pname, GLfloat* params);
// void (APIENTRYP ptrglGetTextureParameterivEXT)(GLuint texture, GLenum target, GLenum pname, GLint* params);
// void (APIENTRYP ptrglGetTextureLevelParameterfvEXT)(GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat* params);
// void (APIENTRYP ptrglGetTextureLevelParameterivEXT)(GLuint texture, GLenum target, GLint level, GLenum pname, GLint* params);
// void (APIENTRYP ptrglTextureImage3DEXT)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLvoid* pixels);
// void (APIENTRYP ptrglTextureSubImage3DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid* pixels);
// void (APIENTRYP ptrglCopyTextureSubImage3DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
// void (APIENTRYP ptrglMultiTexParameterfEXT)(GLenum texunit, GLenum target, GLenum pname, GLfloat param);
// void (APIENTRYP ptrglMultiTexParameterfvEXT)(GLenum texunit, GLenum target, GLenum pname, GLfloat* params);
// void (APIENTRYP ptrglMultiTexParameteriEXT)(GLenum texunit, GLenum target, GLenum pname, GLint param);
// void (APIENTRYP ptrglMultiTexParameterivEXT)(GLenum texunit, GLenum target, GLenum pname, GLint* params);
// void (APIENTRYP ptrglMultiTexImage1DEXT)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, GLvoid* pixels);
// void (APIENTRYP ptrglMultiTexImage2DEXT)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, GLvoid* pixels);
// void (APIENTRYP ptrglMultiTexSubImage1DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, GLvoid* pixels);
// void (APIENTRYP ptrglMultiTexSubImage2DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);
// void (APIENTRYP ptrglCopyMultiTexImage1DEXT)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
// void (APIENTRYP ptrglCopyMultiTexImage2DEXT)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
// void (APIENTRYP ptrglCopyMultiTexSubImage1DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
// void (APIENTRYP ptrglCopyMultiTexSubImage2DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
// void (APIENTRYP ptrglGetMultiTexImageEXT)(GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid* pixels);
// void (APIENTRYP ptrglGetMultiTexParameterfvEXT)(GLenum texunit, GLenum target, GLenum pname, GLfloat* params);
// void (APIENTRYP ptrglGetMultiTexParameterivEXT)(GLenum texunit, GLenum target, GLenum pname, GLint* params);
// void (APIENTRYP ptrglGetMultiTexLevelParameterfvEXT)(GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat* params);
// void (APIENTRYP ptrglGetMultiTexLevelParameterivEXT)(GLenum texunit, GLenum target, GLint level, GLenum pname, GLint* params);
// void (APIENTRYP ptrglMultiTexImage3DEXT)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLvoid* pixels);
// void (APIENTRYP ptrglMultiTexSubImage3DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid* pixels);
// void (APIENTRYP ptrglCopyMultiTexSubImage3DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
// void (APIENTRYP ptrglBindMultiTextureEXT)(GLenum texunit, GLenum target, GLuint texture);
// void (APIENTRYP ptrglEnableClientStateIndexedEXT)(GLenum array, GLuint index);
// void (APIENTRYP ptrglDisableClientStateIndexedEXT)(GLenum array, GLuint index);
// void (APIENTRYP ptrglEnableClientStateiEXT)(GLenum array, GLuint index);
// void (APIENTRYP ptrglDisableClientStateiEXT)(GLenum array, GLuint index);
// void (APIENTRYP ptrglMultiTexCoordPointerEXT)(GLenum texunit, GLint size, GLenum type, GLsizei stride, GLvoid* pointer);
// void (APIENTRYP ptrglMultiTexEnvfEXT)(GLenum texunit, GLenum target, GLenum pname, GLfloat param);
// void (APIENTRYP ptrglMultiTexEnvfvEXT)(GLenum texunit, GLenum target, GLenum pname, GLfloat* params);
// void (APIENTRYP ptrglMultiTexEnviEXT)(GLenum texunit, GLenum target, GLenum pname, GLint param);
// void (APIENTRYP ptrglMultiTexEnvivEXT)(GLenum texunit, GLenum target, GLenum pname, GLint* params);
// void (APIENTRYP ptrglMultiTexGendEXT)(GLenum texunit, GLenum coord, GLenum pname, GLdouble param);
// void (APIENTRYP ptrglMultiTexGendvEXT)(GLenum texunit, GLenum coord, GLenum pname, GLdouble* params);
// void (APIENTRYP ptrglMultiTexGenfEXT)(GLenum texunit, GLenum coord, GLenum pname, GLfloat param);
// void (APIENTRYP ptrglMultiTexGenfvEXT)(GLenum texunit, GLenum coord, GLenum pname, GLfloat* params);
// void (APIENTRYP ptrglMultiTexGeniEXT)(GLenum texunit, GLenum coord, GLenum pname, GLint param);
// void (APIENTRYP ptrglMultiTexGenivEXT)(GLenum texunit, GLenum coord, GLenum pname, GLint* params);
// void (APIENTRYP ptrglGetMultiTexEnvfvEXT)(GLenum texunit, GLenum target, GLenum pname, GLfloat* params);
// void (APIENTRYP ptrglGetMultiTexEnvivEXT)(GLenum texunit, GLenum target, GLenum pname, GLint* params);
// void (APIENTRYP ptrglGetMultiTexGendvEXT)(GLenum texunit, GLenum coord, GLenum pname, GLdouble* params);
// void (APIENTRYP ptrglGetMultiTexGenfvEXT)(GLenum texunit, GLenum coord, GLenum pname, GLfloat* params);
// void (APIENTRYP ptrglGetMultiTexGenivEXT)(GLenum texunit, GLenum coord, GLenum pname, GLint* params);
// void (APIENTRYP ptrglGetFloatIndexedvEXT)(GLenum target, GLuint index, GLfloat* data);
// void (APIENTRYP ptrglGetDoubleIndexedvEXT)(GLenum target, GLuint index, GLdouble* data);
// void (APIENTRYP ptrglGetPointerIndexedvEXT)(GLenum target, GLuint index, GLvoid** data);
// void (APIENTRYP ptrglGetFloati_vEXT)(GLenum target, GLuint index, GLfloat* data);
// void (APIENTRYP ptrglGetDoublei_vEXT)(GLenum target, GLuint index, GLdouble* data);
// void (APIENTRYP ptrglGetPointeri_vEXT)(GLenum target, GLuint index, GLvoid** data);
// void (APIENTRYP ptrglCompressedTextureImage3DEXT)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLvoid* bits);
// void (APIENTRYP ptrglCompressedTextureImage2DEXT)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLvoid* bits);
// void (APIENTRYP ptrglCompressedTextureImage1DEXT)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, GLvoid* bits);
// void (APIENTRYP ptrglCompressedTextureSubImage3DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, GLvoid* bits);
// void (APIENTRYP ptrglCompressedTextureSubImage2DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLvoid* bits);
// void (APIENTRYP ptrglCompressedTextureSubImage1DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, GLvoid* bits);
// void (APIENTRYP ptrglGetCompressedTextureImageEXT)(GLuint texture, GLenum target, GLint lod, GLvoid* img);
// void (APIENTRYP ptrglCompressedMultiTexImage3DEXT)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLvoid* bits);
// void (APIENTRYP ptrglCompressedMultiTexImage2DEXT)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLvoid* bits);
// void (APIENTRYP ptrglCompressedMultiTexImage1DEXT)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, GLvoid* bits);
// void (APIENTRYP ptrglCompressedMultiTexSubImage3DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, GLvoid* bits);
// void (APIENTRYP ptrglCompressedMultiTexSubImage2DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLvoid* bits);
// void (APIENTRYP ptrglCompressedMultiTexSubImage1DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, GLvoid* bits);
// void (APIENTRYP ptrglGetCompressedMultiTexImageEXT)(GLenum texunit, GLenum target, GLint lod, GLvoid* img);
// void (APIENTRYP ptrglNamedProgramStringEXT)(GLuint program, GLenum target, GLenum format, GLsizei len, GLvoid* string);
// void (APIENTRYP ptrglNamedProgramLocalParameter4dEXT)(GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
// void (APIENTRYP ptrglNamedProgramLocalParameter4dvEXT)(GLuint program, GLenum target, GLuint index, GLdouble* params);
// void (APIENTRYP ptrglNamedProgramLocalParameter4fEXT)(GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
// void (APIENTRYP ptrglNamedProgramLocalParameter4fvEXT)(GLuint program, GLenum target, GLuint index, GLfloat* params);
// void (APIENTRYP ptrglGetNamedProgramLocalParameterdvEXT)(GLuint program, GLenum target, GLuint index, GLdouble* params);
// void (APIENTRYP ptrglGetNamedProgramLocalParameterfvEXT)(GLuint program, GLenum target, GLuint index, GLfloat* params);
// void (APIENTRYP ptrglGetNamedProgramivEXT)(GLuint program, GLenum target, GLenum pname, GLint* params);
// void (APIENTRYP ptrglGetNamedProgramStringEXT)(GLuint program, GLenum target, GLenum pname, GLvoid* string);
// void (APIENTRYP ptrglNamedProgramLocalParameters4fvEXT)(GLuint program, GLenum target, GLuint index, GLsizei count, GLfloat* params);
// void (APIENTRYP ptrglNamedProgramLocalParameterI4iEXT)(GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
// void (APIENTRYP ptrglNamedProgramLocalParameterI4ivEXT)(GLuint program, GLenum target, GLuint index, GLint* params);
// void (APIENTRYP ptrglNamedProgramLocalParametersI4ivEXT)(GLuint program, GLenum target, GLuint index, GLsizei count, GLint* params);
// void (APIENTRYP ptrglNamedProgramLocalParameterI4uiEXT)(GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
// void (APIENTRYP ptrglNamedProgramLocalParameterI4uivEXT)(GLuint program, GLenum target, GLuint index, GLuint* params);
// void (APIENTRYP ptrglNamedProgramLocalParametersI4uivEXT)(GLuint program, GLenum target, GLuint index, GLsizei count, GLuint* params);
// void (APIENTRYP ptrglGetNamedProgramLocalParameterIivEXT)(GLuint program, GLenum target, GLuint index, GLint* params);
// void (APIENTRYP ptrglGetNamedProgramLocalParameterIuivEXT)(GLuint program, GLenum target, GLuint index, GLuint* params);
// void (APIENTRYP ptrglTextureParameterIivEXT)(GLuint texture, GLenum target, GLenum pname, GLint* params);
// void (APIENTRYP ptrglTextureParameterIuivEXT)(GLuint texture, GLenum target, GLenum pname, GLuint* params);
// void (APIENTRYP ptrglGetTextureParameterIivEXT)(GLuint texture, GLenum target, GLenum pname, GLint* params);
// void (APIENTRYP ptrglGetTextureParameterIuivEXT)(GLuint texture, GLenum target, GLenum pname, GLuint* params);
// void (APIENTRYP ptrglMultiTexParameterIivEXT)(GLenum texunit, GLenum target, GLenum pname, GLint* params);
// void (APIENTRYP ptrglMultiTexParameterIuivEXT)(GLenum texunit, GLenum target, GLenum pname, GLuint* params);
// void (APIENTRYP ptrglGetMultiTexParameterIivEXT)(GLenum texunit, GLenum target, GLenum pname, GLint* params);
// void (APIENTRYP ptrglGetMultiTexParameterIuivEXT)(GLenum texunit, GLenum target, GLenum pname, GLuint* params);
// void (APIENTRYP ptrglProgramUniform1fEXT)(GLuint program, GLint location, GLfloat v0);
// void (APIENTRYP ptrglProgramUniform2fEXT)(GLuint program, GLint location, GLfloat v0, GLfloat v1);
// void (APIENTRYP ptrglProgramUniform3fEXT)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
// void (APIENTRYP ptrglProgramUniform4fEXT)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
// void (APIENTRYP ptrglProgramUniform1iEXT)(GLuint program, GLint location, GLint v0);
// void (APIENTRYP ptrglProgramUniform2iEXT)(GLuint program, GLint location, GLint v0, GLint v1);
// void (APIENTRYP ptrglProgramUniform3iEXT)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
// void (APIENTRYP ptrglProgramUniform4iEXT)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
// void (APIENTRYP ptrglProgramUniform1fvEXT)(GLuint program, GLint location, GLsizei count, GLfloat* value);
// void (APIENTRYP ptrglProgramUniform2fvEXT)(GLuint program, GLint location, GLsizei count, GLfloat* value);
// void (APIENTRYP ptrglProgramUniform3fvEXT)(GLuint program, GLint location, GLsizei count, GLfloat* value);
// void (APIENTRYP ptrglProgramUniform4fvEXT)(GLuint program, GLint location, GLsizei count, GLfloat* value);
// void (APIENTRYP ptrglProgramUniform1ivEXT)(GLuint program, GLint location, GLsizei count, GLint* value);
// void (APIENTRYP ptrglProgramUniform2ivEXT)(GLuint program, GLint location, GLsizei count, GLint* value);
// void (APIENTRYP ptrglProgramUniform3ivEXT)(GLuint program, GLint location, GLsizei count, GLint* value);
// void (APIENTRYP ptrglProgramUniform4ivEXT)(GLuint program, GLint location, GLsizei count, GLint* value);
// void (APIENTRYP ptrglProgramUniformMatrix2fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLfloat* value);
// void (APIENTRYP ptrglProgramUniformMatrix3fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLfloat* value);
// void (APIENTRYP ptrglProgramUniformMatrix4fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLfloat* value);
// void (APIENTRYP ptrglProgramUniformMatrix2x3fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLfloat* value);
// void (APIENTRYP ptrglProgramUniformMatrix3x2fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLfloat* value);
// void (APIENTRYP ptrglProgramUniformMatrix2x4fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLfloat* value);
// void (APIENTRYP ptrglProgramUniformMatrix4x2fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLfloat* value);
// void (APIENTRYP ptrglProgramUniformMatrix3x4fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLfloat* value);
// void (APIENTRYP ptrglProgramUniformMatrix4x3fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLfloat* value);
// void (APIENTRYP ptrglProgramUniform1uiEXT)(GLuint program, GLint location, GLuint v0);
// void (APIENTRYP ptrglProgramUniform2uiEXT)(GLuint program, GLint location, GLuint v0, GLuint v1);
// void (APIENTRYP ptrglProgramUniform3uiEXT)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
// void (APIENTRYP ptrglProgramUniform4uiEXT)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
// void (APIENTRYP ptrglProgramUniform1uivEXT)(GLuint program, GLint location, GLsizei count, GLuint* value);
// void (APIENTRYP ptrglProgramUniform2uivEXT)(GLuint program, GLint location, GLsizei count, GLuint* value);
// void (APIENTRYP ptrglProgramUniform3uivEXT)(GLuint program, GLint location, GLsizei count, GLuint* value);
// void (APIENTRYP ptrglProgramUniform4uivEXT)(GLuint program, GLint location, GLsizei count, GLuint* value);
// void (APIENTRYP ptrglNamedBufferDataEXT)(GLuint buffer, GLsizeiptr size, GLvoid* data, GLenum usage);
// void (APIENTRYP ptrglNamedBufferSubDataEXT)(GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid* data);
// GLvoid* (APIENTRYP ptrglMapNamedBufferEXT)(GLuint buffer, GLenum access);
// GLboolean (APIENTRYP ptrglUnmapNamedBufferEXT)(GLuint buffer);
// GLvoid* (APIENTRYP ptrglMapNamedBufferRangeEXT)(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);
// void (APIENTRYP ptrglFlushMappedNamedBufferRangeEXT)(GLuint buffer, GLintptr offset, GLsizeiptr length);
// void (APIENTRYP ptrglNamedCopyBufferSubDataEXT)(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
// void (APIENTRYP ptrglGetNamedBufferParameterivEXT)(GLuint buffer, GLenum pname, GLint* params);
// void (APIENTRYP ptrglGetNamedBufferPointervEXT)(GLuint buffer, GLenum pname, GLvoid** params);
// void (APIENTRYP ptrglGetNamedBufferSubDataEXT)(GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid* data);
// void (APIENTRYP ptrglTextureBufferEXT)(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);
// void (APIENTRYP ptrglMultiTexBufferEXT)(GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer);
// void (APIENTRYP ptrglNamedRenderbufferStorageEXT)(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);
// void (APIENTRYP ptrglGetNamedRenderbufferParameterivEXT)(GLuint renderbuffer, GLenum pname, GLint* params);
// GLenum (APIENTRYP ptrglCheckNamedFramebufferStatusEXT)(GLuint framebuffer, GLenum target);
// void (APIENTRYP ptrglNamedFramebufferTexture1DEXT)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
// void (APIENTRYP ptrglNamedFramebufferTexture2DEXT)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
// void (APIENTRYP ptrglNamedFramebufferTexture3DEXT)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
// void (APIENTRYP ptrglNamedFramebufferRenderbufferEXT)(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
// void (APIENTRYP ptrglGetNamedFramebufferAttachmentParameterivEXT)(GLuint framebuffer, GLenum attachment, GLenum pname, GLint* params);
// void (APIENTRYP ptrglGenerateTextureMipmapEXT)(GLuint texture, GLenum target);
// void (APIENTRYP ptrglGenerateMultiTexMipmapEXT)(GLenum texunit, GLenum target);
// void (APIENTRYP ptrglFramebufferDrawBufferEXT)(GLuint framebuffer, GLenum mode);
// void (APIENTRYP ptrglFramebufferDrawBuffersEXT)(GLuint framebuffer, GLsizei n, GLenum* bufs);
// void (APIENTRYP ptrglFramebufferReadBufferEXT)(GLuint framebuffer, GLenum mode);
// void (APIENTRYP ptrglGetFramebufferParameterivEXT)(GLuint framebuffer, GLenum pname, GLint* params);
// void (APIENTRYP ptrglNamedRenderbufferStorageMultisampleEXT)(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
// void (APIENTRYP ptrglNamedRenderbufferStorageMultisampleCoverageEXT)(GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);
// void (APIENTRYP ptrglNamedFramebufferTextureEXT)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
// void (APIENTRYP ptrglNamedFramebufferTextureLayerEXT)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);
// void (APIENTRYP ptrglNamedFramebufferTextureFaceEXT)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face);
// void (APIENTRYP ptrglTextureRenderbufferEXT)(GLuint texture, GLenum target, GLuint renderbuffer);
// void (APIENTRYP ptrglMultiTexRenderbufferEXT)(GLenum texunit, GLenum target, GLuint renderbuffer);
// void (APIENTRYP ptrglProgramUniform1dEXT)(GLuint program, GLint location, GLdouble x);
// void (APIENTRYP ptrglProgramUniform2dEXT)(GLuint program, GLint location, GLdouble x, GLdouble y);
// void (APIENTRYP ptrglProgramUniform3dEXT)(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z);
// void (APIENTRYP ptrglProgramUniform4dEXT)(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
// void (APIENTRYP ptrglProgramUniform1dvEXT)(GLuint program, GLint location, GLsizei count, GLdouble* value);
// void (APIENTRYP ptrglProgramUniform2dvEXT)(GLuint program, GLint location, GLsizei count, GLdouble* value);
// void (APIENTRYP ptrglProgramUniform3dvEXT)(GLuint program, GLint location, GLsizei count, GLdouble* value);
// void (APIENTRYP ptrglProgramUniform4dvEXT)(GLuint program, GLint location, GLsizei count, GLdouble* value);
// void (APIENTRYP ptrglProgramUniformMatrix2dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLdouble* value);
// void (APIENTRYP ptrglProgramUniformMatrix3dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLdouble* value);
// void (APIENTRYP ptrglProgramUniformMatrix4dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLdouble* value);
// void (APIENTRYP ptrglProgramUniformMatrix2x3dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLdouble* value);
// void (APIENTRYP ptrglProgramUniformMatrix2x4dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLdouble* value);
// void (APIENTRYP ptrglProgramUniformMatrix3x2dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLdouble* value);
// void (APIENTRYP ptrglProgramUniformMatrix3x4dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLdouble* value);
// void (APIENTRYP ptrglProgramUniformMatrix4x2dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLdouble* value);
// void (APIENTRYP ptrglProgramUniformMatrix4x3dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLdouble* value);
// void (APIENTRYP ptrglEnableVertexArrayAttribEXT)(GLuint vaobj, GLuint index);
// void (APIENTRYP ptrglDisableVertexArrayAttribEXT)(GLuint vaobj, GLuint index);
// void (APIENTRYP ptrglEnableVertexArrayEXT)(GLuint vaobj, GLenum array);
// void (APIENTRYP ptrglDisableVertexArrayEXT)(GLuint vaobj, GLenum array);
// void (APIENTRYP ptrglVertexArrayColorOffsetEXT)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);
// void (APIENTRYP ptrglVertexArrayEdgeFlagOffsetEXT)(GLuint vaobj, GLuint buffer, GLsizei stride, GLintptr offset);
// void (APIENTRYP ptrglVertexArrayFogCoordOffsetEXT)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset);
// void (APIENTRYP ptrglVertexArrayIndexOffsetEXT)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset);
// void (APIENTRYP ptrglVertexArrayMultiTexCoordOffsetEXT)(GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, GLintptr offset);
// void (APIENTRYP ptrglVertexArrayNormalOffsetEXT)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset);
// void (APIENTRYP ptrglVertexArraySecondaryColorOffsetEXT)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);
// void (APIENTRYP ptrglVertexArrayTexCoordOffsetEXT)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);
// void (APIENTRYP ptrglVertexArrayVertexOffsetEXT)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);
// void (APIENTRYP ptrglVertexArrayVertexAttribIOffsetEXT)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);
// void (APIENTRYP ptrglVertexArrayVertexAttribOffsetEXT)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset);
// void (APIENTRYP ptrglGetVertexArrayIntegervEXT)(GLuint vaobj, GLenum pname, GLint* param);
// void (APIENTRYP ptrglGetVertexArrayPointervEXT)(GLuint vaobj, GLenum pname, GLvoid** param);
// void (APIENTRYP ptrglGetVertexArrayIntegeri_vEXT)(GLuint vaobj, GLuint index, GLenum pname, GLint* param);
// void (APIENTRYP ptrglGetVertexArrayPointeri_vEXT)(GLuint vaobj, GLuint index, GLenum pname, GLvoid** param);
// //  EXT_draw_buffers2
// void (APIENTRYP ptrglColorMaskIndexedEXT)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
// void (APIENTRYP ptrglGetBooleanIndexedvEXT)(GLenum target, GLuint index, GLboolean* data);
// void (APIENTRYP ptrglGetIntegerIndexedvEXT)(GLenum target, GLuint index, GLint* data);
// void (APIENTRYP ptrglEnableIndexedEXT)(GLenum target, GLuint index);
// void (APIENTRYP ptrglDisableIndexedEXT)(GLenum target, GLuint index);
// GLboolean (APIENTRYP ptrglIsEnabledIndexedEXT)(GLenum target, GLuint index);
// //  EXT_draw_instanced
// void (APIENTRYP ptrglDrawArraysInstancedEXT)(GLenum mode, GLint start, GLsizei count, GLsizei primcount);
// void (APIENTRYP ptrglDrawElementsInstancedEXT)(GLenum mode, GLsizei count, GLenum type, GLvoid* indices, GLsizei primcount);
// //  EXT_draw_range_elements
// void (APIENTRYP ptrglDrawRangeElementsEXT)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, GLvoid* indices);
// //  EXT_fog_coord
// void (APIENTRYP ptrglFogCoordfEXT)(GLfloat coord);
// void (APIENTRYP ptrglFogCoordfvEXT)(GLfloat* coord);
// void (APIENTRYP ptrglFogCoorddEXT)(GLdouble coord);
// void (APIENTRYP ptrglFogCoorddvEXT)(GLdouble* coord);
// void (APIENTRYP ptrglFogCoordPointerEXT)(GLenum type, GLsizei stride, GLvoid* pointer);
// //  EXT_framebuffer_blit
// void (APIENTRYP ptrglBlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
// //  EXT_framebuffer_multisample
// void (APIENTRYP ptrglRenderbufferStorageMultisampleEXT)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
// //  EXT_framebuffer_object
// GLboolean (APIENTRYP ptrglIsRenderbufferEXT)(GLuint renderbuffer);
// void (APIENTRYP ptrglBindRenderbufferEXT)(GLenum target, GLuint renderbuffer);
// void (APIENTRYP ptrglDeleteRenderbuffersEXT)(GLsizei n, GLuint* renderbuffers);
// void (APIENTRYP ptrglGenRenderbuffersEXT)(GLsizei n, GLuint* renderbuffers);
// void (APIENTRYP ptrglRenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
// void (APIENTRYP ptrglGetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint* params);
// GLboolean (APIENTRYP ptrglIsFramebufferEXT)(GLuint framebuffer);
// void (APIENTRYP ptrglBindFramebufferEXT)(GLenum target, GLuint framebuffer);
// void (APIENTRYP ptrglDeleteFramebuffersEXT)(GLsizei n, GLuint* framebuffers);
// void (APIENTRYP ptrglGenFramebuffersEXT)(GLsizei n, GLuint* framebuffers);
// GLenum (APIENTRYP ptrglCheckFramebufferStatusEXT)(GLenum target);
// void (APIENTRYP ptrglFramebufferTexture1DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
// void (APIENTRYP ptrglFramebufferTexture2DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
// void (APIENTRYP ptrglFramebufferTexture3DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
// void (APIENTRYP ptrglFramebufferRenderbufferEXT)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
// void (APIENTRYP ptrglGetFramebufferAttachmentParameterivEXT)(GLenum target, GLenum attachment, GLenum pname, GLint* params);
// void (APIENTRYP ptrglGenerateMipmapEXT)(GLenum target);
// //  EXT_geometry_shader4
// void (APIENTRYP ptrglProgramParameteriEXT)(GLuint program, GLenum pname, GLint value);
// //  EXT_gpu_program_parameters
// void (APIENTRYP ptrglProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, GLfloat* params);
// void (APIENTRYP ptrglProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, GLfloat* params);
// //  EXT_gpu_shader4
// void (APIENTRYP ptrglGetUniformuivEXT)(GLuint program, GLint location, GLuint* params);
// void (APIENTRYP ptrglBindFragDataLocationEXT)(GLuint program, GLuint color, GLchar* name);
// GLint (APIENTRYP ptrglGetFragDataLocationEXT)(GLuint program, GLchar* name);
// void (APIENTRYP ptrglUniform1uiEXT)(GLint location, GLuint v0);
// void (APIENTRYP ptrglUniform2uiEXT)(GLint location, GLuint v0, GLuint v1);
// void (APIENTRYP ptrglUniform3uiEXT)(GLint location, GLuint v0, GLuint v1, GLuint v2);
// void (APIENTRYP ptrglUniform4uiEXT)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
// void (APIENTRYP ptrglUniform1uivEXT)(GLint location, GLsizei count, GLuint* value);
// void (APIENTRYP ptrglUniform2uivEXT)(GLint location, GLsizei count, GLuint* value);
// void (APIENTRYP ptrglUniform3uivEXT)(GLint location, GLsizei count, GLuint* value);
// void (APIENTRYP ptrglUniform4uivEXT)(GLint location, GLsizei count, GLuint* value);
// //  EXT_histogram
// void (APIENTRYP ptrglGetHistogramEXT)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid* values);
// void (APIENTRYP ptrglGetHistogramParameterfvEXT)(GLenum target, GLenum pname, GLfloat* params);
// void (APIENTRYP ptrglGetHistogramParameterivEXT)(GLenum target, GLenum pname, GLint* params);
// void (APIENTRYP ptrglGetMinmaxEXT)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid* values);
// void (APIENTRYP ptrglGetMinmaxParameterfvEXT)(GLenum target, GLenum pname, GLfloat* params);
// void (APIENTRYP ptrglGetMinmaxParameterivEXT)(GLenum target, GLenum pname, GLint* params);
// void (APIENTRYP ptrglHistogramEXT)(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
// void (APIENTRYP ptrglMinmaxEXT)(GLenum target, GLenum internalformat, GLboolean sink);
// void (APIENTRYP ptrglResetHistogramEXT)(GLenum target);
// void (APIENTRYP ptrglResetMinmaxEXT)(GLenum target);
// //  EXT_index_func
// void (APIENTRYP ptrglIndexFuncEXT)(GLenum func, GLclampf ref);
// //  EXT_index_material
// void (APIENTRYP ptrglIndexMaterialEXT)(GLenum face, GLenum mode);
// //  EXT_light_texture
// void (APIENTRYP ptrglApplyTextureEXT)(GLenum mode);
// void (APIENTRYP ptrglTextureLightEXT)(GLenum pname);
// void (APIENTRYP ptrglTextureMaterialEXT)(GLenum face, GLenum mode);
// //  EXT_multi_draw_arrays
// void (APIENTRYP ptrglMultiDrawArraysEXT)(GLenum mode, GLint* first, GLsizei* count, GLsizei primcount);
// void (APIENTRYP ptrglMultiDrawElementsEXT)(GLenum mode, GLsizei* count, GLenum type, GLvoid** indices, GLsizei primcount);
// //  EXT_multisample
// void (APIENTRYP ptrglSampleMaskEXT)(GLclampf value, GLboolean invert);
// void (APIENTRYP ptrglSamplePatternEXT)(GLenum pattern);
// //  EXT_paletted_texture
// void (APIENTRYP ptrglColorTableEXT)(GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, GLvoid* table);
// void (APIENTRYP ptrglGetColorTableEXT)(GLenum target, GLenum format, GLenum type, GLvoid* data);
// void (APIENTRYP ptrglGetColorTableParameterivEXT)(GLenum target, GLenum pname, GLint* params);
// void (APIENTRYP ptrglGetColorTableParameterfvEXT)(GLenum target, GLenum pname, GLfloat* params);
// //  EXT_pixel_transform
// void (APIENTRYP ptrglPixelTransformParameteriEXT)(GLenum target, GLenum pname, GLint param);
// void (APIENTRYP ptrglPixelTransformParameterfEXT)(GLenum target, GLenum pname, GLfloat param);
// void (APIENTRYP ptrglPixelTransformParameterivEXT)(GLenum target, GLenum pname, GLint* params);
// void (APIENTRYP ptrglPixelTransformParameterfvEXT)(GLenum target, GLenum pname, GLfloat* params);
// void (APIENTRYP ptrglGetPixelTransformParameterivEXT)(GLenum target, GLenum pname, GLint* params);
// void (APIENTRYP ptrglGetPixelTransformParameterfvEXT)(GLenum target, GLenum pname, GLfloat* params);
// //  EXT_point_parameters
// void (APIENTRYP ptrglPointParameterfEXT)(GLenum pname, GLfloat param);
// void (APIENTRYP ptrglPointParameterfvEXT)(GLenum pname, GLfloat* params);
// //  EXT_polygon_offset
// void (APIENTRYP ptrglPolygonOffsetEXT)(GLfloat factor, GLfloat bias);
// //  EXT_provoking_vertex
// void (APIENTRYP ptrglProvokingVertexEXT)(GLenum mode);
// //  EXT_secondary_color
// void (APIENTRYP ptrglSecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue);
// void (APIENTRYP ptrglSecondaryColor3bvEXT)(GLbyte* v);
// void (APIENTRYP ptrglSecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue);
// void (APIENTRYP ptrglSecondaryColor3dvEXT)(GLdouble* v);
// void (APIENTRYP ptrglSecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue);
// void (APIENTRYP ptrglSecondaryColor3fvEXT)(GLfloat* v);
// void (APIENTRYP ptrglSecondaryColor3iEXT)(GLint red, GLint green, GLint blue);
// void (APIENTRYP ptrglSecondaryColor3ivEXT)(GLint* v);
// void (APIENTRYP ptrglSecondaryColor3sEXT)(GLshort red, GLshort green, GLshort blue);
// void (APIENTRYP ptrglSecondaryColor3svEXT)(GLshort* v);
// void (APIENTRYP ptrglSecondaryColor3ubEXT)(GLubyte red, GLubyte green, GLubyte blue);
// void (APIENTRYP ptrglSecondaryColor3ubvEXT)(GLubyte* v);
// void (APIENTRYP ptrglSecondaryColor3uiEXT)(GLuint red, GLuint green, GLuint blue);
// void (APIENTRYP ptrglSecondaryColor3uivEXT)(GLuint* v);
// void (APIENTRYP ptrglSecondaryColor3usEXT)(GLushort red, GLushort green, GLushort blue);
// void (APIENTRYP ptrglSecondaryColor3usvEXT)(GLushort* v);
// void (APIENTRYP ptrglSecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLvoid* pointer);
// //  EXT_separate_shader_objects
// void (APIENTRYP ptrglUseShaderProgramEXT)(GLenum type, GLuint program);
// void (APIENTRYP ptrglActiveProgramEXT)(GLuint program);
// GLuint (APIENTRYP ptrglCreateShaderProgramEXT)(GLenum type, GLchar* string);
// //  EXT_shader_image_load_store
// void (APIENTRYP ptrglBindImageTextureEXT)(GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format);
// void (APIENTRYP ptrglMemoryBarrierEXT)(GLbitfield barriers);
// //  EXT_stencil_clear_tag
// void (APIENTRYP ptrglStencilClearTagEXT)(GLsizei stencilTagBits, GLuint stencilClearTag);
// //  EXT_stencil_two_side
// void (APIENTRYP ptrglActiveStencilFaceEXT)(GLenum face);
// //  EXT_subtexture
// void (APIENTRYP ptrglTexSubImage1DEXT)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, GLvoid* pixels);
// void (APIENTRYP ptrglTexSubImage2DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);
// //  EXT_texture3D
// void (APIENTRYP ptrglTexImage3DEXT)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLvoid* pixels);
// void (APIENTRYP ptrglTexSubImage3DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid* pixels);
// //  EXT_texture_buffer_object
// void (APIENTRYP ptrglTexBufferEXT)(GLenum target, GLenum internalformat, GLuint buffer);
// //  EXT_texture_integer
// void (APIENTRYP ptrglTexParameterIivEXT)(GLenum target, GLenum pname, GLint* params);
// void (APIENTRYP ptrglTexParameterIuivEXT)(GLenum target, GLenum pname, GLuint* params);
// void (APIENTRYP ptrglGetTexParameterIivEXT)(GLenum target, GLenum pname, GLint* params);
// void (APIENTRYP ptrglGetTexParameterIuivEXT)(GLenum target, GLenum pname, GLuint* params);
// void (APIENTRYP ptrglClearColorIiEXT)(GLint red, GLint green, GLint blue, GLint alpha);
// void (APIENTRYP ptrglClearColorIuiEXT)(GLuint red, GLuint green, GLuint blue, GLuint alpha);
// //  EXT_texture_object
// GLboolean (APIENTRYP ptrglAreTexturesResidentEXT)(GLsizei n, GLuint* textures, GLboolean* residences);
// void (APIENTRYP ptrglBindTextureEXT)(GLenum target, GLuint texture);
// void (APIENTRYP ptrglDeleteTexturesEXT)(GLsizei n, GLuint* textures);
// void (APIENTRYP ptrglGenTexturesEXT)(GLsizei n, GLuint* textures);
// GLboolean (APIENTRYP ptrglIsTextureEXT)(GLuint texture);
// void (APIENTRYP ptrglPrioritizeTexturesEXT)(GLsizei n, GLuint* textures, GLclampf* priorities);
// //  EXT_texture_perturb_normal
// void (APIENTRYP ptrglTextureNormalEXT)(GLenum mode);
// //  EXT_timer_query
// void (APIENTRYP ptrglGetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT* params);
// void (APIENTRYP ptrglGetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT* params);
// //  EXT_transform_feedback
// void (APIENTRYP ptrglBeginTransformFeedbackEXT)(GLenum primitiveMode);
// void (APIENTRYP ptrglEndTransformFeedbackEXT)();
// void (APIENTRYP ptrglBindBufferRangeEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
// void (APIENTRYP ptrglBindBufferOffsetEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset);
// void (APIENTRYP ptrglBindBufferBaseEXT)(GLenum target, GLuint index, GLuint buffer);
// void (APIENTRYP ptrglTransformFeedbackVaryingsEXT)(GLuint program, GLsizei count, GLchar** varyings, GLenum bufferMode);
// void (APIENTRYP ptrglGetTransformFeedbackVaryingEXT)(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name);
// //  EXT_vertex_array
// void (APIENTRYP ptrglArrayElementEXT)(GLint i);
// void (APIENTRYP ptrglColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, GLvoid* pointer);
// void (APIENTRYP ptrglDrawArraysEXT)(GLenum mode, GLint first, GLsizei count);
// void (APIENTRYP ptrglEdgeFlagPointerEXT)(GLsizei stride, GLsizei count, GLboolean* pointer);
// void (APIENTRYP ptrglGetPointervEXT)(GLenum pname, GLvoid** params);
// void (APIENTRYP ptrglIndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, GLvoid* pointer);
// void (APIENTRYP ptrglNormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, GLvoid* pointer);
// void (APIENTRYP ptrglTexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, GLvoid* pointer);
// void (APIENTRYP ptrglVertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, GLvoid* pointer);
// //  EXT_vertex_attrib_64bit
// void (APIENTRYP ptrglVertexAttribL1dEXT)(GLuint index, GLdouble x);
// void (APIENTRYP ptrglVertexAttribL2dEXT)(GLuint index, GLdouble x, GLdouble y);
// void (APIENTRYP ptrglVertexAttribL3dEXT)(GLuint index, GLdouble x, GLdouble y, GLdouble z);
// void (APIENTRYP ptrglVertexAttribL4dEXT)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
// void (APIENTRYP ptrglVertexAttribL1dvEXT)(GLuint index, GLdouble* v);
// void (APIENTRYP ptrglVertexAttribL2dvEXT)(GLuint index, GLdouble* v);
// void (APIENTRYP ptrglVertexAttribL3dvEXT)(GLuint index, GLdouble* v);
// void (APIENTRYP ptrglVertexAttribL4dvEXT)(GLuint index, GLdouble* v);
// void (APIENTRYP ptrglVertexAttribLPointerEXT)(GLuint index, GLint size, GLenum type, GLsizei stride, GLvoid* pointer);
// void (APIENTRYP ptrglGetVertexAttribLdvEXT)(GLuint index, GLenum pname, GLdouble* params);
// void (APIENTRYP ptrglVertexArrayVertexAttribLOffsetEXT)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);
// //  EXT_vertex_shader
// void (APIENTRYP ptrglBeginVertexShaderEXT)();
// void (APIENTRYP ptrglEndVertexShaderEXT)();
// void (APIENTRYP ptrglBindVertexShaderEXT)(GLuint id);
// GLuint (APIENTRYP ptrglGenVertexShadersEXT)(GLuint range);
// void (APIENTRYP ptrglDeleteVertexShaderEXT)(GLuint id);
// void (APIENTRYP ptrglShaderOp1EXT)(GLenum op, GLuint res, GLuint arg1);
// void (APIENTRYP ptrglShaderOp2EXT)(GLenum op, GLuint res, GLuint arg1, GLuint arg2);
// void (APIENTRYP ptrglShaderOp3EXT)(GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);
// void (APIENTRYP ptrglSwizzleEXT)(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
// void (APIENTRYP ptrglWriteMaskEXT)(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
// void (APIENTRYP ptrglInsertComponentEXT)(GLuint res, GLuint src, GLuint num);
// void (APIENTRYP ptrglExtractComponentEXT)(GLuint res, GLuint src, GLuint num);
// GLuint (APIENTRYP ptrglGenSymbolsEXT)(GLenum datatype, GLenum storagetype, GLenum range, GLuint components);
// void (APIENTRYP ptrglSetInvariantEXT)(GLuint id, GLenum type, GLvoid* addr);
// void (APIENTRYP ptrglSetLocalConstantEXT)(GLuint id, GLenum type, GLvoid* addr);
// void (APIENTRYP ptrglVariantbvEXT)(GLuint id, GLbyte* addr);
// void (APIENTRYP ptrglVariantsvEXT)(GLuint id, GLshort* addr);
// void (APIENTRYP ptrglVariantivEXT)(GLuint id, GLint* addr);
// void (APIENTRYP ptrglVariantfvEXT)(GLuint id, GLfloat* addr);
// void (APIENTRYP ptrglVariantdvEXT)(GLuint id, GLdouble* addr);
// void (APIENTRYP ptrglVariantubvEXT)(GLuint id, GLubyte* addr);
// void (APIENTRYP ptrglVariantusvEXT)(GLuint id, GLushort* addr);
// void (APIENTRYP ptrglVariantuivEXT)(GLuint id, GLuint* addr);
// void (APIENTRYP ptrglVariantPointerEXT)(GLuint id, GLenum type, GLuint stride, GLvoid* addr);
// void (APIENTRYP ptrglEnableVariantClientStateEXT)(GLuint id);
// void (APIENTRYP ptrglDisableVariantClientStateEXT)(GLuint id);
// GLuint (APIENTRYP ptrglBindLightParameterEXT)(GLenum light, GLenum value);
// GLuint (APIENTRYP ptrglBindMaterialParameterEXT)(GLenum face, GLenum value);
// GLuint (APIENTRYP ptrglBindTexGenParameterEXT)(GLenum unit, GLenum coord, GLenum value);
// GLuint (APIENTRYP ptrglBindTextureUnitParameterEXT)(GLenum unit, GLenum value);
// GLuint (APIENTRYP ptrglBindParameterEXT)(GLenum value);
// GLboolean (APIENTRYP ptrglIsVariantEnabledEXT)(GLuint id, GLenum cap);
// void (APIENTRYP ptrglGetVariantBooleanvEXT)(GLuint id, GLenum value, GLboolean* data);
// void (APIENTRYP ptrglGetVariantIntegervEXT)(GLuint id, GLenum value, GLint* data);
// void (APIENTRYP ptrglGetVariantFloatvEXT)(GLuint id, GLenum value, GLfloat* data);
// void (APIENTRYP ptrglGetVariantPointervEXT)(GLuint id, GLenum value, GLvoid** data);
// void (APIENTRYP ptrglGetInvariantBooleanvEXT)(GLuint id, GLenum value, GLboolean* data);
// void (APIENTRYP ptrglGetInvariantIntegervEXT)(GLuint id, GLenum value, GLint* data);
// void (APIENTRYP ptrglGetInvariantFloatvEXT)(GLuint id, GLenum value, GLfloat* data);
// void (APIENTRYP ptrglGetLocalConstantBooleanvEXT)(GLuint id, GLenum value, GLboolean* data);
// void (APIENTRYP ptrglGetLocalConstantIntegervEXT)(GLuint id, GLenum value, GLint* data);
// void (APIENTRYP ptrglGetLocalConstantFloatvEXT)(GLuint id, GLenum value, GLfloat* data);
// //  EXT_vertex_weighting
// void (APIENTRYP ptrglVertexWeightfEXT)(GLfloat weight);
// void (APIENTRYP ptrglVertexWeightfvEXT)(GLfloat* weight);
// void (APIENTRYP ptrglVertexWeightPointerEXT)(GLint size, GLenum type, GLsizei stride, GLvoid* pointer);
// //  EXT_x11_sync_object
// GLsync (APIENTRYP ptrglImportSyncEXT)(GLenum external_sync_type, GLintptr external_sync, GLbitfield flags);
// 
// //  EXT_bindable_uniform
// void goglUniformBufferEXT(GLuint program, GLint location, GLuint buffer) {
// 	(*ptrglUniformBufferEXT)(program, location, buffer);
// }
// GLint goglGetUniformBufferSizeEXT(GLuint program, GLint location) {
// 	return (*ptrglGetUniformBufferSizeEXT)(program, location);
// }
// GLintptr goglGetUniformOffsetEXT(GLuint program, GLint location) {
// 	return (*ptrglGetUniformOffsetEXT)(program, location);
// }
// //  EXT_blend_color
// void goglBlendColorEXT(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) {
// 	(*ptrglBlendColorEXT)(red, green, blue, alpha);
// }
// //  EXT_blend_equation_separate
// void goglBlendEquationSeparateEXT(GLenum modeRGB, GLenum modeAlpha) {
// 	(*ptrglBlendEquationSeparateEXT)(modeRGB, modeAlpha);
// }
// //  EXT_blend_func_separate
// void goglBlendFuncSeparateEXT(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) {
// 	(*ptrglBlendFuncSeparateEXT)(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
// }
// //  EXT_blend_minmax
// void goglBlendEquationEXT(GLenum mode) {
// 	(*ptrglBlendEquationEXT)(mode);
// }
// //  EXT_color_subtable
// void goglColorSubTableEXT(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type_, GLvoid* data) {
// 	(*ptrglColorSubTableEXT)(target, start, count, format, type_, data);
// }
// void goglCopyColorSubTableEXT(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width) {
// 	(*ptrglCopyColorSubTableEXT)(target, start, x, y, width);
// }
// //  EXT_compiled_vertex_array
// void goglLockArraysEXT(GLint first, GLsizei count) {
// 	(*ptrglLockArraysEXT)(first, count);
// }
// void goglUnlockArraysEXT() {
// 	(*ptrglUnlockArraysEXT)();
// }
// //  EXT_convolution
// void goglConvolutionFilter1DEXT(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type_, GLvoid* image) {
// 	(*ptrglConvolutionFilter1DEXT)(target, internalformat, width, format, type_, image);
// }
// void goglConvolutionFilter2DEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type_, GLvoid* image) {
// 	(*ptrglConvolutionFilter2DEXT)(target, internalformat, width, height, format, type_, image);
// }
// void goglConvolutionParameterfEXT(GLenum target, GLenum pname, GLfloat params) {
// 	(*ptrglConvolutionParameterfEXT)(target, pname, params);
// }
// void goglConvolutionParameterfvEXT(GLenum target, GLenum pname, GLfloat* params) {
// 	(*ptrglConvolutionParameterfvEXT)(target, pname, params);
// }
// void goglConvolutionParameteriEXT(GLenum target, GLenum pname, GLint params) {
// 	(*ptrglConvolutionParameteriEXT)(target, pname, params);
// }
// void goglConvolutionParameterivEXT(GLenum target, GLenum pname, GLint* params) {
// 	(*ptrglConvolutionParameterivEXT)(target, pname, params);
// }
// void goglCopyConvolutionFilter1DEXT(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) {
// 	(*ptrglCopyConvolutionFilter1DEXT)(target, internalformat, x, y, width);
// }
// void goglCopyConvolutionFilter2DEXT(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height) {
// 	(*ptrglCopyConvolutionFilter2DEXT)(target, internalformat, x, y, width, height);
// }
// void goglGetConvolutionFilterEXT(GLenum target, GLenum format, GLenum type_, GLvoid* image) {
// 	(*ptrglGetConvolutionFilterEXT)(target, format, type_, image);
// }
// void goglGetConvolutionParameterfvEXT(GLenum target, GLenum pname, GLfloat* params) {
// 	(*ptrglGetConvolutionParameterfvEXT)(target, pname, params);
// }
// void goglGetConvolutionParameterivEXT(GLenum target, GLenum pname, GLint* params) {
// 	(*ptrglGetConvolutionParameterivEXT)(target, pname, params);
// }
// void goglGetSeparableFilterEXT(GLenum target, GLenum format, GLenum type_, GLvoid* row, GLvoid* column, GLvoid* span) {
// 	(*ptrglGetSeparableFilterEXT)(target, format, type_, row, column, span);
// }
// void goglSeparableFilter2DEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type_, GLvoid* row, GLvoid* column) {
// 	(*ptrglSeparableFilter2DEXT)(target, internalformat, width, height, format, type_, row, column);
// }
// //  EXT_coordinate_frame
// void goglTangent3bEXT(GLbyte tx, GLbyte ty, GLbyte tz) {
// 	(*ptrglTangent3bEXT)(tx, ty, tz);
// }
// void goglTangent3bvEXT(GLbyte* v) {
// 	(*ptrglTangent3bvEXT)(v);
// }
// void goglTangent3dEXT(GLdouble tx, GLdouble ty, GLdouble tz) {
// 	(*ptrglTangent3dEXT)(tx, ty, tz);
// }
// void goglTangent3dvEXT(GLdouble* v) {
// 	(*ptrglTangent3dvEXT)(v);
// }
// void goglTangent3fEXT(GLfloat tx, GLfloat ty, GLfloat tz) {
// 	(*ptrglTangent3fEXT)(tx, ty, tz);
// }
// void goglTangent3fvEXT(GLfloat* v) {
// 	(*ptrglTangent3fvEXT)(v);
// }
// void goglTangent3iEXT(GLint tx, GLint ty, GLint tz) {
// 	(*ptrglTangent3iEXT)(tx, ty, tz);
// }
// void goglTangent3ivEXT(GLint* v) {
// 	(*ptrglTangent3ivEXT)(v);
// }
// void goglTangent3sEXT(GLshort tx, GLshort ty, GLshort tz) {
// 	(*ptrglTangent3sEXT)(tx, ty, tz);
// }
// void goglTangent3svEXT(GLshort* v) {
// 	(*ptrglTangent3svEXT)(v);
// }
// void goglBinormal3bEXT(GLbyte bx, GLbyte by, GLbyte bz) {
// 	(*ptrglBinormal3bEXT)(bx, by, bz);
// }
// void goglBinormal3bvEXT(GLbyte* v) {
// 	(*ptrglBinormal3bvEXT)(v);
// }
// void goglBinormal3dEXT(GLdouble bx, GLdouble by, GLdouble bz) {
// 	(*ptrglBinormal3dEXT)(bx, by, bz);
// }
// void goglBinormal3dvEXT(GLdouble* v) {
// 	(*ptrglBinormal3dvEXT)(v);
// }
// void goglBinormal3fEXT(GLfloat bx, GLfloat by, GLfloat bz) {
// 	(*ptrglBinormal3fEXT)(bx, by, bz);
// }
// void goglBinormal3fvEXT(GLfloat* v) {
// 	(*ptrglBinormal3fvEXT)(v);
// }
// void goglBinormal3iEXT(GLint bx, GLint by, GLint bz) {
// 	(*ptrglBinormal3iEXT)(bx, by, bz);
// }
// void goglBinormal3ivEXT(GLint* v) {
// 	(*ptrglBinormal3ivEXT)(v);
// }
// void goglBinormal3sEXT(GLshort bx, GLshort by, GLshort bz) {
// 	(*ptrglBinormal3sEXT)(bx, by, bz);
// }
// void goglBinormal3svEXT(GLshort* v) {
// 	(*ptrglBinormal3svEXT)(v);
// }
// void goglTangentPointerEXT(GLenum type_, GLsizei stride, GLvoid* pointer) {
// 	(*ptrglTangentPointerEXT)(type_, stride, pointer);
// }
// void goglBinormalPointerEXT(GLenum type_, GLsizei stride, GLvoid* pointer) {
// 	(*ptrglBinormalPointerEXT)(type_, stride, pointer);
// }
// //  EXT_copy_texture
// void goglCopyTexImage1DEXT(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) {
// 	(*ptrglCopyTexImage1DEXT)(target, level, internalformat, x, y, width, border);
// }
// void goglCopyTexImage2DEXT(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) {
// 	(*ptrglCopyTexImage2DEXT)(target, level, internalformat, x, y, width, height, border);
// }
// void goglCopyTexSubImage1DEXT(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) {
// 	(*ptrglCopyTexSubImage1DEXT)(target, level, xoffset, x, y, width);
// }
// void goglCopyTexSubImage2DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) {
// 	(*ptrglCopyTexSubImage2DEXT)(target, level, xoffset, yoffset, x, y, width, height);
// }
// void goglCopyTexSubImage3DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) {
// 	(*ptrglCopyTexSubImage3DEXT)(target, level, xoffset, yoffset, zoffset, x, y, width, height);
// }
// //  EXT_cull_vertex
// void goglCullParameterdvEXT(GLenum pname, GLdouble* params) {
// 	(*ptrglCullParameterdvEXT)(pname, params);
// }
// void goglCullParameterfvEXT(GLenum pname, GLfloat* params) {
// 	(*ptrglCullParameterfvEXT)(pname, params);
// }
// //  EXT_depth_bounds_test
// void goglDepthBoundsEXT(GLclampd zmin, GLclampd zmax) {
// 	(*ptrglDepthBoundsEXT)(zmin, zmax);
// }
// //  EXT_direct_state_access
// void goglClientAttribDefaultEXT(GLbitfield mask) {
// 	(*ptrglClientAttribDefaultEXT)(mask);
// }
// void goglPushClientAttribDefaultEXT(GLbitfield mask) {
// 	(*ptrglPushClientAttribDefaultEXT)(mask);
// }
// void goglMatrixLoadfEXT(GLenum mode, GLfloat* m) {
// 	(*ptrglMatrixLoadfEXT)(mode, m);
// }
// void goglMatrixLoaddEXT(GLenum mode, GLdouble* m) {
// 	(*ptrglMatrixLoaddEXT)(mode, m);
// }
// void goglMatrixMultfEXT(GLenum mode, GLfloat* m) {
// 	(*ptrglMatrixMultfEXT)(mode, m);
// }
// void goglMatrixMultdEXT(GLenum mode, GLdouble* m) {
// 	(*ptrglMatrixMultdEXT)(mode, m);
// }
// void goglMatrixLoadIdentityEXT(GLenum mode) {
// 	(*ptrglMatrixLoadIdentityEXT)(mode);
// }
// void goglMatrixRotatefEXT(GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z) {
// 	(*ptrglMatrixRotatefEXT)(mode, angle, x, y, z);
// }
// void goglMatrixRotatedEXT(GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z) {
// 	(*ptrglMatrixRotatedEXT)(mode, angle, x, y, z);
// }
// void goglMatrixScalefEXT(GLenum mode, GLfloat x, GLfloat y, GLfloat z) {
// 	(*ptrglMatrixScalefEXT)(mode, x, y, z);
// }
// void goglMatrixScaledEXT(GLenum mode, GLdouble x, GLdouble y, GLdouble z) {
// 	(*ptrglMatrixScaledEXT)(mode, x, y, z);
// }
// void goglMatrixTranslatefEXT(GLenum mode, GLfloat x, GLfloat y, GLfloat z) {
// 	(*ptrglMatrixTranslatefEXT)(mode, x, y, z);
// }
// void goglMatrixTranslatedEXT(GLenum mode, GLdouble x, GLdouble y, GLdouble z) {
// 	(*ptrglMatrixTranslatedEXT)(mode, x, y, z);
// }
// void goglMatrixFrustumEXT(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) {
// 	(*ptrglMatrixFrustumEXT)(mode, left, right, bottom, top, zNear, zFar);
// }
// void goglMatrixOrthoEXT(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) {
// 	(*ptrglMatrixOrthoEXT)(mode, left, right, bottom, top, zNear, zFar);
// }
// void goglMatrixPopEXT(GLenum mode) {
// 	(*ptrglMatrixPopEXT)(mode);
// }
// void goglMatrixPushEXT(GLenum mode) {
// 	(*ptrglMatrixPushEXT)(mode);
// }
// void goglMatrixLoadTransposefEXT(GLenum mode, GLfloat* m) {
// 	(*ptrglMatrixLoadTransposefEXT)(mode, m);
// }
// void goglMatrixLoadTransposedEXT(GLenum mode, GLdouble* m) {
// 	(*ptrglMatrixLoadTransposedEXT)(mode, m);
// }
// void goglMatrixMultTransposefEXT(GLenum mode, GLfloat* m) {
// 	(*ptrglMatrixMultTransposefEXT)(mode, m);
// }
// void goglMatrixMultTransposedEXT(GLenum mode, GLdouble* m) {
// 	(*ptrglMatrixMultTransposedEXT)(mode, m);
// }
// void goglTextureParameterfEXT(GLuint texture, GLenum target, GLenum pname, GLfloat param) {
// 	(*ptrglTextureParameterfEXT)(texture, target, pname, param);
// }
// void goglTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, GLfloat* params) {
// 	(*ptrglTextureParameterfvEXT)(texture, target, pname, params);
// }
// void goglTextureParameteriEXT(GLuint texture, GLenum target, GLenum pname, GLint param) {
// 	(*ptrglTextureParameteriEXT)(texture, target, pname, param);
// }
// void goglTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, GLint* params) {
// 	(*ptrglTextureParameterivEXT)(texture, target, pname, params);
// }
// void goglTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type_, GLvoid* pixels) {
// 	(*ptrglTextureImage1DEXT)(texture, target, level, internalformat, width, border, format, type_, pixels);
// }
// void goglTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type_, GLvoid* pixels) {
// 	(*ptrglTextureImage2DEXT)(texture, target, level, internalformat, width, height, border, format, type_, pixels);
// }
// void goglTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type_, GLvoid* pixels) {
// 	(*ptrglTextureSubImage1DEXT)(texture, target, level, xoffset, width, format, type_, pixels);
// }
// void goglTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type_, GLvoid* pixels) {
// 	(*ptrglTextureSubImage2DEXT)(texture, target, level, xoffset, yoffset, width, height, format, type_, pixels);
// }
// void goglCopyTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) {
// 	(*ptrglCopyTextureImage1DEXT)(texture, target, level, internalformat, x, y, width, border);
// }
// void goglCopyTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) {
// 	(*ptrglCopyTextureImage2DEXT)(texture, target, level, internalformat, x, y, width, height, border);
// }
// void goglCopyTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) {
// 	(*ptrglCopyTextureSubImage1DEXT)(texture, target, level, xoffset, x, y, width);
// }
// void goglCopyTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) {
// 	(*ptrglCopyTextureSubImage2DEXT)(texture, target, level, xoffset, yoffset, x, y, width, height);
// }
// void goglGetTextureImageEXT(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type_, GLvoid* pixels) {
// 	(*ptrglGetTextureImageEXT)(texture, target, level, format, type_, pixels);
// }
// void goglGetTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, GLfloat* params) {
// 	(*ptrglGetTextureParameterfvEXT)(texture, target, pname, params);
// }
// void goglGetTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, GLint* params) {
// 	(*ptrglGetTextureParameterivEXT)(texture, target, pname, params);
// }
// void goglGetTextureLevelParameterfvEXT(GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat* params) {
// 	(*ptrglGetTextureLevelParameterfvEXT)(texture, target, level, pname, params);
// }
// void goglGetTextureLevelParameterivEXT(GLuint texture, GLenum target, GLint level, GLenum pname, GLint* params) {
// 	(*ptrglGetTextureLevelParameterivEXT)(texture, target, level, pname, params);
// }
// void goglTextureImage3DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type_, GLvoid* pixels) {
// 	(*ptrglTextureImage3DEXT)(texture, target, level, internalformat, width, height, depth, border, format, type_, pixels);
// }
// void goglTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type_, GLvoid* pixels) {
// 	(*ptrglTextureSubImage3DEXT)(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type_, pixels);
// }
// void goglCopyTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) {
// 	(*ptrglCopyTextureSubImage3DEXT)(texture, target, level, xoffset, yoffset, zoffset, x, y, width, height);
// }
// void goglMultiTexParameterfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param) {
// 	(*ptrglMultiTexParameterfEXT)(texunit, target, pname, param);
// }
// void goglMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat* params) {
// 	(*ptrglMultiTexParameterfvEXT)(texunit, target, pname, params);
// }
// void goglMultiTexParameteriEXT(GLenum texunit, GLenum target, GLenum pname, GLint param) {
// 	(*ptrglMultiTexParameteriEXT)(texunit, target, pname, param);
// }
// void goglMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, GLint* params) {
// 	(*ptrglMultiTexParameterivEXT)(texunit, target, pname, params);
// }
// void goglMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type_, GLvoid* pixels) {
// 	(*ptrglMultiTexImage1DEXT)(texunit, target, level, internalformat, width, border, format, type_, pixels);
// }
// void goglMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type_, GLvoid* pixels) {
// 	(*ptrglMultiTexImage2DEXT)(texunit, target, level, internalformat, width, height, border, format, type_, pixels);
// }
// void goglMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type_, GLvoid* pixels) {
// 	(*ptrglMultiTexSubImage1DEXT)(texunit, target, level, xoffset, width, format, type_, pixels);
// }
// void goglMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type_, GLvoid* pixels) {
// 	(*ptrglMultiTexSubImage2DEXT)(texunit, target, level, xoffset, yoffset, width, height, format, type_, pixels);
// }
// void goglCopyMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) {
// 	(*ptrglCopyMultiTexImage1DEXT)(texunit, target, level, internalformat, x, y, width, border);
// }
// void goglCopyMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) {
// 	(*ptrglCopyMultiTexImage2DEXT)(texunit, target, level, internalformat, x, y, width, height, border);
// }
// void goglCopyMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) {
// 	(*ptrglCopyMultiTexSubImage1DEXT)(texunit, target, level, xoffset, x, y, width);
// }
// void goglCopyMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) {
// 	(*ptrglCopyMultiTexSubImage2DEXT)(texunit, target, level, xoffset, yoffset, x, y, width, height);
// }
// void goglGetMultiTexImageEXT(GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type_, GLvoid* pixels) {
// 	(*ptrglGetMultiTexImageEXT)(texunit, target, level, format, type_, pixels);
// }
// void goglGetMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat* params) {
// 	(*ptrglGetMultiTexParameterfvEXT)(texunit, target, pname, params);
// }
// void goglGetMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, GLint* params) {
// 	(*ptrglGetMultiTexParameterivEXT)(texunit, target, pname, params);
// }
// void goglGetMultiTexLevelParameterfvEXT(GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat* params) {
// 	(*ptrglGetMultiTexLevelParameterfvEXT)(texunit, target, level, pname, params);
// }
// void goglGetMultiTexLevelParameterivEXT(GLenum texunit, GLenum target, GLint level, GLenum pname, GLint* params) {
// 	(*ptrglGetMultiTexLevelParameterivEXT)(texunit, target, level, pname, params);
// }
// void goglMultiTexImage3DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type_, GLvoid* pixels) {
// 	(*ptrglMultiTexImage3DEXT)(texunit, target, level, internalformat, width, height, depth, border, format, type_, pixels);
// }
// void goglMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type_, GLvoid* pixels) {
// 	(*ptrglMultiTexSubImage3DEXT)(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type_, pixels);
// }
// void goglCopyMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) {
// 	(*ptrglCopyMultiTexSubImage3DEXT)(texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height);
// }
// void goglBindMultiTextureEXT(GLenum texunit, GLenum target, GLuint texture) {
// 	(*ptrglBindMultiTextureEXT)(texunit, target, texture);
// }
// void goglEnableClientStateIndexedEXT(GLenum array, GLuint index) {
// 	(*ptrglEnableClientStateIndexedEXT)(array, index);
// }
// void goglDisableClientStateIndexedEXT(GLenum array, GLuint index) {
// 	(*ptrglDisableClientStateIndexedEXT)(array, index);
// }
// void goglEnableClientStateiEXT(GLenum array, GLuint index) {
// 	(*ptrglEnableClientStateiEXT)(array, index);
// }
// void goglDisableClientStateiEXT(GLenum array, GLuint index) {
// 	(*ptrglDisableClientStateiEXT)(array, index);
// }
// void goglMultiTexCoordPointerEXT(GLenum texunit, GLint size, GLenum type_, GLsizei stride, GLvoid* pointer) {
// 	(*ptrglMultiTexCoordPointerEXT)(texunit, size, type_, stride, pointer);
// }
// void goglMultiTexEnvfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param) {
// 	(*ptrglMultiTexEnvfEXT)(texunit, target, pname, param);
// }
// void goglMultiTexEnvfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat* params) {
// 	(*ptrglMultiTexEnvfvEXT)(texunit, target, pname, params);
// }
// void goglMultiTexEnviEXT(GLenum texunit, GLenum target, GLenum pname, GLint param) {
// 	(*ptrglMultiTexEnviEXT)(texunit, target, pname, param);
// }
// void goglMultiTexEnvivEXT(GLenum texunit, GLenum target, GLenum pname, GLint* params) {
// 	(*ptrglMultiTexEnvivEXT)(texunit, target, pname, params);
// }
// void goglMultiTexGendEXT(GLenum texunit, GLenum coord, GLenum pname, GLdouble param) {
// 	(*ptrglMultiTexGendEXT)(texunit, coord, pname, param);
// }
// void goglMultiTexGendvEXT(GLenum texunit, GLenum coord, GLenum pname, GLdouble* params) {
// 	(*ptrglMultiTexGendvEXT)(texunit, coord, pname, params);
// }
// void goglMultiTexGenfEXT(GLenum texunit, GLenum coord, GLenum pname, GLfloat param) {
// 	(*ptrglMultiTexGenfEXT)(texunit, coord, pname, param);
// }
// void goglMultiTexGenfvEXT(GLenum texunit, GLenum coord, GLenum pname, GLfloat* params) {
// 	(*ptrglMultiTexGenfvEXT)(texunit, coord, pname, params);
// }
// void goglMultiTexGeniEXT(GLenum texunit, GLenum coord, GLenum pname, GLint param) {
// 	(*ptrglMultiTexGeniEXT)(texunit, coord, pname, param);
// }
// void goglMultiTexGenivEXT(GLenum texunit, GLenum coord, GLenum pname, GLint* params) {
// 	(*ptrglMultiTexGenivEXT)(texunit, coord, pname, params);
// }
// void goglGetMultiTexEnvfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat* params) {
// 	(*ptrglGetMultiTexEnvfvEXT)(texunit, target, pname, params);
// }
// void goglGetMultiTexEnvivEXT(GLenum texunit, GLenum target, GLenum pname, GLint* params) {
// 	(*ptrglGetMultiTexEnvivEXT)(texunit, target, pname, params);
// }
// void goglGetMultiTexGendvEXT(GLenum texunit, GLenum coord, GLenum pname, GLdouble* params) {
// 	(*ptrglGetMultiTexGendvEXT)(texunit, coord, pname, params);
// }
// void goglGetMultiTexGenfvEXT(GLenum texunit, GLenum coord, GLenum pname, GLfloat* params) {
// 	(*ptrglGetMultiTexGenfvEXT)(texunit, coord, pname, params);
// }
// void goglGetMultiTexGenivEXT(GLenum texunit, GLenum coord, GLenum pname, GLint* params) {
// 	(*ptrglGetMultiTexGenivEXT)(texunit, coord, pname, params);
// }
// void goglGetFloatIndexedvEXT(GLenum target, GLuint index, GLfloat* data) {
// 	(*ptrglGetFloatIndexedvEXT)(target, index, data);
// }
// void goglGetDoubleIndexedvEXT(GLenum target, GLuint index, GLdouble* data) {
// 	(*ptrglGetDoubleIndexedvEXT)(target, index, data);
// }
// void goglGetPointerIndexedvEXT(GLenum target, GLuint index, GLvoid** data) {
// 	(*ptrglGetPointerIndexedvEXT)(target, index, data);
// }
// void goglGetFloati_vEXT(GLenum target, GLuint index, GLfloat* data) {
// 	(*ptrglGetFloati_vEXT)(target, index, data);
// }
// void goglGetDoublei_vEXT(GLenum target, GLuint index, GLdouble* data) {
// 	(*ptrglGetDoublei_vEXT)(target, index, data);
// }
// void goglGetPointeri_vEXT(GLenum target, GLuint index, GLvoid** data) {
// 	(*ptrglGetPointeri_vEXT)(target, index, data);
// }
// void goglCompressedTextureImage3DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLvoid* bits) {
// 	(*ptrglCompressedTextureImage3DEXT)(texture, target, level, internalformat, width, height, depth, border, imageSize, bits);
// }
// void goglCompressedTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLvoid* bits) {
// 	(*ptrglCompressedTextureImage2DEXT)(texture, target, level, internalformat, width, height, border, imageSize, bits);
// }
// void goglCompressedTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, GLvoid* bits) {
// 	(*ptrglCompressedTextureImage1DEXT)(texture, target, level, internalformat, width, border, imageSize, bits);
// }
// void goglCompressedTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, GLvoid* bits) {
// 	(*ptrglCompressedTextureSubImage3DEXT)(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits);
// }
// void goglCompressedTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLvoid* bits) {
// 	(*ptrglCompressedTextureSubImage2DEXT)(texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits);
// }
// void goglCompressedTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, GLvoid* bits) {
// 	(*ptrglCompressedTextureSubImage1DEXT)(texture, target, level, xoffset, width, format, imageSize, bits);
// }
// void goglGetCompressedTextureImageEXT(GLuint texture, GLenum target, GLint lod, GLvoid* img) {
// 	(*ptrglGetCompressedTextureImageEXT)(texture, target, lod, img);
// }
// void goglCompressedMultiTexImage3DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLvoid* bits) {
// 	(*ptrglCompressedMultiTexImage3DEXT)(texunit, target, level, internalformat, width, height, depth, border, imageSize, bits);
// }
// void goglCompressedMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLvoid* bits) {
// 	(*ptrglCompressedMultiTexImage2DEXT)(texunit, target, level, internalformat, width, height, border, imageSize, bits);
// }
// void goglCompressedMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, GLvoid* bits) {
// 	(*ptrglCompressedMultiTexImage1DEXT)(texunit, target, level, internalformat, width, border, imageSize, bits);
// }
// void goglCompressedMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, GLvoid* bits) {
// 	(*ptrglCompressedMultiTexSubImage3DEXT)(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits);
// }
// void goglCompressedMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLvoid* bits) {
// 	(*ptrglCompressedMultiTexSubImage2DEXT)(texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits);
// }
// void goglCompressedMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, GLvoid* bits) {
// 	(*ptrglCompressedMultiTexSubImage1DEXT)(texunit, target, level, xoffset, width, format, imageSize, bits);
// }
// void goglGetCompressedMultiTexImageEXT(GLenum texunit, GLenum target, GLint lod, GLvoid* img) {
// 	(*ptrglGetCompressedMultiTexImageEXT)(texunit, target, lod, img);
// }
// void goglNamedProgramStringEXT(GLuint program, GLenum target, GLenum format, GLsizei len, GLvoid* string_) {
// 	(*ptrglNamedProgramStringEXT)(program, target, format, len, string_);
// }
// void goglNamedProgramLocalParameter4dEXT(GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) {
// 	(*ptrglNamedProgramLocalParameter4dEXT)(program, target, index, x, y, z, w);
// }
// void goglNamedProgramLocalParameter4dvEXT(GLuint program, GLenum target, GLuint index, GLdouble* params) {
// 	(*ptrglNamedProgramLocalParameter4dvEXT)(program, target, index, params);
// }
// void goglNamedProgramLocalParameter4fEXT(GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) {
// 	(*ptrglNamedProgramLocalParameter4fEXT)(program, target, index, x, y, z, w);
// }
// void goglNamedProgramLocalParameter4fvEXT(GLuint program, GLenum target, GLuint index, GLfloat* params) {
// 	(*ptrglNamedProgramLocalParameter4fvEXT)(program, target, index, params);
// }
// void goglGetNamedProgramLocalParameterdvEXT(GLuint program, GLenum target, GLuint index, GLdouble* params) {
// 	(*ptrglGetNamedProgramLocalParameterdvEXT)(program, target, index, params);
// }
// void goglGetNamedProgramLocalParameterfvEXT(GLuint program, GLenum target, GLuint index, GLfloat* params) {
// 	(*ptrglGetNamedProgramLocalParameterfvEXT)(program, target, index, params);
// }
// void goglGetNamedProgramivEXT(GLuint program, GLenum target, GLenum pname, GLint* params) {
// 	(*ptrglGetNamedProgramivEXT)(program, target, pname, params);
// }
// void goglGetNamedProgramStringEXT(GLuint program, GLenum target, GLenum pname, GLvoid* string_) {
// 	(*ptrglGetNamedProgramStringEXT)(program, target, pname, string_);
// }
// void goglNamedProgramLocalParameters4fvEXT(GLuint program, GLenum target, GLuint index, GLsizei count, GLfloat* params) {
// 	(*ptrglNamedProgramLocalParameters4fvEXT)(program, target, index, count, params);
// }
// void goglNamedProgramLocalParameterI4iEXT(GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w) {
// 	(*ptrglNamedProgramLocalParameterI4iEXT)(program, target, index, x, y, z, w);
// }
// void goglNamedProgramLocalParameterI4ivEXT(GLuint program, GLenum target, GLuint index, GLint* params) {
// 	(*ptrglNamedProgramLocalParameterI4ivEXT)(program, target, index, params);
// }
// void goglNamedProgramLocalParametersI4ivEXT(GLuint program, GLenum target, GLuint index, GLsizei count, GLint* params) {
// 	(*ptrglNamedProgramLocalParametersI4ivEXT)(program, target, index, count, params);
// }
// void goglNamedProgramLocalParameterI4uiEXT(GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) {
// 	(*ptrglNamedProgramLocalParameterI4uiEXT)(program, target, index, x, y, z, w);
// }
// void goglNamedProgramLocalParameterI4uivEXT(GLuint program, GLenum target, GLuint index, GLuint* params) {
// 	(*ptrglNamedProgramLocalParameterI4uivEXT)(program, target, index, params);
// }
// void goglNamedProgramLocalParametersI4uivEXT(GLuint program, GLenum target, GLuint index, GLsizei count, GLuint* params) {
// 	(*ptrglNamedProgramLocalParametersI4uivEXT)(program, target, index, count, params);
// }
// void goglGetNamedProgramLocalParameterIivEXT(GLuint program, GLenum target, GLuint index, GLint* params) {
// 	(*ptrglGetNamedProgramLocalParameterIivEXT)(program, target, index, params);
// }
// void goglGetNamedProgramLocalParameterIuivEXT(GLuint program, GLenum target, GLuint index, GLuint* params) {
// 	(*ptrglGetNamedProgramLocalParameterIuivEXT)(program, target, index, params);
// }
// void goglTextureParameterIivEXT(GLuint texture, GLenum target, GLenum pname, GLint* params) {
// 	(*ptrglTextureParameterIivEXT)(texture, target, pname, params);
// }
// void goglTextureParameterIuivEXT(GLuint texture, GLenum target, GLenum pname, GLuint* params) {
// 	(*ptrglTextureParameterIuivEXT)(texture, target, pname, params);
// }
// void goglGetTextureParameterIivEXT(GLuint texture, GLenum target, GLenum pname, GLint* params) {
// 	(*ptrglGetTextureParameterIivEXT)(texture, target, pname, params);
// }
// void goglGetTextureParameterIuivEXT(GLuint texture, GLenum target, GLenum pname, GLuint* params) {
// 	(*ptrglGetTextureParameterIuivEXT)(texture, target, pname, params);
// }
// void goglMultiTexParameterIivEXT(GLenum texunit, GLenum target, GLenum pname, GLint* params) {
// 	(*ptrglMultiTexParameterIivEXT)(texunit, target, pname, params);
// }
// void goglMultiTexParameterIuivEXT(GLenum texunit, GLenum target, GLenum pname, GLuint* params) {
// 	(*ptrglMultiTexParameterIuivEXT)(texunit, target, pname, params);
// }
// void goglGetMultiTexParameterIivEXT(GLenum texunit, GLenum target, GLenum pname, GLint* params) {
// 	(*ptrglGetMultiTexParameterIivEXT)(texunit, target, pname, params);
// }
// void goglGetMultiTexParameterIuivEXT(GLenum texunit, GLenum target, GLenum pname, GLuint* params) {
// 	(*ptrglGetMultiTexParameterIuivEXT)(texunit, target, pname, params);
// }
// void goglProgramUniform1fEXT(GLuint program, GLint location, GLfloat v0) {
// 	(*ptrglProgramUniform1fEXT)(program, location, v0);
// }
// void goglProgramUniform2fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1) {
// 	(*ptrglProgramUniform2fEXT)(program, location, v0, v1);
// }
// void goglProgramUniform3fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) {
// 	(*ptrglProgramUniform3fEXT)(program, location, v0, v1, v2);
// }
// void goglProgramUniform4fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) {
// 	(*ptrglProgramUniform4fEXT)(program, location, v0, v1, v2, v3);
// }
// void goglProgramUniform1iEXT(GLuint program, GLint location, GLint v0) {
// 	(*ptrglProgramUniform1iEXT)(program, location, v0);
// }
// void goglProgramUniform2iEXT(GLuint program, GLint location, GLint v0, GLint v1) {
// 	(*ptrglProgramUniform2iEXT)(program, location, v0, v1);
// }
// void goglProgramUniform3iEXT(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) {
// 	(*ptrglProgramUniform3iEXT)(program, location, v0, v1, v2);
// }
// void goglProgramUniform4iEXT(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) {
// 	(*ptrglProgramUniform4iEXT)(program, location, v0, v1, v2, v3);
// }
// void goglProgramUniform1fvEXT(GLuint program, GLint location, GLsizei count, GLfloat* value) {
// 	(*ptrglProgramUniform1fvEXT)(program, location, count, value);
// }
// void goglProgramUniform2fvEXT(GLuint program, GLint location, GLsizei count, GLfloat* value) {
// 	(*ptrglProgramUniform2fvEXT)(program, location, count, value);
// }
// void goglProgramUniform3fvEXT(GLuint program, GLint location, GLsizei count, GLfloat* value) {
// 	(*ptrglProgramUniform3fvEXT)(program, location, count, value);
// }
// void goglProgramUniform4fvEXT(GLuint program, GLint location, GLsizei count, GLfloat* value) {
// 	(*ptrglProgramUniform4fvEXT)(program, location, count, value);
// }
// void goglProgramUniform1ivEXT(GLuint program, GLint location, GLsizei count, GLint* value) {
// 	(*ptrglProgramUniform1ivEXT)(program, location, count, value);
// }
// void goglProgramUniform2ivEXT(GLuint program, GLint location, GLsizei count, GLint* value) {
// 	(*ptrglProgramUniform2ivEXT)(program, location, count, value);
// }
// void goglProgramUniform3ivEXT(GLuint program, GLint location, GLsizei count, GLint* value) {
// 	(*ptrglProgramUniform3ivEXT)(program, location, count, value);
// }
// void goglProgramUniform4ivEXT(GLuint program, GLint location, GLsizei count, GLint* value) {
// 	(*ptrglProgramUniform4ivEXT)(program, location, count, value);
// }
// void goglProgramUniformMatrix2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLfloat* value) {
// 	(*ptrglProgramUniformMatrix2fvEXT)(program, location, count, transpose, value);
// }
// void goglProgramUniformMatrix3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLfloat* value) {
// 	(*ptrglProgramUniformMatrix3fvEXT)(program, location, count, transpose, value);
// }
// void goglProgramUniformMatrix4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLfloat* value) {
// 	(*ptrglProgramUniformMatrix4fvEXT)(program, location, count, transpose, value);
// }
// void goglProgramUniformMatrix2x3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLfloat* value) {
// 	(*ptrglProgramUniformMatrix2x3fvEXT)(program, location, count, transpose, value);
// }
// void goglProgramUniformMatrix3x2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLfloat* value) {
// 	(*ptrglProgramUniformMatrix3x2fvEXT)(program, location, count, transpose, value);
// }
// void goglProgramUniformMatrix2x4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLfloat* value) {
// 	(*ptrglProgramUniformMatrix2x4fvEXT)(program, location, count, transpose, value);
// }
// void goglProgramUniformMatrix4x2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLfloat* value) {
// 	(*ptrglProgramUniformMatrix4x2fvEXT)(program, location, count, transpose, value);
// }
// void goglProgramUniformMatrix3x4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLfloat* value) {
// 	(*ptrglProgramUniformMatrix3x4fvEXT)(program, location, count, transpose, value);
// }
// void goglProgramUniformMatrix4x3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLfloat* value) {
// 	(*ptrglProgramUniformMatrix4x3fvEXT)(program, location, count, transpose, value);
// }
// void goglProgramUniform1uiEXT(GLuint program, GLint location, GLuint v0) {
// 	(*ptrglProgramUniform1uiEXT)(program, location, v0);
// }
// void goglProgramUniform2uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1) {
// 	(*ptrglProgramUniform2uiEXT)(program, location, v0, v1);
// }
// void goglProgramUniform3uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) {
// 	(*ptrglProgramUniform3uiEXT)(program, location, v0, v1, v2);
// }
// void goglProgramUniform4uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) {
// 	(*ptrglProgramUniform4uiEXT)(program, location, v0, v1, v2, v3);
// }
// void goglProgramUniform1uivEXT(GLuint program, GLint location, GLsizei count, GLuint* value) {
// 	(*ptrglProgramUniform1uivEXT)(program, location, count, value);
// }
// void goglProgramUniform2uivEXT(GLuint program, GLint location, GLsizei count, GLuint* value) {
// 	(*ptrglProgramUniform2uivEXT)(program, location, count, value);
// }
// void goglProgramUniform3uivEXT(GLuint program, GLint location, GLsizei count, GLuint* value) {
// 	(*ptrglProgramUniform3uivEXT)(program, location, count, value);
// }
// void goglProgramUniform4uivEXT(GLuint program, GLint location, GLsizei count, GLuint* value) {
// 	(*ptrglProgramUniform4uivEXT)(program, location, count, value);
// }
// void goglNamedBufferDataEXT(GLuint buffer, GLsizeiptr size, GLvoid* data, GLenum usage) {
// 	(*ptrglNamedBufferDataEXT)(buffer, size, data, usage);
// }
// void goglNamedBufferSubDataEXT(GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid* data) {
// 	(*ptrglNamedBufferSubDataEXT)(buffer, offset, size, data);
// }
// GLvoid* goglMapNamedBufferEXT(GLuint buffer, GLenum access) {
// 	return (*ptrglMapNamedBufferEXT)(buffer, access);
// }
// GLboolean goglUnmapNamedBufferEXT(GLuint buffer) {
// 	return (*ptrglUnmapNamedBufferEXT)(buffer);
// }
// GLvoid* goglMapNamedBufferRangeEXT(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access) {
// 	return (*ptrglMapNamedBufferRangeEXT)(buffer, offset, length, access);
// }
// void goglFlushMappedNamedBufferRangeEXT(GLuint buffer, GLintptr offset, GLsizeiptr length) {
// 	(*ptrglFlushMappedNamedBufferRangeEXT)(buffer, offset, length);
// }
// void goglNamedCopyBufferSubDataEXT(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) {
// 	(*ptrglNamedCopyBufferSubDataEXT)(readBuffer, writeBuffer, readOffset, writeOffset, size);
// }
// void goglGetNamedBufferParameterivEXT(GLuint buffer, GLenum pname, GLint* params) {
// 	(*ptrglGetNamedBufferParameterivEXT)(buffer, pname, params);
// }
// void goglGetNamedBufferPointervEXT(GLuint buffer, GLenum pname, GLvoid** params) {
// 	(*ptrglGetNamedBufferPointervEXT)(buffer, pname, params);
// }
// void goglGetNamedBufferSubDataEXT(GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid* data) {
// 	(*ptrglGetNamedBufferSubDataEXT)(buffer, offset, size, data);
// }
// void goglTextureBufferEXT(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer) {
// 	(*ptrglTextureBufferEXT)(texture, target, internalformat, buffer);
// }
// void goglMultiTexBufferEXT(GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer) {
// 	(*ptrglMultiTexBufferEXT)(texunit, target, internalformat, buffer);
// }
// void goglNamedRenderbufferStorageEXT(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height) {
// 	(*ptrglNamedRenderbufferStorageEXT)(renderbuffer, internalformat, width, height);
// }
// void goglGetNamedRenderbufferParameterivEXT(GLuint renderbuffer, GLenum pname, GLint* params) {
// 	(*ptrglGetNamedRenderbufferParameterivEXT)(renderbuffer, pname, params);
// }
// GLenum goglCheckNamedFramebufferStatusEXT(GLuint framebuffer, GLenum target) {
// 	return (*ptrglCheckNamedFramebufferStatusEXT)(framebuffer, target);
// }
// void goglNamedFramebufferTexture1DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level) {
// 	(*ptrglNamedFramebufferTexture1DEXT)(framebuffer, attachment, textarget, texture, level);
// }
// void goglNamedFramebufferTexture2DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level) {
// 	(*ptrglNamedFramebufferTexture2DEXT)(framebuffer, attachment, textarget, texture, level);
// }
// void goglNamedFramebufferTexture3DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) {
// 	(*ptrglNamedFramebufferTexture3DEXT)(framebuffer, attachment, textarget, texture, level, zoffset);
// }
// void goglNamedFramebufferRenderbufferEXT(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) {
// 	(*ptrglNamedFramebufferRenderbufferEXT)(framebuffer, attachment, renderbuffertarget, renderbuffer);
// }
// void goglGetNamedFramebufferAttachmentParameterivEXT(GLuint framebuffer, GLenum attachment, GLenum pname, GLint* params) {
// 	(*ptrglGetNamedFramebufferAttachmentParameterivEXT)(framebuffer, attachment, pname, params);
// }
// void goglGenerateTextureMipmapEXT(GLuint texture, GLenum target) {
// 	(*ptrglGenerateTextureMipmapEXT)(texture, target);
// }
// void goglGenerateMultiTexMipmapEXT(GLenum texunit, GLenum target) {
// 	(*ptrglGenerateMultiTexMipmapEXT)(texunit, target);
// }
// void goglFramebufferDrawBufferEXT(GLuint framebuffer, GLenum mode) {
// 	(*ptrglFramebufferDrawBufferEXT)(framebuffer, mode);
// }
// void goglFramebufferDrawBuffersEXT(GLuint framebuffer, GLsizei n, GLenum* bufs) {
// 	(*ptrglFramebufferDrawBuffersEXT)(framebuffer, n, bufs);
// }
// void goglFramebufferReadBufferEXT(GLuint framebuffer, GLenum mode) {
// 	(*ptrglFramebufferReadBufferEXT)(framebuffer, mode);
// }
// void goglGetFramebufferParameterivEXT(GLuint framebuffer, GLenum pname, GLint* params) {
// 	(*ptrglGetFramebufferParameterivEXT)(framebuffer, pname, params);
// }
// void goglNamedRenderbufferStorageMultisampleEXT(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) {
// 	(*ptrglNamedRenderbufferStorageMultisampleEXT)(renderbuffer, samples, internalformat, width, height);
// }
// void goglNamedRenderbufferStorageMultisampleCoverageEXT(GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height) {
// 	(*ptrglNamedRenderbufferStorageMultisampleCoverageEXT)(renderbuffer, coverageSamples, colorSamples, internalformat, width, height);
// }
// void goglNamedFramebufferTextureEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level) {
// 	(*ptrglNamedFramebufferTextureEXT)(framebuffer, attachment, texture, level);
// }
// void goglNamedFramebufferTextureLayerEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer) {
// 	(*ptrglNamedFramebufferTextureLayerEXT)(framebuffer, attachment, texture, level, layer);
// }
// void goglNamedFramebufferTextureFaceEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face) {
// 	(*ptrglNamedFramebufferTextureFaceEXT)(framebuffer, attachment, texture, level, face);
// }
// void goglTextureRenderbufferEXT(GLuint texture, GLenum target, GLuint renderbuffer) {
// 	(*ptrglTextureRenderbufferEXT)(texture, target, renderbuffer);
// }
// void goglMultiTexRenderbufferEXT(GLenum texunit, GLenum target, GLuint renderbuffer) {
// 	(*ptrglMultiTexRenderbufferEXT)(texunit, target, renderbuffer);
// }
// void goglProgramUniform1dEXT(GLuint program, GLint location, GLdouble x) {
// 	(*ptrglProgramUniform1dEXT)(program, location, x);
// }
// void goglProgramUniform2dEXT(GLuint program, GLint location, GLdouble x, GLdouble y) {
// 	(*ptrglProgramUniform2dEXT)(program, location, x, y);
// }
// void goglProgramUniform3dEXT(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z) {
// 	(*ptrglProgramUniform3dEXT)(program, location, x, y, z);
// }
// void goglProgramUniform4dEXT(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w) {
// 	(*ptrglProgramUniform4dEXT)(program, location, x, y, z, w);
// }
// void goglProgramUniform1dvEXT(GLuint program, GLint location, GLsizei count, GLdouble* value) {
// 	(*ptrglProgramUniform1dvEXT)(program, location, count, value);
// }
// void goglProgramUniform2dvEXT(GLuint program, GLint location, GLsizei count, GLdouble* value) {
// 	(*ptrglProgramUniform2dvEXT)(program, location, count, value);
// }
// void goglProgramUniform3dvEXT(GLuint program, GLint location, GLsizei count, GLdouble* value) {
// 	(*ptrglProgramUniform3dvEXT)(program, location, count, value);
// }
// void goglProgramUniform4dvEXT(GLuint program, GLint location, GLsizei count, GLdouble* value) {
// 	(*ptrglProgramUniform4dvEXT)(program, location, count, value);
// }
// void goglProgramUniformMatrix2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLdouble* value) {
// 	(*ptrglProgramUniformMatrix2dvEXT)(program, location, count, transpose, value);
// }
// void goglProgramUniformMatrix3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLdouble* value) {
// 	(*ptrglProgramUniformMatrix3dvEXT)(program, location, count, transpose, value);
// }
// void goglProgramUniformMatrix4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLdouble* value) {
// 	(*ptrglProgramUniformMatrix4dvEXT)(program, location, count, transpose, value);
// }
// void goglProgramUniformMatrix2x3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLdouble* value) {
// 	(*ptrglProgramUniformMatrix2x3dvEXT)(program, location, count, transpose, value);
// }
// void goglProgramUniformMatrix2x4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLdouble* value) {
// 	(*ptrglProgramUniformMatrix2x4dvEXT)(program, location, count, transpose, value);
// }
// void goglProgramUniformMatrix3x2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLdouble* value) {
// 	(*ptrglProgramUniformMatrix3x2dvEXT)(program, location, count, transpose, value);
// }
// void goglProgramUniformMatrix3x4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLdouble* value) {
// 	(*ptrglProgramUniformMatrix3x4dvEXT)(program, location, count, transpose, value);
// }
// void goglProgramUniformMatrix4x2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLdouble* value) {
// 	(*ptrglProgramUniformMatrix4x2dvEXT)(program, location, count, transpose, value);
// }
// void goglProgramUniformMatrix4x3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, GLdouble* value) {
// 	(*ptrglProgramUniformMatrix4x3dvEXT)(program, location, count, transpose, value);
// }
// void goglEnableVertexArrayAttribEXT(GLuint vaobj, GLuint index) {
// 	(*ptrglEnableVertexArrayAttribEXT)(vaobj, index);
// }
// void goglDisableVertexArrayAttribEXT(GLuint vaobj, GLuint index) {
// 	(*ptrglDisableVertexArrayAttribEXT)(vaobj, index);
// }
// void goglEnableVertexArrayEXT(GLuint vaobj, GLenum array) {
// 	(*ptrglEnableVertexArrayEXT)(vaobj, array);
// }
// void goglDisableVertexArrayEXT(GLuint vaobj, GLenum array) {
// 	(*ptrglDisableVertexArrayEXT)(vaobj, array);
// }
// void goglVertexArrayColorOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type_, GLsizei stride, GLintptr offset) {
// 	(*ptrglVertexArrayColorOffsetEXT)(vaobj, buffer, size, type_, stride, offset);
// }
// void goglVertexArrayEdgeFlagOffsetEXT(GLuint vaobj, GLuint buffer, GLsizei stride, GLintptr offset) {
// 	(*ptrglVertexArrayEdgeFlagOffsetEXT)(vaobj, buffer, stride, offset);
// }
// void goglVertexArrayFogCoordOffsetEXT(GLuint vaobj, GLuint buffer, GLenum type_, GLsizei stride, GLintptr offset) {
// 	(*ptrglVertexArrayFogCoordOffsetEXT)(vaobj, buffer, type_, stride, offset);
// }
// void goglVertexArrayIndexOffsetEXT(GLuint vaobj, GLuint buffer, GLenum type_, GLsizei stride, GLintptr offset) {
// 	(*ptrglVertexArrayIndexOffsetEXT)(vaobj, buffer, type_, stride, offset);
// }
// void goglVertexArrayMultiTexCoordOffsetEXT(GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type_, GLsizei stride, GLintptr offset) {
// 	(*ptrglVertexArrayMultiTexCoordOffsetEXT)(vaobj, buffer, texunit, size, type_, stride, offset);
// }
// void goglVertexArrayNormalOffsetEXT(GLuint vaobj, GLuint buffer, GLenum type_, GLsizei stride, GLintptr offset) {
// 	(*ptrglVertexArrayNormalOffsetEXT)(vaobj, buffer, type_, stride, offset);
// }
// void goglVertexArraySecondaryColorOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type_, GLsizei stride, GLintptr offset) {
// 	(*ptrglVertexArraySecondaryColorOffsetEXT)(vaobj, buffer, size, type_, stride, offset);
// }
// void goglVertexArrayTexCoordOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type_, GLsizei stride, GLintptr offset) {
// 	(*ptrglVertexArrayTexCoordOffsetEXT)(vaobj, buffer, size, type_, stride, offset);
// }
// void goglVertexArrayVertexOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type_, GLsizei stride, GLintptr offset) {
// 	(*ptrglVertexArrayVertexOffsetEXT)(vaobj, buffer, size, type_, stride, offset);
// }
// void goglVertexArrayVertexAttribIOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type_, GLsizei stride, GLintptr offset) {
// 	(*ptrglVertexArrayVertexAttribIOffsetEXT)(vaobj, buffer, index, size, type_, stride, offset);
// }
// void goglVertexArrayVertexAttribOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type_, GLboolean normalized, GLsizei stride, GLintptr offset) {
// 	(*ptrglVertexArrayVertexAttribOffsetEXT)(vaobj, buffer, index, size, type_, normalized, stride, offset);
// }
// void goglGetVertexArrayIntegervEXT(GLuint vaobj, GLenum pname, GLint* param) {
// 	(*ptrglGetVertexArrayIntegervEXT)(vaobj, pname, param);
// }
// void goglGetVertexArrayPointervEXT(GLuint vaobj, GLenum pname, GLvoid** param) {
// 	(*ptrglGetVertexArrayPointervEXT)(vaobj, pname, param);
// }
// void goglGetVertexArrayIntegeri_vEXT(GLuint vaobj, GLuint index, GLenum pname, GLint* param) {
// 	(*ptrglGetVertexArrayIntegeri_vEXT)(vaobj, index, pname, param);
// }
// void goglGetVertexArrayPointeri_vEXT(GLuint vaobj, GLuint index, GLenum pname, GLvoid** param) {
// 	(*ptrglGetVertexArrayPointeri_vEXT)(vaobj, index, pname, param);
// }
// //  EXT_draw_buffers2
// void goglColorMaskIndexedEXT(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) {
// 	(*ptrglColorMaskIndexedEXT)(index, r, g, b, a);
// }
// void goglGetBooleanIndexedvEXT(GLenum target, GLuint index, GLboolean* data) {
// 	(*ptrglGetBooleanIndexedvEXT)(target, index, data);
// }
// void goglGetIntegerIndexedvEXT(GLenum target, GLuint index, GLint* data) {
// 	(*ptrglGetIntegerIndexedvEXT)(target, index, data);
// }
// void goglEnableIndexedEXT(GLenum target, GLuint index) {
// 	(*ptrglEnableIndexedEXT)(target, index);
// }
// void goglDisableIndexedEXT(GLenum target, GLuint index) {
// 	(*ptrglDisableIndexedEXT)(target, index);
// }
// GLboolean goglIsEnabledIndexedEXT(GLenum target, GLuint index) {
// 	return (*ptrglIsEnabledIndexedEXT)(target, index);
// }
// //  EXT_draw_instanced
// void goglDrawArraysInstancedEXT(GLenum mode, GLint start, GLsizei count, GLsizei primcount) {
// 	(*ptrglDrawArraysInstancedEXT)(mode, start, count, primcount);
// }
// void goglDrawElementsInstancedEXT(GLenum mode, GLsizei count, GLenum type_, GLvoid* indices, GLsizei primcount) {
// 	(*ptrglDrawElementsInstancedEXT)(mode, count, type_, indices, primcount);
// }
// //  EXT_draw_range_elements
// void goglDrawRangeElementsEXT(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type_, GLvoid* indices) {
// 	(*ptrglDrawRangeElementsEXT)(mode, start, end, count, type_, indices);
// }
// //  EXT_fog_coord
// void goglFogCoordfEXT(GLfloat coord) {
// 	(*ptrglFogCoordfEXT)(coord);
// }
// void goglFogCoordfvEXT(GLfloat* coord) {
// 	(*ptrglFogCoordfvEXT)(coord);
// }
// void goglFogCoorddEXT(GLdouble coord) {
// 	(*ptrglFogCoorddEXT)(coord);
// }
// void goglFogCoorddvEXT(GLdouble* coord) {
// 	(*ptrglFogCoorddvEXT)(coord);
// }
// void goglFogCoordPointerEXT(GLenum type_, GLsizei stride, GLvoid* pointer) {
// 	(*ptrglFogCoordPointerEXT)(type_, stride, pointer);
// }
// //  EXT_framebuffer_blit
// void goglBlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) {
// 	(*ptrglBlitFramebufferEXT)(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
// }
// //  EXT_framebuffer_multisample
// void goglRenderbufferStorageMultisampleEXT(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) {
// 	(*ptrglRenderbufferStorageMultisampleEXT)(target, samples, internalformat, width, height);
// }
// //  EXT_framebuffer_object
// GLboolean goglIsRenderbufferEXT(GLuint renderbuffer) {
// 	return (*ptrglIsRenderbufferEXT)(renderbuffer);
// }
// void goglBindRenderbufferEXT(GLenum target, GLuint renderbuffer) {
// 	(*ptrglBindRenderbufferEXT)(target, renderbuffer);
// }
// void goglDeleteRenderbuffersEXT(GLsizei n, GLuint* renderbuffers) {
// 	(*ptrglDeleteRenderbuffersEXT)(n, renderbuffers);
// }
// void goglGenRenderbuffersEXT(GLsizei n, GLuint* renderbuffers) {
// 	(*ptrglGenRenderbuffersEXT)(n, renderbuffers);
// }
// void goglRenderbufferStorageEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) {
// 	(*ptrglRenderbufferStorageEXT)(target, internalformat, width, height);
// }
// void goglGetRenderbufferParameterivEXT(GLenum target, GLenum pname, GLint* params) {
// 	(*ptrglGetRenderbufferParameterivEXT)(target, pname, params);
// }
// GLboolean goglIsFramebufferEXT(GLuint framebuffer) {
// 	return (*ptrglIsFramebufferEXT)(framebuffer);
// }
// void goglBindFramebufferEXT(GLenum target, GLuint framebuffer) {
// 	(*ptrglBindFramebufferEXT)(target, framebuffer);
// }
// void goglDeleteFramebuffersEXT(GLsizei n, GLuint* framebuffers) {
// 	(*ptrglDeleteFramebuffersEXT)(n, framebuffers);
// }
// void goglGenFramebuffersEXT(GLsizei n, GLuint* framebuffers) {
// 	(*ptrglGenFramebuffersEXT)(n, framebuffers);
// }
// GLenum goglCheckFramebufferStatusEXT(GLenum target) {
// 	return (*ptrglCheckFramebufferStatusEXT)(target);
// }
// void goglFramebufferTexture1DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) {
// 	(*ptrglFramebufferTexture1DEXT)(target, attachment, textarget, texture, level);
// }
// void goglFramebufferTexture2DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) {
// 	(*ptrglFramebufferTexture2DEXT)(target, attachment, textarget, texture, level);
// }
// void goglFramebufferTexture3DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) {
// 	(*ptrglFramebufferTexture3DEXT)(target, attachment, textarget, texture, level, zoffset);
// }
// void goglFramebufferRenderbufferEXT(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) {
// 	(*ptrglFramebufferRenderbufferEXT)(target, attachment, renderbuffertarget, renderbuffer);
// }
// void goglGetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, GLenum pname, GLint* params) {
// 	(*ptrglGetFramebufferAttachmentParameterivEXT)(target, attachment, pname, params);
// }
// void goglGenerateMipmapEXT(GLenum target) {
// 	(*ptrglGenerateMipmapEXT)(target);
// }
// //  EXT_geometry_shader4
// void goglProgramParameteriEXT(GLuint program, GLenum pname, GLint value) {
// 	(*ptrglProgramParameteriEXT)(program, pname, value);
// }
// //  EXT_gpu_program_parameters
// void goglProgramEnvParameters4fvEXT(GLenum target, GLuint index, GLsizei count, GLfloat* params) {
// 	(*ptrglProgramEnvParameters4fvEXT)(target, index, count, params);
// }
// void goglProgramLocalParameters4fvEXT(GLenum target, GLuint index, GLsizei count, GLfloat* params) {
// 	(*ptrglProgramLocalParameters4fvEXT)(target, index, count, params);
// }
// //  EXT_gpu_shader4
// void goglGetUniformuivEXT(GLuint program, GLint location, GLuint* params) {
// 	(*ptrglGetUniformuivEXT)(program, location, params);
// }
// void goglBindFragDataLocationEXT(GLuint program, GLuint color, GLchar* name) {
// 	(*ptrglBindFragDataLocationEXT)(program, color, name);
// }
// GLint goglGetFragDataLocationEXT(GLuint program, GLchar* name) {
// 	return (*ptrglGetFragDataLocationEXT)(program, name);
// }
// void goglUniform1uiEXT(GLint location, GLuint v0) {
// 	(*ptrglUniform1uiEXT)(location, v0);
// }
// void goglUniform2uiEXT(GLint location, GLuint v0, GLuint v1) {
// 	(*ptrglUniform2uiEXT)(location, v0, v1);
// }
// void goglUniform3uiEXT(GLint location, GLuint v0, GLuint v1, GLuint v2) {
// 	(*ptrglUniform3uiEXT)(location, v0, v1, v2);
// }
// void goglUniform4uiEXT(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) {
// 	(*ptrglUniform4uiEXT)(location, v0, v1, v2, v3);
// }
// void goglUniform1uivEXT(GLint location, GLsizei count, GLuint* value) {
// 	(*ptrglUniform1uivEXT)(location, count, value);
// }
// void goglUniform2uivEXT(GLint location, GLsizei count, GLuint* value) {
// 	(*ptrglUniform2uivEXT)(location, count, value);
// }
// void goglUniform3uivEXT(GLint location, GLsizei count, GLuint* value) {
// 	(*ptrglUniform3uivEXT)(location, count, value);
// }
// void goglUniform4uivEXT(GLint location, GLsizei count, GLuint* value) {
// 	(*ptrglUniform4uivEXT)(location, count, value);
// }
// //  EXT_histogram
// void goglGetHistogramEXT(GLenum target, GLboolean reset, GLenum format, GLenum type_, GLvoid* values) {
// 	(*ptrglGetHistogramEXT)(target, reset, format, type_, values);
// }
// void goglGetHistogramParameterfvEXT(GLenum target, GLenum pname, GLfloat* params) {
// 	(*ptrglGetHistogramParameterfvEXT)(target, pname, params);
// }
// void goglGetHistogramParameterivEXT(GLenum target, GLenum pname, GLint* params) {
// 	(*ptrglGetHistogramParameterivEXT)(target, pname, params);
// }
// void goglGetMinmaxEXT(GLenum target, GLboolean reset, GLenum format, GLenum type_, GLvoid* values) {
// 	(*ptrglGetMinmaxEXT)(target, reset, format, type_, values);
// }
// void goglGetMinmaxParameterfvEXT(GLenum target, GLenum pname, GLfloat* params) {
// 	(*ptrglGetMinmaxParameterfvEXT)(target, pname, params);
// }
// void goglGetMinmaxParameterivEXT(GLenum target, GLenum pname, GLint* params) {
// 	(*ptrglGetMinmaxParameterivEXT)(target, pname, params);
// }
// void goglHistogramEXT(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) {
// 	(*ptrglHistogramEXT)(target, width, internalformat, sink);
// }
// void goglMinmaxEXT(GLenum target, GLenum internalformat, GLboolean sink) {
// 	(*ptrglMinmaxEXT)(target, internalformat, sink);
// }
// void goglResetHistogramEXT(GLenum target) {
// 	(*ptrglResetHistogramEXT)(target);
// }
// void goglResetMinmaxEXT(GLenum target) {
// 	(*ptrglResetMinmaxEXT)(target);
// }
// //  EXT_index_func
// void goglIndexFuncEXT(GLenum func_, GLclampf ref) {
// 	(*ptrglIndexFuncEXT)(func_, ref);
// }
// //  EXT_index_material
// void goglIndexMaterialEXT(GLenum face, GLenum mode) {
// 	(*ptrglIndexMaterialEXT)(face, mode);
// }
// //  EXT_light_texture
// void goglApplyTextureEXT(GLenum mode) {
// 	(*ptrglApplyTextureEXT)(mode);
// }
// void goglTextureLightEXT(GLenum pname) {
// 	(*ptrglTextureLightEXT)(pname);
// }
// void goglTextureMaterialEXT(GLenum face, GLenum mode) {
// 	(*ptrglTextureMaterialEXT)(face, mode);
// }
// //  EXT_multi_draw_arrays
// void goglMultiDrawArraysEXT(GLenum mode, GLint* first, GLsizei* count, GLsizei primcount) {
// 	(*ptrglMultiDrawArraysEXT)(mode, first, count, primcount);
// }
// void goglMultiDrawElementsEXT(GLenum mode, GLsizei* count, GLenum type_, GLvoid** indices, GLsizei primcount) {
// 	(*ptrglMultiDrawElementsEXT)(mode, count, type_, indices, primcount);
// }
// //  EXT_multisample
// void goglSampleMaskEXT(GLclampf value, GLboolean invert) {
// 	(*ptrglSampleMaskEXT)(value, invert);
// }
// void goglSamplePatternEXT(GLenum pattern) {
// 	(*ptrglSamplePatternEXT)(pattern);
// }
// //  EXT_paletted_texture
// void goglColorTableEXT(GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type_, GLvoid* table) {
// 	(*ptrglColorTableEXT)(target, internalFormat, width, format, type_, table);
// }
// void goglGetColorTableEXT(GLenum target, GLenum format, GLenum type_, GLvoid* data) {
// 	(*ptrglGetColorTableEXT)(target, format, type_, data);
// }
// void goglGetColorTableParameterivEXT(GLenum target, GLenum pname, GLint* params) {
// 	(*ptrglGetColorTableParameterivEXT)(target, pname, params);
// }
// void goglGetColorTableParameterfvEXT(GLenum target, GLenum pname, GLfloat* params) {
// 	(*ptrglGetColorTableParameterfvEXT)(target, pname, params);
// }
// //  EXT_pixel_transform
// void goglPixelTransformParameteriEXT(GLenum target, GLenum pname, GLint param) {
// 	(*ptrglPixelTransformParameteriEXT)(target, pname, param);
// }
// void goglPixelTransformParameterfEXT(GLenum target, GLenum pname, GLfloat param) {
// 	(*ptrglPixelTransformParameterfEXT)(target, pname, param);
// }
// void goglPixelTransformParameterivEXT(GLenum target, GLenum pname, GLint* params) {
// 	(*ptrglPixelTransformParameterivEXT)(target, pname, params);
// }
// void goglPixelTransformParameterfvEXT(GLenum target, GLenum pname, GLfloat* params) {
// 	(*ptrglPixelTransformParameterfvEXT)(target, pname, params);
// }
// void goglGetPixelTransformParameterivEXT(GLenum target, GLenum pname, GLint* params) {
// 	(*ptrglGetPixelTransformParameterivEXT)(target, pname, params);
// }
// void goglGetPixelTransformParameterfvEXT(GLenum target, GLenum pname, GLfloat* params) {
// 	(*ptrglGetPixelTransformParameterfvEXT)(target, pname, params);
// }
// //  EXT_point_parameters
// void goglPointParameterfEXT(GLenum pname, GLfloat param) {
// 	(*ptrglPointParameterfEXT)(pname, param);
// }
// void goglPointParameterfvEXT(GLenum pname, GLfloat* params) {
// 	(*ptrglPointParameterfvEXT)(pname, params);
// }
// //  EXT_polygon_offset
// void goglPolygonOffsetEXT(GLfloat factor, GLfloat bias) {
// 	(*ptrglPolygonOffsetEXT)(factor, bias);
// }
// //  EXT_provoking_vertex
// void goglProvokingVertexEXT(GLenum mode) {
// 	(*ptrglProvokingVertexEXT)(mode);
// }
// //  EXT_secondary_color
// void goglSecondaryColor3bEXT(GLbyte red, GLbyte green, GLbyte blue) {
// 	(*ptrglSecondaryColor3bEXT)(red, green, blue);
// }
// void goglSecondaryColor3bvEXT(GLbyte* v) {
// 	(*ptrglSecondaryColor3bvEXT)(v);
// }
// void goglSecondaryColor3dEXT(GLdouble red, GLdouble green, GLdouble blue) {
// 	(*ptrglSecondaryColor3dEXT)(red, green, blue);
// }
// void goglSecondaryColor3dvEXT(GLdouble* v) {
// 	(*ptrglSecondaryColor3dvEXT)(v);
// }
// void goglSecondaryColor3fEXT(GLfloat red, GLfloat green, GLfloat blue) {
// 	(*ptrglSecondaryColor3fEXT)(red, green, blue);
// }
// void goglSecondaryColor3fvEXT(GLfloat* v) {
// 	(*ptrglSecondaryColor3fvEXT)(v);
// }
// void goglSecondaryColor3iEXT(GLint red, GLint green, GLint blue) {
// 	(*ptrglSecondaryColor3iEXT)(red, green, blue);
// }
// void goglSecondaryColor3ivEXT(GLint* v) {
// 	(*ptrglSecondaryColor3ivEXT)(v);
// }
// void goglSecondaryColor3sEXT(GLshort red, GLshort green, GLshort blue) {
// 	(*ptrglSecondaryColor3sEXT)(red, green, blue);
// }
// void goglSecondaryColor3svEXT(GLshort* v) {
// 	(*ptrglSecondaryColor3svEXT)(v);
// }
// void goglSecondaryColor3ubEXT(GLubyte red, GLubyte green, GLubyte blue) {
// 	(*ptrglSecondaryColor3ubEXT)(red, green, blue);
// }
// void goglSecondaryColor3ubvEXT(GLubyte* v) {
// 	(*ptrglSecondaryColor3ubvEXT)(v);
// }
// void goglSecondaryColor3uiEXT(GLuint red, GLuint green, GLuint blue) {
// 	(*ptrglSecondaryColor3uiEXT)(red, green, blue);
// }
// void goglSecondaryColor3uivEXT(GLuint* v) {
// 	(*ptrglSecondaryColor3uivEXT)(v);
// }
// void goglSecondaryColor3usEXT(GLushort red, GLushort green, GLushort blue) {
// 	(*ptrglSecondaryColor3usEXT)(red, green, blue);
// }
// void goglSecondaryColor3usvEXT(GLushort* v) {
// 	(*ptrglSecondaryColor3usvEXT)(v);
// }
// void goglSecondaryColorPointerEXT(GLint size, GLenum type_, GLsizei stride, GLvoid* pointer) {
// 	(*ptrglSecondaryColorPointerEXT)(size, type_, stride, pointer);
// }
// //  EXT_separate_shader_objects
// void goglUseShaderProgramEXT(GLenum type_, GLuint program) {
// 	(*ptrglUseShaderProgramEXT)(type_, program);
// }
// void goglActiveProgramEXT(GLuint program) {
// 	(*ptrglActiveProgramEXT)(program);
// }
// GLuint goglCreateShaderProgramEXT(GLenum type_, GLchar* string_) {
// 	return (*ptrglCreateShaderProgramEXT)(type_, string_);
// }
// //  EXT_shader_image_load_store
// void goglBindImageTextureEXT(GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format) {
// 	(*ptrglBindImageTextureEXT)(index, texture, level, layered, layer, access, format);
// }
// void goglMemoryBarrierEXT(GLbitfield barriers) {
// 	(*ptrglMemoryBarrierEXT)(barriers);
// }
// //  EXT_stencil_clear_tag
// void goglStencilClearTagEXT(GLsizei stencilTagBits, GLuint stencilClearTag) {
// 	(*ptrglStencilClearTagEXT)(stencilTagBits, stencilClearTag);
// }
// //  EXT_stencil_two_side
// void goglActiveStencilFaceEXT(GLenum face) {
// 	(*ptrglActiveStencilFaceEXT)(face);
// }
// //  EXT_subtexture
// void goglTexSubImage1DEXT(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type_, GLvoid* pixels) {
// 	(*ptrglTexSubImage1DEXT)(target, level, xoffset, width, format, type_, pixels);
// }
// void goglTexSubImage2DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type_, GLvoid* pixels) {
// 	(*ptrglTexSubImage2DEXT)(target, level, xoffset, yoffset, width, height, format, type_, pixels);
// }
// //  EXT_texture3D
// void goglTexImage3DEXT(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type_, GLvoid* pixels) {
// 	(*ptrglTexImage3DEXT)(target, level, internalformat, width, height, depth, border, format, type_, pixels);
// }
// void goglTexSubImage3DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type_, GLvoid* pixels) {
// 	(*ptrglTexSubImage3DEXT)(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type_, pixels);
// }
// //  EXT_texture_buffer_object
// void goglTexBufferEXT(GLenum target, GLenum internalformat, GLuint buffer) {
// 	(*ptrglTexBufferEXT)(target, internalformat, buffer);
// }
// //  EXT_texture_integer
// void goglTexParameterIivEXT(GLenum target, GLenum pname, GLint* params) {
// 	(*ptrglTexParameterIivEXT)(target, pname, params);
// }
// void goglTexParameterIuivEXT(GLenum target, GLenum pname, GLuint* params) {
// 	(*ptrglTexParameterIuivEXT)(target, pname, params);
// }
// void goglGetTexParameterIivEXT(GLenum target, GLenum pname, GLint* params) {
// 	(*ptrglGetTexParameterIivEXT)(target, pname, params);
// }
// void goglGetTexParameterIuivEXT(GLenum target, GLenum pname, GLuint* params) {
// 	(*ptrglGetTexParameterIuivEXT)(target, pname, params);
// }
// void goglClearColorIiEXT(GLint red, GLint green, GLint blue, GLint alpha) {
// 	(*ptrglClearColorIiEXT)(red, green, blue, alpha);
// }
// void goglClearColorIuiEXT(GLuint red, GLuint green, GLuint blue, GLuint alpha) {
// 	(*ptrglClearColorIuiEXT)(red, green, blue, alpha);
// }
// //  EXT_texture_object
// GLboolean goglAreTexturesResidentEXT(GLsizei n, GLuint* textures, GLboolean* residences) {
// 	return (*ptrglAreTexturesResidentEXT)(n, textures, residences);
// }
// void goglBindTextureEXT(GLenum target, GLuint texture) {
// 	(*ptrglBindTextureEXT)(target, texture);
// }
// void goglDeleteTexturesEXT(GLsizei n, GLuint* textures) {
// 	(*ptrglDeleteTexturesEXT)(n, textures);
// }
// void goglGenTexturesEXT(GLsizei n, GLuint* textures) {
// 	(*ptrglGenTexturesEXT)(n, textures);
// }
// GLboolean goglIsTextureEXT(GLuint texture) {
// 	return (*ptrglIsTextureEXT)(texture);
// }
// void goglPrioritizeTexturesEXT(GLsizei n, GLuint* textures, GLclampf* priorities) {
// 	(*ptrglPrioritizeTexturesEXT)(n, textures, priorities);
// }
// //  EXT_texture_perturb_normal
// void goglTextureNormalEXT(GLenum mode) {
// 	(*ptrglTextureNormalEXT)(mode);
// }
// //  EXT_timer_query
// void goglGetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64EXT* params) {
// 	(*ptrglGetQueryObjecti64vEXT)(id, pname, params);
// }
// void goglGetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64EXT* params) {
// 	(*ptrglGetQueryObjectui64vEXT)(id, pname, params);
// }
// //  EXT_transform_feedback
// void goglBeginTransformFeedbackEXT(GLenum primitiveMode) {
// 	(*ptrglBeginTransformFeedbackEXT)(primitiveMode);
// }
// void goglEndTransformFeedbackEXT() {
// 	(*ptrglEndTransformFeedbackEXT)();
// }
// void goglBindBufferRangeEXT(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) {
// 	(*ptrglBindBufferRangeEXT)(target, index, buffer, offset, size);
// }
// void goglBindBufferOffsetEXT(GLenum target, GLuint index, GLuint buffer, GLintptr offset) {
// 	(*ptrglBindBufferOffsetEXT)(target, index, buffer, offset);
// }
// void goglBindBufferBaseEXT(GLenum target, GLuint index, GLuint buffer) {
// 	(*ptrglBindBufferBaseEXT)(target, index, buffer);
// }
// void goglTransformFeedbackVaryingsEXT(GLuint program, GLsizei count, GLchar** varyings, GLenum bufferMode) {
// 	(*ptrglTransformFeedbackVaryingsEXT)(program, count, varyings, bufferMode);
// }
// void goglGetTransformFeedbackVaryingEXT(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type_, GLchar* name) {
// 	(*ptrglGetTransformFeedbackVaryingEXT)(program, index, bufSize, length, size, type_, name);
// }
// //  EXT_vertex_array
// void goglArrayElementEXT(GLint i) {
// 	(*ptrglArrayElementEXT)(i);
// }
// void goglColorPointerEXT(GLint size, GLenum type_, GLsizei stride, GLsizei count, GLvoid* pointer) {
// 	(*ptrglColorPointerEXT)(size, type_, stride, count, pointer);
// }
// void goglDrawArraysEXT(GLenum mode, GLint first, GLsizei count) {
// 	(*ptrglDrawArraysEXT)(mode, first, count);
// }
// void goglEdgeFlagPointerEXT(GLsizei stride, GLsizei count, GLboolean* pointer) {
// 	(*ptrglEdgeFlagPointerEXT)(stride, count, pointer);
// }
// void goglGetPointervEXT(GLenum pname, GLvoid** params) {
// 	(*ptrglGetPointervEXT)(pname, params);
// }
// void goglIndexPointerEXT(GLenum type_, GLsizei stride, GLsizei count, GLvoid* pointer) {
// 	(*ptrglIndexPointerEXT)(type_, stride, count, pointer);
// }
// void goglNormalPointerEXT(GLenum type_, GLsizei stride, GLsizei count, GLvoid* pointer) {
// 	(*ptrglNormalPointerEXT)(type_, stride, count, pointer);
// }
// void goglTexCoordPointerEXT(GLint size, GLenum type_, GLsizei stride, GLsizei count, GLvoid* pointer) {
// 	(*ptrglTexCoordPointerEXT)(size, type_, stride, count, pointer);
// }
// void goglVertexPointerEXT(GLint size, GLenum type_, GLsizei stride, GLsizei count, GLvoid* pointer) {
// 	(*ptrglVertexPointerEXT)(size, type_, stride, count, pointer);
// }
// //  EXT_vertex_attrib_64bit
// void goglVertexAttribL1dEXT(GLuint index, GLdouble x) {
// 	(*ptrglVertexAttribL1dEXT)(index, x);
// }
// void goglVertexAttribL2dEXT(GLuint index, GLdouble x, GLdouble y) {
// 	(*ptrglVertexAttribL2dEXT)(index, x, y);
// }
// void goglVertexAttribL3dEXT(GLuint index, GLdouble x, GLdouble y, GLdouble z) {
// 	(*ptrglVertexAttribL3dEXT)(index, x, y, z);
// }
// void goglVertexAttribL4dEXT(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) {
// 	(*ptrglVertexAttribL4dEXT)(index, x, y, z, w);
// }
// void goglVertexAttribL1dvEXT(GLuint index, GLdouble* v) {
// 	(*ptrglVertexAttribL1dvEXT)(index, v);
// }
// void goglVertexAttribL2dvEXT(GLuint index, GLdouble* v) {
// 	(*ptrglVertexAttribL2dvEXT)(index, v);
// }
// void goglVertexAttribL3dvEXT(GLuint index, GLdouble* v) {
// 	(*ptrglVertexAttribL3dvEXT)(index, v);
// }
// void goglVertexAttribL4dvEXT(GLuint index, GLdouble* v) {
// 	(*ptrglVertexAttribL4dvEXT)(index, v);
// }
// void goglVertexAttribLPointerEXT(GLuint index, GLint size, GLenum type_, GLsizei stride, GLvoid* pointer) {
// 	(*ptrglVertexAttribLPointerEXT)(index, size, type_, stride, pointer);
// }
// void goglGetVertexAttribLdvEXT(GLuint index, GLenum pname, GLdouble* params) {
// 	(*ptrglGetVertexAttribLdvEXT)(index, pname, params);
// }
// void goglVertexArrayVertexAttribLOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type_, GLsizei stride, GLintptr offset) {
// 	(*ptrglVertexArrayVertexAttribLOffsetEXT)(vaobj, buffer, index, size, type_, stride, offset);
// }
// //  EXT_vertex_shader
// void goglBeginVertexShaderEXT() {
// 	(*ptrglBeginVertexShaderEXT)();
// }
// void goglEndVertexShaderEXT() {
// 	(*ptrglEndVertexShaderEXT)();
// }
// void goglBindVertexShaderEXT(GLuint id) {
// 	(*ptrglBindVertexShaderEXT)(id);
// }
// GLuint goglGenVertexShadersEXT(GLuint range_) {
// 	return (*ptrglGenVertexShadersEXT)(range_);
// }
// void goglDeleteVertexShaderEXT(GLuint id) {
// 	(*ptrglDeleteVertexShaderEXT)(id);
// }
// void goglShaderOp1EXT(GLenum op, GLuint res, GLuint arg1) {
// 	(*ptrglShaderOp1EXT)(op, res, arg1);
// }
// void goglShaderOp2EXT(GLenum op, GLuint res, GLuint arg1, GLuint arg2) {
// 	(*ptrglShaderOp2EXT)(op, res, arg1, arg2);
// }
// void goglShaderOp3EXT(GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3) {
// 	(*ptrglShaderOp3EXT)(op, res, arg1, arg2, arg3);
// }
// void goglSwizzleEXT(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW) {
// 	(*ptrglSwizzleEXT)(res, in, outX, outY, outZ, outW);
// }
// void goglWriteMaskEXT(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW) {
// 	(*ptrglWriteMaskEXT)(res, in, outX, outY, outZ, outW);
// }
// void goglInsertComponentEXT(GLuint res, GLuint src, GLuint num) {
// 	(*ptrglInsertComponentEXT)(res, src, num);
// }
// void goglExtractComponentEXT(GLuint res, GLuint src, GLuint num) {
// 	(*ptrglExtractComponentEXT)(res, src, num);
// }
// GLuint goglGenSymbolsEXT(GLenum datatype, GLenum storagetype, GLenum range_, GLuint components) {
// 	return (*ptrglGenSymbolsEXT)(datatype, storagetype, range_, components);
// }
// void goglSetInvariantEXT(GLuint id, GLenum type_, GLvoid* addr) {
// 	(*ptrglSetInvariantEXT)(id, type_, addr);
// }
// void goglSetLocalConstantEXT(GLuint id, GLenum type_, GLvoid* addr) {
// 	(*ptrglSetLocalConstantEXT)(id, type_, addr);
// }
// void goglVariantbvEXT(GLuint id, GLbyte* addr) {
// 	(*ptrglVariantbvEXT)(id, addr);
// }
// void goglVariantsvEXT(GLuint id, GLshort* addr) {
// 	(*ptrglVariantsvEXT)(id, addr);
// }
// void goglVariantivEXT(GLuint id, GLint* addr) {
// 	(*ptrglVariantivEXT)(id, addr);
// }
// void goglVariantfvEXT(GLuint id, GLfloat* addr) {
// 	(*ptrglVariantfvEXT)(id, addr);
// }
// void goglVariantdvEXT(GLuint id, GLdouble* addr) {
// 	(*ptrglVariantdvEXT)(id, addr);
// }
// void goglVariantubvEXT(GLuint id, GLubyte* addr) {
// 	(*ptrglVariantubvEXT)(id, addr);
// }
// void goglVariantusvEXT(GLuint id, GLushort* addr) {
// 	(*ptrglVariantusvEXT)(id, addr);
// }
// void goglVariantuivEXT(GLuint id, GLuint* addr) {
// 	(*ptrglVariantuivEXT)(id, addr);
// }
// void goglVariantPointerEXT(GLuint id, GLenum type_, GLuint stride, GLvoid* addr) {
// 	(*ptrglVariantPointerEXT)(id, type_, stride, addr);
// }
// void goglEnableVariantClientStateEXT(GLuint id) {
// 	(*ptrglEnableVariantClientStateEXT)(id);
// }
// void goglDisableVariantClientStateEXT(GLuint id) {
// 	(*ptrglDisableVariantClientStateEXT)(id);
// }
// GLuint goglBindLightParameterEXT(GLenum light, GLenum value) {
// 	return (*ptrglBindLightParameterEXT)(light, value);
// }
// GLuint goglBindMaterialParameterEXT(GLenum face, GLenum value) {
// 	return (*ptrglBindMaterialParameterEXT)(face, value);
// }
// GLuint goglBindTexGenParameterEXT(GLenum unit, GLenum coord, GLenum value) {
// 	return (*ptrglBindTexGenParameterEXT)(unit, coord, value);
// }
// GLuint goglBindTextureUnitParameterEXT(GLenum unit, GLenum value) {
// 	return (*ptrglBindTextureUnitParameterEXT)(unit, value);
// }
// GLuint goglBindParameterEXT(GLenum value) {
// 	return (*ptrglBindParameterEXT)(value);
// }
// GLboolean goglIsVariantEnabledEXT(GLuint id, GLenum cap) {
// 	return (*ptrglIsVariantEnabledEXT)(id, cap);
// }
// void goglGetVariantBooleanvEXT(GLuint id, GLenum value, GLboolean* data) {
// 	(*ptrglGetVariantBooleanvEXT)(id, value, data);
// }
// void goglGetVariantIntegervEXT(GLuint id, GLenum value, GLint* data) {
// 	(*ptrglGetVariantIntegervEXT)(id, value, data);
// }
// void goglGetVariantFloatvEXT(GLuint id, GLenum value, GLfloat* data) {
// 	(*ptrglGetVariantFloatvEXT)(id, value, data);
// }
// void goglGetVariantPointervEXT(GLuint id, GLenum value, GLvoid** data) {
// 	(*ptrglGetVariantPointervEXT)(id, value, data);
// }
// void goglGetInvariantBooleanvEXT(GLuint id, GLenum value, GLboolean* data) {
// 	(*ptrglGetInvariantBooleanvEXT)(id, value, data);
// }
// void goglGetInvariantIntegervEXT(GLuint id, GLenum value, GLint* data) {
// 	(*ptrglGetInvariantIntegervEXT)(id, value, data);
// }
// void goglGetInvariantFloatvEXT(GLuint id, GLenum value, GLfloat* data) {
// 	(*ptrglGetInvariantFloatvEXT)(id, value, data);
// }
// void goglGetLocalConstantBooleanvEXT(GLuint id, GLenum value, GLboolean* data) {
// 	(*ptrglGetLocalConstantBooleanvEXT)(id, value, data);
// }
// void goglGetLocalConstantIntegervEXT(GLuint id, GLenum value, GLint* data) {
// 	(*ptrglGetLocalConstantIntegervEXT)(id, value, data);
// }
// void goglGetLocalConstantFloatvEXT(GLuint id, GLenum value, GLfloat* data) {
// 	(*ptrglGetLocalConstantFloatvEXT)(id, value, data);
// }
// //  EXT_vertex_weighting
// void goglVertexWeightfEXT(GLfloat weight) {
// 	(*ptrglVertexWeightfEXT)(weight);
// }
// void goglVertexWeightfvEXT(GLfloat* weight) {
// 	(*ptrglVertexWeightfvEXT)(weight);
// }
// void goglVertexWeightPointerEXT(GLint size, GLenum type_, GLsizei stride, GLvoid* pointer) {
// 	(*ptrglVertexWeightPointerEXT)(size, type_, stride, pointer);
// }
// //  EXT_x11_sync_object
// GLsync goglImportSyncEXT(GLenum external_sync_type, GLintptr external_sync, GLbitfield flags) {
// 	return (*ptrglImportSyncEXT)(external_sync_type, external_sync, flags);
// }
// 
// int init_EXT_bindable_uniform() {
// 	ptrglUniformBufferEXT = goglGetProcAddress("glUniformBufferEXT");
// 	if(ptrglUniformBufferEXT == NULL) return 1;
// 	ptrglGetUniformBufferSizeEXT = goglGetProcAddress("glGetUniformBufferSizeEXT");
// 	if(ptrglGetUniformBufferSizeEXT == NULL) return 1;
// 	ptrglGetUniformOffsetEXT = goglGetProcAddress("glGetUniformOffsetEXT");
// 	if(ptrglGetUniformOffsetEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_blend_color() {
// 	ptrglBlendColorEXT = goglGetProcAddress("glBlendColorEXT");
// 	if(ptrglBlendColorEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_blend_equation_separate() {
// 	ptrglBlendEquationSeparateEXT = goglGetProcAddress("glBlendEquationSeparateEXT");
// 	if(ptrglBlendEquationSeparateEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_blend_func_separate() {
// 	ptrglBlendFuncSeparateEXT = goglGetProcAddress("glBlendFuncSeparateEXT");
// 	if(ptrglBlendFuncSeparateEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_blend_minmax() {
// 	ptrglBlendEquationEXT = goglGetProcAddress("glBlendEquationEXT");
// 	if(ptrglBlendEquationEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_color_subtable() {
// 	ptrglColorSubTableEXT = goglGetProcAddress("glColorSubTableEXT");
// 	if(ptrglColorSubTableEXT == NULL) return 1;
// 	ptrglCopyColorSubTableEXT = goglGetProcAddress("glCopyColorSubTableEXT");
// 	if(ptrglCopyColorSubTableEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_compiled_vertex_array() {
// 	ptrglLockArraysEXT = goglGetProcAddress("glLockArraysEXT");
// 	if(ptrglLockArraysEXT == NULL) return 1;
// 	ptrglUnlockArraysEXT = goglGetProcAddress("glUnlockArraysEXT");
// 	if(ptrglUnlockArraysEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_convolution() {
// 	ptrglConvolutionFilter1DEXT = goglGetProcAddress("glConvolutionFilter1DEXT");
// 	if(ptrglConvolutionFilter1DEXT == NULL) return 1;
// 	ptrglConvolutionFilter2DEXT = goglGetProcAddress("glConvolutionFilter2DEXT");
// 	if(ptrglConvolutionFilter2DEXT == NULL) return 1;
// 	ptrglConvolutionParameterfEXT = goglGetProcAddress("glConvolutionParameterfEXT");
// 	if(ptrglConvolutionParameterfEXT == NULL) return 1;
// 	ptrglConvolutionParameterfvEXT = goglGetProcAddress("glConvolutionParameterfvEXT");
// 	if(ptrglConvolutionParameterfvEXT == NULL) return 1;
// 	ptrglConvolutionParameteriEXT = goglGetProcAddress("glConvolutionParameteriEXT");
// 	if(ptrglConvolutionParameteriEXT == NULL) return 1;
// 	ptrglConvolutionParameterivEXT = goglGetProcAddress("glConvolutionParameterivEXT");
// 	if(ptrglConvolutionParameterivEXT == NULL) return 1;
// 	ptrglCopyConvolutionFilter1DEXT = goglGetProcAddress("glCopyConvolutionFilter1DEXT");
// 	if(ptrglCopyConvolutionFilter1DEXT == NULL) return 1;
// 	ptrglCopyConvolutionFilter2DEXT = goglGetProcAddress("glCopyConvolutionFilter2DEXT");
// 	if(ptrglCopyConvolutionFilter2DEXT == NULL) return 1;
// 	ptrglGetConvolutionFilterEXT = goglGetProcAddress("glGetConvolutionFilterEXT");
// 	if(ptrglGetConvolutionFilterEXT == NULL) return 1;
// 	ptrglGetConvolutionParameterfvEXT = goglGetProcAddress("glGetConvolutionParameterfvEXT");
// 	if(ptrglGetConvolutionParameterfvEXT == NULL) return 1;
// 	ptrglGetConvolutionParameterivEXT = goglGetProcAddress("glGetConvolutionParameterivEXT");
// 	if(ptrglGetConvolutionParameterivEXT == NULL) return 1;
// 	ptrglGetSeparableFilterEXT = goglGetProcAddress("glGetSeparableFilterEXT");
// 	if(ptrglGetSeparableFilterEXT == NULL) return 1;
// 	ptrglSeparableFilter2DEXT = goglGetProcAddress("glSeparableFilter2DEXT");
// 	if(ptrglSeparableFilter2DEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_coordinate_frame() {
// 	ptrglTangent3bEXT = goglGetProcAddress("glTangent3bEXT");
// 	if(ptrglTangent3bEXT == NULL) return 1;
// 	ptrglTangent3bvEXT = goglGetProcAddress("glTangent3bvEXT");
// 	if(ptrglTangent3bvEXT == NULL) return 1;
// 	ptrglTangent3dEXT = goglGetProcAddress("glTangent3dEXT");
// 	if(ptrglTangent3dEXT == NULL) return 1;
// 	ptrglTangent3dvEXT = goglGetProcAddress("glTangent3dvEXT");
// 	if(ptrglTangent3dvEXT == NULL) return 1;
// 	ptrglTangent3fEXT = goglGetProcAddress("glTangent3fEXT");
// 	if(ptrglTangent3fEXT == NULL) return 1;
// 	ptrglTangent3fvEXT = goglGetProcAddress("glTangent3fvEXT");
// 	if(ptrglTangent3fvEXT == NULL) return 1;
// 	ptrglTangent3iEXT = goglGetProcAddress("glTangent3iEXT");
// 	if(ptrglTangent3iEXT == NULL) return 1;
// 	ptrglTangent3ivEXT = goglGetProcAddress("glTangent3ivEXT");
// 	if(ptrglTangent3ivEXT == NULL) return 1;
// 	ptrglTangent3sEXT = goglGetProcAddress("glTangent3sEXT");
// 	if(ptrglTangent3sEXT == NULL) return 1;
// 	ptrglTangent3svEXT = goglGetProcAddress("glTangent3svEXT");
// 	if(ptrglTangent3svEXT == NULL) return 1;
// 	ptrglBinormal3bEXT = goglGetProcAddress("glBinormal3bEXT");
// 	if(ptrglBinormal3bEXT == NULL) return 1;
// 	ptrglBinormal3bvEXT = goglGetProcAddress("glBinormal3bvEXT");
// 	if(ptrglBinormal3bvEXT == NULL) return 1;
// 	ptrglBinormal3dEXT = goglGetProcAddress("glBinormal3dEXT");
// 	if(ptrglBinormal3dEXT == NULL) return 1;
// 	ptrglBinormal3dvEXT = goglGetProcAddress("glBinormal3dvEXT");
// 	if(ptrglBinormal3dvEXT == NULL) return 1;
// 	ptrglBinormal3fEXT = goglGetProcAddress("glBinormal3fEXT");
// 	if(ptrglBinormal3fEXT == NULL) return 1;
// 	ptrglBinormal3fvEXT = goglGetProcAddress("glBinormal3fvEXT");
// 	if(ptrglBinormal3fvEXT == NULL) return 1;
// 	ptrglBinormal3iEXT = goglGetProcAddress("glBinormal3iEXT");
// 	if(ptrglBinormal3iEXT == NULL) return 1;
// 	ptrglBinormal3ivEXT = goglGetProcAddress("glBinormal3ivEXT");
// 	if(ptrglBinormal3ivEXT == NULL) return 1;
// 	ptrglBinormal3sEXT = goglGetProcAddress("glBinormal3sEXT");
// 	if(ptrglBinormal3sEXT == NULL) return 1;
// 	ptrglBinormal3svEXT = goglGetProcAddress("glBinormal3svEXT");
// 	if(ptrglBinormal3svEXT == NULL) return 1;
// 	ptrglTangentPointerEXT = goglGetProcAddress("glTangentPointerEXT");
// 	if(ptrglTangentPointerEXT == NULL) return 1;
// 	ptrglBinormalPointerEXT = goglGetProcAddress("glBinormalPointerEXT");
// 	if(ptrglBinormalPointerEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_copy_texture() {
// 	ptrglCopyTexImage1DEXT = goglGetProcAddress("glCopyTexImage1DEXT");
// 	if(ptrglCopyTexImage1DEXT == NULL) return 1;
// 	ptrglCopyTexImage2DEXT = goglGetProcAddress("glCopyTexImage2DEXT");
// 	if(ptrglCopyTexImage2DEXT == NULL) return 1;
// 	ptrglCopyTexSubImage1DEXT = goglGetProcAddress("glCopyTexSubImage1DEXT");
// 	if(ptrglCopyTexSubImage1DEXT == NULL) return 1;
// 	ptrglCopyTexSubImage2DEXT = goglGetProcAddress("glCopyTexSubImage2DEXT");
// 	if(ptrglCopyTexSubImage2DEXT == NULL) return 1;
// 	ptrglCopyTexSubImage3DEXT = goglGetProcAddress("glCopyTexSubImage3DEXT");
// 	if(ptrglCopyTexSubImage3DEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_cull_vertex() {
// 	ptrglCullParameterdvEXT = goglGetProcAddress("glCullParameterdvEXT");
// 	if(ptrglCullParameterdvEXT == NULL) return 1;
// 	ptrglCullParameterfvEXT = goglGetProcAddress("glCullParameterfvEXT");
// 	if(ptrglCullParameterfvEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_depth_bounds_test() {
// 	ptrglDepthBoundsEXT = goglGetProcAddress("glDepthBoundsEXT");
// 	if(ptrglDepthBoundsEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_direct_state_access() {
// 	ptrglClientAttribDefaultEXT = goglGetProcAddress("glClientAttribDefaultEXT");
// 	if(ptrglClientAttribDefaultEXT == NULL) return 1;
// 	ptrglPushClientAttribDefaultEXT = goglGetProcAddress("glPushClientAttribDefaultEXT");
// 	if(ptrglPushClientAttribDefaultEXT == NULL) return 1;
// 	ptrglMatrixLoadfEXT = goglGetProcAddress("glMatrixLoadfEXT");
// 	if(ptrglMatrixLoadfEXT == NULL) return 1;
// 	ptrglMatrixLoaddEXT = goglGetProcAddress("glMatrixLoaddEXT");
// 	if(ptrglMatrixLoaddEXT == NULL) return 1;
// 	ptrglMatrixMultfEXT = goglGetProcAddress("glMatrixMultfEXT");
// 	if(ptrglMatrixMultfEXT == NULL) return 1;
// 	ptrglMatrixMultdEXT = goglGetProcAddress("glMatrixMultdEXT");
// 	if(ptrglMatrixMultdEXT == NULL) return 1;
// 	ptrglMatrixLoadIdentityEXT = goglGetProcAddress("glMatrixLoadIdentityEXT");
// 	if(ptrglMatrixLoadIdentityEXT == NULL) return 1;
// 	ptrglMatrixRotatefEXT = goglGetProcAddress("glMatrixRotatefEXT");
// 	if(ptrglMatrixRotatefEXT == NULL) return 1;
// 	ptrglMatrixRotatedEXT = goglGetProcAddress("glMatrixRotatedEXT");
// 	if(ptrglMatrixRotatedEXT == NULL) return 1;
// 	ptrglMatrixScalefEXT = goglGetProcAddress("glMatrixScalefEXT");
// 	if(ptrglMatrixScalefEXT == NULL) return 1;
// 	ptrglMatrixScaledEXT = goglGetProcAddress("glMatrixScaledEXT");
// 	if(ptrglMatrixScaledEXT == NULL) return 1;
// 	ptrglMatrixTranslatefEXT = goglGetProcAddress("glMatrixTranslatefEXT");
// 	if(ptrglMatrixTranslatefEXT == NULL) return 1;
// 	ptrglMatrixTranslatedEXT = goglGetProcAddress("glMatrixTranslatedEXT");
// 	if(ptrglMatrixTranslatedEXT == NULL) return 1;
// 	ptrglMatrixFrustumEXT = goglGetProcAddress("glMatrixFrustumEXT");
// 	if(ptrglMatrixFrustumEXT == NULL) return 1;
// 	ptrglMatrixOrthoEXT = goglGetProcAddress("glMatrixOrthoEXT");
// 	if(ptrglMatrixOrthoEXT == NULL) return 1;
// 	ptrglMatrixPopEXT = goglGetProcAddress("glMatrixPopEXT");
// 	if(ptrglMatrixPopEXT == NULL) return 1;
// 	ptrglMatrixPushEXT = goglGetProcAddress("glMatrixPushEXT");
// 	if(ptrglMatrixPushEXT == NULL) return 1;
// 	ptrglMatrixLoadTransposefEXT = goglGetProcAddress("glMatrixLoadTransposefEXT");
// 	if(ptrglMatrixLoadTransposefEXT == NULL) return 1;
// 	ptrglMatrixLoadTransposedEXT = goglGetProcAddress("glMatrixLoadTransposedEXT");
// 	if(ptrglMatrixLoadTransposedEXT == NULL) return 1;
// 	ptrglMatrixMultTransposefEXT = goglGetProcAddress("glMatrixMultTransposefEXT");
// 	if(ptrglMatrixMultTransposefEXT == NULL) return 1;
// 	ptrglMatrixMultTransposedEXT = goglGetProcAddress("glMatrixMultTransposedEXT");
// 	if(ptrglMatrixMultTransposedEXT == NULL) return 1;
// 	ptrglTextureParameterfEXT = goglGetProcAddress("glTextureParameterfEXT");
// 	if(ptrglTextureParameterfEXT == NULL) return 1;
// 	ptrglTextureParameterfvEXT = goglGetProcAddress("glTextureParameterfvEXT");
// 	if(ptrglTextureParameterfvEXT == NULL) return 1;
// 	ptrglTextureParameteriEXT = goglGetProcAddress("glTextureParameteriEXT");
// 	if(ptrglTextureParameteriEXT == NULL) return 1;
// 	ptrglTextureParameterivEXT = goglGetProcAddress("glTextureParameterivEXT");
// 	if(ptrglTextureParameterivEXT == NULL) return 1;
// 	ptrglTextureImage1DEXT = goglGetProcAddress("glTextureImage1DEXT");
// 	if(ptrglTextureImage1DEXT == NULL) return 1;
// 	ptrglTextureImage2DEXT = goglGetProcAddress("glTextureImage2DEXT");
// 	if(ptrglTextureImage2DEXT == NULL) return 1;
// 	ptrglTextureSubImage1DEXT = goglGetProcAddress("glTextureSubImage1DEXT");
// 	if(ptrglTextureSubImage1DEXT == NULL) return 1;
// 	ptrglTextureSubImage2DEXT = goglGetProcAddress("glTextureSubImage2DEXT");
// 	if(ptrglTextureSubImage2DEXT == NULL) return 1;
// 	ptrglCopyTextureImage1DEXT = goglGetProcAddress("glCopyTextureImage1DEXT");
// 	if(ptrglCopyTextureImage1DEXT == NULL) return 1;
// 	ptrglCopyTextureImage2DEXT = goglGetProcAddress("glCopyTextureImage2DEXT");
// 	if(ptrglCopyTextureImage2DEXT == NULL) return 1;
// 	ptrglCopyTextureSubImage1DEXT = goglGetProcAddress("glCopyTextureSubImage1DEXT");
// 	if(ptrglCopyTextureSubImage1DEXT == NULL) return 1;
// 	ptrglCopyTextureSubImage2DEXT = goglGetProcAddress("glCopyTextureSubImage2DEXT");
// 	if(ptrglCopyTextureSubImage2DEXT == NULL) return 1;
// 	ptrglGetTextureImageEXT = goglGetProcAddress("glGetTextureImageEXT");
// 	if(ptrglGetTextureImageEXT == NULL) return 1;
// 	ptrglGetTextureParameterfvEXT = goglGetProcAddress("glGetTextureParameterfvEXT");
// 	if(ptrglGetTextureParameterfvEXT == NULL) return 1;
// 	ptrglGetTextureParameterivEXT = goglGetProcAddress("glGetTextureParameterivEXT");
// 	if(ptrglGetTextureParameterivEXT == NULL) return 1;
// 	ptrglGetTextureLevelParameterfvEXT = goglGetProcAddress("glGetTextureLevelParameterfvEXT");
// 	if(ptrglGetTextureLevelParameterfvEXT == NULL) return 1;
// 	ptrglGetTextureLevelParameterivEXT = goglGetProcAddress("glGetTextureLevelParameterivEXT");
// 	if(ptrglGetTextureLevelParameterivEXT == NULL) return 1;
// 	ptrglTextureImage3DEXT = goglGetProcAddress("glTextureImage3DEXT");
// 	if(ptrglTextureImage3DEXT == NULL) return 1;
// 	ptrglTextureSubImage3DEXT = goglGetProcAddress("glTextureSubImage3DEXT");
// 	if(ptrglTextureSubImage3DEXT == NULL) return 1;
// 	ptrglCopyTextureSubImage3DEXT = goglGetProcAddress("glCopyTextureSubImage3DEXT");
// 	if(ptrglCopyTextureSubImage3DEXT == NULL) return 1;
// 	ptrglMultiTexParameterfEXT = goglGetProcAddress("glMultiTexParameterfEXT");
// 	if(ptrglMultiTexParameterfEXT == NULL) return 1;
// 	ptrglMultiTexParameterfvEXT = goglGetProcAddress("glMultiTexParameterfvEXT");
// 	if(ptrglMultiTexParameterfvEXT == NULL) return 1;
// 	ptrglMultiTexParameteriEXT = goglGetProcAddress("glMultiTexParameteriEXT");
// 	if(ptrglMultiTexParameteriEXT == NULL) return 1;
// 	ptrglMultiTexParameterivEXT = goglGetProcAddress("glMultiTexParameterivEXT");
// 	if(ptrglMultiTexParameterivEXT == NULL) return 1;
// 	ptrglMultiTexImage1DEXT = goglGetProcAddress("glMultiTexImage1DEXT");
// 	if(ptrglMultiTexImage1DEXT == NULL) return 1;
// 	ptrglMultiTexImage2DEXT = goglGetProcAddress("glMultiTexImage2DEXT");
// 	if(ptrglMultiTexImage2DEXT == NULL) return 1;
// 	ptrglMultiTexSubImage1DEXT = goglGetProcAddress("glMultiTexSubImage1DEXT");
// 	if(ptrglMultiTexSubImage1DEXT == NULL) return 1;
// 	ptrglMultiTexSubImage2DEXT = goglGetProcAddress("glMultiTexSubImage2DEXT");
// 	if(ptrglMultiTexSubImage2DEXT == NULL) return 1;
// 	ptrglCopyMultiTexImage1DEXT = goglGetProcAddress("glCopyMultiTexImage1DEXT");
// 	if(ptrglCopyMultiTexImage1DEXT == NULL) return 1;
// 	ptrglCopyMultiTexImage2DEXT = goglGetProcAddress("glCopyMultiTexImage2DEXT");
// 	if(ptrglCopyMultiTexImage2DEXT == NULL) return 1;
// 	ptrglCopyMultiTexSubImage1DEXT = goglGetProcAddress("glCopyMultiTexSubImage1DEXT");
// 	if(ptrglCopyMultiTexSubImage1DEXT == NULL) return 1;
// 	ptrglCopyMultiTexSubImage2DEXT = goglGetProcAddress("glCopyMultiTexSubImage2DEXT");
// 	if(ptrglCopyMultiTexSubImage2DEXT == NULL) return 1;
// 	ptrglGetMultiTexImageEXT = goglGetProcAddress("glGetMultiTexImageEXT");
// 	if(ptrglGetMultiTexImageEXT == NULL) return 1;
// 	ptrglGetMultiTexParameterfvEXT = goglGetProcAddress("glGetMultiTexParameterfvEXT");
// 	if(ptrglGetMultiTexParameterfvEXT == NULL) return 1;
// 	ptrglGetMultiTexParameterivEXT = goglGetProcAddress("glGetMultiTexParameterivEXT");
// 	if(ptrglGetMultiTexParameterivEXT == NULL) return 1;
// 	ptrglGetMultiTexLevelParameterfvEXT = goglGetProcAddress("glGetMultiTexLevelParameterfvEXT");
// 	if(ptrglGetMultiTexLevelParameterfvEXT == NULL) return 1;
// 	ptrglGetMultiTexLevelParameterivEXT = goglGetProcAddress("glGetMultiTexLevelParameterivEXT");
// 	if(ptrglGetMultiTexLevelParameterivEXT == NULL) return 1;
// 	ptrglMultiTexImage3DEXT = goglGetProcAddress("glMultiTexImage3DEXT");
// 	if(ptrglMultiTexImage3DEXT == NULL) return 1;
// 	ptrglMultiTexSubImage3DEXT = goglGetProcAddress("glMultiTexSubImage3DEXT");
// 	if(ptrglMultiTexSubImage3DEXT == NULL) return 1;
// 	ptrglCopyMultiTexSubImage3DEXT = goglGetProcAddress("glCopyMultiTexSubImage3DEXT");
// 	if(ptrglCopyMultiTexSubImage3DEXT == NULL) return 1;
// 	ptrglBindMultiTextureEXT = goglGetProcAddress("glBindMultiTextureEXT");
// 	if(ptrglBindMultiTextureEXT == NULL) return 1;
// 	ptrglEnableClientStateIndexedEXT = goglGetProcAddress("glEnableClientStateIndexedEXT");
// 	if(ptrglEnableClientStateIndexedEXT == NULL) return 1;
// 	ptrglDisableClientStateIndexedEXT = goglGetProcAddress("glDisableClientStateIndexedEXT");
// 	if(ptrglDisableClientStateIndexedEXT == NULL) return 1;
// 	ptrglEnableClientStateiEXT = goglGetProcAddress("glEnableClientStateiEXT");
// 	if(ptrglEnableClientStateiEXT == NULL) return 1;
// 	ptrglDisableClientStateiEXT = goglGetProcAddress("glDisableClientStateiEXT");
// 	if(ptrglDisableClientStateiEXT == NULL) return 1;
// 	ptrglMultiTexCoordPointerEXT = goglGetProcAddress("glMultiTexCoordPointerEXT");
// 	if(ptrglMultiTexCoordPointerEXT == NULL) return 1;
// 	ptrglMultiTexEnvfEXT = goglGetProcAddress("glMultiTexEnvfEXT");
// 	if(ptrglMultiTexEnvfEXT == NULL) return 1;
// 	ptrglMultiTexEnvfvEXT = goglGetProcAddress("glMultiTexEnvfvEXT");
// 	if(ptrglMultiTexEnvfvEXT == NULL) return 1;
// 	ptrglMultiTexEnviEXT = goglGetProcAddress("glMultiTexEnviEXT");
// 	if(ptrglMultiTexEnviEXT == NULL) return 1;
// 	ptrglMultiTexEnvivEXT = goglGetProcAddress("glMultiTexEnvivEXT");
// 	if(ptrglMultiTexEnvivEXT == NULL) return 1;
// 	ptrglMultiTexGendEXT = goglGetProcAddress("glMultiTexGendEXT");
// 	if(ptrglMultiTexGendEXT == NULL) return 1;
// 	ptrglMultiTexGendvEXT = goglGetProcAddress("glMultiTexGendvEXT");
// 	if(ptrglMultiTexGendvEXT == NULL) return 1;
// 	ptrglMultiTexGenfEXT = goglGetProcAddress("glMultiTexGenfEXT");
// 	if(ptrglMultiTexGenfEXT == NULL) return 1;
// 	ptrglMultiTexGenfvEXT = goglGetProcAddress("glMultiTexGenfvEXT");
// 	if(ptrglMultiTexGenfvEXT == NULL) return 1;
// 	ptrglMultiTexGeniEXT = goglGetProcAddress("glMultiTexGeniEXT");
// 	if(ptrglMultiTexGeniEXT == NULL) return 1;
// 	ptrglMultiTexGenivEXT = goglGetProcAddress("glMultiTexGenivEXT");
// 	if(ptrglMultiTexGenivEXT == NULL) return 1;
// 	ptrglGetMultiTexEnvfvEXT = goglGetProcAddress("glGetMultiTexEnvfvEXT");
// 	if(ptrglGetMultiTexEnvfvEXT == NULL) return 1;
// 	ptrglGetMultiTexEnvivEXT = goglGetProcAddress("glGetMultiTexEnvivEXT");
// 	if(ptrglGetMultiTexEnvivEXT == NULL) return 1;
// 	ptrglGetMultiTexGendvEXT = goglGetProcAddress("glGetMultiTexGendvEXT");
// 	if(ptrglGetMultiTexGendvEXT == NULL) return 1;
// 	ptrglGetMultiTexGenfvEXT = goglGetProcAddress("glGetMultiTexGenfvEXT");
// 	if(ptrglGetMultiTexGenfvEXT == NULL) return 1;
// 	ptrglGetMultiTexGenivEXT = goglGetProcAddress("glGetMultiTexGenivEXT");
// 	if(ptrglGetMultiTexGenivEXT == NULL) return 1;
// 	ptrglGetFloatIndexedvEXT = goglGetProcAddress("glGetFloatIndexedvEXT");
// 	if(ptrglGetFloatIndexedvEXT == NULL) return 1;
// 	ptrglGetDoubleIndexedvEXT = goglGetProcAddress("glGetDoubleIndexedvEXT");
// 	if(ptrglGetDoubleIndexedvEXT == NULL) return 1;
// 	ptrglGetPointerIndexedvEXT = goglGetProcAddress("glGetPointerIndexedvEXT");
// 	if(ptrglGetPointerIndexedvEXT == NULL) return 1;
// 	ptrglGetFloati_vEXT = goglGetProcAddress("glGetFloati_vEXT");
// 	if(ptrglGetFloati_vEXT == NULL) return 1;
// 	ptrglGetDoublei_vEXT = goglGetProcAddress("glGetDoublei_vEXT");
// 	if(ptrglGetDoublei_vEXT == NULL) return 1;
// 	ptrglGetPointeri_vEXT = goglGetProcAddress("glGetPointeri_vEXT");
// 	if(ptrglGetPointeri_vEXT == NULL) return 1;
// 	ptrglCompressedTextureImage3DEXT = goglGetProcAddress("glCompressedTextureImage3DEXT");
// 	if(ptrglCompressedTextureImage3DEXT == NULL) return 1;
// 	ptrglCompressedTextureImage2DEXT = goglGetProcAddress("glCompressedTextureImage2DEXT");
// 	if(ptrglCompressedTextureImage2DEXT == NULL) return 1;
// 	ptrglCompressedTextureImage1DEXT = goglGetProcAddress("glCompressedTextureImage1DEXT");
// 	if(ptrglCompressedTextureImage1DEXT == NULL) return 1;
// 	ptrglCompressedTextureSubImage3DEXT = goglGetProcAddress("glCompressedTextureSubImage3DEXT");
// 	if(ptrglCompressedTextureSubImage3DEXT == NULL) return 1;
// 	ptrglCompressedTextureSubImage2DEXT = goglGetProcAddress("glCompressedTextureSubImage2DEXT");
// 	if(ptrglCompressedTextureSubImage2DEXT == NULL) return 1;
// 	ptrglCompressedTextureSubImage1DEXT = goglGetProcAddress("glCompressedTextureSubImage1DEXT");
// 	if(ptrglCompressedTextureSubImage1DEXT == NULL) return 1;
// 	ptrglGetCompressedTextureImageEXT = goglGetProcAddress("glGetCompressedTextureImageEXT");
// 	if(ptrglGetCompressedTextureImageEXT == NULL) return 1;
// 	ptrglCompressedMultiTexImage3DEXT = goglGetProcAddress("glCompressedMultiTexImage3DEXT");
// 	if(ptrglCompressedMultiTexImage3DEXT == NULL) return 1;
// 	ptrglCompressedMultiTexImage2DEXT = goglGetProcAddress("glCompressedMultiTexImage2DEXT");
// 	if(ptrglCompressedMultiTexImage2DEXT == NULL) return 1;
// 	ptrglCompressedMultiTexImage1DEXT = goglGetProcAddress("glCompressedMultiTexImage1DEXT");
// 	if(ptrglCompressedMultiTexImage1DEXT == NULL) return 1;
// 	ptrglCompressedMultiTexSubImage3DEXT = goglGetProcAddress("glCompressedMultiTexSubImage3DEXT");
// 	if(ptrglCompressedMultiTexSubImage3DEXT == NULL) return 1;
// 	ptrglCompressedMultiTexSubImage2DEXT = goglGetProcAddress("glCompressedMultiTexSubImage2DEXT");
// 	if(ptrglCompressedMultiTexSubImage2DEXT == NULL) return 1;
// 	ptrglCompressedMultiTexSubImage1DEXT = goglGetProcAddress("glCompressedMultiTexSubImage1DEXT");
// 	if(ptrglCompressedMultiTexSubImage1DEXT == NULL) return 1;
// 	ptrglGetCompressedMultiTexImageEXT = goglGetProcAddress("glGetCompressedMultiTexImageEXT");
// 	if(ptrglGetCompressedMultiTexImageEXT == NULL) return 1;
// 	ptrglNamedProgramStringEXT = goglGetProcAddress("glNamedProgramStringEXT");
// 	if(ptrglNamedProgramStringEXT == NULL) return 1;
// 	ptrglNamedProgramLocalParameter4dEXT = goglGetProcAddress("glNamedProgramLocalParameter4dEXT");
// 	if(ptrglNamedProgramLocalParameter4dEXT == NULL) return 1;
// 	ptrglNamedProgramLocalParameter4dvEXT = goglGetProcAddress("glNamedProgramLocalParameter4dvEXT");
// 	if(ptrglNamedProgramLocalParameter4dvEXT == NULL) return 1;
// 	ptrglNamedProgramLocalParameter4fEXT = goglGetProcAddress("glNamedProgramLocalParameter4fEXT");
// 	if(ptrglNamedProgramLocalParameter4fEXT == NULL) return 1;
// 	ptrglNamedProgramLocalParameter4fvEXT = goglGetProcAddress("glNamedProgramLocalParameter4fvEXT");
// 	if(ptrglNamedProgramLocalParameter4fvEXT == NULL) return 1;
// 	ptrglGetNamedProgramLocalParameterdvEXT = goglGetProcAddress("glGetNamedProgramLocalParameterdvEXT");
// 	if(ptrglGetNamedProgramLocalParameterdvEXT == NULL) return 1;
// 	ptrglGetNamedProgramLocalParameterfvEXT = goglGetProcAddress("glGetNamedProgramLocalParameterfvEXT");
// 	if(ptrglGetNamedProgramLocalParameterfvEXT == NULL) return 1;
// 	ptrglGetNamedProgramivEXT = goglGetProcAddress("glGetNamedProgramivEXT");
// 	if(ptrglGetNamedProgramivEXT == NULL) return 1;
// 	ptrglGetNamedProgramStringEXT = goglGetProcAddress("glGetNamedProgramStringEXT");
// 	if(ptrglGetNamedProgramStringEXT == NULL) return 1;
// 	ptrglNamedProgramLocalParameters4fvEXT = goglGetProcAddress("glNamedProgramLocalParameters4fvEXT");
// 	if(ptrglNamedProgramLocalParameters4fvEXT == NULL) return 1;
// 	ptrglNamedProgramLocalParameterI4iEXT = goglGetProcAddress("glNamedProgramLocalParameterI4iEXT");
// 	if(ptrglNamedProgramLocalParameterI4iEXT == NULL) return 1;
// 	ptrglNamedProgramLocalParameterI4ivEXT = goglGetProcAddress("glNamedProgramLocalParameterI4ivEXT");
// 	if(ptrglNamedProgramLocalParameterI4ivEXT == NULL) return 1;
// 	ptrglNamedProgramLocalParametersI4ivEXT = goglGetProcAddress("glNamedProgramLocalParametersI4ivEXT");
// 	if(ptrglNamedProgramLocalParametersI4ivEXT == NULL) return 1;
// 	ptrglNamedProgramLocalParameterI4uiEXT = goglGetProcAddress("glNamedProgramLocalParameterI4uiEXT");
// 	if(ptrglNamedProgramLocalParameterI4uiEXT == NULL) return 1;
// 	ptrglNamedProgramLocalParameterI4uivEXT = goglGetProcAddress("glNamedProgramLocalParameterI4uivEXT");
// 	if(ptrglNamedProgramLocalParameterI4uivEXT == NULL) return 1;
// 	ptrglNamedProgramLocalParametersI4uivEXT = goglGetProcAddress("glNamedProgramLocalParametersI4uivEXT");
// 	if(ptrglNamedProgramLocalParametersI4uivEXT == NULL) return 1;
// 	ptrglGetNamedProgramLocalParameterIivEXT = goglGetProcAddress("glGetNamedProgramLocalParameterIivEXT");
// 	if(ptrglGetNamedProgramLocalParameterIivEXT == NULL) return 1;
// 	ptrglGetNamedProgramLocalParameterIuivEXT = goglGetProcAddress("glGetNamedProgramLocalParameterIuivEXT");
// 	if(ptrglGetNamedProgramLocalParameterIuivEXT == NULL) return 1;
// 	ptrglTextureParameterIivEXT = goglGetProcAddress("glTextureParameterIivEXT");
// 	if(ptrglTextureParameterIivEXT == NULL) return 1;
// 	ptrglTextureParameterIuivEXT = goglGetProcAddress("glTextureParameterIuivEXT");
// 	if(ptrglTextureParameterIuivEXT == NULL) return 1;
// 	ptrglGetTextureParameterIivEXT = goglGetProcAddress("glGetTextureParameterIivEXT");
// 	if(ptrglGetTextureParameterIivEXT == NULL) return 1;
// 	ptrglGetTextureParameterIuivEXT = goglGetProcAddress("glGetTextureParameterIuivEXT");
// 	if(ptrglGetTextureParameterIuivEXT == NULL) return 1;
// 	ptrglMultiTexParameterIivEXT = goglGetProcAddress("glMultiTexParameterIivEXT");
// 	if(ptrglMultiTexParameterIivEXT == NULL) return 1;
// 	ptrglMultiTexParameterIuivEXT = goglGetProcAddress("glMultiTexParameterIuivEXT");
// 	if(ptrglMultiTexParameterIuivEXT == NULL) return 1;
// 	ptrglGetMultiTexParameterIivEXT = goglGetProcAddress("glGetMultiTexParameterIivEXT");
// 	if(ptrglGetMultiTexParameterIivEXT == NULL) return 1;
// 	ptrglGetMultiTexParameterIuivEXT = goglGetProcAddress("glGetMultiTexParameterIuivEXT");
// 	if(ptrglGetMultiTexParameterIuivEXT == NULL) return 1;
// 	ptrglProgramUniform1fEXT = goglGetProcAddress("glProgramUniform1fEXT");
// 	if(ptrglProgramUniform1fEXT == NULL) return 1;
// 	ptrglProgramUniform2fEXT = goglGetProcAddress("glProgramUniform2fEXT");
// 	if(ptrglProgramUniform2fEXT == NULL) return 1;
// 	ptrglProgramUniform3fEXT = goglGetProcAddress("glProgramUniform3fEXT");
// 	if(ptrglProgramUniform3fEXT == NULL) return 1;
// 	ptrglProgramUniform4fEXT = goglGetProcAddress("glProgramUniform4fEXT");
// 	if(ptrglProgramUniform4fEXT == NULL) return 1;
// 	ptrglProgramUniform1iEXT = goglGetProcAddress("glProgramUniform1iEXT");
// 	if(ptrglProgramUniform1iEXT == NULL) return 1;
// 	ptrglProgramUniform2iEXT = goglGetProcAddress("glProgramUniform2iEXT");
// 	if(ptrglProgramUniform2iEXT == NULL) return 1;
// 	ptrglProgramUniform3iEXT = goglGetProcAddress("glProgramUniform3iEXT");
// 	if(ptrglProgramUniform3iEXT == NULL) return 1;
// 	ptrglProgramUniform4iEXT = goglGetProcAddress("glProgramUniform4iEXT");
// 	if(ptrglProgramUniform4iEXT == NULL) return 1;
// 	ptrglProgramUniform1fvEXT = goglGetProcAddress("glProgramUniform1fvEXT");
// 	if(ptrglProgramUniform1fvEXT == NULL) return 1;
// 	ptrglProgramUniform2fvEXT = goglGetProcAddress("glProgramUniform2fvEXT");
// 	if(ptrglProgramUniform2fvEXT == NULL) return 1;
// 	ptrglProgramUniform3fvEXT = goglGetProcAddress("glProgramUniform3fvEXT");
// 	if(ptrglProgramUniform3fvEXT == NULL) return 1;
// 	ptrglProgramUniform4fvEXT = goglGetProcAddress("glProgramUniform4fvEXT");
// 	if(ptrglProgramUniform4fvEXT == NULL) return 1;
// 	ptrglProgramUniform1ivEXT = goglGetProcAddress("glProgramUniform1ivEXT");
// 	if(ptrglProgramUniform1ivEXT == NULL) return 1;
// 	ptrglProgramUniform2ivEXT = goglGetProcAddress("glProgramUniform2ivEXT");
// 	if(ptrglProgramUniform2ivEXT == NULL) return 1;
// 	ptrglProgramUniform3ivEXT = goglGetProcAddress("glProgramUniform3ivEXT");
// 	if(ptrglProgramUniform3ivEXT == NULL) return 1;
// 	ptrglProgramUniform4ivEXT = goglGetProcAddress("glProgramUniform4ivEXT");
// 	if(ptrglProgramUniform4ivEXT == NULL) return 1;
// 	ptrglProgramUniformMatrix2fvEXT = goglGetProcAddress("glProgramUniformMatrix2fvEXT");
// 	if(ptrglProgramUniformMatrix2fvEXT == NULL) return 1;
// 	ptrglProgramUniformMatrix3fvEXT = goglGetProcAddress("glProgramUniformMatrix3fvEXT");
// 	if(ptrglProgramUniformMatrix3fvEXT == NULL) return 1;
// 	ptrglProgramUniformMatrix4fvEXT = goglGetProcAddress("glProgramUniformMatrix4fvEXT");
// 	if(ptrglProgramUniformMatrix4fvEXT == NULL) return 1;
// 	ptrglProgramUniformMatrix2x3fvEXT = goglGetProcAddress("glProgramUniformMatrix2x3fvEXT");
// 	if(ptrglProgramUniformMatrix2x3fvEXT == NULL) return 1;
// 	ptrglProgramUniformMatrix3x2fvEXT = goglGetProcAddress("glProgramUniformMatrix3x2fvEXT");
// 	if(ptrglProgramUniformMatrix3x2fvEXT == NULL) return 1;
// 	ptrglProgramUniformMatrix2x4fvEXT = goglGetProcAddress("glProgramUniformMatrix2x4fvEXT");
// 	if(ptrglProgramUniformMatrix2x4fvEXT == NULL) return 1;
// 	ptrglProgramUniformMatrix4x2fvEXT = goglGetProcAddress("glProgramUniformMatrix4x2fvEXT");
// 	if(ptrglProgramUniformMatrix4x2fvEXT == NULL) return 1;
// 	ptrglProgramUniformMatrix3x4fvEXT = goglGetProcAddress("glProgramUniformMatrix3x4fvEXT");
// 	if(ptrglProgramUniformMatrix3x4fvEXT == NULL) return 1;
// 	ptrglProgramUniformMatrix4x3fvEXT = goglGetProcAddress("glProgramUniformMatrix4x3fvEXT");
// 	if(ptrglProgramUniformMatrix4x3fvEXT == NULL) return 1;
// 	ptrglProgramUniform1uiEXT = goglGetProcAddress("glProgramUniform1uiEXT");
// 	if(ptrglProgramUniform1uiEXT == NULL) return 1;
// 	ptrglProgramUniform2uiEXT = goglGetProcAddress("glProgramUniform2uiEXT");
// 	if(ptrglProgramUniform2uiEXT == NULL) return 1;
// 	ptrglProgramUniform3uiEXT = goglGetProcAddress("glProgramUniform3uiEXT");
// 	if(ptrglProgramUniform3uiEXT == NULL) return 1;
// 	ptrglProgramUniform4uiEXT = goglGetProcAddress("glProgramUniform4uiEXT");
// 	if(ptrglProgramUniform4uiEXT == NULL) return 1;
// 	ptrglProgramUniform1uivEXT = goglGetProcAddress("glProgramUniform1uivEXT");
// 	if(ptrglProgramUniform1uivEXT == NULL) return 1;
// 	ptrglProgramUniform2uivEXT = goglGetProcAddress("glProgramUniform2uivEXT");
// 	if(ptrglProgramUniform2uivEXT == NULL) return 1;
// 	ptrglProgramUniform3uivEXT = goglGetProcAddress("glProgramUniform3uivEXT");
// 	if(ptrglProgramUniform3uivEXT == NULL) return 1;
// 	ptrglProgramUniform4uivEXT = goglGetProcAddress("glProgramUniform4uivEXT");
// 	if(ptrglProgramUniform4uivEXT == NULL) return 1;
// 	ptrglNamedBufferDataEXT = goglGetProcAddress("glNamedBufferDataEXT");
// 	if(ptrglNamedBufferDataEXT == NULL) return 1;
// 	ptrglNamedBufferSubDataEXT = goglGetProcAddress("glNamedBufferSubDataEXT");
// 	if(ptrglNamedBufferSubDataEXT == NULL) return 1;
// 	ptrglMapNamedBufferEXT = goglGetProcAddress("glMapNamedBufferEXT");
// 	if(ptrglMapNamedBufferEXT == NULL) return 1;
// 	ptrglUnmapNamedBufferEXT = goglGetProcAddress("glUnmapNamedBufferEXT");
// 	if(ptrglUnmapNamedBufferEXT == NULL) return 1;
// 	ptrglMapNamedBufferRangeEXT = goglGetProcAddress("glMapNamedBufferRangeEXT");
// 	if(ptrglMapNamedBufferRangeEXT == NULL) return 1;
// 	ptrglFlushMappedNamedBufferRangeEXT = goglGetProcAddress("glFlushMappedNamedBufferRangeEXT");
// 	if(ptrglFlushMappedNamedBufferRangeEXT == NULL) return 1;
// 	ptrglNamedCopyBufferSubDataEXT = goglGetProcAddress("glNamedCopyBufferSubDataEXT");
// 	if(ptrglNamedCopyBufferSubDataEXT == NULL) return 1;
// 	ptrglGetNamedBufferParameterivEXT = goglGetProcAddress("glGetNamedBufferParameterivEXT");
// 	if(ptrglGetNamedBufferParameterivEXT == NULL) return 1;
// 	ptrglGetNamedBufferPointervEXT = goglGetProcAddress("glGetNamedBufferPointervEXT");
// 	if(ptrglGetNamedBufferPointervEXT == NULL) return 1;
// 	ptrglGetNamedBufferSubDataEXT = goglGetProcAddress("glGetNamedBufferSubDataEXT");
// 	if(ptrglGetNamedBufferSubDataEXT == NULL) return 1;
// 	ptrglTextureBufferEXT = goglGetProcAddress("glTextureBufferEXT");
// 	if(ptrglTextureBufferEXT == NULL) return 1;
// 	ptrglMultiTexBufferEXT = goglGetProcAddress("glMultiTexBufferEXT");
// 	if(ptrglMultiTexBufferEXT == NULL) return 1;
// 	ptrglNamedRenderbufferStorageEXT = goglGetProcAddress("glNamedRenderbufferStorageEXT");
// 	if(ptrglNamedRenderbufferStorageEXT == NULL) return 1;
// 	ptrglGetNamedRenderbufferParameterivEXT = goglGetProcAddress("glGetNamedRenderbufferParameterivEXT");
// 	if(ptrglGetNamedRenderbufferParameterivEXT == NULL) return 1;
// 	ptrglCheckNamedFramebufferStatusEXT = goglGetProcAddress("glCheckNamedFramebufferStatusEXT");
// 	if(ptrglCheckNamedFramebufferStatusEXT == NULL) return 1;
// 	ptrglNamedFramebufferTexture1DEXT = goglGetProcAddress("glNamedFramebufferTexture1DEXT");
// 	if(ptrglNamedFramebufferTexture1DEXT == NULL) return 1;
// 	ptrglNamedFramebufferTexture2DEXT = goglGetProcAddress("glNamedFramebufferTexture2DEXT");
// 	if(ptrglNamedFramebufferTexture2DEXT == NULL) return 1;
// 	ptrglNamedFramebufferTexture3DEXT = goglGetProcAddress("glNamedFramebufferTexture3DEXT");
// 	if(ptrglNamedFramebufferTexture3DEXT == NULL) return 1;
// 	ptrglNamedFramebufferRenderbufferEXT = goglGetProcAddress("glNamedFramebufferRenderbufferEXT");
// 	if(ptrglNamedFramebufferRenderbufferEXT == NULL) return 1;
// 	ptrglGetNamedFramebufferAttachmentParameterivEXT = goglGetProcAddress("glGetNamedFramebufferAttachmentParameterivEXT");
// 	if(ptrglGetNamedFramebufferAttachmentParameterivEXT == NULL) return 1;
// 	ptrglGenerateTextureMipmapEXT = goglGetProcAddress("glGenerateTextureMipmapEXT");
// 	if(ptrglGenerateTextureMipmapEXT == NULL) return 1;
// 	ptrglGenerateMultiTexMipmapEXT = goglGetProcAddress("glGenerateMultiTexMipmapEXT");
// 	if(ptrglGenerateMultiTexMipmapEXT == NULL) return 1;
// 	ptrglFramebufferDrawBufferEXT = goglGetProcAddress("glFramebufferDrawBufferEXT");
// 	if(ptrglFramebufferDrawBufferEXT == NULL) return 1;
// 	ptrglFramebufferDrawBuffersEXT = goglGetProcAddress("glFramebufferDrawBuffersEXT");
// 	if(ptrglFramebufferDrawBuffersEXT == NULL) return 1;
// 	ptrglFramebufferReadBufferEXT = goglGetProcAddress("glFramebufferReadBufferEXT");
// 	if(ptrglFramebufferReadBufferEXT == NULL) return 1;
// 	ptrglGetFramebufferParameterivEXT = goglGetProcAddress("glGetFramebufferParameterivEXT");
// 	if(ptrglGetFramebufferParameterivEXT == NULL) return 1;
// 	ptrglNamedRenderbufferStorageMultisampleEXT = goglGetProcAddress("glNamedRenderbufferStorageMultisampleEXT");
// 	if(ptrglNamedRenderbufferStorageMultisampleEXT == NULL) return 1;
// 	ptrglNamedRenderbufferStorageMultisampleCoverageEXT = goglGetProcAddress("glNamedRenderbufferStorageMultisampleCoverageEXT");
// 	if(ptrglNamedRenderbufferStorageMultisampleCoverageEXT == NULL) return 1;
// 	ptrglNamedFramebufferTextureEXT = goglGetProcAddress("glNamedFramebufferTextureEXT");
// 	if(ptrglNamedFramebufferTextureEXT == NULL) return 1;
// 	ptrglNamedFramebufferTextureLayerEXT = goglGetProcAddress("glNamedFramebufferTextureLayerEXT");
// 	if(ptrglNamedFramebufferTextureLayerEXT == NULL) return 1;
// 	ptrglNamedFramebufferTextureFaceEXT = goglGetProcAddress("glNamedFramebufferTextureFaceEXT");
// 	if(ptrglNamedFramebufferTextureFaceEXT == NULL) return 1;
// 	ptrglTextureRenderbufferEXT = goglGetProcAddress("glTextureRenderbufferEXT");
// 	if(ptrglTextureRenderbufferEXT == NULL) return 1;
// 	ptrglMultiTexRenderbufferEXT = goglGetProcAddress("glMultiTexRenderbufferEXT");
// 	if(ptrglMultiTexRenderbufferEXT == NULL) return 1;
// 	ptrglProgramUniform1dEXT = goglGetProcAddress("glProgramUniform1dEXT");
// 	if(ptrglProgramUniform1dEXT == NULL) return 1;
// 	ptrglProgramUniform2dEXT = goglGetProcAddress("glProgramUniform2dEXT");
// 	if(ptrglProgramUniform2dEXT == NULL) return 1;
// 	ptrglProgramUniform3dEXT = goglGetProcAddress("glProgramUniform3dEXT");
// 	if(ptrglProgramUniform3dEXT == NULL) return 1;
// 	ptrglProgramUniform4dEXT = goglGetProcAddress("glProgramUniform4dEXT");
// 	if(ptrglProgramUniform4dEXT == NULL) return 1;
// 	ptrglProgramUniform1dvEXT = goglGetProcAddress("glProgramUniform1dvEXT");
// 	if(ptrglProgramUniform1dvEXT == NULL) return 1;
// 	ptrglProgramUniform2dvEXT = goglGetProcAddress("glProgramUniform2dvEXT");
// 	if(ptrglProgramUniform2dvEXT == NULL) return 1;
// 	ptrglProgramUniform3dvEXT = goglGetProcAddress("glProgramUniform3dvEXT");
// 	if(ptrglProgramUniform3dvEXT == NULL) return 1;
// 	ptrglProgramUniform4dvEXT = goglGetProcAddress("glProgramUniform4dvEXT");
// 	if(ptrglProgramUniform4dvEXT == NULL) return 1;
// 	ptrglProgramUniformMatrix2dvEXT = goglGetProcAddress("glProgramUniformMatrix2dvEXT");
// 	if(ptrglProgramUniformMatrix2dvEXT == NULL) return 1;
// 	ptrglProgramUniformMatrix3dvEXT = goglGetProcAddress("glProgramUniformMatrix3dvEXT");
// 	if(ptrglProgramUniformMatrix3dvEXT == NULL) return 1;
// 	ptrglProgramUniformMatrix4dvEXT = goglGetProcAddress("glProgramUniformMatrix4dvEXT");
// 	if(ptrglProgramUniformMatrix4dvEXT == NULL) return 1;
// 	ptrglProgramUniformMatrix2x3dvEXT = goglGetProcAddress("glProgramUniformMatrix2x3dvEXT");
// 	if(ptrglProgramUniformMatrix2x3dvEXT == NULL) return 1;
// 	ptrglProgramUniformMatrix2x4dvEXT = goglGetProcAddress("glProgramUniformMatrix2x4dvEXT");
// 	if(ptrglProgramUniformMatrix2x4dvEXT == NULL) return 1;
// 	ptrglProgramUniformMatrix3x2dvEXT = goglGetProcAddress("glProgramUniformMatrix3x2dvEXT");
// 	if(ptrglProgramUniformMatrix3x2dvEXT == NULL) return 1;
// 	ptrglProgramUniformMatrix3x4dvEXT = goglGetProcAddress("glProgramUniformMatrix3x4dvEXT");
// 	if(ptrglProgramUniformMatrix3x4dvEXT == NULL) return 1;
// 	ptrglProgramUniformMatrix4x2dvEXT = goglGetProcAddress("glProgramUniformMatrix4x2dvEXT");
// 	if(ptrglProgramUniformMatrix4x2dvEXT == NULL) return 1;
// 	ptrglProgramUniformMatrix4x3dvEXT = goglGetProcAddress("glProgramUniformMatrix4x3dvEXT");
// 	if(ptrglProgramUniformMatrix4x3dvEXT == NULL) return 1;
// 	ptrglEnableVertexArrayAttribEXT = goglGetProcAddress("glEnableVertexArrayAttribEXT");
// 	if(ptrglEnableVertexArrayAttribEXT == NULL) return 1;
// 	ptrglDisableVertexArrayAttribEXT = goglGetProcAddress("glDisableVertexArrayAttribEXT");
// 	if(ptrglDisableVertexArrayAttribEXT == NULL) return 1;
// 	ptrglEnableVertexArrayEXT = goglGetProcAddress("glEnableVertexArrayEXT");
// 	if(ptrglEnableVertexArrayEXT == NULL) return 1;
// 	ptrglDisableVertexArrayEXT = goglGetProcAddress("glDisableVertexArrayEXT");
// 	if(ptrglDisableVertexArrayEXT == NULL) return 1;
// 	ptrglVertexArrayColorOffsetEXT = goglGetProcAddress("glVertexArrayColorOffsetEXT");
// 	if(ptrglVertexArrayColorOffsetEXT == NULL) return 1;
// 	ptrglVertexArrayEdgeFlagOffsetEXT = goglGetProcAddress("glVertexArrayEdgeFlagOffsetEXT");
// 	if(ptrglVertexArrayEdgeFlagOffsetEXT == NULL) return 1;
// 	ptrglVertexArrayFogCoordOffsetEXT = goglGetProcAddress("glVertexArrayFogCoordOffsetEXT");
// 	if(ptrglVertexArrayFogCoordOffsetEXT == NULL) return 1;
// 	ptrglVertexArrayIndexOffsetEXT = goglGetProcAddress("glVertexArrayIndexOffsetEXT");
// 	if(ptrglVertexArrayIndexOffsetEXT == NULL) return 1;
// 	ptrglVertexArrayMultiTexCoordOffsetEXT = goglGetProcAddress("glVertexArrayMultiTexCoordOffsetEXT");
// 	if(ptrglVertexArrayMultiTexCoordOffsetEXT == NULL) return 1;
// 	ptrglVertexArrayNormalOffsetEXT = goglGetProcAddress("glVertexArrayNormalOffsetEXT");
// 	if(ptrglVertexArrayNormalOffsetEXT == NULL) return 1;
// 	ptrglVertexArraySecondaryColorOffsetEXT = goglGetProcAddress("glVertexArraySecondaryColorOffsetEXT");
// 	if(ptrglVertexArraySecondaryColorOffsetEXT == NULL) return 1;
// 	ptrglVertexArrayTexCoordOffsetEXT = goglGetProcAddress("glVertexArrayTexCoordOffsetEXT");
// 	if(ptrglVertexArrayTexCoordOffsetEXT == NULL) return 1;
// 	ptrglVertexArrayVertexOffsetEXT = goglGetProcAddress("glVertexArrayVertexOffsetEXT");
// 	if(ptrglVertexArrayVertexOffsetEXT == NULL) return 1;
// 	ptrglVertexArrayVertexAttribIOffsetEXT = goglGetProcAddress("glVertexArrayVertexAttribIOffsetEXT");
// 	if(ptrglVertexArrayVertexAttribIOffsetEXT == NULL) return 1;
// 	ptrglVertexArrayVertexAttribOffsetEXT = goglGetProcAddress("glVertexArrayVertexAttribOffsetEXT");
// 	if(ptrglVertexArrayVertexAttribOffsetEXT == NULL) return 1;
// 	ptrglGetVertexArrayIntegervEXT = goglGetProcAddress("glGetVertexArrayIntegervEXT");
// 	if(ptrglGetVertexArrayIntegervEXT == NULL) return 1;
// 	ptrglGetVertexArrayPointervEXT = goglGetProcAddress("glGetVertexArrayPointervEXT");
// 	if(ptrglGetVertexArrayPointervEXT == NULL) return 1;
// 	ptrglGetVertexArrayIntegeri_vEXT = goglGetProcAddress("glGetVertexArrayIntegeri_vEXT");
// 	if(ptrglGetVertexArrayIntegeri_vEXT == NULL) return 1;
// 	ptrglGetVertexArrayPointeri_vEXT = goglGetProcAddress("glGetVertexArrayPointeri_vEXT");
// 	if(ptrglGetVertexArrayPointeri_vEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_draw_buffers2() {
// 	ptrglColorMaskIndexedEXT = goglGetProcAddress("glColorMaskIndexedEXT");
// 	if(ptrglColorMaskIndexedEXT == NULL) return 1;
// 	ptrglGetBooleanIndexedvEXT = goglGetProcAddress("glGetBooleanIndexedvEXT");
// 	if(ptrglGetBooleanIndexedvEXT == NULL) return 1;
// 	ptrglGetIntegerIndexedvEXT = goglGetProcAddress("glGetIntegerIndexedvEXT");
// 	if(ptrglGetIntegerIndexedvEXT == NULL) return 1;
// 	ptrglEnableIndexedEXT = goglGetProcAddress("glEnableIndexedEXT");
// 	if(ptrglEnableIndexedEXT == NULL) return 1;
// 	ptrglDisableIndexedEXT = goglGetProcAddress("glDisableIndexedEXT");
// 	if(ptrglDisableIndexedEXT == NULL) return 1;
// 	ptrglIsEnabledIndexedEXT = goglGetProcAddress("glIsEnabledIndexedEXT");
// 	if(ptrglIsEnabledIndexedEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_draw_instanced() {
// 	ptrglDrawArraysInstancedEXT = goglGetProcAddress("glDrawArraysInstancedEXT");
// 	if(ptrglDrawArraysInstancedEXT == NULL) return 1;
// 	ptrglDrawElementsInstancedEXT = goglGetProcAddress("glDrawElementsInstancedEXT");
// 	if(ptrglDrawElementsInstancedEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_draw_range_elements() {
// 	ptrglDrawRangeElementsEXT = goglGetProcAddress("glDrawRangeElementsEXT");
// 	if(ptrglDrawRangeElementsEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_fog_coord() {
// 	ptrglFogCoordfEXT = goglGetProcAddress("glFogCoordfEXT");
// 	if(ptrglFogCoordfEXT == NULL) return 1;
// 	ptrglFogCoordfvEXT = goglGetProcAddress("glFogCoordfvEXT");
// 	if(ptrglFogCoordfvEXT == NULL) return 1;
// 	ptrglFogCoorddEXT = goglGetProcAddress("glFogCoorddEXT");
// 	if(ptrglFogCoorddEXT == NULL) return 1;
// 	ptrglFogCoorddvEXT = goglGetProcAddress("glFogCoorddvEXT");
// 	if(ptrglFogCoorddvEXT == NULL) return 1;
// 	ptrglFogCoordPointerEXT = goglGetProcAddress("glFogCoordPointerEXT");
// 	if(ptrglFogCoordPointerEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_framebuffer_blit() {
// 	ptrglBlitFramebufferEXT = goglGetProcAddress("glBlitFramebufferEXT");
// 	if(ptrglBlitFramebufferEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_framebuffer_multisample() {
// 	ptrglRenderbufferStorageMultisampleEXT = goglGetProcAddress("glRenderbufferStorageMultisampleEXT");
// 	if(ptrglRenderbufferStorageMultisampleEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_framebuffer_object() {
// 	ptrglIsRenderbufferEXT = goglGetProcAddress("glIsRenderbufferEXT");
// 	if(ptrglIsRenderbufferEXT == NULL) return 1;
// 	ptrglBindRenderbufferEXT = goglGetProcAddress("glBindRenderbufferEXT");
// 	if(ptrglBindRenderbufferEXT == NULL) return 1;
// 	ptrglDeleteRenderbuffersEXT = goglGetProcAddress("glDeleteRenderbuffersEXT");
// 	if(ptrglDeleteRenderbuffersEXT == NULL) return 1;
// 	ptrglGenRenderbuffersEXT = goglGetProcAddress("glGenRenderbuffersEXT");
// 	if(ptrglGenRenderbuffersEXT == NULL) return 1;
// 	ptrglRenderbufferStorageEXT = goglGetProcAddress("glRenderbufferStorageEXT");
// 	if(ptrglRenderbufferStorageEXT == NULL) return 1;
// 	ptrglGetRenderbufferParameterivEXT = goglGetProcAddress("glGetRenderbufferParameterivEXT");
// 	if(ptrglGetRenderbufferParameterivEXT == NULL) return 1;
// 	ptrglIsFramebufferEXT = goglGetProcAddress("glIsFramebufferEXT");
// 	if(ptrglIsFramebufferEXT == NULL) return 1;
// 	ptrglBindFramebufferEXT = goglGetProcAddress("glBindFramebufferEXT");
// 	if(ptrglBindFramebufferEXT == NULL) return 1;
// 	ptrglDeleteFramebuffersEXT = goglGetProcAddress("glDeleteFramebuffersEXT");
// 	if(ptrglDeleteFramebuffersEXT == NULL) return 1;
// 	ptrglGenFramebuffersEXT = goglGetProcAddress("glGenFramebuffersEXT");
// 	if(ptrglGenFramebuffersEXT == NULL) return 1;
// 	ptrglCheckFramebufferStatusEXT = goglGetProcAddress("glCheckFramebufferStatusEXT");
// 	if(ptrglCheckFramebufferStatusEXT == NULL) return 1;
// 	ptrglFramebufferTexture1DEXT = goglGetProcAddress("glFramebufferTexture1DEXT");
// 	if(ptrglFramebufferTexture1DEXT == NULL) return 1;
// 	ptrglFramebufferTexture2DEXT = goglGetProcAddress("glFramebufferTexture2DEXT");
// 	if(ptrglFramebufferTexture2DEXT == NULL) return 1;
// 	ptrglFramebufferTexture3DEXT = goglGetProcAddress("glFramebufferTexture3DEXT");
// 	if(ptrglFramebufferTexture3DEXT == NULL) return 1;
// 	ptrglFramebufferRenderbufferEXT = goglGetProcAddress("glFramebufferRenderbufferEXT");
// 	if(ptrglFramebufferRenderbufferEXT == NULL) return 1;
// 	ptrglGetFramebufferAttachmentParameterivEXT = goglGetProcAddress("glGetFramebufferAttachmentParameterivEXT");
// 	if(ptrglGetFramebufferAttachmentParameterivEXT == NULL) return 1;
// 	ptrglGenerateMipmapEXT = goglGetProcAddress("glGenerateMipmapEXT");
// 	if(ptrglGenerateMipmapEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_geometry_shader4() {
// 	ptrglProgramParameteriEXT = goglGetProcAddress("glProgramParameteriEXT");
// 	if(ptrglProgramParameteriEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_gpu_program_parameters() {
// 	ptrglProgramEnvParameters4fvEXT = goglGetProcAddress("glProgramEnvParameters4fvEXT");
// 	if(ptrglProgramEnvParameters4fvEXT == NULL) return 1;
// 	ptrglProgramLocalParameters4fvEXT = goglGetProcAddress("glProgramLocalParameters4fvEXT");
// 	if(ptrglProgramLocalParameters4fvEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_gpu_shader4() {
// 	ptrglGetUniformuivEXT = goglGetProcAddress("glGetUniformuivEXT");
// 	if(ptrglGetUniformuivEXT == NULL) return 1;
// 	ptrglBindFragDataLocationEXT = goglGetProcAddress("glBindFragDataLocationEXT");
// 	if(ptrglBindFragDataLocationEXT == NULL) return 1;
// 	ptrglGetFragDataLocationEXT = goglGetProcAddress("glGetFragDataLocationEXT");
// 	if(ptrglGetFragDataLocationEXT == NULL) return 1;
// 	ptrglUniform1uiEXT = goglGetProcAddress("glUniform1uiEXT");
// 	if(ptrglUniform1uiEXT == NULL) return 1;
// 	ptrglUniform2uiEXT = goglGetProcAddress("glUniform2uiEXT");
// 	if(ptrglUniform2uiEXT == NULL) return 1;
// 	ptrglUniform3uiEXT = goglGetProcAddress("glUniform3uiEXT");
// 	if(ptrglUniform3uiEXT == NULL) return 1;
// 	ptrglUniform4uiEXT = goglGetProcAddress("glUniform4uiEXT");
// 	if(ptrglUniform4uiEXT == NULL) return 1;
// 	ptrglUniform1uivEXT = goglGetProcAddress("glUniform1uivEXT");
// 	if(ptrglUniform1uivEXT == NULL) return 1;
// 	ptrglUniform2uivEXT = goglGetProcAddress("glUniform2uivEXT");
// 	if(ptrglUniform2uivEXT == NULL) return 1;
// 	ptrglUniform3uivEXT = goglGetProcAddress("glUniform3uivEXT");
// 	if(ptrglUniform3uivEXT == NULL) return 1;
// 	ptrglUniform4uivEXT = goglGetProcAddress("glUniform4uivEXT");
// 	if(ptrglUniform4uivEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_histogram() {
// 	ptrglGetHistogramEXT = goglGetProcAddress("glGetHistogramEXT");
// 	if(ptrglGetHistogramEXT == NULL) return 1;
// 	ptrglGetHistogramParameterfvEXT = goglGetProcAddress("glGetHistogramParameterfvEXT");
// 	if(ptrglGetHistogramParameterfvEXT == NULL) return 1;
// 	ptrglGetHistogramParameterivEXT = goglGetProcAddress("glGetHistogramParameterivEXT");
// 	if(ptrglGetHistogramParameterivEXT == NULL) return 1;
// 	ptrglGetMinmaxEXT = goglGetProcAddress("glGetMinmaxEXT");
// 	if(ptrglGetMinmaxEXT == NULL) return 1;
// 	ptrglGetMinmaxParameterfvEXT = goglGetProcAddress("glGetMinmaxParameterfvEXT");
// 	if(ptrglGetMinmaxParameterfvEXT == NULL) return 1;
// 	ptrglGetMinmaxParameterivEXT = goglGetProcAddress("glGetMinmaxParameterivEXT");
// 	if(ptrglGetMinmaxParameterivEXT == NULL) return 1;
// 	ptrglHistogramEXT = goglGetProcAddress("glHistogramEXT");
// 	if(ptrglHistogramEXT == NULL) return 1;
// 	ptrglMinmaxEXT = goglGetProcAddress("glMinmaxEXT");
// 	if(ptrglMinmaxEXT == NULL) return 1;
// 	ptrglResetHistogramEXT = goglGetProcAddress("glResetHistogramEXT");
// 	if(ptrglResetHistogramEXT == NULL) return 1;
// 	ptrglResetMinmaxEXT = goglGetProcAddress("glResetMinmaxEXT");
// 	if(ptrglResetMinmaxEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_index_func() {
// 	ptrglIndexFuncEXT = goglGetProcAddress("glIndexFuncEXT");
// 	if(ptrglIndexFuncEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_index_material() {
// 	ptrglIndexMaterialEXT = goglGetProcAddress("glIndexMaterialEXT");
// 	if(ptrglIndexMaterialEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_light_texture() {
// 	ptrglApplyTextureEXT = goglGetProcAddress("glApplyTextureEXT");
// 	if(ptrglApplyTextureEXT == NULL) return 1;
// 	ptrglTextureLightEXT = goglGetProcAddress("glTextureLightEXT");
// 	if(ptrglTextureLightEXT == NULL) return 1;
// 	ptrglTextureMaterialEXT = goglGetProcAddress("glTextureMaterialEXT");
// 	if(ptrglTextureMaterialEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_multi_draw_arrays() {
// 	ptrglMultiDrawArraysEXT = goglGetProcAddress("glMultiDrawArraysEXT");
// 	if(ptrglMultiDrawArraysEXT == NULL) return 1;
// 	ptrglMultiDrawElementsEXT = goglGetProcAddress("glMultiDrawElementsEXT");
// 	if(ptrglMultiDrawElementsEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_multisample() {
// 	ptrglSampleMaskEXT = goglGetProcAddress("glSampleMaskEXT");
// 	if(ptrglSampleMaskEXT == NULL) return 1;
// 	ptrglSamplePatternEXT = goglGetProcAddress("glSamplePatternEXT");
// 	if(ptrglSamplePatternEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_paletted_texture() {
// 	ptrglColorTableEXT = goglGetProcAddress("glColorTableEXT");
// 	if(ptrglColorTableEXT == NULL) return 1;
// 	ptrglGetColorTableEXT = goglGetProcAddress("glGetColorTableEXT");
// 	if(ptrglGetColorTableEXT == NULL) return 1;
// 	ptrglGetColorTableParameterivEXT = goglGetProcAddress("glGetColorTableParameterivEXT");
// 	if(ptrglGetColorTableParameterivEXT == NULL) return 1;
// 	ptrglGetColorTableParameterfvEXT = goglGetProcAddress("glGetColorTableParameterfvEXT");
// 	if(ptrglGetColorTableParameterfvEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_pixel_transform() {
// 	ptrglPixelTransformParameteriEXT = goglGetProcAddress("glPixelTransformParameteriEXT");
// 	if(ptrglPixelTransformParameteriEXT == NULL) return 1;
// 	ptrglPixelTransformParameterfEXT = goglGetProcAddress("glPixelTransformParameterfEXT");
// 	if(ptrglPixelTransformParameterfEXT == NULL) return 1;
// 	ptrglPixelTransformParameterivEXT = goglGetProcAddress("glPixelTransformParameterivEXT");
// 	if(ptrglPixelTransformParameterivEXT == NULL) return 1;
// 	ptrglPixelTransformParameterfvEXT = goglGetProcAddress("glPixelTransformParameterfvEXT");
// 	if(ptrglPixelTransformParameterfvEXT == NULL) return 1;
// 	ptrglGetPixelTransformParameterivEXT = goglGetProcAddress("glGetPixelTransformParameterivEXT");
// 	if(ptrglGetPixelTransformParameterivEXT == NULL) return 1;
// 	ptrglGetPixelTransformParameterfvEXT = goglGetProcAddress("glGetPixelTransformParameterfvEXT");
// 	if(ptrglGetPixelTransformParameterfvEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_point_parameters() {
// 	ptrglPointParameterfEXT = goglGetProcAddress("glPointParameterfEXT");
// 	if(ptrglPointParameterfEXT == NULL) return 1;
// 	ptrglPointParameterfvEXT = goglGetProcAddress("glPointParameterfvEXT");
// 	if(ptrglPointParameterfvEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_polygon_offset() {
// 	ptrglPolygonOffsetEXT = goglGetProcAddress("glPolygonOffsetEXT");
// 	if(ptrglPolygonOffsetEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_provoking_vertex() {
// 	ptrglProvokingVertexEXT = goglGetProcAddress("glProvokingVertexEXT");
// 	if(ptrglProvokingVertexEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_secondary_color() {
// 	ptrglSecondaryColor3bEXT = goglGetProcAddress("glSecondaryColor3bEXT");
// 	if(ptrglSecondaryColor3bEXT == NULL) return 1;
// 	ptrglSecondaryColor3bvEXT = goglGetProcAddress("glSecondaryColor3bvEXT");
// 	if(ptrglSecondaryColor3bvEXT == NULL) return 1;
// 	ptrglSecondaryColor3dEXT = goglGetProcAddress("glSecondaryColor3dEXT");
// 	if(ptrglSecondaryColor3dEXT == NULL) return 1;
// 	ptrglSecondaryColor3dvEXT = goglGetProcAddress("glSecondaryColor3dvEXT");
// 	if(ptrglSecondaryColor3dvEXT == NULL) return 1;
// 	ptrglSecondaryColor3fEXT = goglGetProcAddress("glSecondaryColor3fEXT");
// 	if(ptrglSecondaryColor3fEXT == NULL) return 1;
// 	ptrglSecondaryColor3fvEXT = goglGetProcAddress("glSecondaryColor3fvEXT");
// 	if(ptrglSecondaryColor3fvEXT == NULL) return 1;
// 	ptrglSecondaryColor3iEXT = goglGetProcAddress("glSecondaryColor3iEXT");
// 	if(ptrglSecondaryColor3iEXT == NULL) return 1;
// 	ptrglSecondaryColor3ivEXT = goglGetProcAddress("glSecondaryColor3ivEXT");
// 	if(ptrglSecondaryColor3ivEXT == NULL) return 1;
// 	ptrglSecondaryColor3sEXT = goglGetProcAddress("glSecondaryColor3sEXT");
// 	if(ptrglSecondaryColor3sEXT == NULL) return 1;
// 	ptrglSecondaryColor3svEXT = goglGetProcAddress("glSecondaryColor3svEXT");
// 	if(ptrglSecondaryColor3svEXT == NULL) return 1;
// 	ptrglSecondaryColor3ubEXT = goglGetProcAddress("glSecondaryColor3ubEXT");
// 	if(ptrglSecondaryColor3ubEXT == NULL) return 1;
// 	ptrglSecondaryColor3ubvEXT = goglGetProcAddress("glSecondaryColor3ubvEXT");
// 	if(ptrglSecondaryColor3ubvEXT == NULL) return 1;
// 	ptrglSecondaryColor3uiEXT = goglGetProcAddress("glSecondaryColor3uiEXT");
// 	if(ptrglSecondaryColor3uiEXT == NULL) return 1;
// 	ptrglSecondaryColor3uivEXT = goglGetProcAddress("glSecondaryColor3uivEXT");
// 	if(ptrglSecondaryColor3uivEXT == NULL) return 1;
// 	ptrglSecondaryColor3usEXT = goglGetProcAddress("glSecondaryColor3usEXT");
// 	if(ptrglSecondaryColor3usEXT == NULL) return 1;
// 	ptrglSecondaryColor3usvEXT = goglGetProcAddress("glSecondaryColor3usvEXT");
// 	if(ptrglSecondaryColor3usvEXT == NULL) return 1;
// 	ptrglSecondaryColorPointerEXT = goglGetProcAddress("glSecondaryColorPointerEXT");
// 	if(ptrglSecondaryColorPointerEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_separate_shader_objects() {
// 	ptrglUseShaderProgramEXT = goglGetProcAddress("glUseShaderProgramEXT");
// 	if(ptrglUseShaderProgramEXT == NULL) return 1;
// 	ptrglActiveProgramEXT = goglGetProcAddress("glActiveProgramEXT");
// 	if(ptrglActiveProgramEXT == NULL) return 1;
// 	ptrglCreateShaderProgramEXT = goglGetProcAddress("glCreateShaderProgramEXT");
// 	if(ptrglCreateShaderProgramEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_shader_image_load_store() {
// 	ptrglBindImageTextureEXT = goglGetProcAddress("glBindImageTextureEXT");
// 	if(ptrglBindImageTextureEXT == NULL) return 1;
// 	ptrglMemoryBarrierEXT = goglGetProcAddress("glMemoryBarrierEXT");
// 	if(ptrglMemoryBarrierEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_stencil_clear_tag() {
// 	ptrglStencilClearTagEXT = goglGetProcAddress("glStencilClearTagEXT");
// 	if(ptrglStencilClearTagEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_stencil_two_side() {
// 	ptrglActiveStencilFaceEXT = goglGetProcAddress("glActiveStencilFaceEXT");
// 	if(ptrglActiveStencilFaceEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_subtexture() {
// 	ptrglTexSubImage1DEXT = goglGetProcAddress("glTexSubImage1DEXT");
// 	if(ptrglTexSubImage1DEXT == NULL) return 1;
// 	ptrglTexSubImage2DEXT = goglGetProcAddress("glTexSubImage2DEXT");
// 	if(ptrglTexSubImage2DEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_texture3D() {
// 	ptrglTexImage3DEXT = goglGetProcAddress("glTexImage3DEXT");
// 	if(ptrglTexImage3DEXT == NULL) return 1;
// 	ptrglTexSubImage3DEXT = goglGetProcAddress("glTexSubImage3DEXT");
// 	if(ptrglTexSubImage3DEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_texture_buffer_object() {
// 	ptrglTexBufferEXT = goglGetProcAddress("glTexBufferEXT");
// 	if(ptrglTexBufferEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_texture_integer() {
// 	ptrglTexParameterIivEXT = goglGetProcAddress("glTexParameterIivEXT");
// 	if(ptrglTexParameterIivEXT == NULL) return 1;
// 	ptrglTexParameterIuivEXT = goglGetProcAddress("glTexParameterIuivEXT");
// 	if(ptrglTexParameterIuivEXT == NULL) return 1;
// 	ptrglGetTexParameterIivEXT = goglGetProcAddress("glGetTexParameterIivEXT");
// 	if(ptrglGetTexParameterIivEXT == NULL) return 1;
// 	ptrglGetTexParameterIuivEXT = goglGetProcAddress("glGetTexParameterIuivEXT");
// 	if(ptrglGetTexParameterIuivEXT == NULL) return 1;
// 	ptrglClearColorIiEXT = goglGetProcAddress("glClearColorIiEXT");
// 	if(ptrglClearColorIiEXT == NULL) return 1;
// 	ptrglClearColorIuiEXT = goglGetProcAddress("glClearColorIuiEXT");
// 	if(ptrglClearColorIuiEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_texture_object() {
// 	ptrglAreTexturesResidentEXT = goglGetProcAddress("glAreTexturesResidentEXT");
// 	if(ptrglAreTexturesResidentEXT == NULL) return 1;
// 	ptrglBindTextureEXT = goglGetProcAddress("glBindTextureEXT");
// 	if(ptrglBindTextureEXT == NULL) return 1;
// 	ptrglDeleteTexturesEXT = goglGetProcAddress("glDeleteTexturesEXT");
// 	if(ptrglDeleteTexturesEXT == NULL) return 1;
// 	ptrglGenTexturesEXT = goglGetProcAddress("glGenTexturesEXT");
// 	if(ptrglGenTexturesEXT == NULL) return 1;
// 	ptrglIsTextureEXT = goglGetProcAddress("glIsTextureEXT");
// 	if(ptrglIsTextureEXT == NULL) return 1;
// 	ptrglPrioritizeTexturesEXT = goglGetProcAddress("glPrioritizeTexturesEXT");
// 	if(ptrglPrioritizeTexturesEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_texture_perturb_normal() {
// 	ptrglTextureNormalEXT = goglGetProcAddress("glTextureNormalEXT");
// 	if(ptrglTextureNormalEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_timer_query() {
// 	ptrglGetQueryObjecti64vEXT = goglGetProcAddress("glGetQueryObjecti64vEXT");
// 	if(ptrglGetQueryObjecti64vEXT == NULL) return 1;
// 	ptrglGetQueryObjectui64vEXT = goglGetProcAddress("glGetQueryObjectui64vEXT");
// 	if(ptrglGetQueryObjectui64vEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_transform_feedback() {
// 	ptrglBeginTransformFeedbackEXT = goglGetProcAddress("glBeginTransformFeedbackEXT");
// 	if(ptrglBeginTransformFeedbackEXT == NULL) return 1;
// 	ptrglEndTransformFeedbackEXT = goglGetProcAddress("glEndTransformFeedbackEXT");
// 	if(ptrglEndTransformFeedbackEXT == NULL) return 1;
// 	ptrglBindBufferRangeEXT = goglGetProcAddress("glBindBufferRangeEXT");
// 	if(ptrglBindBufferRangeEXT == NULL) return 1;
// 	ptrglBindBufferOffsetEXT = goglGetProcAddress("glBindBufferOffsetEXT");
// 	if(ptrglBindBufferOffsetEXT == NULL) return 1;
// 	ptrglBindBufferBaseEXT = goglGetProcAddress("glBindBufferBaseEXT");
// 	if(ptrglBindBufferBaseEXT == NULL) return 1;
// 	ptrglTransformFeedbackVaryingsEXT = goglGetProcAddress("glTransformFeedbackVaryingsEXT");
// 	if(ptrglTransformFeedbackVaryingsEXT == NULL) return 1;
// 	ptrglGetTransformFeedbackVaryingEXT = goglGetProcAddress("glGetTransformFeedbackVaryingEXT");
// 	if(ptrglGetTransformFeedbackVaryingEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_vertex_array() {
// 	ptrglArrayElementEXT = goglGetProcAddress("glArrayElementEXT");
// 	if(ptrglArrayElementEXT == NULL) return 1;
// 	ptrglColorPointerEXT = goglGetProcAddress("glColorPointerEXT");
// 	if(ptrglColorPointerEXT == NULL) return 1;
// 	ptrglDrawArraysEXT = goglGetProcAddress("glDrawArraysEXT");
// 	if(ptrglDrawArraysEXT == NULL) return 1;
// 	ptrglEdgeFlagPointerEXT = goglGetProcAddress("glEdgeFlagPointerEXT");
// 	if(ptrglEdgeFlagPointerEXT == NULL) return 1;
// 	ptrglGetPointervEXT = goglGetProcAddress("glGetPointervEXT");
// 	if(ptrglGetPointervEXT == NULL) return 1;
// 	ptrglIndexPointerEXT = goglGetProcAddress("glIndexPointerEXT");
// 	if(ptrglIndexPointerEXT == NULL) return 1;
// 	ptrglNormalPointerEXT = goglGetProcAddress("glNormalPointerEXT");
// 	if(ptrglNormalPointerEXT == NULL) return 1;
// 	ptrglTexCoordPointerEXT = goglGetProcAddress("glTexCoordPointerEXT");
// 	if(ptrglTexCoordPointerEXT == NULL) return 1;
// 	ptrglVertexPointerEXT = goglGetProcAddress("glVertexPointerEXT");
// 	if(ptrglVertexPointerEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_vertex_attrib_64bit() {
// 	ptrglVertexAttribL1dEXT = goglGetProcAddress("glVertexAttribL1dEXT");
// 	if(ptrglVertexAttribL1dEXT == NULL) return 1;
// 	ptrglVertexAttribL2dEXT = goglGetProcAddress("glVertexAttribL2dEXT");
// 	if(ptrglVertexAttribL2dEXT == NULL) return 1;
// 	ptrglVertexAttribL3dEXT = goglGetProcAddress("glVertexAttribL3dEXT");
// 	if(ptrglVertexAttribL3dEXT == NULL) return 1;
// 	ptrglVertexAttribL4dEXT = goglGetProcAddress("glVertexAttribL4dEXT");
// 	if(ptrglVertexAttribL4dEXT == NULL) return 1;
// 	ptrglVertexAttribL1dvEXT = goglGetProcAddress("glVertexAttribL1dvEXT");
// 	if(ptrglVertexAttribL1dvEXT == NULL) return 1;
// 	ptrglVertexAttribL2dvEXT = goglGetProcAddress("glVertexAttribL2dvEXT");
// 	if(ptrglVertexAttribL2dvEXT == NULL) return 1;
// 	ptrglVertexAttribL3dvEXT = goglGetProcAddress("glVertexAttribL3dvEXT");
// 	if(ptrglVertexAttribL3dvEXT == NULL) return 1;
// 	ptrglVertexAttribL4dvEXT = goglGetProcAddress("glVertexAttribL4dvEXT");
// 	if(ptrglVertexAttribL4dvEXT == NULL) return 1;
// 	ptrglVertexAttribLPointerEXT = goglGetProcAddress("glVertexAttribLPointerEXT");
// 	if(ptrglVertexAttribLPointerEXT == NULL) return 1;
// 	ptrglGetVertexAttribLdvEXT = goglGetProcAddress("glGetVertexAttribLdvEXT");
// 	if(ptrglGetVertexAttribLdvEXT == NULL) return 1;
// 	ptrglVertexArrayVertexAttribLOffsetEXT = goglGetProcAddress("glVertexArrayVertexAttribLOffsetEXT");
// 	if(ptrglVertexArrayVertexAttribLOffsetEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_vertex_shader() {
// 	ptrglBeginVertexShaderEXT = goglGetProcAddress("glBeginVertexShaderEXT");
// 	if(ptrglBeginVertexShaderEXT == NULL) return 1;
// 	ptrglEndVertexShaderEXT = goglGetProcAddress("glEndVertexShaderEXT");
// 	if(ptrglEndVertexShaderEXT == NULL) return 1;
// 	ptrglBindVertexShaderEXT = goglGetProcAddress("glBindVertexShaderEXT");
// 	if(ptrglBindVertexShaderEXT == NULL) return 1;
// 	ptrglGenVertexShadersEXT = goglGetProcAddress("glGenVertexShadersEXT");
// 	if(ptrglGenVertexShadersEXT == NULL) return 1;
// 	ptrglDeleteVertexShaderEXT = goglGetProcAddress("glDeleteVertexShaderEXT");
// 	if(ptrglDeleteVertexShaderEXT == NULL) return 1;
// 	ptrglShaderOp1EXT = goglGetProcAddress("glShaderOp1EXT");
// 	if(ptrglShaderOp1EXT == NULL) return 1;
// 	ptrglShaderOp2EXT = goglGetProcAddress("glShaderOp2EXT");
// 	if(ptrglShaderOp2EXT == NULL) return 1;
// 	ptrglShaderOp3EXT = goglGetProcAddress("glShaderOp3EXT");
// 	if(ptrglShaderOp3EXT == NULL) return 1;
// 	ptrglSwizzleEXT = goglGetProcAddress("glSwizzleEXT");
// 	if(ptrglSwizzleEXT == NULL) return 1;
// 	ptrglWriteMaskEXT = goglGetProcAddress("glWriteMaskEXT");
// 	if(ptrglWriteMaskEXT == NULL) return 1;
// 	ptrglInsertComponentEXT = goglGetProcAddress("glInsertComponentEXT");
// 	if(ptrglInsertComponentEXT == NULL) return 1;
// 	ptrglExtractComponentEXT = goglGetProcAddress("glExtractComponentEXT");
// 	if(ptrglExtractComponentEXT == NULL) return 1;
// 	ptrglGenSymbolsEXT = goglGetProcAddress("glGenSymbolsEXT");
// 	if(ptrglGenSymbolsEXT == NULL) return 1;
// 	ptrglSetInvariantEXT = goglGetProcAddress("glSetInvariantEXT");
// 	if(ptrglSetInvariantEXT == NULL) return 1;
// 	ptrglSetLocalConstantEXT = goglGetProcAddress("glSetLocalConstantEXT");
// 	if(ptrglSetLocalConstantEXT == NULL) return 1;
// 	ptrglVariantbvEXT = goglGetProcAddress("glVariantbvEXT");
// 	if(ptrglVariantbvEXT == NULL) return 1;
// 	ptrglVariantsvEXT = goglGetProcAddress("glVariantsvEXT");
// 	if(ptrglVariantsvEXT == NULL) return 1;
// 	ptrglVariantivEXT = goglGetProcAddress("glVariantivEXT");
// 	if(ptrglVariantivEXT == NULL) return 1;
// 	ptrglVariantfvEXT = goglGetProcAddress("glVariantfvEXT");
// 	if(ptrglVariantfvEXT == NULL) return 1;
// 	ptrglVariantdvEXT = goglGetProcAddress("glVariantdvEXT");
// 	if(ptrglVariantdvEXT == NULL) return 1;
// 	ptrglVariantubvEXT = goglGetProcAddress("glVariantubvEXT");
// 	if(ptrglVariantubvEXT == NULL) return 1;
// 	ptrglVariantusvEXT = goglGetProcAddress("glVariantusvEXT");
// 	if(ptrglVariantusvEXT == NULL) return 1;
// 	ptrglVariantuivEXT = goglGetProcAddress("glVariantuivEXT");
// 	if(ptrglVariantuivEXT == NULL) return 1;
// 	ptrglVariantPointerEXT = goglGetProcAddress("glVariantPointerEXT");
// 	if(ptrglVariantPointerEXT == NULL) return 1;
// 	ptrglEnableVariantClientStateEXT = goglGetProcAddress("glEnableVariantClientStateEXT");
// 	if(ptrglEnableVariantClientStateEXT == NULL) return 1;
// 	ptrglDisableVariantClientStateEXT = goglGetProcAddress("glDisableVariantClientStateEXT");
// 	if(ptrglDisableVariantClientStateEXT == NULL) return 1;
// 	ptrglBindLightParameterEXT = goglGetProcAddress("glBindLightParameterEXT");
// 	if(ptrglBindLightParameterEXT == NULL) return 1;
// 	ptrglBindMaterialParameterEXT = goglGetProcAddress("glBindMaterialParameterEXT");
// 	if(ptrglBindMaterialParameterEXT == NULL) return 1;
// 	ptrglBindTexGenParameterEXT = goglGetProcAddress("glBindTexGenParameterEXT");
// 	if(ptrglBindTexGenParameterEXT == NULL) return 1;
// 	ptrglBindTextureUnitParameterEXT = goglGetProcAddress("glBindTextureUnitParameterEXT");
// 	if(ptrglBindTextureUnitParameterEXT == NULL) return 1;
// 	ptrglBindParameterEXT = goglGetProcAddress("glBindParameterEXT");
// 	if(ptrglBindParameterEXT == NULL) return 1;
// 	ptrglIsVariantEnabledEXT = goglGetProcAddress("glIsVariantEnabledEXT");
// 	if(ptrglIsVariantEnabledEXT == NULL) return 1;
// 	ptrglGetVariantBooleanvEXT = goglGetProcAddress("glGetVariantBooleanvEXT");
// 	if(ptrglGetVariantBooleanvEXT == NULL) return 1;
// 	ptrglGetVariantIntegervEXT = goglGetProcAddress("glGetVariantIntegervEXT");
// 	if(ptrglGetVariantIntegervEXT == NULL) return 1;
// 	ptrglGetVariantFloatvEXT = goglGetProcAddress("glGetVariantFloatvEXT");
// 	if(ptrglGetVariantFloatvEXT == NULL) return 1;
// 	ptrglGetVariantPointervEXT = goglGetProcAddress("glGetVariantPointervEXT");
// 	if(ptrglGetVariantPointervEXT == NULL) return 1;
// 	ptrglGetInvariantBooleanvEXT = goglGetProcAddress("glGetInvariantBooleanvEXT");
// 	if(ptrglGetInvariantBooleanvEXT == NULL) return 1;
// 	ptrglGetInvariantIntegervEXT = goglGetProcAddress("glGetInvariantIntegervEXT");
// 	if(ptrglGetInvariantIntegervEXT == NULL) return 1;
// 	ptrglGetInvariantFloatvEXT = goglGetProcAddress("glGetInvariantFloatvEXT");
// 	if(ptrglGetInvariantFloatvEXT == NULL) return 1;
// 	ptrglGetLocalConstantBooleanvEXT = goglGetProcAddress("glGetLocalConstantBooleanvEXT");
// 	if(ptrglGetLocalConstantBooleanvEXT == NULL) return 1;
// 	ptrglGetLocalConstantIntegervEXT = goglGetProcAddress("glGetLocalConstantIntegervEXT");
// 	if(ptrglGetLocalConstantIntegervEXT == NULL) return 1;
// 	ptrglGetLocalConstantFloatvEXT = goglGetProcAddress("glGetLocalConstantFloatvEXT");
// 	if(ptrglGetLocalConstantFloatvEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_vertex_weighting() {
// 	ptrglVertexWeightfEXT = goglGetProcAddress("glVertexWeightfEXT");
// 	if(ptrglVertexWeightfEXT == NULL) return 1;
// 	ptrglVertexWeightfvEXT = goglGetProcAddress("glVertexWeightfvEXT");
// 	if(ptrglVertexWeightfvEXT == NULL) return 1;
// 	ptrglVertexWeightPointerEXT = goglGetProcAddress("glVertexWeightPointerEXT");
// 	if(ptrglVertexWeightPointerEXT == NULL) return 1;
// 	return 0;
// }
// int init_EXT_x11_sync_object() {
// 	ptrglImportSyncEXT = goglGetProcAddress("glImportSyncEXT");
// 	if(ptrglImportSyncEXT == NULL) return 1;
// 	return 0;
// }
// 
import "C"
import "unsafe"
import "errors"

type (
	Enum     C.GLenum
	Boolean  C.GLboolean
	Bitfield C.GLbitfield
	Byte     C.GLbyte
	Short    C.GLshort
	Int      C.GLint
	Sizei    C.GLsizei
	Ubyte    C.GLubyte
	Ushort   C.GLushort
	Uint     C.GLuint
	Half     C.GLhalf
	Float    C.GLfloat
	Clampf   C.GLclampf
	Double   C.GLdouble
	Clampd   C.GLclampd
	Char     C.GLchar
	Pointer  unsafe.Pointer
	Sync     C.GLsync
	Int64    C.GLint64
	Uint64   C.GLuint64
	Intptr   C.GLintptr
	Sizeiptr C.GLsizeiptr
)

// EXT_422_pixels
const (
	X422_AVERAGE_EXT = 0x80CE
	X422_EXT = 0x80CC
	X422_REV_AVERAGE_EXT = 0x80CF
	X422_REV_EXT = 0x80CD
)
// EXT_abgr
const (
	ABGR_EXT = 0x8000
)
// EXT_bgra
const (
	BGRA_EXT = 0x80E1
	BGR_EXT = 0x80E0
)
// EXT_bindable_uniform
const (
	MAX_BINDABLE_UNIFORM_SIZE_EXT = 0x8DED
	MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = 0x8DE3
	MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = 0x8DE4
	MAX_VERTEX_BINDABLE_UNIFORMS_EXT = 0x8DE2
	UNIFORM_BUFFER_BINDING_EXT = 0x8DEF
	UNIFORM_BUFFER_EXT = 0x8DEE
)
// EXT_blend_color
const (
	BLEND_COLOR_EXT = 0x8005
	CONSTANT_ALPHA_EXT = 0x8003
	CONSTANT_COLOR_EXT = 0x8001
	ONE_MINUS_CONSTANT_ALPHA_EXT = 0x8004
	ONE_MINUS_CONSTANT_COLOR_EXT = 0x8002
)
// EXT_blend_equation_separate
const (
	BLEND_EQUATION_ALPHA_EXT = 0x883D
	BLEND_EQUATION_RGB_EXT = 0x8009
)
// EXT_blend_func_separate
const (
	BLEND_DST_ALPHA_EXT = 0x80CA
	BLEND_DST_RGB_EXT = 0x80C8
	BLEND_SRC_ALPHA_EXT = 0x80CB
	BLEND_SRC_RGB_EXT = 0x80C9
)
// EXT_blend_logic_op
const (
)
// EXT_blend_minmax
const (
	BLEND_EQUATION_EXT = 0x8009
	FUNC_ADD_EXT = 0x8006
	MAX_EXT = 0x8008
	MIN_EXT = 0x8007
)
// EXT_blend_subtract
const (
	FUNC_REVERSE_SUBTRACT_EXT = 0x800B
	FUNC_SUBTRACT_EXT = 0x800A
)
// EXT_clip_volume_hint
const (
	CLIP_VOLUME_CLIPPING_HINT_EXT = 0x80F0
)
// EXT_cmyka
const (
	CMYKA_EXT = 0x800D
	CMYK_EXT = 0x800C
	PACK_CMYK_HINT_EXT = 0x800E
	UNPACK_CMYK_HINT_EXT = 0x800F
)
// EXT_color_subtable
const (
)
// EXT_compiled_vertex_array
const (
	ARRAY_ELEMENT_LOCK_COUNT_EXT = 0x81A9
	ARRAY_ELEMENT_LOCK_FIRST_EXT = 0x81A8
)
// EXT_convolution
const (
	CONVOLUTION_1D_EXT = 0x8010
	CONVOLUTION_2D_EXT = 0x8011
	CONVOLUTION_BORDER_MODE_EXT = 0x8013
	CONVOLUTION_FILTER_BIAS_EXT = 0x8015
	CONVOLUTION_FILTER_SCALE_EXT = 0x8014
	CONVOLUTION_FORMAT_EXT = 0x8017
	CONVOLUTION_HEIGHT_EXT = 0x8019
	CONVOLUTION_WIDTH_EXT = 0x8018
	MAX_CONVOLUTION_HEIGHT_EXT = 0x801B
	MAX_CONVOLUTION_WIDTH_EXT = 0x801A
	POST_CONVOLUTION_ALPHA_BIAS_EXT = 0x8023
	POST_CONVOLUTION_ALPHA_SCALE_EXT = 0x801F
	POST_CONVOLUTION_BLUE_BIAS_EXT = 0x8022
	POST_CONVOLUTION_BLUE_SCALE_EXT = 0x801E
	POST_CONVOLUTION_GREEN_BIAS_EXT = 0x8021
	POST_CONVOLUTION_GREEN_SCALE_EXT = 0x801D
	POST_CONVOLUTION_RED_BIAS_EXT = 0x8020
	POST_CONVOLUTION_RED_SCALE_EXT = 0x801C
	REDUCE_EXT = 0x8016
	SEPARABLE_2D_EXT = 0x8012
)
// EXT_coordinate_frame
const (
	BINORMAL_ARRAY_EXT = 0x843A
	BINORMAL_ARRAY_POINTER_EXT = 0x8443
	BINORMAL_ARRAY_STRIDE_EXT = 0x8441
	BINORMAL_ARRAY_TYPE_EXT = 0x8440
	CURRENT_BINORMAL_EXT = 0x843C
	CURRENT_TANGENT_EXT = 0x843B
	MAP1_BINORMAL_EXT = 0x8446
	MAP1_TANGENT_EXT = 0x8444
	MAP2_BINORMAL_EXT = 0x8447
	MAP2_TANGENT_EXT = 0x8445
	TANGENT_ARRAY_EXT = 0x8439
	TANGENT_ARRAY_POINTER_EXT = 0x8442
	TANGENT_ARRAY_STRIDE_EXT = 0x843F
	TANGENT_ARRAY_TYPE_EXT = 0x843E
)
// EXT_copy_texture
const (
)
// EXT_cull_vertex
const (
	CULL_VERTEX_EXT = 0x81AA
	CULL_VERTEX_EYE_POSITION_EXT = 0x81AB
	CULL_VERTEX_OBJECT_POSITION_EXT = 0x81AC
)
// EXT_depth_bounds_test
const (
	DEPTH_BOUNDS_EXT = 0x8891
	DEPTH_BOUNDS_TEST_EXT = 0x8890
)
// EXT_direct_state_access
const (
	PROGRAM_MATRIX_EXT = 0x8E2D
	PROGRAM_MATRIX_STACK_DEPTH_EXT = 0x8E2F
	TRANSPOSE_PROGRAM_MATRIX_EXT = 0x8E2E
)
// EXT_draw_buffers2
const (
)
// EXT_draw_instanced
const (
)
// EXT_draw_range_elements
const (
	MAX_ELEMENTS_INDICES_EXT = 0x80E9
	MAX_ELEMENTS_VERTICES_EXT = 0x80E8
)
// EXT_fog_coord
const (
	CURRENT_FOG_COORDINATE_EXT = 0x8453
	FOG_COORDINATE_ARRAY_EXT = 0x8457
	FOG_COORDINATE_ARRAY_POINTER_EXT = 0x8456
	FOG_COORDINATE_ARRAY_STRIDE_EXT = 0x8455
	FOG_COORDINATE_ARRAY_TYPE_EXT = 0x8454
	FOG_COORDINATE_EXT = 0x8451
	FOG_COORDINATE_SOURCE_EXT = 0x8450
)
// EXT_framebuffer_blit
const (
	DRAW_FRAMEBUFFER_BINDING_EXT = 0x8CA6
	DRAW_FRAMEBUFFER_EXT = 0x8CA9
	READ_FRAMEBUFFER_BINDING_EXT = 0x8CAA
	READ_FRAMEBUFFER_EXT = 0x8CA8
)
// EXT_framebuffer_multisample
const (
	FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = 0x8D56
	MAX_SAMPLES_EXT = 0x8D57
	RENDERBUFFER_SAMPLES_EXT = 0x8CAB
)
// EXT_framebuffer_multisample_blit_scaled
const (
	SCALED_RESOLVE_FASTEST_EXT = 0x90BA
	SCALED_RESOLVE_NICEST_EXT = 0x90BB
)
// EXT_framebuffer_object
const (
	COLOR_ATTACHMENT0_EXT = 0x8CE0
	COLOR_ATTACHMENT10_EXT = 0x8CEA
	COLOR_ATTACHMENT11_EXT = 0x8CEB
	COLOR_ATTACHMENT12_EXT = 0x8CEC
	COLOR_ATTACHMENT13_EXT = 0x8CED
	COLOR_ATTACHMENT14_EXT = 0x8CEE
	COLOR_ATTACHMENT15_EXT = 0x8CEF
	COLOR_ATTACHMENT1_EXT = 0x8CE1
	COLOR_ATTACHMENT2_EXT = 0x8CE2
	COLOR_ATTACHMENT3_EXT = 0x8CE3
	COLOR_ATTACHMENT4_EXT = 0x8CE4
	COLOR_ATTACHMENT5_EXT = 0x8CE5
	COLOR_ATTACHMENT6_EXT = 0x8CE6
	COLOR_ATTACHMENT7_EXT = 0x8CE7
	COLOR_ATTACHMENT8_EXT = 0x8CE8
	COLOR_ATTACHMENT9_EXT = 0x8CE9
	DEPTH_ATTACHMENT_EXT = 0x8D00
	FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = 0x8CD1
	FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = 0x8CD0
	FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = 0x8CD4
	FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = 0x8CD3
	FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = 0x8CD2
	FRAMEBUFFER_BINDING_EXT = 0x8CA6
	FRAMEBUFFER_COMPLETE_EXT = 0x8CD5
	FRAMEBUFFER_EXT = 0x8D40
	FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = 0x8CD6
	FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = 0x8CD9
	FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = 0x8CDB
	FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = 0x8CDA
	FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = 0x8CD7
	FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = 0x8CDC
	FRAMEBUFFER_UNSUPPORTED_EXT = 0x8CDD
	INVALID_FRAMEBUFFER_OPERATION_EXT = 0x0506
	MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF
	MAX_RENDERBUFFER_SIZE_EXT = 0x84E8
	RENDERBUFFER_ALPHA_SIZE_EXT = 0x8D53
	RENDERBUFFER_BINDING_EXT = 0x8CA7
	RENDERBUFFER_BLUE_SIZE_EXT = 0x8D52
	RENDERBUFFER_DEPTH_SIZE_EXT = 0x8D54
	RENDERBUFFER_EXT = 0x8D41
	RENDERBUFFER_GREEN_SIZE_EXT = 0x8D51
	RENDERBUFFER_HEIGHT_EXT = 0x8D43
	RENDERBUFFER_INTERNAL_FORMAT_EXT = 0x8D44
	RENDERBUFFER_RED_SIZE_EXT = 0x8D50
	RENDERBUFFER_STENCIL_SIZE_EXT = 0x8D55
	RENDERBUFFER_WIDTH_EXT = 0x8D42
	STENCIL_ATTACHMENT_EXT = 0x8D20
	STENCIL_INDEX16_EXT = 0x8D49
	STENCIL_INDEX1_EXT = 0x8D46
	STENCIL_INDEX4_EXT = 0x8D47
	STENCIL_INDEX8_EXT = 0x8D48
)
// EXT_framebuffer_sRGB
const (
	FRAMEBUFFER_SRGB_CAPABLE_EXT = 0x8DBA
	FRAMEBUFFER_SRGB_EXT = 0x8DB9
)
// EXT_geometry_shader4
const (
	FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = 0x8DA7
	FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = 0x8DA9
	FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = 0x8DA8
	GEOMETRY_INPUT_TYPE_EXT = 0x8DDB
	GEOMETRY_OUTPUT_TYPE_EXT = 0x8DDC
	GEOMETRY_SHADER_EXT = 0x8DD9
	GEOMETRY_VERTICES_OUT_EXT = 0x8DDA
	LINES_ADJACENCY_EXT = 0x000A
	LINE_STRIP_ADJACENCY_EXT = 0x000B
	MAX_GEOMETRY_OUTPUT_VERTICES_EXT = 0x8DE0
	MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = 0x8C29
	MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8DE1
	MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8DDF
	MAX_GEOMETRY_VARYING_COMPONENTS_EXT = 0x8DDD
	MAX_VARYING_COMPONENTS_EXT = 0x8B4B
	MAX_VERTEX_VARYING_COMPONENTS_EXT = 0x8DDE
	PROGRAM_POINT_SIZE_EXT = 0x8642
	TRIANGLES_ADJACENCY_EXT = 0x000C
	TRIANGLE_STRIP_ADJACENCY_EXT = 0x000D
)
// EXT_gpu_program_parameters
const (
)
// EXT_gpu_shader4
const (
	INT_SAMPLER_1D_ARRAY_EXT = 0x8DCE
	INT_SAMPLER_1D_EXT = 0x8DC9
	INT_SAMPLER_2D_ARRAY_EXT = 0x8DCF
	INT_SAMPLER_2D_EXT = 0x8DCA
	INT_SAMPLER_2D_RECT_EXT = 0x8DCD
	INT_SAMPLER_3D_EXT = 0x8DCB
	INT_SAMPLER_BUFFER_EXT = 0x8DD0
	INT_SAMPLER_CUBE_EXT = 0x8DCC
	SAMPLER_1D_ARRAY_EXT = 0x8DC0
	SAMPLER_1D_ARRAY_SHADOW_EXT = 0x8DC3
	SAMPLER_2D_ARRAY_EXT = 0x8DC1
	SAMPLER_2D_ARRAY_SHADOW_EXT = 0x8DC4
	SAMPLER_BUFFER_EXT = 0x8DC2
	SAMPLER_CUBE_SHADOW_EXT = 0x8DC5
	UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = 0x8DD6
	UNSIGNED_INT_SAMPLER_1D_EXT = 0x8DD1
	UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = 0x8DD7
	UNSIGNED_INT_SAMPLER_2D_EXT = 0x8DD2
	UNSIGNED_INT_SAMPLER_2D_RECT_EXT = 0x8DD5
	UNSIGNED_INT_SAMPLER_3D_EXT = 0x8DD3
	UNSIGNED_INT_SAMPLER_BUFFER_EXT = 0x8DD8
	UNSIGNED_INT_SAMPLER_CUBE_EXT = 0x8DD4
	UNSIGNED_INT_VEC2_EXT = 0x8DC6
	UNSIGNED_INT_VEC3_EXT = 0x8DC7
	UNSIGNED_INT_VEC4_EXT = 0x8DC8
)
// EXT_histogram
const (
	HISTOGRAM_ALPHA_SIZE_EXT = 0x802B
	HISTOGRAM_BLUE_SIZE_EXT = 0x802A
	HISTOGRAM_EXT = 0x8024
	HISTOGRAM_FORMAT_EXT = 0x8027
	HISTOGRAM_GREEN_SIZE_EXT = 0x8029
	HISTOGRAM_LUMINANCE_SIZE_EXT = 0x802C
	HISTOGRAM_RED_SIZE_EXT = 0x8028
	HISTOGRAM_SINK_EXT = 0x802D
	HISTOGRAM_WIDTH_EXT = 0x8026
	MINMAX_EXT = 0x802E
	MINMAX_FORMAT_EXT = 0x802F
	MINMAX_SINK_EXT = 0x8030
	PROXY_HISTOGRAM_EXT = 0x8025
	TABLE_TOO_LARGE_EXT = 0x8031
)
// EXT_index_array_formats
const (
	IUI_N3F_V2F_EXT = 0x81AF
	IUI_N3F_V3F_EXT = 0x81B0
	IUI_V2F_EXT = 0x81AD
	IUI_V3F_EXT = 0x81AE
	T2F_IUI_N3F_V2F_EXT = 0x81B3
	T2F_IUI_N3F_V3F_EXT = 0x81B4
	T2F_IUI_V2F_EXT = 0x81B1
	T2F_IUI_V3F_EXT = 0x81B2
)
// EXT_index_func
const (
	INDEX_TEST_EXT = 0x81B5
	INDEX_TEST_FUNC_EXT = 0x81B6
	INDEX_TEST_REF_EXT = 0x81B7
)
// EXT_index_material
const (
	INDEX_MATERIAL_EXT = 0x81B8
	INDEX_MATERIAL_FACE_EXT = 0x81BA
	INDEX_MATERIAL_PARAMETER_EXT = 0x81B9
)
// EXT_index_texture
const (
)
// EXT_light_texture
const (
	ATTENUATION_EXT = 0x834D
	FRAGMENT_COLOR_EXT = 0x834C
	FRAGMENT_MATERIAL_EXT = 0x8349
	FRAGMENT_NORMAL_EXT = 0x834A
	SHADOW_ATTENUATION_EXT = 0x834E
	TEXTURE_APPLICATION_MODE_EXT = 0x834F
	TEXTURE_LIGHT_EXT = 0x8350
	TEXTURE_MATERIAL_FACE_EXT = 0x8351
	TEXTURE_MATERIAL_PARAMETER_EXT = 0x8352
)
// EXT_misc_attribute
const (
)
// EXT_multi_draw_arrays
const (
)
// EXT_multisample
const (
	X1PASS_EXT = 0x80A1
	X2PASS_0_EXT = 0x80A2
	X2PASS_1_EXT = 0x80A3
	X4PASS_0_EXT = 0x80A4
	X4PASS_1_EXT = 0x80A5
	X4PASS_2_EXT = 0x80A6
	X4PASS_3_EXT = 0x80A7
	MULTISAMPLE_BIT_EXT = 0x20000000
	MULTISAMPLE_EXT = 0x809D
	SAMPLES_EXT = 0x80A9
	SAMPLE_ALPHA_TO_MASK_EXT = 0x809E
	SAMPLE_ALPHA_TO_ONE_EXT = 0x809F
	SAMPLE_BUFFERS_EXT = 0x80A8
	SAMPLE_MASK_EXT = 0x80A0
	SAMPLE_MASK_INVERT_EXT = 0x80AB
	SAMPLE_MASK_VALUE_EXT = 0x80AA
	SAMPLE_PATTERN_EXT = 0x80AC
)
// EXT_packed_depth_stencil
const (
	DEPTH24_STENCIL8_EXT = 0x88F0
	DEPTH_STENCIL_EXT = 0x84F9
	TEXTURE_STENCIL_SIZE_EXT = 0x88F1
	UNSIGNED_INT_24_8_EXT = 0x84FA
)
// EXT_packed_float
const (
	R11F_G11F_B10F_EXT = 0x8C3A
	RGBA_SIGNED_COMPONENTS_EXT = 0x8C3C
	UNSIGNED_INT_10F_11F_11F_REV_EXT = 0x8C3B
)
// EXT_packed_pixels
const (
	UNSIGNED_BYTE_3_3_2_EXT = 0x8032
	UNSIGNED_INT_10_10_10_2_EXT = 0x8036
	UNSIGNED_INT_8_8_8_8_EXT = 0x8035
	UNSIGNED_SHORT_4_4_4_4_EXT = 0x8033
	UNSIGNED_SHORT_5_5_5_1_EXT = 0x8034
)
// EXT_paletted_texture
const (
	COLOR_INDEX12_EXT = 0x80E6
	COLOR_INDEX16_EXT = 0x80E7
	COLOR_INDEX1_EXT = 0x80E2
	COLOR_INDEX2_EXT = 0x80E3
	COLOR_INDEX4_EXT = 0x80E4
	COLOR_INDEX8_EXT = 0x80E5
	TEXTURE_INDEX_SIZE_EXT = 0x80ED
)
// EXT_pixel_buffer_object
const (
	PIXEL_PACK_BUFFER_BINDING_EXT = 0x88ED
	PIXEL_PACK_BUFFER_EXT = 0x88EB
	PIXEL_UNPACK_BUFFER_BINDING_EXT = 0x88EF
	PIXEL_UNPACK_BUFFER_EXT = 0x88EC
)
// EXT_pixel_transform
const (
	AVERAGE_EXT = 0x8335
	CUBIC_EXT = 0x8334
	MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8337
	PIXEL_CUBIC_WEIGHT_EXT = 0x8333
	PIXEL_MAG_FILTER_EXT = 0x8331
	PIXEL_MIN_FILTER_EXT = 0x8332
	PIXEL_TRANSFORM_2D_EXT = 0x8330
	PIXEL_TRANSFORM_2D_MATRIX_EXT = 0x8338
	PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8336
)
// EXT_pixel_transform_color_table
const (
)
// EXT_point_parameters
const (
	DISTANCE_ATTENUATION_EXT = 0x8129
	POINT_FADE_THRESHOLD_SIZE_EXT = 0x8128
	POINT_SIZE_MAX_EXT = 0x8127
	POINT_SIZE_MIN_EXT = 0x8126
)
// EXT_polygon_offset
const (
	POLYGON_OFFSET_BIAS_EXT = 0x8039
	POLYGON_OFFSET_EXT = 0x8037
	POLYGON_OFFSET_FACTOR_EXT = 0x8038
)
// EXT_provoking_vertex
const (
	FIRST_VERTEX_CONVENTION_EXT = 0x8E4D
	LAST_VERTEX_CONVENTION_EXT = 0x8E4E
	PROVOKING_VERTEX_EXT = 0x8E4F
	QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT = 0x8E4C
)
// EXT_rescale_normal
const (
	RESCALE_NORMAL_EXT = 0x803A
)
// EXT_secondary_color
const (
	COLOR_SUM_EXT = 0x8458
	CURRENT_SECONDARY_COLOR_EXT = 0x8459
	SECONDARY_COLOR_ARRAY_EXT = 0x845E
	SECONDARY_COLOR_ARRAY_POINTER_EXT = 0x845D
	SECONDARY_COLOR_ARRAY_SIZE_EXT = 0x845A
	SECONDARY_COLOR_ARRAY_STRIDE_EXT = 0x845C
	SECONDARY_COLOR_ARRAY_TYPE_EXT = 0x845B
)
// EXT_separate_shader_objects
const (
	ACTIVE_PROGRAM_EXT = 0x8B8D
)
// EXT_separate_specular_color
const (
	LIGHT_MODEL_COLOR_CONTROL_EXT = 0x81F8
	SEPARATE_SPECULAR_COLOR_EXT = 0x81FA
	SINGLE_COLOR_EXT = 0x81F9
)
// EXT_shader_image_load_store
const (
	ALL_BARRIER_BITS_EXT = 0xFFFFFFFF
	ATOMIC_COUNTER_BARRIER_BIT_EXT = 0x00001000
	BUFFER_UPDATE_BARRIER_BIT_EXT = 0x00000200
	COMMAND_BARRIER_BIT_EXT = 0x00000040
	ELEMENT_ARRAY_BARRIER_BIT_EXT = 0x00000002
	FRAMEBUFFER_BARRIER_BIT_EXT = 0x00000400
	IMAGE_1D_ARRAY_EXT = 0x9052
	IMAGE_1D_EXT = 0x904C
	IMAGE_2D_ARRAY_EXT = 0x9053
	IMAGE_2D_EXT = 0x904D
	IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x9056
	IMAGE_2D_MULTISAMPLE_EXT = 0x9055
	IMAGE_2D_RECT_EXT = 0x904F
	IMAGE_3D_EXT = 0x904E
	IMAGE_BINDING_ACCESS_EXT = 0x8F3E
	IMAGE_BINDING_FORMAT_EXT = 0x906E
	IMAGE_BINDING_LAYERED_EXT = 0x8F3C
	IMAGE_BINDING_LAYER_EXT = 0x8F3D
	IMAGE_BINDING_LEVEL_EXT = 0x8F3B
	IMAGE_BINDING_NAME_EXT = 0x8F3A
	IMAGE_BUFFER_EXT = 0x9051
	IMAGE_CUBE_EXT = 0x9050
	IMAGE_CUBE_MAP_ARRAY_EXT = 0x9054
	INT_IMAGE_1D_ARRAY_EXT = 0x905D
	INT_IMAGE_1D_EXT = 0x9057
	INT_IMAGE_2D_ARRAY_EXT = 0x905E
	INT_IMAGE_2D_EXT = 0x9058
	INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x9061
	INT_IMAGE_2D_MULTISAMPLE_EXT = 0x9060
	INT_IMAGE_2D_RECT_EXT = 0x905A
	INT_IMAGE_3D_EXT = 0x9059
	INT_IMAGE_BUFFER_EXT = 0x905C
	INT_IMAGE_CUBE_EXT = 0x905B
	INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x905F
	MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT = 0x8F39
	MAX_IMAGE_SAMPLES_EXT = 0x906D
	MAX_IMAGE_UNITS_EXT = 0x8F38
	PIXEL_BUFFER_BARRIER_BIT_EXT = 0x00000080
	SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT = 0x00000020
	TEXTURE_FETCH_BARRIER_BIT_EXT = 0x00000008
	TEXTURE_UPDATE_BARRIER_BIT_EXT = 0x00000100
	TRANSFORM_FEEDBACK_BARRIER_BIT_EXT = 0x00000800
	UNIFORM_BARRIER_BIT_EXT = 0x00000004
	UNSIGNED_INT_IMAGE_1D_ARRAY_EXT = 0x9068
	UNSIGNED_INT_IMAGE_1D_EXT = 0x9062
	UNSIGNED_INT_IMAGE_2D_ARRAY_EXT = 0x9069
	UNSIGNED_INT_IMAGE_2D_EXT = 0x9063
	UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x906C
	UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT = 0x906B
	UNSIGNED_INT_IMAGE_2D_RECT_EXT = 0x9065
	UNSIGNED_INT_IMAGE_3D_EXT = 0x9064
	UNSIGNED_INT_IMAGE_BUFFER_EXT = 0x9067
	UNSIGNED_INT_IMAGE_CUBE_EXT = 0x9066
	UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x906A
	VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT = 0x00000001
)
// EXT_shadow_funcs
const (
)
// EXT_shared_texture_palette
const (
	SHARED_TEXTURE_PALETTE_EXT = 0x81FB
)
// EXT_stencil_clear_tag
const (
	STENCIL_CLEAR_TAG_VALUE_EXT = 0x88F3
	STENCIL_TAG_BITS_EXT = 0x88F2
)
// EXT_stencil_two_side
const (
	ACTIVE_STENCIL_FACE_EXT = 0x8911
	STENCIL_TEST_TWO_SIDE_EXT = 0x8910
)
// EXT_stencil_wrap
const (
	DECR_WRAP_EXT = 0x8508
	INCR_WRAP_EXT = 0x8507
)
// EXT_subtexture
const (
)
// EXT_texture
const (
	ALPHA12_EXT = 0x803D
	ALPHA16_EXT = 0x803E
	ALPHA4_EXT = 0x803B
	ALPHA8_EXT = 0x803C
	INTENSITY12_EXT = 0x804C
	INTENSITY16_EXT = 0x804D
	INTENSITY4_EXT = 0x804A
	INTENSITY8_EXT = 0x804B
	INTENSITY_EXT = 0x8049
	LUMINANCE12_ALPHA12_EXT = 0x8047
	LUMINANCE12_ALPHA4_EXT = 0x8046
	LUMINANCE12_EXT = 0x8041
	LUMINANCE16_ALPHA16_EXT = 0x8048
	LUMINANCE16_EXT = 0x8042
	LUMINANCE4_ALPHA4_EXT = 0x8043
	LUMINANCE4_EXT = 0x803F
	LUMINANCE6_ALPHA2_EXT = 0x8044
	LUMINANCE8_ALPHA8_EXT = 0x8045
	LUMINANCE8_EXT = 0x8040
	PROXY_TEXTURE_1D_EXT = 0x8063
	PROXY_TEXTURE_2D_EXT = 0x8064
	REPLACE_EXT = 0x8062
	RGB10_A2_EXT = 0x8059
	RGB10_EXT = 0x8052
	RGB12_EXT = 0x8053
	RGB16_EXT = 0x8054
	RGB2_EXT = 0x804E
	RGB4_EXT = 0x804F
	RGB5_A1_EXT = 0x8057
	RGB5_EXT = 0x8050
	RGB8_EXT = 0x8051
	RGBA12_EXT = 0x805A
	RGBA16_EXT = 0x805B
	RGBA2_EXT = 0x8055
	RGBA4_EXT = 0x8056
	RGBA8_EXT = 0x8058
	TEXTURE_ALPHA_SIZE_EXT = 0x805F
	TEXTURE_BLUE_SIZE_EXT = 0x805E
	TEXTURE_GREEN_SIZE_EXT = 0x805D
	TEXTURE_INTENSITY_SIZE_EXT = 0x8061
	TEXTURE_LUMINANCE_SIZE_EXT = 0x8060
	TEXTURE_RED_SIZE_EXT = 0x805C
	TEXTURE_TOO_LARGE_EXT = 0x8065
)
// EXT_texture3D
const (
	MAX_3D_TEXTURE_SIZE_EXT = 0x8073
	PACK_IMAGE_HEIGHT_EXT = 0x806C
	PACK_SKIP_IMAGES_EXT = 0x806B
	PROXY_TEXTURE_3D_EXT = 0x8070
	TEXTURE_3D_EXT = 0x806F
	TEXTURE_DEPTH_EXT = 0x8071
	TEXTURE_WRAP_R_EXT = 0x8072
	UNPACK_IMAGE_HEIGHT_EXT = 0x806E
	UNPACK_SKIP_IMAGES_EXT = 0x806D
)
// EXT_texture_array
const (
	COMPARE_REF_DEPTH_TO_TEXTURE_EXT = 0x884E
	MAX_ARRAY_TEXTURE_LAYERS_EXT = 0x88FF
	PROXY_TEXTURE_1D_ARRAY_EXT = 0x8C19
	PROXY_TEXTURE_2D_ARRAY_EXT = 0x8C1B
	TEXTURE_1D_ARRAY_EXT = 0x8C18
	TEXTURE_2D_ARRAY_EXT = 0x8C1A
	TEXTURE_BINDING_1D_ARRAY_EXT = 0x8C1C
	TEXTURE_BINDING_2D_ARRAY_EXT = 0x8C1D
)
// EXT_texture_buffer_object
const (
	MAX_TEXTURE_BUFFER_SIZE_EXT = 0x8C2B
	TEXTURE_BINDING_BUFFER_EXT = 0x8C2C
	TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = 0x8C2D
	TEXTURE_BUFFER_EXT = 0x8C2A
	TEXTURE_BUFFER_FORMAT_EXT = 0x8C2E
)
// EXT_texture_compression_latc
const (
	COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C72
	COMPRESSED_LUMINANCE_LATC1_EXT = 0x8C70
	COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C73
	COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = 0x8C71
)
// EXT_texture_compression_rgtc
const (
	COMPRESSED_RED_GREEN_RGTC2_EXT = 0x8DBD
	COMPRESSED_RED_RGTC1_EXT = 0x8DBB
	COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = 0x8DBE
	COMPRESSED_SIGNED_RED_RGTC1_EXT = 0x8DBC
)
// EXT_texture_compression_s3tc
const (
	COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1
	COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2
	COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3
	COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0
)
// EXT_texture_cube_map
const (
	MAX_CUBE_MAP_TEXTURE_SIZE_EXT = 0x851C
	NORMAL_MAP_EXT = 0x8511
	PROXY_TEXTURE_CUBE_MAP_EXT = 0x851B
	REFLECTION_MAP_EXT = 0x8512
	TEXTURE_BINDING_CUBE_MAP_EXT = 0x8514
	TEXTURE_CUBE_MAP_EXT = 0x8513
	TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = 0x8516
	TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = 0x8518
	TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = 0x851A
	TEXTURE_CUBE_MAP_POSITIVE_X_EXT = 0x8515
	TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = 0x8517
	TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = 0x8519
)
// EXT_texture_env_add
const (
)
// EXT_texture_env_combine
const (
	ADD_SIGNED_EXT = 0x8574
	COMBINE_ALPHA_EXT = 0x8572
	COMBINE_EXT = 0x8570
	COMBINE_RGB_EXT = 0x8571
	CONSTANT_EXT = 0x8576
	INTERPOLATE_EXT = 0x8575
	OPERAND0_ALPHA_EXT = 0x8598
	OPERAND0_RGB_EXT = 0x8590
	OPERAND1_ALPHA_EXT = 0x8599
	OPERAND1_RGB_EXT = 0x8591
	OPERAND2_ALPHA_EXT = 0x859A
	OPERAND2_RGB_EXT = 0x8592
	PREVIOUS_EXT = 0x8578
	PRIMARY_COLOR_EXT = 0x8577
	RGB_SCALE_EXT = 0x8573
	SOURCE0_ALPHA_EXT = 0x8588
	SOURCE0_RGB_EXT = 0x8580
	SOURCE1_ALPHA_EXT = 0x8589
	SOURCE1_RGB_EXT = 0x8581
	SOURCE2_ALPHA_EXT = 0x858A
	SOURCE2_RGB_EXT = 0x8582
)
// EXT_texture_env_dot3
const (
	DOT3_RGBA_EXT = 0x8741
	DOT3_RGB_EXT = 0x8740
)
// EXT_texture_filter_anisotropic
const (
	MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF
	TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE
)
// EXT_texture_integer
const (
	ALPHA16I_EXT = 0x8D8A
	ALPHA16UI_EXT = 0x8D78
	ALPHA32I_EXT = 0x8D84
	ALPHA32UI_EXT = 0x8D72
	ALPHA8I_EXT = 0x8D90
	ALPHA8UI_EXT = 0x8D7E
	ALPHA_INTEGER_EXT = 0x8D97
	BGRA_INTEGER_EXT = 0x8D9B
	BGR_INTEGER_EXT = 0x8D9A
	BLUE_INTEGER_EXT = 0x8D96
	GREEN_INTEGER_EXT = 0x8D95
	INTENSITY16I_EXT = 0x8D8B
	INTENSITY16UI_EXT = 0x8D79
	INTENSITY32I_EXT = 0x8D85
	INTENSITY32UI_EXT = 0x8D73
	INTENSITY8I_EXT = 0x8D91
	INTENSITY8UI_EXT = 0x8D7F
	LUMINANCE16I_EXT = 0x8D8C
	LUMINANCE16UI_EXT = 0x8D7A
	LUMINANCE32I_EXT = 0x8D86
	LUMINANCE32UI_EXT = 0x8D74
	LUMINANCE8I_EXT = 0x8D92
	LUMINANCE8UI_EXT = 0x8D80
	LUMINANCE_ALPHA16I_EXT = 0x8D8D
	LUMINANCE_ALPHA16UI_EXT = 0x8D7B
	LUMINANCE_ALPHA32I_EXT = 0x8D87
	LUMINANCE_ALPHA32UI_EXT = 0x8D75
	LUMINANCE_ALPHA8I_EXT = 0x8D93
	LUMINANCE_ALPHA8UI_EXT = 0x8D81
	LUMINANCE_ALPHA_INTEGER_EXT = 0x8D9D
	LUMINANCE_INTEGER_EXT = 0x8D9C
	RED_INTEGER_EXT = 0x8D94
	RGB16I_EXT = 0x8D89
	RGB16UI_EXT = 0x8D77
	RGB32I_EXT = 0x8D83
	RGB32UI_EXT = 0x8D71
	RGB8I_EXT = 0x8D8F
	RGB8UI_EXT = 0x8D7D
	RGBA16I_EXT = 0x8D88
	RGBA16UI_EXT = 0x8D76
	RGBA32I_EXT = 0x8D82
	RGBA32UI_EXT = 0x8D70
	RGBA8I_EXT = 0x8D8E
	RGBA8UI_EXT = 0x8D7C
	RGBA_INTEGER_EXT = 0x8D99
	RGBA_INTEGER_MODE_EXT = 0x8D9E
	RGB_INTEGER_EXT = 0x8D98
)
// EXT_texture_lod_bias
const (
	MAX_TEXTURE_LOD_BIAS_EXT = 0x84FD
	TEXTURE_FILTER_CONTROL_EXT = 0x8500
	TEXTURE_LOD_BIAS_EXT = 0x8501
)
// EXT_texture_mirror_clamp
const (
	MIRROR_CLAMP_EXT = 0x8742
	MIRROR_CLAMP_TO_BORDER_EXT = 0x8912
	MIRROR_CLAMP_TO_EDGE_EXT = 0x8743
)
// EXT_texture_object
const (
	TEXTURE_1D_BINDING_EXT = 0x8068
	TEXTURE_2D_BINDING_EXT = 0x8069
	TEXTURE_3D_BINDING_EXT = 0x806A
	TEXTURE_PRIORITY_EXT = 0x8066
	TEXTURE_RESIDENT_EXT = 0x8067
)
// EXT_texture_perturb_normal
const (
	PERTURB_EXT = 0x85AE
	TEXTURE_NORMAL_EXT = 0x85AF
)
// EXT_texture_sRGB
const (
	COMPRESSED_SLUMINANCE_ALPHA_EXT = 0x8C4B
	COMPRESSED_SLUMINANCE_EXT = 0x8C4A
	COMPRESSED_SRGB_ALPHA_EXT = 0x8C49
	COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 0x8C4D
	COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 0x8C4E
	COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 0x8C4F
	COMPRESSED_SRGB_EXT = 0x8C48
	COMPRESSED_SRGB_S3TC_DXT1_EXT = 0x8C4C
	SLUMINANCE8_ALPHA8_EXT = 0x8C45
	SLUMINANCE8_EXT = 0x8C47
	SLUMINANCE_ALPHA_EXT = 0x8C44
	SLUMINANCE_EXT = 0x8C46
	SRGB8_ALPHA8_EXT = 0x8C43
	SRGB8_EXT = 0x8C41
	SRGB_ALPHA_EXT = 0x8C42
	SRGB_EXT = 0x8C40
)
// EXT_texture_sRGB_decode
const (
	DECODE_EXT = 0x8A49
	SKIP_DECODE_EXT = 0x8A4A
	TEXTURE_SRGB_DECODE_EXT = 0x8A48
)
// EXT_texture_shared_exponent
const (
	RGB9_E5_EXT = 0x8C3D
	TEXTURE_SHARED_SIZE_EXT = 0x8C3F
	UNSIGNED_INT_5_9_9_9_REV_EXT = 0x8C3E
)
// EXT_texture_snorm
const (
	ALPHA16_SNORM = 0x9018
	ALPHA8_SNORM = 0x9014
	ALPHA_SNORM = 0x9010
	INTENSITY16_SNORM = 0x901B
	INTENSITY8_SNORM = 0x9017
	INTENSITY_SNORM = 0x9013
	LUMINANCE16_ALPHA16_SNORM = 0x901A
	LUMINANCE16_SNORM = 0x9019
	LUMINANCE8_ALPHA8_SNORM = 0x9016
	LUMINANCE8_SNORM = 0x9015
	LUMINANCE_ALPHA_SNORM = 0x9012
	LUMINANCE_SNORM = 0x9011
	R16_SNORM = 0x8F98
	R8_SNORM = 0x8F94
	RED_SNORM = 0x8F90
	RG16_SNORM = 0x8F99
	RG8_SNORM = 0x8F95
	RGB16_SNORM = 0x8F9A
	RGB8_SNORM = 0x8F96
	RGBA16_SNORM = 0x8F9B
	RGBA8_SNORM = 0x8F97
	RGBA_SNORM = 0x8F93
	RGB_SNORM = 0x8F92
	RG_SNORM = 0x8F91
	SIGNED_NORMALIZED = 0x8F9C
)
// EXT_texture_swizzle
const (
	TEXTURE_SWIZZLE_A_EXT = 0x8E45
	TEXTURE_SWIZZLE_B_EXT = 0x8E44
	TEXTURE_SWIZZLE_G_EXT = 0x8E43
	TEXTURE_SWIZZLE_RGBA_EXT = 0x8E46
	TEXTURE_SWIZZLE_R_EXT = 0x8E42
)
// EXT_timer_query
const (
	TIME_ELAPSED_EXT = 0x88BF
)
// EXT_transform_feedback
const (
	INTERLEAVED_ATTRIBS_EXT = 0x8C8C
	MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = 0x8C8A
	MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT = 0x8C8B
	MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT = 0x8C80
	PRIMITIVES_GENERATED_EXT = 0x8C87
	RASTERIZER_DISCARD_EXT = 0x8C89
	SEPARATE_ATTRIBS_EXT = 0x8C8D
	TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT = 0x8C8F
	TRANSFORM_FEEDBACK_BUFFER_EXT = 0x8C8E
	TRANSFORM_FEEDBACK_BUFFER_MODE_EXT = 0x8C7F
	TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT = 0x8C85
	TRANSFORM_FEEDBACK_BUFFER_START_EXT = 0x8C84
	TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT = 0x8C88
	TRANSFORM_FEEDBACK_VARYINGS_EXT = 0x8C83
	TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT = 0x8C76
)
// EXT_vertex_array
const (
	COLOR_ARRAY_COUNT_EXT = 0x8084
	COLOR_ARRAY_EXT = 0x8076
	COLOR_ARRAY_POINTER_EXT = 0x8090
	COLOR_ARRAY_SIZE_EXT = 0x8081
	COLOR_ARRAY_STRIDE_EXT = 0x8083
	COLOR_ARRAY_TYPE_EXT = 0x8082
	EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D
	EDGE_FLAG_ARRAY_EXT = 0x8079
	EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093
	EDGE_FLAG_ARRAY_STRIDE_EXT = 0x808C
	INDEX_ARRAY_COUNT_EXT = 0x8087
	INDEX_ARRAY_EXT = 0x8077
	INDEX_ARRAY_POINTER_EXT = 0x8091
	INDEX_ARRAY_STRIDE_EXT = 0x8086
	INDEX_ARRAY_TYPE_EXT = 0x8085
	NORMAL_ARRAY_COUNT_EXT = 0x8080
	NORMAL_ARRAY_EXT = 0x8075
	NORMAL_ARRAY_POINTER_EXT = 0x808F
	NORMAL_ARRAY_STRIDE_EXT = 0x807F
	NORMAL_ARRAY_TYPE_EXT = 0x807E
	TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B
	TEXTURE_COORD_ARRAY_EXT = 0x8078
	TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092
	TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088
	TEXTURE_COORD_ARRAY_STRIDE_EXT = 0x808A
	TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089
	VERTEX_ARRAY_COUNT_EXT = 0x807D
	VERTEX_ARRAY_EXT = 0x8074
	VERTEX_ARRAY_POINTER_EXT = 0x808E
	VERTEX_ARRAY_SIZE_EXT = 0x807A
	VERTEX_ARRAY_STRIDE_EXT = 0x807C
	VERTEX_ARRAY_TYPE_EXT = 0x807B
)
// EXT_vertex_array_bgra
const (
	BGRA = 0x80E1
)
// EXT_vertex_attrib_64bit
const (
	DOUBLE = 0x140A
	DOUBLE_MAT2_EXT = 0x8F46
	DOUBLE_MAT2x3_EXT = 0x8F49
	DOUBLE_MAT2x4_EXT = 0x8F4A
	DOUBLE_MAT3_EXT = 0x8F47
	DOUBLE_MAT3x2_EXT = 0x8F4B
	DOUBLE_MAT3x4_EXT = 0x8F4C
	DOUBLE_MAT4_EXT = 0x8F48
	DOUBLE_MAT4x2_EXT = 0x8F4D
	DOUBLE_MAT4x3_EXT = 0x8F4E
	DOUBLE_VEC2_EXT = 0x8FFC
	DOUBLE_VEC3_EXT = 0x8FFD
	DOUBLE_VEC4_EXT = 0x8FFE
)
// EXT_vertex_shader
const (
	CURRENT_VERTEX_EXT = 0x87E2
	FULL_RANGE_EXT = 0x87E1
	INVARIANT_DATATYPE_EXT = 0x87EB
	INVARIANT_EXT = 0x87C2
	INVARIANT_VALUE_EXT = 0x87EA
	LOCAL_CONSTANT_DATATYPE_EXT = 0x87ED
	LOCAL_CONSTANT_EXT = 0x87C3
	LOCAL_CONSTANT_VALUE_EXT = 0x87EC
	LOCAL_EXT = 0x87C4
	MATRIX_EXT = 0x87C0
	MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CA
	MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = 0x87CD
	MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = 0x87CE
	MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87CC
	MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = 0x87CB
	MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87C5
	MAX_VERTEX_SHADER_INVARIANTS_EXT = 0x87C7
	MAX_VERTEX_SHADER_LOCALS_EXT = 0x87C9
	MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87C8
	MAX_VERTEX_SHADER_VARIANTS_EXT = 0x87C6
	MVP_MATRIX_EXT = 0x87E3
	NEGATIVE_ONE_EXT = 0x87DF
	NEGATIVE_W_EXT = 0x87DC
	NEGATIVE_X_EXT = 0x87D9
	NEGATIVE_Y_EXT = 0x87DA
	NEGATIVE_Z_EXT = 0x87DB
	NORMALIZED_RANGE_EXT = 0x87E0
	ONE_EXT = 0x87DE
	OP_ADD_EXT = 0x8787
	OP_CLAMP_EXT = 0x878E
	OP_CROSS_PRODUCT_EXT = 0x8797
	OP_DOT3_EXT = 0x8784
	OP_DOT4_EXT = 0x8785
	OP_EXP_BASE_2_EXT = 0x8791
	OP_FLOOR_EXT = 0x878F
	OP_FRAC_EXT = 0x8789
	OP_INDEX_EXT = 0x8782
	OP_LOG_BASE_2_EXT = 0x8792
	OP_MADD_EXT = 0x8788
	OP_MAX_EXT = 0x878A
	OP_MIN_EXT = 0x878B
	OP_MOV_EXT = 0x8799
	OP_MULTIPLY_MATRIX_EXT = 0x8798
	OP_MUL_EXT = 0x8786
	OP_NEGATE_EXT = 0x8783
	OP_POWER_EXT = 0x8793
	OP_RECIP_EXT = 0x8794
	OP_RECIP_SQRT_EXT = 0x8795
	OP_ROUND_EXT = 0x8790
	OP_SET_GE_EXT = 0x878C
	OP_SET_LT_EXT = 0x878D
	OP_SUB_EXT = 0x8796
	OUTPUT_COLOR0_EXT = 0x879B
	OUTPUT_COLOR1_EXT = 0x879C
	OUTPUT_FOG_EXT = 0x87BD
	OUTPUT_TEXTURE_COORD0_EXT = 0x879D
	OUTPUT_TEXTURE_COORD10_EXT = 0x87A7
	OUTPUT_TEXTURE_COORD11_EXT = 0x87A8
	OUTPUT_TEXTURE_COORD12_EXT = 0x87A9
	OUTPUT_TEXTURE_COORD13_EXT = 0x87AA
	OUTPUT_TEXTURE_COORD14_EXT = 0x87AB
	OUTPUT_TEXTURE_COORD15_EXT = 0x87AC
	OUTPUT_TEXTURE_COORD16_EXT = 0x87AD
	OUTPUT_TEXTURE_COORD17_EXT = 0x87AE
	OUTPUT_TEXTURE_COORD18_EXT = 0x87AF
	OUTPUT_TEXTURE_COORD19_EXT = 0x87B0
	OUTPUT_TEXTURE_COORD1_EXT = 0x879E
	OUTPUT_TEXTURE_COORD20_EXT = 0x87B1
	OUTPUT_TEXTURE_COORD21_EXT = 0x87B2
	OUTPUT_TEXTURE_COORD22_EXT = 0x87B3
	OUTPUT_TEXTURE_COORD23_EXT = 0x87B4
	OUTPUT_TEXTURE_COORD24_EXT = 0x87B5
	OUTPUT_TEXTURE_COORD25_EXT = 0x87B6
	OUTPUT_TEXTURE_COORD26_EXT = 0x87B7
	OUTPUT_TEXTURE_COORD27_EXT = 0x87B8
	OUTPUT_TEXTURE_COORD28_EXT = 0x87B9
	OUTPUT_TEXTURE_COORD29_EXT = 0x87BA
	OUTPUT_TEXTURE_COORD2_EXT = 0x879F
	OUTPUT_TEXTURE_COORD30_EXT = 0x87BB
	OUTPUT_TEXTURE_COORD31_EXT = 0x87BC
	OUTPUT_TEXTURE_COORD3_EXT = 0x87A0
	OUTPUT_TEXTURE_COORD4_EXT = 0x87A1
	OUTPUT_TEXTURE_COORD5_EXT = 0x87A2
	OUTPUT_TEXTURE_COORD6_EXT = 0x87A3
	OUTPUT_TEXTURE_COORD7_EXT = 0x87A4
	OUTPUT_TEXTURE_COORD8_EXT = 0x87A5
	OUTPUT_TEXTURE_COORD9_EXT = 0x87A6
	OUTPUT_VERTEX_EXT = 0x879A
	SCALAR_EXT = 0x87BE
	VARIANT_ARRAY_EXT = 0x87E8
	VARIANT_ARRAY_POINTER_EXT = 0x87E9
	VARIANT_ARRAY_STRIDE_EXT = 0x87E6
	VARIANT_ARRAY_TYPE_EXT = 0x87E7
	VARIANT_DATATYPE_EXT = 0x87E5
	VARIANT_EXT = 0x87C1
	VARIANT_VALUE_EXT = 0x87E4
	VECTOR_EXT = 0x87BF
	VERTEX_SHADER_BINDING_EXT = 0x8781
	VERTEX_SHADER_EXT = 0x8780
	VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CF
	VERTEX_SHADER_INVARIANTS_EXT = 0x87D1
	VERTEX_SHADER_LOCALS_EXT = 0x87D3
	VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87D2
	VERTEX_SHADER_OPTIMIZED_EXT = 0x87D4
	VERTEX_SHADER_VARIANTS_EXT = 0x87D0
	W_EXT = 0x87D8
	X_EXT = 0x87D5
	Y_EXT = 0x87D6
	ZERO_EXT = 0x87DD
	Z_EXT = 0x87D7
)
// EXT_vertex_weighting
const (
	CURRENT_VERTEX_WEIGHT_EXT = 0x850B
	MODELVIEW0_EXT = 0x1700
	MODELVIEW0_MATRIX_EXT = 0x0BA6
	MODELVIEW0_STACK_DEPTH_EXT = 0x0BA3
	MODELVIEW1_EXT = 0x850A
	MODELVIEW1_MATRIX_EXT = 0x8506
	MODELVIEW1_STACK_DEPTH_EXT = 0x8502
	VERTEX_WEIGHTING_EXT = 0x8509
	VERTEX_WEIGHT_ARRAY_EXT = 0x850C
	VERTEX_WEIGHT_ARRAY_POINTER_EXT = 0x8510
	VERTEX_WEIGHT_ARRAY_SIZE_EXT = 0x850D
	VERTEX_WEIGHT_ARRAY_STRIDE_EXT = 0x850F
	VERTEX_WEIGHT_ARRAY_TYPE_EXT = 0x850E
)
// EXT_x11_sync_object
const (
	SYNC_X11_FENCE_EXT = 0x90E1
)
// EXT_bindable_uniform

func UniformBufferEXT(program Uint, location Int, buffer Uint)  {
	C.goglUniformBufferEXT((C.GLuint)(program), (C.GLint)(location), (C.GLuint)(buffer))
}
func GetUniformBufferSizeEXT(program Uint, location Int) Int {
	return (Int)(C.goglGetUniformBufferSizeEXT((C.GLuint)(program), (C.GLint)(location)))
}
func GetUniformOffsetEXT(program Uint, location Int) Intptr {
	return (Intptr)(C.goglGetUniformOffsetEXT((C.GLuint)(program), (C.GLint)(location)))
}
// EXT_blend_color

func BlendColorEXT(red Float, green Float, blue Float, alpha Float)  {
	C.goglBlendColorEXT((C.GLfloat)(red), (C.GLfloat)(green), (C.GLfloat)(blue), (C.GLfloat)(alpha))
}
// EXT_blend_equation_separate

func BlendEquationSeparateEXT(modeRGB Enum, modeAlpha Enum)  {
	C.goglBlendEquationSeparateEXT((C.GLenum)(modeRGB), (C.GLenum)(modeAlpha))
}
// EXT_blend_func_separate

func BlendFuncSeparateEXT(sfactorRGB Enum, dfactorRGB Enum, sfactorAlpha Enum, dfactorAlpha Enum)  {
	C.goglBlendFuncSeparateEXT((C.GLenum)(sfactorRGB), (C.GLenum)(dfactorRGB), (C.GLenum)(sfactorAlpha), (C.GLenum)(dfactorAlpha))
}
// EXT_blend_minmax

func BlendEquationEXT(mode Enum)  {
	C.goglBlendEquationEXT((C.GLenum)(mode))
}
// EXT_color_subtable

func ColorSubTableEXT(target Enum, start Sizei, count Sizei, format Enum, type_ Enum, data Pointer)  {
	C.goglColorSubTableEXT((C.GLenum)(target), (C.GLsizei)(start), (C.GLsizei)(count), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(data))
}
func CopyColorSubTableEXT(target Enum, start Sizei, x Int, y Int, width Sizei)  {
	C.goglCopyColorSubTableEXT((C.GLenum)(target), (C.GLsizei)(start), (C.GLint)(x), (C.GLint)(y), (C.GLsizei)(width))
}
// EXT_compiled_vertex_array

func LockArraysEXT(first Int, count Sizei)  {
	C.goglLockArraysEXT((C.GLint)(first), (C.GLsizei)(count))
}
func UnlockArraysEXT()  {
	C.goglUnlockArraysEXT()
}
// EXT_convolution

func ConvolutionFilter1DEXT(target Enum, internalformat Enum, width Sizei, format Enum, type_ Enum, image Pointer)  {
	C.goglConvolutionFilter1DEXT((C.GLenum)(target), (C.GLenum)(internalformat), (C.GLsizei)(width), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(image))
}
func ConvolutionFilter2DEXT(target Enum, internalformat Enum, width Sizei, height Sizei, format Enum, type_ Enum, image Pointer)  {
	C.goglConvolutionFilter2DEXT((C.GLenum)(target), (C.GLenum)(internalformat), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(image))
}
func ConvolutionParameterfEXT(target Enum, pname Enum, params Float)  {
	C.goglConvolutionParameterfEXT((C.GLenum)(target), (C.GLenum)(pname), (C.GLfloat)(params))
}
func ConvolutionParameterfvEXT(target Enum, pname Enum, params *Float)  {
	C.goglConvolutionParameterfvEXT((C.GLenum)(target), (C.GLenum)(pname), (*C.GLfloat)(params))
}
func ConvolutionParameteriEXT(target Enum, pname Enum, params Int)  {
	C.goglConvolutionParameteriEXT((C.GLenum)(target), (C.GLenum)(pname), (C.GLint)(params))
}
func ConvolutionParameterivEXT(target Enum, pname Enum, params *Int)  {
	C.goglConvolutionParameterivEXT((C.GLenum)(target), (C.GLenum)(pname), (*C.GLint)(params))
}
func CopyConvolutionFilter1DEXT(target Enum, internalformat Enum, x Int, y Int, width Sizei)  {
	C.goglCopyConvolutionFilter1DEXT((C.GLenum)(target), (C.GLenum)(internalformat), (C.GLint)(x), (C.GLint)(y), (C.GLsizei)(width))
}
func CopyConvolutionFilter2DEXT(target Enum, internalformat Enum, x Int, y Int, width Sizei, height Sizei)  {
	C.goglCopyConvolutionFilter2DEXT((C.GLenum)(target), (C.GLenum)(internalformat), (C.GLint)(x), (C.GLint)(y), (C.GLsizei)(width), (C.GLsizei)(height))
}
func GetConvolutionFilterEXT(target Enum, format Enum, type_ Enum, image Pointer)  {
	C.goglGetConvolutionFilterEXT((C.GLenum)(target), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(image))
}
func GetConvolutionParameterfvEXT(target Enum, pname Enum, params *Float)  {
	C.goglGetConvolutionParameterfvEXT((C.GLenum)(target), (C.GLenum)(pname), (*C.GLfloat)(params))
}
func GetConvolutionParameterivEXT(target Enum, pname Enum, params *Int)  {
	C.goglGetConvolutionParameterivEXT((C.GLenum)(target), (C.GLenum)(pname), (*C.GLint)(params))
}
func GetSeparableFilterEXT(target Enum, format Enum, type_ Enum, row Pointer, column Pointer, span Pointer)  {
	C.goglGetSeparableFilterEXT((C.GLenum)(target), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(row), (unsafe.Pointer)(column), (unsafe.Pointer)(span))
}
func SeparableFilter2DEXT(target Enum, internalformat Enum, width Sizei, height Sizei, format Enum, type_ Enum, row Pointer, column Pointer)  {
	C.goglSeparableFilter2DEXT((C.GLenum)(target), (C.GLenum)(internalformat), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(row), (unsafe.Pointer)(column))
}
// EXT_coordinate_frame

func Tangent3bEXT(tx Byte, ty Byte, tz Byte)  {
	C.goglTangent3bEXT((C.GLbyte)(tx), (C.GLbyte)(ty), (C.GLbyte)(tz))
}
func Tangent3bvEXT(v *Byte)  {
	C.goglTangent3bvEXT((*C.GLbyte)(v))
}
func Tangent3dEXT(tx Double, ty Double, tz Double)  {
	C.goglTangent3dEXT((C.GLdouble)(tx), (C.GLdouble)(ty), (C.GLdouble)(tz))
}
func Tangent3dvEXT(v *Double)  {
	C.goglTangent3dvEXT((*C.GLdouble)(v))
}
func Tangent3fEXT(tx Float, ty Float, tz Float)  {
	C.goglTangent3fEXT((C.GLfloat)(tx), (C.GLfloat)(ty), (C.GLfloat)(tz))
}
func Tangent3fvEXT(v *Float)  {
	C.goglTangent3fvEXT((*C.GLfloat)(v))
}
func Tangent3iEXT(tx Int, ty Int, tz Int)  {
	C.goglTangent3iEXT((C.GLint)(tx), (C.GLint)(ty), (C.GLint)(tz))
}
func Tangent3ivEXT(v *Int)  {
	C.goglTangent3ivEXT((*C.GLint)(v))
}
func Tangent3sEXT(tx Short, ty Short, tz Short)  {
	C.goglTangent3sEXT((C.GLshort)(tx), (C.GLshort)(ty), (C.GLshort)(tz))
}
func Tangent3svEXT(v *Short)  {
	C.goglTangent3svEXT((*C.GLshort)(v))
}
func Binormal3bEXT(bx Byte, by Byte, bz Byte)  {
	C.goglBinormal3bEXT((C.GLbyte)(bx), (C.GLbyte)(by), (C.GLbyte)(bz))
}
func Binormal3bvEXT(v *Byte)  {
	C.goglBinormal3bvEXT((*C.GLbyte)(v))
}
func Binormal3dEXT(bx Double, by Double, bz Double)  {
	C.goglBinormal3dEXT((C.GLdouble)(bx), (C.GLdouble)(by), (C.GLdouble)(bz))
}
func Binormal3dvEXT(v *Double)  {
	C.goglBinormal3dvEXT((*C.GLdouble)(v))
}
func Binormal3fEXT(bx Float, by Float, bz Float)  {
	C.goglBinormal3fEXT((C.GLfloat)(bx), (C.GLfloat)(by), (C.GLfloat)(bz))
}
func Binormal3fvEXT(v *Float)  {
	C.goglBinormal3fvEXT((*C.GLfloat)(v))
}
func Binormal3iEXT(bx Int, by Int, bz Int)  {
	C.goglBinormal3iEXT((C.GLint)(bx), (C.GLint)(by), (C.GLint)(bz))
}
func Binormal3ivEXT(v *Int)  {
	C.goglBinormal3ivEXT((*C.GLint)(v))
}
func Binormal3sEXT(bx Short, by Short, bz Short)  {
	C.goglBinormal3sEXT((C.GLshort)(bx), (C.GLshort)(by), (C.GLshort)(bz))
}
func Binormal3svEXT(v *Short)  {
	C.goglBinormal3svEXT((*C.GLshort)(v))
}
func TangentPointerEXT(type_ Enum, stride Sizei, pointer Pointer)  {
	C.goglTangentPointerEXT((C.GLenum)(type_), (C.GLsizei)(stride), (unsafe.Pointer)(pointer))
}
func BinormalPointerEXT(type_ Enum, stride Sizei, pointer Pointer)  {
	C.goglBinormalPointerEXT((C.GLenum)(type_), (C.GLsizei)(stride), (unsafe.Pointer)(pointer))
}
// EXT_copy_texture

func CopyTexImage1DEXT(target Enum, level Int, internalformat Enum, x Int, y Int, width Sizei, border Int)  {
	C.goglCopyTexImage1DEXT((C.GLenum)(target), (C.GLint)(level), (C.GLenum)(internalformat), (C.GLint)(x), (C.GLint)(y), (C.GLsizei)(width), (C.GLint)(border))
}
func CopyTexImage2DEXT(target Enum, level Int, internalformat Enum, x Int, y Int, width Sizei, height Sizei, border Int)  {
	C.goglCopyTexImage2DEXT((C.GLenum)(target), (C.GLint)(level), (C.GLenum)(internalformat), (C.GLint)(x), (C.GLint)(y), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLint)(border))
}
func CopyTexSubImage1DEXT(target Enum, level Int, xoffset Int, x Int, y Int, width Sizei)  {
	C.goglCopyTexSubImage1DEXT((C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLint)(x), (C.GLint)(y), (C.GLsizei)(width))
}
func CopyTexSubImage2DEXT(target Enum, level Int, xoffset Int, yoffset Int, x Int, y Int, width Sizei, height Sizei)  {
	C.goglCopyTexSubImage2DEXT((C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLint)(yoffset), (C.GLint)(x), (C.GLint)(y), (C.GLsizei)(width), (C.GLsizei)(height))
}
func CopyTexSubImage3DEXT(target Enum, level Int, xoffset Int, yoffset Int, zoffset Int, x Int, y Int, width Sizei, height Sizei)  {
	C.goglCopyTexSubImage3DEXT((C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLint)(yoffset), (C.GLint)(zoffset), (C.GLint)(x), (C.GLint)(y), (C.GLsizei)(width), (C.GLsizei)(height))
}
// EXT_cull_vertex

func CullParameterdvEXT(pname Enum, params *Double)  {
	C.goglCullParameterdvEXT((C.GLenum)(pname), (*C.GLdouble)(params))
}
func CullParameterfvEXT(pname Enum, params *Float)  {
	C.goglCullParameterfvEXT((C.GLenum)(pname), (*C.GLfloat)(params))
}
// EXT_depth_bounds_test

func DepthBoundsEXT(zmin Clampd, zmax Clampd)  {
	C.goglDepthBoundsEXT((C.GLclampd)(zmin), (C.GLclampd)(zmax))
}
// EXT_direct_state_access

func ClientAttribDefaultEXT(mask Bitfield)  {
	C.goglClientAttribDefaultEXT((C.GLbitfield)(mask))
}
func PushClientAttribDefaultEXT(mask Bitfield)  {
	C.goglPushClientAttribDefaultEXT((C.GLbitfield)(mask))
}
func MatrixLoadfEXT(mode Enum, m *Float)  {
	C.goglMatrixLoadfEXT((C.GLenum)(mode), (*C.GLfloat)(m))
}
func MatrixLoaddEXT(mode Enum, m *Double)  {
	C.goglMatrixLoaddEXT((C.GLenum)(mode), (*C.GLdouble)(m))
}
func MatrixMultfEXT(mode Enum, m *Float)  {
	C.goglMatrixMultfEXT((C.GLenum)(mode), (*C.GLfloat)(m))
}
func MatrixMultdEXT(mode Enum, m *Double)  {
	C.goglMatrixMultdEXT((C.GLenum)(mode), (*C.GLdouble)(m))
}
func MatrixLoadIdentityEXT(mode Enum)  {
	C.goglMatrixLoadIdentityEXT((C.GLenum)(mode))
}
func MatrixRotatefEXT(mode Enum, angle Float, x Float, y Float, z Float)  {
	C.goglMatrixRotatefEXT((C.GLenum)(mode), (C.GLfloat)(angle), (C.GLfloat)(x), (C.GLfloat)(y), (C.GLfloat)(z))
}
func MatrixRotatedEXT(mode Enum, angle Double, x Double, y Double, z Double)  {
	C.goglMatrixRotatedEXT((C.GLenum)(mode), (C.GLdouble)(angle), (C.GLdouble)(x), (C.GLdouble)(y), (C.GLdouble)(z))
}
func MatrixScalefEXT(mode Enum, x Float, y Float, z Float)  {
	C.goglMatrixScalefEXT((C.GLenum)(mode), (C.GLfloat)(x), (C.GLfloat)(y), (C.GLfloat)(z))
}
func MatrixScaledEXT(mode Enum, x Double, y Double, z Double)  {
	C.goglMatrixScaledEXT((C.GLenum)(mode), (C.GLdouble)(x), (C.GLdouble)(y), (C.GLdouble)(z))
}
func MatrixTranslatefEXT(mode Enum, x Float, y Float, z Float)  {
	C.goglMatrixTranslatefEXT((C.GLenum)(mode), (C.GLfloat)(x), (C.GLfloat)(y), (C.GLfloat)(z))
}
func MatrixTranslatedEXT(mode Enum, x Double, y Double, z Double)  {
	C.goglMatrixTranslatedEXT((C.GLenum)(mode), (C.GLdouble)(x), (C.GLdouble)(y), (C.GLdouble)(z))
}
func MatrixFrustumEXT(mode Enum, left Double, right Double, bottom Double, top Double, zNear Double, zFar Double)  {
	C.goglMatrixFrustumEXT((C.GLenum)(mode), (C.GLdouble)(left), (C.GLdouble)(right), (C.GLdouble)(bottom), (C.GLdouble)(top), (C.GLdouble)(zNear), (C.GLdouble)(zFar))
}
func MatrixOrthoEXT(mode Enum, left Double, right Double, bottom Double, top Double, zNear Double, zFar Double)  {
	C.goglMatrixOrthoEXT((C.GLenum)(mode), (C.GLdouble)(left), (C.GLdouble)(right), (C.GLdouble)(bottom), (C.GLdouble)(top), (C.GLdouble)(zNear), (C.GLdouble)(zFar))
}
func MatrixPopEXT(mode Enum)  {
	C.goglMatrixPopEXT((C.GLenum)(mode))
}
func MatrixPushEXT(mode Enum)  {
	C.goglMatrixPushEXT((C.GLenum)(mode))
}
func MatrixLoadTransposefEXT(mode Enum, m *Float)  {
	C.goglMatrixLoadTransposefEXT((C.GLenum)(mode), (*C.GLfloat)(m))
}
func MatrixLoadTransposedEXT(mode Enum, m *Double)  {
	C.goglMatrixLoadTransposedEXT((C.GLenum)(mode), (*C.GLdouble)(m))
}
func MatrixMultTransposefEXT(mode Enum, m *Float)  {
	C.goglMatrixMultTransposefEXT((C.GLenum)(mode), (*C.GLfloat)(m))
}
func MatrixMultTransposedEXT(mode Enum, m *Double)  {
	C.goglMatrixMultTransposedEXT((C.GLenum)(mode), (*C.GLdouble)(m))
}
func TextureParameterfEXT(texture Uint, target Enum, pname Enum, param Float)  {
	C.goglTextureParameterfEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLenum)(pname), (C.GLfloat)(param))
}
func TextureParameterfvEXT(texture Uint, target Enum, pname Enum, params *Float)  {
	C.goglTextureParameterfvEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLenum)(pname), (*C.GLfloat)(params))
}
func TextureParameteriEXT(texture Uint, target Enum, pname Enum, param Int)  {
	C.goglTextureParameteriEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLenum)(pname), (C.GLint)(param))
}
func TextureParameterivEXT(texture Uint, target Enum, pname Enum, params *Int)  {
	C.goglTextureParameterivEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLenum)(pname), (*C.GLint)(params))
}
func TextureImage1DEXT(texture Uint, target Enum, level Int, internalformat Enum, width Sizei, border Int, format Enum, type_ Enum, pixels Pointer)  {
	C.goglTextureImage1DEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLint)(level), (C.GLenum)(internalformat), (C.GLsizei)(width), (C.GLint)(border), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(pixels))
}
func TextureImage2DEXT(texture Uint, target Enum, level Int, internalformat Enum, width Sizei, height Sizei, border Int, format Enum, type_ Enum, pixels Pointer)  {
	C.goglTextureImage2DEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLint)(level), (C.GLenum)(internalformat), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLint)(border), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(pixels))
}
func TextureSubImage1DEXT(texture Uint, target Enum, level Int, xoffset Int, width Sizei, format Enum, type_ Enum, pixels Pointer)  {
	C.goglTextureSubImage1DEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLsizei)(width), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(pixels))
}
func TextureSubImage2DEXT(texture Uint, target Enum, level Int, xoffset Int, yoffset Int, width Sizei, height Sizei, format Enum, type_ Enum, pixels Pointer)  {
	C.goglTextureSubImage2DEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLint)(yoffset), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(pixels))
}
func CopyTextureImage1DEXT(texture Uint, target Enum, level Int, internalformat Enum, x Int, y Int, width Sizei, border Int)  {
	C.goglCopyTextureImage1DEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLint)(level), (C.GLenum)(internalformat), (C.GLint)(x), (C.GLint)(y), (C.GLsizei)(width), (C.GLint)(border))
}
func CopyTextureImage2DEXT(texture Uint, target Enum, level Int, internalformat Enum, x Int, y Int, width Sizei, height Sizei, border Int)  {
	C.goglCopyTextureImage2DEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLint)(level), (C.GLenum)(internalformat), (C.GLint)(x), (C.GLint)(y), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLint)(border))
}
func CopyTextureSubImage1DEXT(texture Uint, target Enum, level Int, xoffset Int, x Int, y Int, width Sizei)  {
	C.goglCopyTextureSubImage1DEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLint)(x), (C.GLint)(y), (C.GLsizei)(width))
}
func CopyTextureSubImage2DEXT(texture Uint, target Enum, level Int, xoffset Int, yoffset Int, x Int, y Int, width Sizei, height Sizei)  {
	C.goglCopyTextureSubImage2DEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLint)(yoffset), (C.GLint)(x), (C.GLint)(y), (C.GLsizei)(width), (C.GLsizei)(height))
}
func GetTextureImageEXT(texture Uint, target Enum, level Int, format Enum, type_ Enum, pixels Pointer)  {
	C.goglGetTextureImageEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLint)(level), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(pixels))
}
func GetTextureParameterfvEXT(texture Uint, target Enum, pname Enum, params *Float)  {
	C.goglGetTextureParameterfvEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLenum)(pname), (*C.GLfloat)(params))
}
func GetTextureParameterivEXT(texture Uint, target Enum, pname Enum, params *Int)  {
	C.goglGetTextureParameterivEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLenum)(pname), (*C.GLint)(params))
}
func GetTextureLevelParameterfvEXT(texture Uint, target Enum, level Int, pname Enum, params *Float)  {
	C.goglGetTextureLevelParameterfvEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLint)(level), (C.GLenum)(pname), (*C.GLfloat)(params))
}
func GetTextureLevelParameterivEXT(texture Uint, target Enum, level Int, pname Enum, params *Int)  {
	C.goglGetTextureLevelParameterivEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLint)(level), (C.GLenum)(pname), (*C.GLint)(params))
}
func TextureImage3DEXT(texture Uint, target Enum, level Int, internalformat Enum, width Sizei, height Sizei, depth Sizei, border Int, format Enum, type_ Enum, pixels Pointer)  {
	C.goglTextureImage3DEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLint)(level), (C.GLenum)(internalformat), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLsizei)(depth), (C.GLint)(border), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(pixels))
}
func TextureSubImage3DEXT(texture Uint, target Enum, level Int, xoffset Int, yoffset Int, zoffset Int, width Sizei, height Sizei, depth Sizei, format Enum, type_ Enum, pixels Pointer)  {
	C.goglTextureSubImage3DEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLint)(yoffset), (C.GLint)(zoffset), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLsizei)(depth), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(pixels))
}
func CopyTextureSubImage3DEXT(texture Uint, target Enum, level Int, xoffset Int, yoffset Int, zoffset Int, x Int, y Int, width Sizei, height Sizei)  {
	C.goglCopyTextureSubImage3DEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLint)(yoffset), (C.GLint)(zoffset), (C.GLint)(x), (C.GLint)(y), (C.GLsizei)(width), (C.GLsizei)(height))
}
func MultiTexParameterfEXT(texunit Enum, target Enum, pname Enum, param Float)  {
	C.goglMultiTexParameterfEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLenum)(pname), (C.GLfloat)(param))
}
func MultiTexParameterfvEXT(texunit Enum, target Enum, pname Enum, params *Float)  {
	C.goglMultiTexParameterfvEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLenum)(pname), (*C.GLfloat)(params))
}
func MultiTexParameteriEXT(texunit Enum, target Enum, pname Enum, param Int)  {
	C.goglMultiTexParameteriEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLenum)(pname), (C.GLint)(param))
}
func MultiTexParameterivEXT(texunit Enum, target Enum, pname Enum, params *Int)  {
	C.goglMultiTexParameterivEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLenum)(pname), (*C.GLint)(params))
}
func MultiTexImage1DEXT(texunit Enum, target Enum, level Int, internalformat Enum, width Sizei, border Int, format Enum, type_ Enum, pixels Pointer)  {
	C.goglMultiTexImage1DEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLint)(level), (C.GLenum)(internalformat), (C.GLsizei)(width), (C.GLint)(border), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(pixels))
}
func MultiTexImage2DEXT(texunit Enum, target Enum, level Int, internalformat Enum, width Sizei, height Sizei, border Int, format Enum, type_ Enum, pixels Pointer)  {
	C.goglMultiTexImage2DEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLint)(level), (C.GLenum)(internalformat), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLint)(border), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(pixels))
}
func MultiTexSubImage1DEXT(texunit Enum, target Enum, level Int, xoffset Int, width Sizei, format Enum, type_ Enum, pixels Pointer)  {
	C.goglMultiTexSubImage1DEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLsizei)(width), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(pixels))
}
func MultiTexSubImage2DEXT(texunit Enum, target Enum, level Int, xoffset Int, yoffset Int, width Sizei, height Sizei, format Enum, type_ Enum, pixels Pointer)  {
	C.goglMultiTexSubImage2DEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLint)(yoffset), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(pixels))
}
func CopyMultiTexImage1DEXT(texunit Enum, target Enum, level Int, internalformat Enum, x Int, y Int, width Sizei, border Int)  {
	C.goglCopyMultiTexImage1DEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLint)(level), (C.GLenum)(internalformat), (C.GLint)(x), (C.GLint)(y), (C.GLsizei)(width), (C.GLint)(border))
}
func CopyMultiTexImage2DEXT(texunit Enum, target Enum, level Int, internalformat Enum, x Int, y Int, width Sizei, height Sizei, border Int)  {
	C.goglCopyMultiTexImage2DEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLint)(level), (C.GLenum)(internalformat), (C.GLint)(x), (C.GLint)(y), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLint)(border))
}
func CopyMultiTexSubImage1DEXT(texunit Enum, target Enum, level Int, xoffset Int, x Int, y Int, width Sizei)  {
	C.goglCopyMultiTexSubImage1DEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLint)(x), (C.GLint)(y), (C.GLsizei)(width))
}
func CopyMultiTexSubImage2DEXT(texunit Enum, target Enum, level Int, xoffset Int, yoffset Int, x Int, y Int, width Sizei, height Sizei)  {
	C.goglCopyMultiTexSubImage2DEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLint)(yoffset), (C.GLint)(x), (C.GLint)(y), (C.GLsizei)(width), (C.GLsizei)(height))
}
func GetMultiTexImageEXT(texunit Enum, target Enum, level Int, format Enum, type_ Enum, pixels Pointer)  {
	C.goglGetMultiTexImageEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLint)(level), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(pixels))
}
func GetMultiTexParameterfvEXT(texunit Enum, target Enum, pname Enum, params *Float)  {
	C.goglGetMultiTexParameterfvEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLenum)(pname), (*C.GLfloat)(params))
}
func GetMultiTexParameterivEXT(texunit Enum, target Enum, pname Enum, params *Int)  {
	C.goglGetMultiTexParameterivEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLenum)(pname), (*C.GLint)(params))
}
func GetMultiTexLevelParameterfvEXT(texunit Enum, target Enum, level Int, pname Enum, params *Float)  {
	C.goglGetMultiTexLevelParameterfvEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLint)(level), (C.GLenum)(pname), (*C.GLfloat)(params))
}
func GetMultiTexLevelParameterivEXT(texunit Enum, target Enum, level Int, pname Enum, params *Int)  {
	C.goglGetMultiTexLevelParameterivEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLint)(level), (C.GLenum)(pname), (*C.GLint)(params))
}
func MultiTexImage3DEXT(texunit Enum, target Enum, level Int, internalformat Enum, width Sizei, height Sizei, depth Sizei, border Int, format Enum, type_ Enum, pixels Pointer)  {
	C.goglMultiTexImage3DEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLint)(level), (C.GLenum)(internalformat), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLsizei)(depth), (C.GLint)(border), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(pixels))
}
func MultiTexSubImage3DEXT(texunit Enum, target Enum, level Int, xoffset Int, yoffset Int, zoffset Int, width Sizei, height Sizei, depth Sizei, format Enum, type_ Enum, pixels Pointer)  {
	C.goglMultiTexSubImage3DEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLint)(yoffset), (C.GLint)(zoffset), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLsizei)(depth), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(pixels))
}
func CopyMultiTexSubImage3DEXT(texunit Enum, target Enum, level Int, xoffset Int, yoffset Int, zoffset Int, x Int, y Int, width Sizei, height Sizei)  {
	C.goglCopyMultiTexSubImage3DEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLint)(yoffset), (C.GLint)(zoffset), (C.GLint)(x), (C.GLint)(y), (C.GLsizei)(width), (C.GLsizei)(height))
}
func BindMultiTextureEXT(texunit Enum, target Enum, texture Uint)  {
	C.goglBindMultiTextureEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLuint)(texture))
}
func EnableClientStateIndexedEXT(array Enum, index Uint)  {
	C.goglEnableClientStateIndexedEXT((C.GLenum)(array), (C.GLuint)(index))
}
func DisableClientStateIndexedEXT(array Enum, index Uint)  {
	C.goglDisableClientStateIndexedEXT((C.GLenum)(array), (C.GLuint)(index))
}
func EnableClientStateiEXT(array Enum, index Uint)  {
	C.goglEnableClientStateiEXT((C.GLenum)(array), (C.GLuint)(index))
}
func DisableClientStateiEXT(array Enum, index Uint)  {
	C.goglDisableClientStateiEXT((C.GLenum)(array), (C.GLuint)(index))
}
func MultiTexCoordPointerEXT(texunit Enum, size Int, type_ Enum, stride Sizei, pointer Pointer)  {
	C.goglMultiTexCoordPointerEXT((C.GLenum)(texunit), (C.GLint)(size), (C.GLenum)(type_), (C.GLsizei)(stride), (unsafe.Pointer)(pointer))
}
func MultiTexEnvfEXT(texunit Enum, target Enum, pname Enum, param Float)  {
	C.goglMultiTexEnvfEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLenum)(pname), (C.GLfloat)(param))
}
func MultiTexEnvfvEXT(texunit Enum, target Enum, pname Enum, params *Float)  {
	C.goglMultiTexEnvfvEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLenum)(pname), (*C.GLfloat)(params))
}
func MultiTexEnviEXT(texunit Enum, target Enum, pname Enum, param Int)  {
	C.goglMultiTexEnviEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLenum)(pname), (C.GLint)(param))
}
func MultiTexEnvivEXT(texunit Enum, target Enum, pname Enum, params *Int)  {
	C.goglMultiTexEnvivEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLenum)(pname), (*C.GLint)(params))
}
func MultiTexGendEXT(texunit Enum, coord Enum, pname Enum, param Double)  {
	C.goglMultiTexGendEXT((C.GLenum)(texunit), (C.GLenum)(coord), (C.GLenum)(pname), (C.GLdouble)(param))
}
func MultiTexGendvEXT(texunit Enum, coord Enum, pname Enum, params *Double)  {
	C.goglMultiTexGendvEXT((C.GLenum)(texunit), (C.GLenum)(coord), (C.GLenum)(pname), (*C.GLdouble)(params))
}
func MultiTexGenfEXT(texunit Enum, coord Enum, pname Enum, param Float)  {
	C.goglMultiTexGenfEXT((C.GLenum)(texunit), (C.GLenum)(coord), (C.GLenum)(pname), (C.GLfloat)(param))
}
func MultiTexGenfvEXT(texunit Enum, coord Enum, pname Enum, params *Float)  {
	C.goglMultiTexGenfvEXT((C.GLenum)(texunit), (C.GLenum)(coord), (C.GLenum)(pname), (*C.GLfloat)(params))
}
func MultiTexGeniEXT(texunit Enum, coord Enum, pname Enum, param Int)  {
	C.goglMultiTexGeniEXT((C.GLenum)(texunit), (C.GLenum)(coord), (C.GLenum)(pname), (C.GLint)(param))
}
func MultiTexGenivEXT(texunit Enum, coord Enum, pname Enum, params *Int)  {
	C.goglMultiTexGenivEXT((C.GLenum)(texunit), (C.GLenum)(coord), (C.GLenum)(pname), (*C.GLint)(params))
}
func GetMultiTexEnvfvEXT(texunit Enum, target Enum, pname Enum, params *Float)  {
	C.goglGetMultiTexEnvfvEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLenum)(pname), (*C.GLfloat)(params))
}
func GetMultiTexEnvivEXT(texunit Enum, target Enum, pname Enum, params *Int)  {
	C.goglGetMultiTexEnvivEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLenum)(pname), (*C.GLint)(params))
}
func GetMultiTexGendvEXT(texunit Enum, coord Enum, pname Enum, params *Double)  {
	C.goglGetMultiTexGendvEXT((C.GLenum)(texunit), (C.GLenum)(coord), (C.GLenum)(pname), (*C.GLdouble)(params))
}
func GetMultiTexGenfvEXT(texunit Enum, coord Enum, pname Enum, params *Float)  {
	C.goglGetMultiTexGenfvEXT((C.GLenum)(texunit), (C.GLenum)(coord), (C.GLenum)(pname), (*C.GLfloat)(params))
}
func GetMultiTexGenivEXT(texunit Enum, coord Enum, pname Enum, params *Int)  {
	C.goglGetMultiTexGenivEXT((C.GLenum)(texunit), (C.GLenum)(coord), (C.GLenum)(pname), (*C.GLint)(params))
}
func GetFloatIndexedvEXT(target Enum, index Uint, data *Float)  {
	C.goglGetFloatIndexedvEXT((C.GLenum)(target), (C.GLuint)(index), (*C.GLfloat)(data))
}
func GetDoubleIndexedvEXT(target Enum, index Uint, data *Double)  {
	C.goglGetDoubleIndexedvEXT((C.GLenum)(target), (C.GLuint)(index), (*C.GLdouble)(data))
}
func GetPointerIndexedvEXT(target Enum, index Uint, data *Pointer)  {
	C.goglGetPointerIndexedvEXT((C.GLenum)(target), (C.GLuint)(index), (*unsafe.Pointer)(data))
}
func GetFloati_vEXT(target Enum, index Uint, data *Float)  {
	C.goglGetFloati_vEXT((C.GLenum)(target), (C.GLuint)(index), (*C.GLfloat)(data))
}
func GetDoublei_vEXT(target Enum, index Uint, data *Double)  {
	C.goglGetDoublei_vEXT((C.GLenum)(target), (C.GLuint)(index), (*C.GLdouble)(data))
}
func GetPointeri_vEXT(target Enum, index Uint, data *Pointer)  {
	C.goglGetPointeri_vEXT((C.GLenum)(target), (C.GLuint)(index), (*unsafe.Pointer)(data))
}
func CompressedTextureImage3DEXT(texture Uint, target Enum, level Int, internalformat Enum, width Sizei, height Sizei, depth Sizei, border Int, imageSize Sizei, bits Pointer)  {
	C.goglCompressedTextureImage3DEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLint)(level), (C.GLenum)(internalformat), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLsizei)(depth), (C.GLint)(border), (C.GLsizei)(imageSize), (unsafe.Pointer)(bits))
}
func CompressedTextureImage2DEXT(texture Uint, target Enum, level Int, internalformat Enum, width Sizei, height Sizei, border Int, imageSize Sizei, bits Pointer)  {
	C.goglCompressedTextureImage2DEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLint)(level), (C.GLenum)(internalformat), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLint)(border), (C.GLsizei)(imageSize), (unsafe.Pointer)(bits))
}
func CompressedTextureImage1DEXT(texture Uint, target Enum, level Int, internalformat Enum, width Sizei, border Int, imageSize Sizei, bits Pointer)  {
	C.goglCompressedTextureImage1DEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLint)(level), (C.GLenum)(internalformat), (C.GLsizei)(width), (C.GLint)(border), (C.GLsizei)(imageSize), (unsafe.Pointer)(bits))
}
func CompressedTextureSubImage3DEXT(texture Uint, target Enum, level Int, xoffset Int, yoffset Int, zoffset Int, width Sizei, height Sizei, depth Sizei, format Enum, imageSize Sizei, bits Pointer)  {
	C.goglCompressedTextureSubImage3DEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLint)(yoffset), (C.GLint)(zoffset), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLsizei)(depth), (C.GLenum)(format), (C.GLsizei)(imageSize), (unsafe.Pointer)(bits))
}
func CompressedTextureSubImage2DEXT(texture Uint, target Enum, level Int, xoffset Int, yoffset Int, width Sizei, height Sizei, format Enum, imageSize Sizei, bits Pointer)  {
	C.goglCompressedTextureSubImage2DEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLint)(yoffset), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLenum)(format), (C.GLsizei)(imageSize), (unsafe.Pointer)(bits))
}
func CompressedTextureSubImage1DEXT(texture Uint, target Enum, level Int, xoffset Int, width Sizei, format Enum, imageSize Sizei, bits Pointer)  {
	C.goglCompressedTextureSubImage1DEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLsizei)(width), (C.GLenum)(format), (C.GLsizei)(imageSize), (unsafe.Pointer)(bits))
}
func GetCompressedTextureImageEXT(texture Uint, target Enum, lod Int, img Pointer)  {
	C.goglGetCompressedTextureImageEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLint)(lod), (unsafe.Pointer)(img))
}
func CompressedMultiTexImage3DEXT(texunit Enum, target Enum, level Int, internalformat Enum, width Sizei, height Sizei, depth Sizei, border Int, imageSize Sizei, bits Pointer)  {
	C.goglCompressedMultiTexImage3DEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLint)(level), (C.GLenum)(internalformat), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLsizei)(depth), (C.GLint)(border), (C.GLsizei)(imageSize), (unsafe.Pointer)(bits))
}
func CompressedMultiTexImage2DEXT(texunit Enum, target Enum, level Int, internalformat Enum, width Sizei, height Sizei, border Int, imageSize Sizei, bits Pointer)  {
	C.goglCompressedMultiTexImage2DEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLint)(level), (C.GLenum)(internalformat), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLint)(border), (C.GLsizei)(imageSize), (unsafe.Pointer)(bits))
}
func CompressedMultiTexImage1DEXT(texunit Enum, target Enum, level Int, internalformat Enum, width Sizei, border Int, imageSize Sizei, bits Pointer)  {
	C.goglCompressedMultiTexImage1DEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLint)(level), (C.GLenum)(internalformat), (C.GLsizei)(width), (C.GLint)(border), (C.GLsizei)(imageSize), (unsafe.Pointer)(bits))
}
func CompressedMultiTexSubImage3DEXT(texunit Enum, target Enum, level Int, xoffset Int, yoffset Int, zoffset Int, width Sizei, height Sizei, depth Sizei, format Enum, imageSize Sizei, bits Pointer)  {
	C.goglCompressedMultiTexSubImage3DEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLint)(yoffset), (C.GLint)(zoffset), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLsizei)(depth), (C.GLenum)(format), (C.GLsizei)(imageSize), (unsafe.Pointer)(bits))
}
func CompressedMultiTexSubImage2DEXT(texunit Enum, target Enum, level Int, xoffset Int, yoffset Int, width Sizei, height Sizei, format Enum, imageSize Sizei, bits Pointer)  {
	C.goglCompressedMultiTexSubImage2DEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLint)(yoffset), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLenum)(format), (C.GLsizei)(imageSize), (unsafe.Pointer)(bits))
}
func CompressedMultiTexSubImage1DEXT(texunit Enum, target Enum, level Int, xoffset Int, width Sizei, format Enum, imageSize Sizei, bits Pointer)  {
	C.goglCompressedMultiTexSubImage1DEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLsizei)(width), (C.GLenum)(format), (C.GLsizei)(imageSize), (unsafe.Pointer)(bits))
}
func GetCompressedMultiTexImageEXT(texunit Enum, target Enum, lod Int, img Pointer)  {
	C.goglGetCompressedMultiTexImageEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLint)(lod), (unsafe.Pointer)(img))
}
func NamedProgramStringEXT(program Uint, target Enum, format Enum, len Sizei, string_ Pointer)  {
	C.goglNamedProgramStringEXT((C.GLuint)(program), (C.GLenum)(target), (C.GLenum)(format), (C.GLsizei)(len), (unsafe.Pointer)(string_))
}
func NamedProgramLocalParameter4dEXT(program Uint, target Enum, index Uint, x Double, y Double, z Double, w Double)  {
	C.goglNamedProgramLocalParameter4dEXT((C.GLuint)(program), (C.GLenum)(target), (C.GLuint)(index), (C.GLdouble)(x), (C.GLdouble)(y), (C.GLdouble)(z), (C.GLdouble)(w))
}
func NamedProgramLocalParameter4dvEXT(program Uint, target Enum, index Uint, params *Double)  {
	C.goglNamedProgramLocalParameter4dvEXT((C.GLuint)(program), (C.GLenum)(target), (C.GLuint)(index), (*C.GLdouble)(params))
}
func NamedProgramLocalParameter4fEXT(program Uint, target Enum, index Uint, x Float, y Float, z Float, w Float)  {
	C.goglNamedProgramLocalParameter4fEXT((C.GLuint)(program), (C.GLenum)(target), (C.GLuint)(index), (C.GLfloat)(x), (C.GLfloat)(y), (C.GLfloat)(z), (C.GLfloat)(w))
}
func NamedProgramLocalParameter4fvEXT(program Uint, target Enum, index Uint, params *Float)  {
	C.goglNamedProgramLocalParameter4fvEXT((C.GLuint)(program), (C.GLenum)(target), (C.GLuint)(index), (*C.GLfloat)(params))
}
func GetNamedProgramLocalParameterdvEXT(program Uint, target Enum, index Uint, params *Double)  {
	C.goglGetNamedProgramLocalParameterdvEXT((C.GLuint)(program), (C.GLenum)(target), (C.GLuint)(index), (*C.GLdouble)(params))
}
func GetNamedProgramLocalParameterfvEXT(program Uint, target Enum, index Uint, params *Float)  {
	C.goglGetNamedProgramLocalParameterfvEXT((C.GLuint)(program), (C.GLenum)(target), (C.GLuint)(index), (*C.GLfloat)(params))
}
func GetNamedProgramivEXT(program Uint, target Enum, pname Enum, params *Int)  {
	C.goglGetNamedProgramivEXT((C.GLuint)(program), (C.GLenum)(target), (C.GLenum)(pname), (*C.GLint)(params))
}
func GetNamedProgramStringEXT(program Uint, target Enum, pname Enum, string_ Pointer)  {
	C.goglGetNamedProgramStringEXT((C.GLuint)(program), (C.GLenum)(target), (C.GLenum)(pname), (unsafe.Pointer)(string_))
}
func NamedProgramLocalParameters4fvEXT(program Uint, target Enum, index Uint, count Sizei, params *Float)  {
	C.goglNamedProgramLocalParameters4fvEXT((C.GLuint)(program), (C.GLenum)(target), (C.GLuint)(index), (C.GLsizei)(count), (*C.GLfloat)(params))
}
func NamedProgramLocalParameterI4iEXT(program Uint, target Enum, index Uint, x Int, y Int, z Int, w Int)  {
	C.goglNamedProgramLocalParameterI4iEXT((C.GLuint)(program), (C.GLenum)(target), (C.GLuint)(index), (C.GLint)(x), (C.GLint)(y), (C.GLint)(z), (C.GLint)(w))
}
func NamedProgramLocalParameterI4ivEXT(program Uint, target Enum, index Uint, params *Int)  {
	C.goglNamedProgramLocalParameterI4ivEXT((C.GLuint)(program), (C.GLenum)(target), (C.GLuint)(index), (*C.GLint)(params))
}
func NamedProgramLocalParametersI4ivEXT(program Uint, target Enum, index Uint, count Sizei, params *Int)  {
	C.goglNamedProgramLocalParametersI4ivEXT((C.GLuint)(program), (C.GLenum)(target), (C.GLuint)(index), (C.GLsizei)(count), (*C.GLint)(params))
}
func NamedProgramLocalParameterI4uiEXT(program Uint, target Enum, index Uint, x Uint, y Uint, z Uint, w Uint)  {
	C.goglNamedProgramLocalParameterI4uiEXT((C.GLuint)(program), (C.GLenum)(target), (C.GLuint)(index), (C.GLuint)(x), (C.GLuint)(y), (C.GLuint)(z), (C.GLuint)(w))
}
func NamedProgramLocalParameterI4uivEXT(program Uint, target Enum, index Uint, params *Uint)  {
	C.goglNamedProgramLocalParameterI4uivEXT((C.GLuint)(program), (C.GLenum)(target), (C.GLuint)(index), (*C.GLuint)(params))
}
func NamedProgramLocalParametersI4uivEXT(program Uint, target Enum, index Uint, count Sizei, params *Uint)  {
	C.goglNamedProgramLocalParametersI4uivEXT((C.GLuint)(program), (C.GLenum)(target), (C.GLuint)(index), (C.GLsizei)(count), (*C.GLuint)(params))
}
func GetNamedProgramLocalParameterIivEXT(program Uint, target Enum, index Uint, params *Int)  {
	C.goglGetNamedProgramLocalParameterIivEXT((C.GLuint)(program), (C.GLenum)(target), (C.GLuint)(index), (*C.GLint)(params))
}
func GetNamedProgramLocalParameterIuivEXT(program Uint, target Enum, index Uint, params *Uint)  {
	C.goglGetNamedProgramLocalParameterIuivEXT((C.GLuint)(program), (C.GLenum)(target), (C.GLuint)(index), (*C.GLuint)(params))
}
func TextureParameterIivEXT(texture Uint, target Enum, pname Enum, params *Int)  {
	C.goglTextureParameterIivEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLenum)(pname), (*C.GLint)(params))
}
func TextureParameterIuivEXT(texture Uint, target Enum, pname Enum, params *Uint)  {
	C.goglTextureParameterIuivEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLenum)(pname), (*C.GLuint)(params))
}
func GetTextureParameterIivEXT(texture Uint, target Enum, pname Enum, params *Int)  {
	C.goglGetTextureParameterIivEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLenum)(pname), (*C.GLint)(params))
}
func GetTextureParameterIuivEXT(texture Uint, target Enum, pname Enum, params *Uint)  {
	C.goglGetTextureParameterIuivEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLenum)(pname), (*C.GLuint)(params))
}
func MultiTexParameterIivEXT(texunit Enum, target Enum, pname Enum, params *Int)  {
	C.goglMultiTexParameterIivEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLenum)(pname), (*C.GLint)(params))
}
func MultiTexParameterIuivEXT(texunit Enum, target Enum, pname Enum, params *Uint)  {
	C.goglMultiTexParameterIuivEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLenum)(pname), (*C.GLuint)(params))
}
func GetMultiTexParameterIivEXT(texunit Enum, target Enum, pname Enum, params *Int)  {
	C.goglGetMultiTexParameterIivEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLenum)(pname), (*C.GLint)(params))
}
func GetMultiTexParameterIuivEXT(texunit Enum, target Enum, pname Enum, params *Uint)  {
	C.goglGetMultiTexParameterIuivEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLenum)(pname), (*C.GLuint)(params))
}
func ProgramUniform1fEXT(program Uint, location Int, v0 Float)  {
	C.goglProgramUniform1fEXT((C.GLuint)(program), (C.GLint)(location), (C.GLfloat)(v0))
}
func ProgramUniform2fEXT(program Uint, location Int, v0 Float, v1 Float)  {
	C.goglProgramUniform2fEXT((C.GLuint)(program), (C.GLint)(location), (C.GLfloat)(v0), (C.GLfloat)(v1))
}
func ProgramUniform3fEXT(program Uint, location Int, v0 Float, v1 Float, v2 Float)  {
	C.goglProgramUniform3fEXT((C.GLuint)(program), (C.GLint)(location), (C.GLfloat)(v0), (C.GLfloat)(v1), (C.GLfloat)(v2))
}
func ProgramUniform4fEXT(program Uint, location Int, v0 Float, v1 Float, v2 Float, v3 Float)  {
	C.goglProgramUniform4fEXT((C.GLuint)(program), (C.GLint)(location), (C.GLfloat)(v0), (C.GLfloat)(v1), (C.GLfloat)(v2), (C.GLfloat)(v3))
}
func ProgramUniform1iEXT(program Uint, location Int, v0 Int)  {
	C.goglProgramUniform1iEXT((C.GLuint)(program), (C.GLint)(location), (C.GLint)(v0))
}
func ProgramUniform2iEXT(program Uint, location Int, v0 Int, v1 Int)  {
	C.goglProgramUniform2iEXT((C.GLuint)(program), (C.GLint)(location), (C.GLint)(v0), (C.GLint)(v1))
}
func ProgramUniform3iEXT(program Uint, location Int, v0 Int, v1 Int, v2 Int)  {
	C.goglProgramUniform3iEXT((C.GLuint)(program), (C.GLint)(location), (C.GLint)(v0), (C.GLint)(v1), (C.GLint)(v2))
}
func ProgramUniform4iEXT(program Uint, location Int, v0 Int, v1 Int, v2 Int, v3 Int)  {
	C.goglProgramUniform4iEXT((C.GLuint)(program), (C.GLint)(location), (C.GLint)(v0), (C.GLint)(v1), (C.GLint)(v2), (C.GLint)(v3))
}
func ProgramUniform1fvEXT(program Uint, location Int, count Sizei, value *Float)  {
	C.goglProgramUniform1fvEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (*C.GLfloat)(value))
}
func ProgramUniform2fvEXT(program Uint, location Int, count Sizei, value *Float)  {
	C.goglProgramUniform2fvEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (*C.GLfloat)(value))
}
func ProgramUniform3fvEXT(program Uint, location Int, count Sizei, value *Float)  {
	C.goglProgramUniform3fvEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (*C.GLfloat)(value))
}
func ProgramUniform4fvEXT(program Uint, location Int, count Sizei, value *Float)  {
	C.goglProgramUniform4fvEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (*C.GLfloat)(value))
}
func ProgramUniform1ivEXT(program Uint, location Int, count Sizei, value *Int)  {
	C.goglProgramUniform1ivEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (*C.GLint)(value))
}
func ProgramUniform2ivEXT(program Uint, location Int, count Sizei, value *Int)  {
	C.goglProgramUniform2ivEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (*C.GLint)(value))
}
func ProgramUniform3ivEXT(program Uint, location Int, count Sizei, value *Int)  {
	C.goglProgramUniform3ivEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (*C.GLint)(value))
}
func ProgramUniform4ivEXT(program Uint, location Int, count Sizei, value *Int)  {
	C.goglProgramUniform4ivEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (*C.GLint)(value))
}
func ProgramUniformMatrix2fvEXT(program Uint, location Int, count Sizei, transpose Boolean, value *Float)  {
	C.goglProgramUniformMatrix2fvEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (C.GLboolean)(transpose), (*C.GLfloat)(value))
}
func ProgramUniformMatrix3fvEXT(program Uint, location Int, count Sizei, transpose Boolean, value *Float)  {
	C.goglProgramUniformMatrix3fvEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (C.GLboolean)(transpose), (*C.GLfloat)(value))
}
func ProgramUniformMatrix4fvEXT(program Uint, location Int, count Sizei, transpose Boolean, value *Float)  {
	C.goglProgramUniformMatrix4fvEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (C.GLboolean)(transpose), (*C.GLfloat)(value))
}
func ProgramUniformMatrix2x3fvEXT(program Uint, location Int, count Sizei, transpose Boolean, value *Float)  {
	C.goglProgramUniformMatrix2x3fvEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (C.GLboolean)(transpose), (*C.GLfloat)(value))
}
func ProgramUniformMatrix3x2fvEXT(program Uint, location Int, count Sizei, transpose Boolean, value *Float)  {
	C.goglProgramUniformMatrix3x2fvEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (C.GLboolean)(transpose), (*C.GLfloat)(value))
}
func ProgramUniformMatrix2x4fvEXT(program Uint, location Int, count Sizei, transpose Boolean, value *Float)  {
	C.goglProgramUniformMatrix2x4fvEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (C.GLboolean)(transpose), (*C.GLfloat)(value))
}
func ProgramUniformMatrix4x2fvEXT(program Uint, location Int, count Sizei, transpose Boolean, value *Float)  {
	C.goglProgramUniformMatrix4x2fvEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (C.GLboolean)(transpose), (*C.GLfloat)(value))
}
func ProgramUniformMatrix3x4fvEXT(program Uint, location Int, count Sizei, transpose Boolean, value *Float)  {
	C.goglProgramUniformMatrix3x4fvEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (C.GLboolean)(transpose), (*C.GLfloat)(value))
}
func ProgramUniformMatrix4x3fvEXT(program Uint, location Int, count Sizei, transpose Boolean, value *Float)  {
	C.goglProgramUniformMatrix4x3fvEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (C.GLboolean)(transpose), (*C.GLfloat)(value))
}
func ProgramUniform1uiEXT(program Uint, location Int, v0 Uint)  {
	C.goglProgramUniform1uiEXT((C.GLuint)(program), (C.GLint)(location), (C.GLuint)(v0))
}
func ProgramUniform2uiEXT(program Uint, location Int, v0 Uint, v1 Uint)  {
	C.goglProgramUniform2uiEXT((C.GLuint)(program), (C.GLint)(location), (C.GLuint)(v0), (C.GLuint)(v1))
}
func ProgramUniform3uiEXT(program Uint, location Int, v0 Uint, v1 Uint, v2 Uint)  {
	C.goglProgramUniform3uiEXT((C.GLuint)(program), (C.GLint)(location), (C.GLuint)(v0), (C.GLuint)(v1), (C.GLuint)(v2))
}
func ProgramUniform4uiEXT(program Uint, location Int, v0 Uint, v1 Uint, v2 Uint, v3 Uint)  {
	C.goglProgramUniform4uiEXT((C.GLuint)(program), (C.GLint)(location), (C.GLuint)(v0), (C.GLuint)(v1), (C.GLuint)(v2), (C.GLuint)(v3))
}
func ProgramUniform1uivEXT(program Uint, location Int, count Sizei, value *Uint)  {
	C.goglProgramUniform1uivEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (*C.GLuint)(value))
}
func ProgramUniform2uivEXT(program Uint, location Int, count Sizei, value *Uint)  {
	C.goglProgramUniform2uivEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (*C.GLuint)(value))
}
func ProgramUniform3uivEXT(program Uint, location Int, count Sizei, value *Uint)  {
	C.goglProgramUniform3uivEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (*C.GLuint)(value))
}
func ProgramUniform4uivEXT(program Uint, location Int, count Sizei, value *Uint)  {
	C.goglProgramUniform4uivEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (*C.GLuint)(value))
}
func NamedBufferDataEXT(buffer Uint, size Sizeiptr, data Pointer, usage Enum)  {
	C.goglNamedBufferDataEXT((C.GLuint)(buffer), (C.GLsizeiptr)(size), (unsafe.Pointer)(data), (C.GLenum)(usage))
}
func NamedBufferSubDataEXT(buffer Uint, offset Intptr, size Sizeiptr, data Pointer)  {
	C.goglNamedBufferSubDataEXT((C.GLuint)(buffer), (C.GLintptr)(offset), (C.GLsizeiptr)(size), (unsafe.Pointer)(data))
}
func MapNamedBufferEXT(buffer Uint, access Enum) Pointer {
	return (Pointer)(C.goglMapNamedBufferEXT((C.GLuint)(buffer), (C.GLenum)(access)))
}
func UnmapNamedBufferEXT(buffer Uint) Boolean {
	return (Boolean)(C.goglUnmapNamedBufferEXT((C.GLuint)(buffer)))
}
func MapNamedBufferRangeEXT(buffer Uint, offset Intptr, length Sizeiptr, access Bitfield) Pointer {
	return (Pointer)(C.goglMapNamedBufferRangeEXT((C.GLuint)(buffer), (C.GLintptr)(offset), (C.GLsizeiptr)(length), (C.GLbitfield)(access)))
}
func FlushMappedNamedBufferRangeEXT(buffer Uint, offset Intptr, length Sizeiptr)  {
	C.goglFlushMappedNamedBufferRangeEXT((C.GLuint)(buffer), (C.GLintptr)(offset), (C.GLsizeiptr)(length))
}
func NamedCopyBufferSubDataEXT(readBuffer Uint, writeBuffer Uint, readOffset Intptr, writeOffset Intptr, size Sizeiptr)  {
	C.goglNamedCopyBufferSubDataEXT((C.GLuint)(readBuffer), (C.GLuint)(writeBuffer), (C.GLintptr)(readOffset), (C.GLintptr)(writeOffset), (C.GLsizeiptr)(size))
}
func GetNamedBufferParameterivEXT(buffer Uint, pname Enum, params *Int)  {
	C.goglGetNamedBufferParameterivEXT((C.GLuint)(buffer), (C.GLenum)(pname), (*C.GLint)(params))
}
func GetNamedBufferPointervEXT(buffer Uint, pname Enum, params *Pointer)  {
	C.goglGetNamedBufferPointervEXT((C.GLuint)(buffer), (C.GLenum)(pname), (*unsafe.Pointer)(params))
}
func GetNamedBufferSubDataEXT(buffer Uint, offset Intptr, size Sizeiptr, data Pointer)  {
	C.goglGetNamedBufferSubDataEXT((C.GLuint)(buffer), (C.GLintptr)(offset), (C.GLsizeiptr)(size), (unsafe.Pointer)(data))
}
func TextureBufferEXT(texture Uint, target Enum, internalformat Enum, buffer Uint)  {
	C.goglTextureBufferEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLenum)(internalformat), (C.GLuint)(buffer))
}
func MultiTexBufferEXT(texunit Enum, target Enum, internalformat Enum, buffer Uint)  {
	C.goglMultiTexBufferEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLenum)(internalformat), (C.GLuint)(buffer))
}
func NamedRenderbufferStorageEXT(renderbuffer Uint, internalformat Enum, width Sizei, height Sizei)  {
	C.goglNamedRenderbufferStorageEXT((C.GLuint)(renderbuffer), (C.GLenum)(internalformat), (C.GLsizei)(width), (C.GLsizei)(height))
}
func GetNamedRenderbufferParameterivEXT(renderbuffer Uint, pname Enum, params *Int)  {
	C.goglGetNamedRenderbufferParameterivEXT((C.GLuint)(renderbuffer), (C.GLenum)(pname), (*C.GLint)(params))
}
func CheckNamedFramebufferStatusEXT(framebuffer Uint, target Enum) Enum {
	return (Enum)(C.goglCheckNamedFramebufferStatusEXT((C.GLuint)(framebuffer), (C.GLenum)(target)))
}
func NamedFramebufferTexture1DEXT(framebuffer Uint, attachment Enum, textarget Enum, texture Uint, level Int)  {
	C.goglNamedFramebufferTexture1DEXT((C.GLuint)(framebuffer), (C.GLenum)(attachment), (C.GLenum)(textarget), (C.GLuint)(texture), (C.GLint)(level))
}
func NamedFramebufferTexture2DEXT(framebuffer Uint, attachment Enum, textarget Enum, texture Uint, level Int)  {
	C.goglNamedFramebufferTexture2DEXT((C.GLuint)(framebuffer), (C.GLenum)(attachment), (C.GLenum)(textarget), (C.GLuint)(texture), (C.GLint)(level))
}
func NamedFramebufferTexture3DEXT(framebuffer Uint, attachment Enum, textarget Enum, texture Uint, level Int, zoffset Int)  {
	C.goglNamedFramebufferTexture3DEXT((C.GLuint)(framebuffer), (C.GLenum)(attachment), (C.GLenum)(textarget), (C.GLuint)(texture), (C.GLint)(level), (C.GLint)(zoffset))
}
func NamedFramebufferRenderbufferEXT(framebuffer Uint, attachment Enum, renderbuffertarget Enum, renderbuffer Uint)  {
	C.goglNamedFramebufferRenderbufferEXT((C.GLuint)(framebuffer), (C.GLenum)(attachment), (C.GLenum)(renderbuffertarget), (C.GLuint)(renderbuffer))
}
func GetNamedFramebufferAttachmentParameterivEXT(framebuffer Uint, attachment Enum, pname Enum, params *Int)  {
	C.goglGetNamedFramebufferAttachmentParameterivEXT((C.GLuint)(framebuffer), (C.GLenum)(attachment), (C.GLenum)(pname), (*C.GLint)(params))
}
func GenerateTextureMipmapEXT(texture Uint, target Enum)  {
	C.goglGenerateTextureMipmapEXT((C.GLuint)(texture), (C.GLenum)(target))
}
func GenerateMultiTexMipmapEXT(texunit Enum, target Enum)  {
	C.goglGenerateMultiTexMipmapEXT((C.GLenum)(texunit), (C.GLenum)(target))
}
func FramebufferDrawBufferEXT(framebuffer Uint, mode Enum)  {
	C.goglFramebufferDrawBufferEXT((C.GLuint)(framebuffer), (C.GLenum)(mode))
}
func FramebufferDrawBuffersEXT(framebuffer Uint, n Sizei, bufs *Enum)  {
	C.goglFramebufferDrawBuffersEXT((C.GLuint)(framebuffer), (C.GLsizei)(n), (*C.GLenum)(bufs))
}
func FramebufferReadBufferEXT(framebuffer Uint, mode Enum)  {
	C.goglFramebufferReadBufferEXT((C.GLuint)(framebuffer), (C.GLenum)(mode))
}
func GetFramebufferParameterivEXT(framebuffer Uint, pname Enum, params *Int)  {
	C.goglGetFramebufferParameterivEXT((C.GLuint)(framebuffer), (C.GLenum)(pname), (*C.GLint)(params))
}
func NamedRenderbufferStorageMultisampleEXT(renderbuffer Uint, samples Sizei, internalformat Enum, width Sizei, height Sizei)  {
	C.goglNamedRenderbufferStorageMultisampleEXT((C.GLuint)(renderbuffer), (C.GLsizei)(samples), (C.GLenum)(internalformat), (C.GLsizei)(width), (C.GLsizei)(height))
}
func NamedRenderbufferStorageMultisampleCoverageEXT(renderbuffer Uint, coverageSamples Sizei, colorSamples Sizei, internalformat Enum, width Sizei, height Sizei)  {
	C.goglNamedRenderbufferStorageMultisampleCoverageEXT((C.GLuint)(renderbuffer), (C.GLsizei)(coverageSamples), (C.GLsizei)(colorSamples), (C.GLenum)(internalformat), (C.GLsizei)(width), (C.GLsizei)(height))
}
func NamedFramebufferTextureEXT(framebuffer Uint, attachment Enum, texture Uint, level Int)  {
	C.goglNamedFramebufferTextureEXT((C.GLuint)(framebuffer), (C.GLenum)(attachment), (C.GLuint)(texture), (C.GLint)(level))
}
func NamedFramebufferTextureLayerEXT(framebuffer Uint, attachment Enum, texture Uint, level Int, layer Int)  {
	C.goglNamedFramebufferTextureLayerEXT((C.GLuint)(framebuffer), (C.GLenum)(attachment), (C.GLuint)(texture), (C.GLint)(level), (C.GLint)(layer))
}
func NamedFramebufferTextureFaceEXT(framebuffer Uint, attachment Enum, texture Uint, level Int, face Enum)  {
	C.goglNamedFramebufferTextureFaceEXT((C.GLuint)(framebuffer), (C.GLenum)(attachment), (C.GLuint)(texture), (C.GLint)(level), (C.GLenum)(face))
}
func TextureRenderbufferEXT(texture Uint, target Enum, renderbuffer Uint)  {
	C.goglTextureRenderbufferEXT((C.GLuint)(texture), (C.GLenum)(target), (C.GLuint)(renderbuffer))
}
func MultiTexRenderbufferEXT(texunit Enum, target Enum, renderbuffer Uint)  {
	C.goglMultiTexRenderbufferEXT((C.GLenum)(texunit), (C.GLenum)(target), (C.GLuint)(renderbuffer))
}
func ProgramUniform1dEXT(program Uint, location Int, x Double)  {
	C.goglProgramUniform1dEXT((C.GLuint)(program), (C.GLint)(location), (C.GLdouble)(x))
}
func ProgramUniform2dEXT(program Uint, location Int, x Double, y Double)  {
	C.goglProgramUniform2dEXT((C.GLuint)(program), (C.GLint)(location), (C.GLdouble)(x), (C.GLdouble)(y))
}
func ProgramUniform3dEXT(program Uint, location Int, x Double, y Double, z Double)  {
	C.goglProgramUniform3dEXT((C.GLuint)(program), (C.GLint)(location), (C.GLdouble)(x), (C.GLdouble)(y), (C.GLdouble)(z))
}
func ProgramUniform4dEXT(program Uint, location Int, x Double, y Double, z Double, w Double)  {
	C.goglProgramUniform4dEXT((C.GLuint)(program), (C.GLint)(location), (C.GLdouble)(x), (C.GLdouble)(y), (C.GLdouble)(z), (C.GLdouble)(w))
}
func ProgramUniform1dvEXT(program Uint, location Int, count Sizei, value *Double)  {
	C.goglProgramUniform1dvEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (*C.GLdouble)(value))
}
func ProgramUniform2dvEXT(program Uint, location Int, count Sizei, value *Double)  {
	C.goglProgramUniform2dvEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (*C.GLdouble)(value))
}
func ProgramUniform3dvEXT(program Uint, location Int, count Sizei, value *Double)  {
	C.goglProgramUniform3dvEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (*C.GLdouble)(value))
}
func ProgramUniform4dvEXT(program Uint, location Int, count Sizei, value *Double)  {
	C.goglProgramUniform4dvEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (*C.GLdouble)(value))
}
func ProgramUniformMatrix2dvEXT(program Uint, location Int, count Sizei, transpose Boolean, value *Double)  {
	C.goglProgramUniformMatrix2dvEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (C.GLboolean)(transpose), (*C.GLdouble)(value))
}
func ProgramUniformMatrix3dvEXT(program Uint, location Int, count Sizei, transpose Boolean, value *Double)  {
	C.goglProgramUniformMatrix3dvEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (C.GLboolean)(transpose), (*C.GLdouble)(value))
}
func ProgramUniformMatrix4dvEXT(program Uint, location Int, count Sizei, transpose Boolean, value *Double)  {
	C.goglProgramUniformMatrix4dvEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (C.GLboolean)(transpose), (*C.GLdouble)(value))
}
func ProgramUniformMatrix2x3dvEXT(program Uint, location Int, count Sizei, transpose Boolean, value *Double)  {
	C.goglProgramUniformMatrix2x3dvEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (C.GLboolean)(transpose), (*C.GLdouble)(value))
}
func ProgramUniformMatrix2x4dvEXT(program Uint, location Int, count Sizei, transpose Boolean, value *Double)  {
	C.goglProgramUniformMatrix2x4dvEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (C.GLboolean)(transpose), (*C.GLdouble)(value))
}
func ProgramUniformMatrix3x2dvEXT(program Uint, location Int, count Sizei, transpose Boolean, value *Double)  {
	C.goglProgramUniformMatrix3x2dvEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (C.GLboolean)(transpose), (*C.GLdouble)(value))
}
func ProgramUniformMatrix3x4dvEXT(program Uint, location Int, count Sizei, transpose Boolean, value *Double)  {
	C.goglProgramUniformMatrix3x4dvEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (C.GLboolean)(transpose), (*C.GLdouble)(value))
}
func ProgramUniformMatrix4x2dvEXT(program Uint, location Int, count Sizei, transpose Boolean, value *Double)  {
	C.goglProgramUniformMatrix4x2dvEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (C.GLboolean)(transpose), (*C.GLdouble)(value))
}
func ProgramUniformMatrix4x3dvEXT(program Uint, location Int, count Sizei, transpose Boolean, value *Double)  {
	C.goglProgramUniformMatrix4x3dvEXT((C.GLuint)(program), (C.GLint)(location), (C.GLsizei)(count), (C.GLboolean)(transpose), (*C.GLdouble)(value))
}
func EnableVertexArrayAttribEXT(vaobj Uint, index Uint)  {
	C.goglEnableVertexArrayAttribEXT((C.GLuint)(vaobj), (C.GLuint)(index))
}
func DisableVertexArrayAttribEXT(vaobj Uint, index Uint)  {
	C.goglDisableVertexArrayAttribEXT((C.GLuint)(vaobj), (C.GLuint)(index))
}
func EnableVertexArrayEXT(vaobj Uint, array Enum)  {
	C.goglEnableVertexArrayEXT((C.GLuint)(vaobj), (C.GLenum)(array))
}
func DisableVertexArrayEXT(vaobj Uint, array Enum)  {
	C.goglDisableVertexArrayEXT((C.GLuint)(vaobj), (C.GLenum)(array))
}
func VertexArrayColorOffsetEXT(vaobj Uint, buffer Uint, size Int, type_ Enum, stride Sizei, offset Intptr)  {
	C.goglVertexArrayColorOffsetEXT((C.GLuint)(vaobj), (C.GLuint)(buffer), (C.GLint)(size), (C.GLenum)(type_), (C.GLsizei)(stride), (C.GLintptr)(offset))
}
func VertexArrayEdgeFlagOffsetEXT(vaobj Uint, buffer Uint, stride Sizei, offset Intptr)  {
	C.goglVertexArrayEdgeFlagOffsetEXT((C.GLuint)(vaobj), (C.GLuint)(buffer), (C.GLsizei)(stride), (C.GLintptr)(offset))
}
func VertexArrayFogCoordOffsetEXT(vaobj Uint, buffer Uint, type_ Enum, stride Sizei, offset Intptr)  {
	C.goglVertexArrayFogCoordOffsetEXT((C.GLuint)(vaobj), (C.GLuint)(buffer), (C.GLenum)(type_), (C.GLsizei)(stride), (C.GLintptr)(offset))
}
func VertexArrayIndexOffsetEXT(vaobj Uint, buffer Uint, type_ Enum, stride Sizei, offset Intptr)  {
	C.goglVertexArrayIndexOffsetEXT((C.GLuint)(vaobj), (C.GLuint)(buffer), (C.GLenum)(type_), (C.GLsizei)(stride), (C.GLintptr)(offset))
}
func VertexArrayMultiTexCoordOffsetEXT(vaobj Uint, buffer Uint, texunit Enum, size Int, type_ Enum, stride Sizei, offset Intptr)  {
	C.goglVertexArrayMultiTexCoordOffsetEXT((C.GLuint)(vaobj), (C.GLuint)(buffer), (C.GLenum)(texunit), (C.GLint)(size), (C.GLenum)(type_), (C.GLsizei)(stride), (C.GLintptr)(offset))
}
func VertexArrayNormalOffsetEXT(vaobj Uint, buffer Uint, type_ Enum, stride Sizei, offset Intptr)  {
	C.goglVertexArrayNormalOffsetEXT((C.GLuint)(vaobj), (C.GLuint)(buffer), (C.GLenum)(type_), (C.GLsizei)(stride), (C.GLintptr)(offset))
}
func VertexArraySecondaryColorOffsetEXT(vaobj Uint, buffer Uint, size Int, type_ Enum, stride Sizei, offset Intptr)  {
	C.goglVertexArraySecondaryColorOffsetEXT((C.GLuint)(vaobj), (C.GLuint)(buffer), (C.GLint)(size), (C.GLenum)(type_), (C.GLsizei)(stride), (C.GLintptr)(offset))
}
func VertexArrayTexCoordOffsetEXT(vaobj Uint, buffer Uint, size Int, type_ Enum, stride Sizei, offset Intptr)  {
	C.goglVertexArrayTexCoordOffsetEXT((C.GLuint)(vaobj), (C.GLuint)(buffer), (C.GLint)(size), (C.GLenum)(type_), (C.GLsizei)(stride), (C.GLintptr)(offset))
}
func VertexArrayVertexOffsetEXT(vaobj Uint, buffer Uint, size Int, type_ Enum, stride Sizei, offset Intptr)  {
	C.goglVertexArrayVertexOffsetEXT((C.GLuint)(vaobj), (C.GLuint)(buffer), (C.GLint)(size), (C.GLenum)(type_), (C.GLsizei)(stride), (C.GLintptr)(offset))
}
func VertexArrayVertexAttribIOffsetEXT(vaobj Uint, buffer Uint, index Uint, size Int, type_ Enum, stride Sizei, offset Intptr)  {
	C.goglVertexArrayVertexAttribIOffsetEXT((C.GLuint)(vaobj), (C.GLuint)(buffer), (C.GLuint)(index), (C.GLint)(size), (C.GLenum)(type_), (C.GLsizei)(stride), (C.GLintptr)(offset))
}
func VertexArrayVertexAttribOffsetEXT(vaobj Uint, buffer Uint, index Uint, size Int, type_ Enum, normalized Boolean, stride Sizei, offset Intptr)  {
	C.goglVertexArrayVertexAttribOffsetEXT((C.GLuint)(vaobj), (C.GLuint)(buffer), (C.GLuint)(index), (C.GLint)(size), (C.GLenum)(type_), (C.GLboolean)(normalized), (C.GLsizei)(stride), (C.GLintptr)(offset))
}
func GetVertexArrayIntegervEXT(vaobj Uint, pname Enum, param *Int)  {
	C.goglGetVertexArrayIntegervEXT((C.GLuint)(vaobj), (C.GLenum)(pname), (*C.GLint)(param))
}
func GetVertexArrayPointervEXT(vaobj Uint, pname Enum, param *Pointer)  {
	C.goglGetVertexArrayPointervEXT((C.GLuint)(vaobj), (C.GLenum)(pname), (*unsafe.Pointer)(param))
}
func GetVertexArrayIntegeri_vEXT(vaobj Uint, index Uint, pname Enum, param *Int)  {
	C.goglGetVertexArrayIntegeri_vEXT((C.GLuint)(vaobj), (C.GLuint)(index), (C.GLenum)(pname), (*C.GLint)(param))
}
func GetVertexArrayPointeri_vEXT(vaobj Uint, index Uint, pname Enum, param *Pointer)  {
	C.goglGetVertexArrayPointeri_vEXT((C.GLuint)(vaobj), (C.GLuint)(index), (C.GLenum)(pname), (*unsafe.Pointer)(param))
}
// EXT_draw_buffers2

func ColorMaskIndexedEXT(index Uint, r Boolean, g Boolean, b Boolean, a Boolean)  {
	C.goglColorMaskIndexedEXT((C.GLuint)(index), (C.GLboolean)(r), (C.GLboolean)(g), (C.GLboolean)(b), (C.GLboolean)(a))
}
func GetBooleanIndexedvEXT(target Enum, index Uint, data *Boolean)  {
	C.goglGetBooleanIndexedvEXT((C.GLenum)(target), (C.GLuint)(index), (*C.GLboolean)(data))
}
func GetIntegerIndexedvEXT(target Enum, index Uint, data *Int)  {
	C.goglGetIntegerIndexedvEXT((C.GLenum)(target), (C.GLuint)(index), (*C.GLint)(data))
}
func EnableIndexedEXT(target Enum, index Uint)  {
	C.goglEnableIndexedEXT((C.GLenum)(target), (C.GLuint)(index))
}
func DisableIndexedEXT(target Enum, index Uint)  {
	C.goglDisableIndexedEXT((C.GLenum)(target), (C.GLuint)(index))
}
func IsEnabledIndexedEXT(target Enum, index Uint) Boolean {
	return (Boolean)(C.goglIsEnabledIndexedEXT((C.GLenum)(target), (C.GLuint)(index)))
}
// EXT_draw_instanced

func DrawArraysInstancedEXT(mode Enum, start Int, count Sizei, primcount Sizei)  {
	C.goglDrawArraysInstancedEXT((C.GLenum)(mode), (C.GLint)(start), (C.GLsizei)(count), (C.GLsizei)(primcount))
}
func DrawElementsInstancedEXT(mode Enum, count Sizei, type_ Enum, indices Pointer, primcount Sizei)  {
	C.goglDrawElementsInstancedEXT((C.GLenum)(mode), (C.GLsizei)(count), (C.GLenum)(type_), (unsafe.Pointer)(indices), (C.GLsizei)(primcount))
}
// EXT_draw_range_elements

func DrawRangeElementsEXT(mode Enum, start Uint, end Uint, count Sizei, type_ Enum, indices Pointer)  {
	C.goglDrawRangeElementsEXT((C.GLenum)(mode), (C.GLuint)(start), (C.GLuint)(end), (C.GLsizei)(count), (C.GLenum)(type_), (unsafe.Pointer)(indices))
}
// EXT_fog_coord

func FogCoordfEXT(coord Float)  {
	C.goglFogCoordfEXT((C.GLfloat)(coord))
}
func FogCoordfvEXT(coord *Float)  {
	C.goglFogCoordfvEXT((*C.GLfloat)(coord))
}
func FogCoorddEXT(coord Double)  {
	C.goglFogCoorddEXT((C.GLdouble)(coord))
}
func FogCoorddvEXT(coord *Double)  {
	C.goglFogCoorddvEXT((*C.GLdouble)(coord))
}
func FogCoordPointerEXT(type_ Enum, stride Sizei, pointer Pointer)  {
	C.goglFogCoordPointerEXT((C.GLenum)(type_), (C.GLsizei)(stride), (unsafe.Pointer)(pointer))
}
// EXT_framebuffer_blit

func BlitFramebufferEXT(srcX0 Int, srcY0 Int, srcX1 Int, srcY1 Int, dstX0 Int, dstY0 Int, dstX1 Int, dstY1 Int, mask Bitfield, filter Enum)  {
	C.goglBlitFramebufferEXT((C.GLint)(srcX0), (C.GLint)(srcY0), (C.GLint)(srcX1), (C.GLint)(srcY1), (C.GLint)(dstX0), (C.GLint)(dstY0), (C.GLint)(dstX1), (C.GLint)(dstY1), (C.GLbitfield)(mask), (C.GLenum)(filter))
}
// EXT_framebuffer_multisample

func RenderbufferStorageMultisampleEXT(target Enum, samples Sizei, internalformat Enum, width Sizei, height Sizei)  {
	C.goglRenderbufferStorageMultisampleEXT((C.GLenum)(target), (C.GLsizei)(samples), (C.GLenum)(internalformat), (C.GLsizei)(width), (C.GLsizei)(height))
}
// EXT_framebuffer_object

func IsRenderbufferEXT(renderbuffer Uint) Boolean {
	return (Boolean)(C.goglIsRenderbufferEXT((C.GLuint)(renderbuffer)))
}
func BindRenderbufferEXT(target Enum, renderbuffer Uint)  {
	C.goglBindRenderbufferEXT((C.GLenum)(target), (C.GLuint)(renderbuffer))
}
func DeleteRenderbuffersEXT(n Sizei, renderbuffers *Uint)  {
	C.goglDeleteRenderbuffersEXT((C.GLsizei)(n), (*C.GLuint)(renderbuffers))
}
func GenRenderbuffersEXT(n Sizei, renderbuffers *Uint)  {
	C.goglGenRenderbuffersEXT((C.GLsizei)(n), (*C.GLuint)(renderbuffers))
}
func RenderbufferStorageEXT(target Enum, internalformat Enum, width Sizei, height Sizei)  {
	C.goglRenderbufferStorageEXT((C.GLenum)(target), (C.GLenum)(internalformat), (C.GLsizei)(width), (C.GLsizei)(height))
}
func GetRenderbufferParameterivEXT(target Enum, pname Enum, params *Int)  {
	C.goglGetRenderbufferParameterivEXT((C.GLenum)(target), (C.GLenum)(pname), (*C.GLint)(params))
}
func IsFramebufferEXT(framebuffer Uint) Boolean {
	return (Boolean)(C.goglIsFramebufferEXT((C.GLuint)(framebuffer)))
}
func BindFramebufferEXT(target Enum, framebuffer Uint)  {
	C.goglBindFramebufferEXT((C.GLenum)(target), (C.GLuint)(framebuffer))
}
func DeleteFramebuffersEXT(n Sizei, framebuffers *Uint)  {
	C.goglDeleteFramebuffersEXT((C.GLsizei)(n), (*C.GLuint)(framebuffers))
}
func GenFramebuffersEXT(n Sizei, framebuffers *Uint)  {
	C.goglGenFramebuffersEXT((C.GLsizei)(n), (*C.GLuint)(framebuffers))
}
func CheckFramebufferStatusEXT(target Enum) Enum {
	return (Enum)(C.goglCheckFramebufferStatusEXT((C.GLenum)(target)))
}
func FramebufferTexture1DEXT(target Enum, attachment Enum, textarget Enum, texture Uint, level Int)  {
	C.goglFramebufferTexture1DEXT((C.GLenum)(target), (C.GLenum)(attachment), (C.GLenum)(textarget), (C.GLuint)(texture), (C.GLint)(level))
}
func FramebufferTexture2DEXT(target Enum, attachment Enum, textarget Enum, texture Uint, level Int)  {
	C.goglFramebufferTexture2DEXT((C.GLenum)(target), (C.GLenum)(attachment), (C.GLenum)(textarget), (C.GLuint)(texture), (C.GLint)(level))
}
func FramebufferTexture3DEXT(target Enum, attachment Enum, textarget Enum, texture Uint, level Int, zoffset Int)  {
	C.goglFramebufferTexture3DEXT((C.GLenum)(target), (C.GLenum)(attachment), (C.GLenum)(textarget), (C.GLuint)(texture), (C.GLint)(level), (C.GLint)(zoffset))
}
func FramebufferRenderbufferEXT(target Enum, attachment Enum, renderbuffertarget Enum, renderbuffer Uint)  {
	C.goglFramebufferRenderbufferEXT((C.GLenum)(target), (C.GLenum)(attachment), (C.GLenum)(renderbuffertarget), (C.GLuint)(renderbuffer))
}
func GetFramebufferAttachmentParameterivEXT(target Enum, attachment Enum, pname Enum, params *Int)  {
	C.goglGetFramebufferAttachmentParameterivEXT((C.GLenum)(target), (C.GLenum)(attachment), (C.GLenum)(pname), (*C.GLint)(params))
}
func GenerateMipmapEXT(target Enum)  {
	C.goglGenerateMipmapEXT((C.GLenum)(target))
}
// EXT_geometry_shader4

func ProgramParameteriEXT(program Uint, pname Enum, value Int)  {
	C.goglProgramParameteriEXT((C.GLuint)(program), (C.GLenum)(pname), (C.GLint)(value))
}
// EXT_gpu_program_parameters

func ProgramEnvParameters4fvEXT(target Enum, index Uint, count Sizei, params *Float)  {
	C.goglProgramEnvParameters4fvEXT((C.GLenum)(target), (C.GLuint)(index), (C.GLsizei)(count), (*C.GLfloat)(params))
}
func ProgramLocalParameters4fvEXT(target Enum, index Uint, count Sizei, params *Float)  {
	C.goglProgramLocalParameters4fvEXT((C.GLenum)(target), (C.GLuint)(index), (C.GLsizei)(count), (*C.GLfloat)(params))
}
// EXT_gpu_shader4

func GetUniformuivEXT(program Uint, location Int, params *Uint)  {
	C.goglGetUniformuivEXT((C.GLuint)(program), (C.GLint)(location), (*C.GLuint)(params))
}
func BindFragDataLocationEXT(program Uint, color Uint, name *Char)  {
	C.goglBindFragDataLocationEXT((C.GLuint)(program), (C.GLuint)(color), (*C.GLchar)(name))
}
func GetFragDataLocationEXT(program Uint, name *Char) Int {
	return (Int)(C.goglGetFragDataLocationEXT((C.GLuint)(program), (*C.GLchar)(name)))
}
func Uniform1uiEXT(location Int, v0 Uint)  {
	C.goglUniform1uiEXT((C.GLint)(location), (C.GLuint)(v0))
}
func Uniform2uiEXT(location Int, v0 Uint, v1 Uint)  {
	C.goglUniform2uiEXT((C.GLint)(location), (C.GLuint)(v0), (C.GLuint)(v1))
}
func Uniform3uiEXT(location Int, v0 Uint, v1 Uint, v2 Uint)  {
	C.goglUniform3uiEXT((C.GLint)(location), (C.GLuint)(v0), (C.GLuint)(v1), (C.GLuint)(v2))
}
func Uniform4uiEXT(location Int, v0 Uint, v1 Uint, v2 Uint, v3 Uint)  {
	C.goglUniform4uiEXT((C.GLint)(location), (C.GLuint)(v0), (C.GLuint)(v1), (C.GLuint)(v2), (C.GLuint)(v3))
}
func Uniform1uivEXT(location Int, count Sizei, value *Uint)  {
	C.goglUniform1uivEXT((C.GLint)(location), (C.GLsizei)(count), (*C.GLuint)(value))
}
func Uniform2uivEXT(location Int, count Sizei, value *Uint)  {
	C.goglUniform2uivEXT((C.GLint)(location), (C.GLsizei)(count), (*C.GLuint)(value))
}
func Uniform3uivEXT(location Int, count Sizei, value *Uint)  {
	C.goglUniform3uivEXT((C.GLint)(location), (C.GLsizei)(count), (*C.GLuint)(value))
}
func Uniform4uivEXT(location Int, count Sizei, value *Uint)  {
	C.goglUniform4uivEXT((C.GLint)(location), (C.GLsizei)(count), (*C.GLuint)(value))
}
// EXT_histogram

func GetHistogramEXT(target Enum, reset Boolean, format Enum, type_ Enum, values Pointer)  {
	C.goglGetHistogramEXT((C.GLenum)(target), (C.GLboolean)(reset), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(values))
}
func GetHistogramParameterfvEXT(target Enum, pname Enum, params *Float)  {
	C.goglGetHistogramParameterfvEXT((C.GLenum)(target), (C.GLenum)(pname), (*C.GLfloat)(params))
}
func GetHistogramParameterivEXT(target Enum, pname Enum, params *Int)  {
	C.goglGetHistogramParameterivEXT((C.GLenum)(target), (C.GLenum)(pname), (*C.GLint)(params))
}
func GetMinmaxEXT(target Enum, reset Boolean, format Enum, type_ Enum, values Pointer)  {
	C.goglGetMinmaxEXT((C.GLenum)(target), (C.GLboolean)(reset), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(values))
}
func GetMinmaxParameterfvEXT(target Enum, pname Enum, params *Float)  {
	C.goglGetMinmaxParameterfvEXT((C.GLenum)(target), (C.GLenum)(pname), (*C.GLfloat)(params))
}
func GetMinmaxParameterivEXT(target Enum, pname Enum, params *Int)  {
	C.goglGetMinmaxParameterivEXT((C.GLenum)(target), (C.GLenum)(pname), (*C.GLint)(params))
}
func HistogramEXT(target Enum, width Sizei, internalformat Enum, sink Boolean)  {
	C.goglHistogramEXT((C.GLenum)(target), (C.GLsizei)(width), (C.GLenum)(internalformat), (C.GLboolean)(sink))
}
func MinmaxEXT(target Enum, internalformat Enum, sink Boolean)  {
	C.goglMinmaxEXT((C.GLenum)(target), (C.GLenum)(internalformat), (C.GLboolean)(sink))
}
func ResetHistogramEXT(target Enum)  {
	C.goglResetHistogramEXT((C.GLenum)(target))
}
func ResetMinmaxEXT(target Enum)  {
	C.goglResetMinmaxEXT((C.GLenum)(target))
}
// EXT_index_func

func IndexFuncEXT(func_ Enum, ref Clampf)  {
	C.goglIndexFuncEXT((C.GLenum)(func_), (C.GLclampf)(ref))
}
// EXT_index_material

func IndexMaterialEXT(face Enum, mode Enum)  {
	C.goglIndexMaterialEXT((C.GLenum)(face), (C.GLenum)(mode))
}
// EXT_light_texture

func ApplyTextureEXT(mode Enum)  {
	C.goglApplyTextureEXT((C.GLenum)(mode))
}
func TextureLightEXT(pname Enum)  {
	C.goglTextureLightEXT((C.GLenum)(pname))
}
func TextureMaterialEXT(face Enum, mode Enum)  {
	C.goglTextureMaterialEXT((C.GLenum)(face), (C.GLenum)(mode))
}
// EXT_multi_draw_arrays

func MultiDrawArraysEXT(mode Enum, first *Int, count *Sizei, primcount Sizei)  {
	C.goglMultiDrawArraysEXT((C.GLenum)(mode), (*C.GLint)(first), (*C.GLsizei)(count), (C.GLsizei)(primcount))
}
func MultiDrawElementsEXT(mode Enum, count *Sizei, type_ Enum, indices *Pointer, primcount Sizei)  {
	C.goglMultiDrawElementsEXT((C.GLenum)(mode), (*C.GLsizei)(count), (C.GLenum)(type_), (*unsafe.Pointer)(indices), (C.GLsizei)(primcount))
}
// EXT_multisample

func SampleMaskEXT(value Clampf, invert Boolean)  {
	C.goglSampleMaskEXT((C.GLclampf)(value), (C.GLboolean)(invert))
}
func SamplePatternEXT(pattern Enum)  {
	C.goglSamplePatternEXT((C.GLenum)(pattern))
}
// EXT_paletted_texture

func ColorTableEXT(target Enum, internalFormat Enum, width Sizei, format Enum, type_ Enum, table Pointer)  {
	C.goglColorTableEXT((C.GLenum)(target), (C.GLenum)(internalFormat), (C.GLsizei)(width), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(table))
}
func GetColorTableEXT(target Enum, format Enum, type_ Enum, data Pointer)  {
	C.goglGetColorTableEXT((C.GLenum)(target), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(data))
}
func GetColorTableParameterivEXT(target Enum, pname Enum, params *Int)  {
	C.goglGetColorTableParameterivEXT((C.GLenum)(target), (C.GLenum)(pname), (*C.GLint)(params))
}
func GetColorTableParameterfvEXT(target Enum, pname Enum, params *Float)  {
	C.goglGetColorTableParameterfvEXT((C.GLenum)(target), (C.GLenum)(pname), (*C.GLfloat)(params))
}
// EXT_pixel_transform

func PixelTransformParameteriEXT(target Enum, pname Enum, param Int)  {
	C.goglPixelTransformParameteriEXT((C.GLenum)(target), (C.GLenum)(pname), (C.GLint)(param))
}
func PixelTransformParameterfEXT(target Enum, pname Enum, param Float)  {
	C.goglPixelTransformParameterfEXT((C.GLenum)(target), (C.GLenum)(pname), (C.GLfloat)(param))
}
func PixelTransformParameterivEXT(target Enum, pname Enum, params *Int)  {
	C.goglPixelTransformParameterivEXT((C.GLenum)(target), (C.GLenum)(pname), (*C.GLint)(params))
}
func PixelTransformParameterfvEXT(target Enum, pname Enum, params *Float)  {
	C.goglPixelTransformParameterfvEXT((C.GLenum)(target), (C.GLenum)(pname), (*C.GLfloat)(params))
}
func GetPixelTransformParameterivEXT(target Enum, pname Enum, params *Int)  {
	C.goglGetPixelTransformParameterivEXT((C.GLenum)(target), (C.GLenum)(pname), (*C.GLint)(params))
}
func GetPixelTransformParameterfvEXT(target Enum, pname Enum, params *Float)  {
	C.goglGetPixelTransformParameterfvEXT((C.GLenum)(target), (C.GLenum)(pname), (*C.GLfloat)(params))
}
// EXT_point_parameters

func PointParameterfEXT(pname Enum, param Float)  {
	C.goglPointParameterfEXT((C.GLenum)(pname), (C.GLfloat)(param))
}
func PointParameterfvEXT(pname Enum, params *Float)  {
	C.goglPointParameterfvEXT((C.GLenum)(pname), (*C.GLfloat)(params))
}
// EXT_polygon_offset

func PolygonOffsetEXT(factor Float, bias Float)  {
	C.goglPolygonOffsetEXT((C.GLfloat)(factor), (C.GLfloat)(bias))
}
// EXT_provoking_vertex

func ProvokingVertexEXT(mode Enum)  {
	C.goglProvokingVertexEXT((C.GLenum)(mode))
}
// EXT_secondary_color

func SecondaryColor3bEXT(red Byte, green Byte, blue Byte)  {
	C.goglSecondaryColor3bEXT((C.GLbyte)(red), (C.GLbyte)(green), (C.GLbyte)(blue))
}
func SecondaryColor3bvEXT(v *Byte)  {
	C.goglSecondaryColor3bvEXT((*C.GLbyte)(v))
}
func SecondaryColor3dEXT(red Double, green Double, blue Double)  {
	C.goglSecondaryColor3dEXT((C.GLdouble)(red), (C.GLdouble)(green), (C.GLdouble)(blue))
}
func SecondaryColor3dvEXT(v *Double)  {
	C.goglSecondaryColor3dvEXT((*C.GLdouble)(v))
}
func SecondaryColor3fEXT(red Float, green Float, blue Float)  {
	C.goglSecondaryColor3fEXT((C.GLfloat)(red), (C.GLfloat)(green), (C.GLfloat)(blue))
}
func SecondaryColor3fvEXT(v *Float)  {
	C.goglSecondaryColor3fvEXT((*C.GLfloat)(v))
}
func SecondaryColor3iEXT(red Int, green Int, blue Int)  {
	C.goglSecondaryColor3iEXT((C.GLint)(red), (C.GLint)(green), (C.GLint)(blue))
}
func SecondaryColor3ivEXT(v *Int)  {
	C.goglSecondaryColor3ivEXT((*C.GLint)(v))
}
func SecondaryColor3sEXT(red Short, green Short, blue Short)  {
	C.goglSecondaryColor3sEXT((C.GLshort)(red), (C.GLshort)(green), (C.GLshort)(blue))
}
func SecondaryColor3svEXT(v *Short)  {
	C.goglSecondaryColor3svEXT((*C.GLshort)(v))
}
func SecondaryColor3ubEXT(red Ubyte, green Ubyte, blue Ubyte)  {
	C.goglSecondaryColor3ubEXT((C.GLubyte)(red), (C.GLubyte)(green), (C.GLubyte)(blue))
}
func SecondaryColor3ubvEXT(v *Ubyte)  {
	C.goglSecondaryColor3ubvEXT((*C.GLubyte)(v))
}
func SecondaryColor3uiEXT(red Uint, green Uint, blue Uint)  {
	C.goglSecondaryColor3uiEXT((C.GLuint)(red), (C.GLuint)(green), (C.GLuint)(blue))
}
func SecondaryColor3uivEXT(v *Uint)  {
	C.goglSecondaryColor3uivEXT((*C.GLuint)(v))
}
func SecondaryColor3usEXT(red Ushort, green Ushort, blue Ushort)  {
	C.goglSecondaryColor3usEXT((C.GLushort)(red), (C.GLushort)(green), (C.GLushort)(blue))
}
func SecondaryColor3usvEXT(v *Ushort)  {
	C.goglSecondaryColor3usvEXT((*C.GLushort)(v))
}
func SecondaryColorPointerEXT(size Int, type_ Enum, stride Sizei, pointer Pointer)  {
	C.goglSecondaryColorPointerEXT((C.GLint)(size), (C.GLenum)(type_), (C.GLsizei)(stride), (unsafe.Pointer)(pointer))
}
// EXT_separate_shader_objects

func UseShaderProgramEXT(type_ Enum, program Uint)  {
	C.goglUseShaderProgramEXT((C.GLenum)(type_), (C.GLuint)(program))
}
func ActiveProgramEXT(program Uint)  {
	C.goglActiveProgramEXT((C.GLuint)(program))
}
func CreateShaderProgramEXT(type_ Enum, string_ *Char) Uint {
	return (Uint)(C.goglCreateShaderProgramEXT((C.GLenum)(type_), (*C.GLchar)(string_)))
}
// EXT_shader_image_load_store

func BindImageTextureEXT(index Uint, texture Uint, level Int, layered Boolean, layer Int, access Enum, format Int)  {
	C.goglBindImageTextureEXT((C.GLuint)(index), (C.GLuint)(texture), (C.GLint)(level), (C.GLboolean)(layered), (C.GLint)(layer), (C.GLenum)(access), (C.GLint)(format))
}
func MemoryBarrierEXT(barriers Bitfield)  {
	C.goglMemoryBarrierEXT((C.GLbitfield)(barriers))
}
// EXT_stencil_clear_tag

func StencilClearTagEXT(stencilTagBits Sizei, stencilClearTag Uint)  {
	C.goglStencilClearTagEXT((C.GLsizei)(stencilTagBits), (C.GLuint)(stencilClearTag))
}
// EXT_stencil_two_side

func ActiveStencilFaceEXT(face Enum)  {
	C.goglActiveStencilFaceEXT((C.GLenum)(face))
}
// EXT_subtexture

func TexSubImage1DEXT(target Enum, level Int, xoffset Int, width Sizei, format Enum, type_ Enum, pixels Pointer)  {
	C.goglTexSubImage1DEXT((C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLsizei)(width), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(pixels))
}
func TexSubImage2DEXT(target Enum, level Int, xoffset Int, yoffset Int, width Sizei, height Sizei, format Enum, type_ Enum, pixels Pointer)  {
	C.goglTexSubImage2DEXT((C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLint)(yoffset), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(pixels))
}
// EXT_texture3D

func TexImage3DEXT(target Enum, level Int, internalformat Enum, width Sizei, height Sizei, depth Sizei, border Int, format Enum, type_ Enum, pixels Pointer)  {
	C.goglTexImage3DEXT((C.GLenum)(target), (C.GLint)(level), (C.GLenum)(internalformat), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLsizei)(depth), (C.GLint)(border), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(pixels))
}
func TexSubImage3DEXT(target Enum, level Int, xoffset Int, yoffset Int, zoffset Int, width Sizei, height Sizei, depth Sizei, format Enum, type_ Enum, pixels Pointer)  {
	C.goglTexSubImage3DEXT((C.GLenum)(target), (C.GLint)(level), (C.GLint)(xoffset), (C.GLint)(yoffset), (C.GLint)(zoffset), (C.GLsizei)(width), (C.GLsizei)(height), (C.GLsizei)(depth), (C.GLenum)(format), (C.GLenum)(type_), (unsafe.Pointer)(pixels))
}
// EXT_texture_buffer_object

func TexBufferEXT(target Enum, internalformat Enum, buffer Uint)  {
	C.goglTexBufferEXT((C.GLenum)(target), (C.GLenum)(internalformat), (C.GLuint)(buffer))
}
// EXT_texture_integer

func TexParameterIivEXT(target Enum, pname Enum, params *Int)  {
	C.goglTexParameterIivEXT((C.GLenum)(target), (C.GLenum)(pname), (*C.GLint)(params))
}
func TexParameterIuivEXT(target Enum, pname Enum, params *Uint)  {
	C.goglTexParameterIuivEXT((C.GLenum)(target), (C.GLenum)(pname), (*C.GLuint)(params))
}
func GetTexParameterIivEXT(target Enum, pname Enum, params *Int)  {
	C.goglGetTexParameterIivEXT((C.GLenum)(target), (C.GLenum)(pname), (*C.GLint)(params))
}
func GetTexParameterIuivEXT(target Enum, pname Enum, params *Uint)  {
	C.goglGetTexParameterIuivEXT((C.GLenum)(target), (C.GLenum)(pname), (*C.GLuint)(params))
}
func ClearColorIiEXT(red Int, green Int, blue Int, alpha Int)  {
	C.goglClearColorIiEXT((C.GLint)(red), (C.GLint)(green), (C.GLint)(blue), (C.GLint)(alpha))
}
func ClearColorIuiEXT(red Uint, green Uint, blue Uint, alpha Uint)  {
	C.goglClearColorIuiEXT((C.GLuint)(red), (C.GLuint)(green), (C.GLuint)(blue), (C.GLuint)(alpha))
}
// EXT_texture_object

func AreTexturesResidentEXT(n Sizei, textures *Uint, residences *Boolean) Boolean {
	return (Boolean)(C.goglAreTexturesResidentEXT((C.GLsizei)(n), (*C.GLuint)(textures), (*C.GLboolean)(residences)))
}
func BindTextureEXT(target Enum, texture Uint)  {
	C.goglBindTextureEXT((C.GLenum)(target), (C.GLuint)(texture))
}
func DeleteTexturesEXT(n Sizei, textures *Uint)  {
	C.goglDeleteTexturesEXT((C.GLsizei)(n), (*C.GLuint)(textures))
}
func GenTexturesEXT(n Sizei, textures *Uint)  {
	C.goglGenTexturesEXT((C.GLsizei)(n), (*C.GLuint)(textures))
}
func IsTextureEXT(texture Uint) Boolean {
	return (Boolean)(C.goglIsTextureEXT((C.GLuint)(texture)))
}
func PrioritizeTexturesEXT(n Sizei, textures *Uint, priorities *Clampf)  {
	C.goglPrioritizeTexturesEXT((C.GLsizei)(n), (*C.GLuint)(textures), (*C.GLclampf)(priorities))
}
// EXT_texture_perturb_normal

func TextureNormalEXT(mode Enum)  {
	C.goglTextureNormalEXT((C.GLenum)(mode))
}
// EXT_timer_query

func GetQueryObjecti64vEXT(id Uint, pname Enum, params *Int64)  {
	C.goglGetQueryObjecti64vEXT((C.GLuint)(id), (C.GLenum)(pname), (*C.GLint64EXT)(params))
}
func GetQueryObjectui64vEXT(id Uint, pname Enum, params *Uint64)  {
	C.goglGetQueryObjectui64vEXT((C.GLuint)(id), (C.GLenum)(pname), (*C.GLuint64EXT)(params))
}
// EXT_transform_feedback

func BeginTransformFeedbackEXT(primitiveMode Enum)  {
	C.goglBeginTransformFeedbackEXT((C.GLenum)(primitiveMode))
}
func EndTransformFeedbackEXT()  {
	C.goglEndTransformFeedbackEXT()
}
func BindBufferRangeEXT(target Enum, index Uint, buffer Uint, offset Intptr, size Sizeiptr)  {
	C.goglBindBufferRangeEXT((C.GLenum)(target), (C.GLuint)(index), (C.GLuint)(buffer), (C.GLintptr)(offset), (C.GLsizeiptr)(size))
}
func BindBufferOffsetEXT(target Enum, index Uint, buffer Uint, offset Intptr)  {
	C.goglBindBufferOffsetEXT((C.GLenum)(target), (C.GLuint)(index), (C.GLuint)(buffer), (C.GLintptr)(offset))
}
func BindBufferBaseEXT(target Enum, index Uint, buffer Uint)  {
	C.goglBindBufferBaseEXT((C.GLenum)(target), (C.GLuint)(index), (C.GLuint)(buffer))
}
func TransformFeedbackVaryingsEXT(program Uint, count Sizei, varyings **Char, bufferMode Enum)  {
	C.goglTransformFeedbackVaryingsEXT((C.GLuint)(program), (C.GLsizei)(count), (**C.GLchar)(unsafe.Pointer(varyings)), (C.GLenum)(bufferMode))
}
func GetTransformFeedbackVaryingEXT(program Uint, index Uint, bufSize Sizei, length *Sizei, size *Sizei, type_ *Enum, name *Char)  {
	C.goglGetTransformFeedbackVaryingEXT((C.GLuint)(program), (C.GLuint)(index), (C.GLsizei)(bufSize), (*C.GLsizei)(length), (*C.GLsizei)(size), (*C.GLenum)(type_), (*C.GLchar)(name))
}
// EXT_vertex_array

func ArrayElementEXT(i Int)  {
	C.goglArrayElementEXT((C.GLint)(i))
}
func ColorPointerEXT(size Int, type_ Enum, stride Sizei, count Sizei, pointer Pointer)  {
	C.goglColorPointerEXT((C.GLint)(size), (C.GLenum)(type_), (C.GLsizei)(stride), (C.GLsizei)(count), (unsafe.Pointer)(pointer))
}
func DrawArraysEXT(mode Enum, first Int, count Sizei)  {
	C.goglDrawArraysEXT((C.GLenum)(mode), (C.GLint)(first), (C.GLsizei)(count))
}
func EdgeFlagPointerEXT(stride Sizei, count Sizei, pointer *Boolean)  {
	C.goglEdgeFlagPointerEXT((C.GLsizei)(stride), (C.GLsizei)(count), (*C.GLboolean)(pointer))
}
func GetPointervEXT(pname Enum, params *Pointer)  {
	C.goglGetPointervEXT((C.GLenum)(pname), (*unsafe.Pointer)(params))
}
func IndexPointerEXT(type_ Enum, stride Sizei, count Sizei, pointer Pointer)  {
	C.goglIndexPointerEXT((C.GLenum)(type_), (C.GLsizei)(stride), (C.GLsizei)(count), (unsafe.Pointer)(pointer))
}
func NormalPointerEXT(type_ Enum, stride Sizei, count Sizei, pointer Pointer)  {
	C.goglNormalPointerEXT((C.GLenum)(type_), (C.GLsizei)(stride), (C.GLsizei)(count), (unsafe.Pointer)(pointer))
}
func TexCoordPointerEXT(size Int, type_ Enum, stride Sizei, count Sizei, pointer Pointer)  {
	C.goglTexCoordPointerEXT((C.GLint)(size), (C.GLenum)(type_), (C.GLsizei)(stride), (C.GLsizei)(count), (unsafe.Pointer)(pointer))
}
func VertexPointerEXT(size Int, type_ Enum, stride Sizei, count Sizei, pointer Pointer)  {
	C.goglVertexPointerEXT((C.GLint)(size), (C.GLenum)(type_), (C.GLsizei)(stride), (C.GLsizei)(count), (unsafe.Pointer)(pointer))
}
// EXT_vertex_attrib_64bit

func VertexAttribL1dEXT(index Uint, x Double)  {
	C.goglVertexAttribL1dEXT((C.GLuint)(index), (C.GLdouble)(x))
}
func VertexAttribL2dEXT(index Uint, x Double, y Double)  {
	C.goglVertexAttribL2dEXT((C.GLuint)(index), (C.GLdouble)(x), (C.GLdouble)(y))
}
func VertexAttribL3dEXT(index Uint, x Double, y Double, z Double)  {
	C.goglVertexAttribL3dEXT((C.GLuint)(index), (C.GLdouble)(x), (C.GLdouble)(y), (C.GLdouble)(z))
}
func VertexAttribL4dEXT(index Uint, x Double, y Double, z Double, w Double)  {
	C.goglVertexAttribL4dEXT((C.GLuint)(index), (C.GLdouble)(x), (C.GLdouble)(y), (C.GLdouble)(z), (C.GLdouble)(w))
}
func VertexAttribL1dvEXT(index Uint, v *Double)  {
	C.goglVertexAttribL1dvEXT((C.GLuint)(index), (*C.GLdouble)(v))
}
func VertexAttribL2dvEXT(index Uint, v *Double)  {
	C.goglVertexAttribL2dvEXT((C.GLuint)(index), (*C.GLdouble)(v))
}
func VertexAttribL3dvEXT(index Uint, v *Double)  {
	C.goglVertexAttribL3dvEXT((C.GLuint)(index), (*C.GLdouble)(v))
}
func VertexAttribL4dvEXT(index Uint, v *Double)  {
	C.goglVertexAttribL4dvEXT((C.GLuint)(index), (*C.GLdouble)(v))
}
func VertexAttribLPointerEXT(index Uint, size Int, type_ Enum, stride Sizei, pointer Pointer)  {
	C.goglVertexAttribLPointerEXT((C.GLuint)(index), (C.GLint)(size), (C.GLenum)(type_), (C.GLsizei)(stride), (unsafe.Pointer)(pointer))
}
func GetVertexAttribLdvEXT(index Uint, pname Enum, params *Double)  {
	C.goglGetVertexAttribLdvEXT((C.GLuint)(index), (C.GLenum)(pname), (*C.GLdouble)(params))
}
func VertexArrayVertexAttribLOffsetEXT(vaobj Uint, buffer Uint, index Uint, size Int, type_ Enum, stride Sizei, offset Intptr)  {
	C.goglVertexArrayVertexAttribLOffsetEXT((C.GLuint)(vaobj), (C.GLuint)(buffer), (C.GLuint)(index), (C.GLint)(size), (C.GLenum)(type_), (C.GLsizei)(stride), (C.GLintptr)(offset))
}
// EXT_vertex_shader

func BeginVertexShaderEXT()  {
	C.goglBeginVertexShaderEXT()
}
func EndVertexShaderEXT()  {
	C.goglEndVertexShaderEXT()
}
func BindVertexShaderEXT(id Uint)  {
	C.goglBindVertexShaderEXT((C.GLuint)(id))
}
func GenVertexShadersEXT(range_ Uint) Uint {
	return (Uint)(C.goglGenVertexShadersEXT((C.GLuint)(range_)))
}
func DeleteVertexShaderEXT(id Uint)  {
	C.goglDeleteVertexShaderEXT((C.GLuint)(id))
}
func ShaderOp1EXT(op Enum, res Uint, arg1 Uint)  {
	C.goglShaderOp1EXT((C.GLenum)(op), (C.GLuint)(res), (C.GLuint)(arg1))
}
func ShaderOp2EXT(op Enum, res Uint, arg1 Uint, arg2 Uint)  {
	C.goglShaderOp2EXT((C.GLenum)(op), (C.GLuint)(res), (C.GLuint)(arg1), (C.GLuint)(arg2))
}
func ShaderOp3EXT(op Enum, res Uint, arg1 Uint, arg2 Uint, arg3 Uint)  {
	C.goglShaderOp3EXT((C.GLenum)(op), (C.GLuint)(res), (C.GLuint)(arg1), (C.GLuint)(arg2), (C.GLuint)(arg3))
}
func SwizzleEXT(res Uint, in Uint, outX Enum, outY Enum, outZ Enum, outW Enum)  {
	C.goglSwizzleEXT((C.GLuint)(res), (C.GLuint)(in), (C.GLenum)(outX), (C.GLenum)(outY), (C.GLenum)(outZ), (C.GLenum)(outW))
}
func WriteMaskEXT(res Uint, in Uint, outX Enum, outY Enum, outZ Enum, outW Enum)  {
	C.goglWriteMaskEXT((C.GLuint)(res), (C.GLuint)(in), (C.GLenum)(outX), (C.GLenum)(outY), (C.GLenum)(outZ), (C.GLenum)(outW))
}
func InsertComponentEXT(res Uint, src Uint, num Uint)  {
	C.goglInsertComponentEXT((C.GLuint)(res), (C.GLuint)(src), (C.GLuint)(num))
}
func ExtractComponentEXT(res Uint, src Uint, num Uint)  {
	C.goglExtractComponentEXT((C.GLuint)(res), (C.GLuint)(src), (C.GLuint)(num))
}
func GenSymbolsEXT(datatype Enum, storagetype Enum, range_ Enum, components Uint) Uint {
	return (Uint)(C.goglGenSymbolsEXT((C.GLenum)(datatype), (C.GLenum)(storagetype), (C.GLenum)(range_), (C.GLuint)(components)))
}
func SetInvariantEXT(id Uint, type_ Enum, addr Pointer)  {
	C.goglSetInvariantEXT((C.GLuint)(id), (C.GLenum)(type_), (unsafe.Pointer)(addr))
}
func SetLocalConstantEXT(id Uint, type_ Enum, addr Pointer)  {
	C.goglSetLocalConstantEXT((C.GLuint)(id), (C.GLenum)(type_), (unsafe.Pointer)(addr))
}
func VariantbvEXT(id Uint, addr *Byte)  {
	C.goglVariantbvEXT((C.GLuint)(id), (*C.GLbyte)(addr))
}
func VariantsvEXT(id Uint, addr *Short)  {
	C.goglVariantsvEXT((C.GLuint)(id), (*C.GLshort)(addr))
}
func VariantivEXT(id Uint, addr *Int)  {
	C.goglVariantivEXT((C.GLuint)(id), (*C.GLint)(addr))
}
func VariantfvEXT(id Uint, addr *Float)  {
	C.goglVariantfvEXT((C.GLuint)(id), (*C.GLfloat)(addr))
}
func VariantdvEXT(id Uint, addr *Double)  {
	C.goglVariantdvEXT((C.GLuint)(id), (*C.GLdouble)(addr))
}
func VariantubvEXT(id Uint, addr *Ubyte)  {
	C.goglVariantubvEXT((C.GLuint)(id), (*C.GLubyte)(addr))
}
func VariantusvEXT(id Uint, addr *Ushort)  {
	C.goglVariantusvEXT((C.GLuint)(id), (*C.GLushort)(addr))
}
func VariantuivEXT(id Uint, addr *Uint)  {
	C.goglVariantuivEXT((C.GLuint)(id), (*C.GLuint)(addr))
}
func VariantPointerEXT(id Uint, type_ Enum, stride Uint, addr Pointer)  {
	C.goglVariantPointerEXT((C.GLuint)(id), (C.GLenum)(type_), (C.GLuint)(stride), (unsafe.Pointer)(addr))
}
func EnableVariantClientStateEXT(id Uint)  {
	C.goglEnableVariantClientStateEXT((C.GLuint)(id))
}
func DisableVariantClientStateEXT(id Uint)  {
	C.goglDisableVariantClientStateEXT((C.GLuint)(id))
}
func BindLightParameterEXT(light Enum, value Enum) Uint {
	return (Uint)(C.goglBindLightParameterEXT((C.GLenum)(light), (C.GLenum)(value)))
}
func BindMaterialParameterEXT(face Enum, value Enum) Uint {
	return (Uint)(C.goglBindMaterialParameterEXT((C.GLenum)(face), (C.GLenum)(value)))
}
func BindTexGenParameterEXT(unit Enum, coord Enum, value Enum) Uint {
	return (Uint)(C.goglBindTexGenParameterEXT((C.GLenum)(unit), (C.GLenum)(coord), (C.GLenum)(value)))
}
func BindTextureUnitParameterEXT(unit Enum, value Enum) Uint {
	return (Uint)(C.goglBindTextureUnitParameterEXT((C.GLenum)(unit), (C.GLenum)(value)))
}
func BindParameterEXT(value Enum) Uint {
	return (Uint)(C.goglBindParameterEXT((C.GLenum)(value)))
}
func IsVariantEnabledEXT(id Uint, cap Enum) Boolean {
	return (Boolean)(C.goglIsVariantEnabledEXT((C.GLuint)(id), (C.GLenum)(cap)))
}
func GetVariantBooleanvEXT(id Uint, value Enum, data *Boolean)  {
	C.goglGetVariantBooleanvEXT((C.GLuint)(id), (C.GLenum)(value), (*C.GLboolean)(data))
}
func GetVariantIntegervEXT(id Uint, value Enum, data *Int)  {
	C.goglGetVariantIntegervEXT((C.GLuint)(id), (C.GLenum)(value), (*C.GLint)(data))
}
func GetVariantFloatvEXT(id Uint, value Enum, data *Float)  {
	C.goglGetVariantFloatvEXT((C.GLuint)(id), (C.GLenum)(value), (*C.GLfloat)(data))
}
func GetVariantPointervEXT(id Uint, value Enum, data *Pointer)  {
	C.goglGetVariantPointervEXT((C.GLuint)(id), (C.GLenum)(value), (*unsafe.Pointer)(data))
}
func GetInvariantBooleanvEXT(id Uint, value Enum, data *Boolean)  {
	C.goglGetInvariantBooleanvEXT((C.GLuint)(id), (C.GLenum)(value), (*C.GLboolean)(data))
}
func GetInvariantIntegervEXT(id Uint, value Enum, data *Int)  {
	C.goglGetInvariantIntegervEXT((C.GLuint)(id), (C.GLenum)(value), (*C.GLint)(data))
}
func GetInvariantFloatvEXT(id Uint, value Enum, data *Float)  {
	C.goglGetInvariantFloatvEXT((C.GLuint)(id), (C.GLenum)(value), (*C.GLfloat)(data))
}
func GetLocalConstantBooleanvEXT(id Uint, value Enum, data *Boolean)  {
	C.goglGetLocalConstantBooleanvEXT((C.GLuint)(id), (C.GLenum)(value), (*C.GLboolean)(data))
}
func GetLocalConstantIntegervEXT(id Uint, value Enum, data *Int)  {
	C.goglGetLocalConstantIntegervEXT((C.GLuint)(id), (C.GLenum)(value), (*C.GLint)(data))
}
func GetLocalConstantFloatvEXT(id Uint, value Enum, data *Float)  {
	C.goglGetLocalConstantFloatvEXT((C.GLuint)(id), (C.GLenum)(value), (*C.GLfloat)(data))
}
// EXT_vertex_weighting

func VertexWeightfEXT(weight Float)  {
	C.goglVertexWeightfEXT((C.GLfloat)(weight))
}
func VertexWeightfvEXT(weight *Float)  {
	C.goglVertexWeightfvEXT((*C.GLfloat)(weight))
}
func VertexWeightPointerEXT(size Int, type_ Enum, stride Sizei, pointer Pointer)  {
	C.goglVertexWeightPointerEXT((C.GLint)(size), (C.GLenum)(type_), (C.GLsizei)(stride), (unsafe.Pointer)(pointer))
}
// EXT_x11_sync_object

func ImportSyncEXT(external_sync_type Enum, external_sync Intptr, flags Bitfield) Sync {
	return (Sync)(C.goglImportSyncEXT((C.GLenum)(external_sync_type), (C.GLintptr)(external_sync), (C.GLbitfield)(flags)))
}
func InitExtBindableUniform() error {
	var ret C.int
	if ret = C.init_EXT_bindable_uniform(); ret != 0 {
		return errors.New("unable to initialize EXT_bindable_uniform")
	}
	return nil
}
func InitExtBlendColor() error {
	var ret C.int
	if ret = C.init_EXT_blend_color(); ret != 0 {
		return errors.New("unable to initialize EXT_blend_color")
	}
	return nil
}
func InitExtBlendEquationSeparate() error {
	var ret C.int
	if ret = C.init_EXT_blend_equation_separate(); ret != 0 {
		return errors.New("unable to initialize EXT_blend_equation_separate")
	}
	return nil
}
func InitExtBlendFuncSeparate() error {
	var ret C.int
	if ret = C.init_EXT_blend_func_separate(); ret != 0 {
		return errors.New("unable to initialize EXT_blend_func_separate")
	}
	return nil
}
func InitExtBlendMinmax() error {
	var ret C.int
	if ret = C.init_EXT_blend_minmax(); ret != 0 {
		return errors.New("unable to initialize EXT_blend_minmax")
	}
	return nil
}
func InitExtColorSubtable() error {
	var ret C.int
	if ret = C.init_EXT_color_subtable(); ret != 0 {
		return errors.New("unable to initialize EXT_color_subtable")
	}
	return nil
}
func InitExtCompiledVertexArray() error {
	var ret C.int
	if ret = C.init_EXT_compiled_vertex_array(); ret != 0 {
		return errors.New("unable to initialize EXT_compiled_vertex_array")
	}
	return nil
}
func InitExtConvolution() error {
	var ret C.int
	if ret = C.init_EXT_convolution(); ret != 0 {
		return errors.New("unable to initialize EXT_convolution")
	}
	return nil
}
func InitExtCoordinateFrame() error {
	var ret C.int
	if ret = C.init_EXT_coordinate_frame(); ret != 0 {
		return errors.New("unable to initialize EXT_coordinate_frame")
	}
	return nil
}
func InitExtCopyTexture() error {
	var ret C.int
	if ret = C.init_EXT_copy_texture(); ret != 0 {
		return errors.New("unable to initialize EXT_copy_texture")
	}
	return nil
}
func InitExtCullVertex() error {
	var ret C.int
	if ret = C.init_EXT_cull_vertex(); ret != 0 {
		return errors.New("unable to initialize EXT_cull_vertex")
	}
	return nil
}
func InitExtDepthBoundsTest() error {
	var ret C.int
	if ret = C.init_EXT_depth_bounds_test(); ret != 0 {
		return errors.New("unable to initialize EXT_depth_bounds_test")
	}
	return nil
}
func InitExtDirectStateAccess() error {
	var ret C.int
	if ret = C.init_EXT_direct_state_access(); ret != 0 {
		return errors.New("unable to initialize EXT_direct_state_access")
	}
	return nil
}
func InitExtDrawBuffers2() error {
	var ret C.int
	if ret = C.init_EXT_draw_buffers2(); ret != 0 {
		return errors.New("unable to initialize EXT_draw_buffers2")
	}
	return nil
}
func InitExtDrawInstanced() error {
	var ret C.int
	if ret = C.init_EXT_draw_instanced(); ret != 0 {
		return errors.New("unable to initialize EXT_draw_instanced")
	}
	return nil
}
func InitExtDrawRangeElements() error {
	var ret C.int
	if ret = C.init_EXT_draw_range_elements(); ret != 0 {
		return errors.New("unable to initialize EXT_draw_range_elements")
	}
	return nil
}
func InitExtFogCoord() error {
	var ret C.int
	if ret = C.init_EXT_fog_coord(); ret != 0 {
		return errors.New("unable to initialize EXT_fog_coord")
	}
	return nil
}
func InitExtFramebufferBlit() error {
	var ret C.int
	if ret = C.init_EXT_framebuffer_blit(); ret != 0 {
		return errors.New("unable to initialize EXT_framebuffer_blit")
	}
	return nil
}
func InitExtFramebufferMultisample() error {
	var ret C.int
	if ret = C.init_EXT_framebuffer_multisample(); ret != 0 {
		return errors.New("unable to initialize EXT_framebuffer_multisample")
	}
	return nil
}
func InitExtFramebufferObject() error {
	var ret C.int
	if ret = C.init_EXT_framebuffer_object(); ret != 0 {
		return errors.New("unable to initialize EXT_framebuffer_object")
	}
	return nil
}
func InitExtGeometryShader4() error {
	var ret C.int
	if ret = C.init_EXT_geometry_shader4(); ret != 0 {
		return errors.New("unable to initialize EXT_geometry_shader4")
	}
	return nil
}
func InitExtGpuProgramParameters() error {
	var ret C.int
	if ret = C.init_EXT_gpu_program_parameters(); ret != 0 {
		return errors.New("unable to initialize EXT_gpu_program_parameters")
	}
	return nil
}
func InitExtGpuShader4() error {
	var ret C.int
	if ret = C.init_EXT_gpu_shader4(); ret != 0 {
		return errors.New("unable to initialize EXT_gpu_shader4")
	}
	return nil
}
func InitExtHistogram() error {
	var ret C.int
	if ret = C.init_EXT_histogram(); ret != 0 {
		return errors.New("unable to initialize EXT_histogram")
	}
	return nil
}
func InitExtIndexFunc() error {
	var ret C.int
	if ret = C.init_EXT_index_func(); ret != 0 {
		return errors.New("unable to initialize EXT_index_func")
	}
	return nil
}
func InitExtIndexMaterial() error {
	var ret C.int
	if ret = C.init_EXT_index_material(); ret != 0 {
		return errors.New("unable to initialize EXT_index_material")
	}
	return nil
}
func InitExtLightTexture() error {
	var ret C.int
	if ret = C.init_EXT_light_texture(); ret != 0 {
		return errors.New("unable to initialize EXT_light_texture")
	}
	return nil
}
func InitExtMultiDrawArrays() error {
	var ret C.int
	if ret = C.init_EXT_multi_draw_arrays(); ret != 0 {
		return errors.New("unable to initialize EXT_multi_draw_arrays")
	}
	return nil
}
func InitExtMultisample() error {
	var ret C.int
	if ret = C.init_EXT_multisample(); ret != 0 {
		return errors.New("unable to initialize EXT_multisample")
	}
	return nil
}
func InitExtPalettedTexture() error {
	var ret C.int
	if ret = C.init_EXT_paletted_texture(); ret != 0 {
		return errors.New("unable to initialize EXT_paletted_texture")
	}
	return nil
}
func InitExtPixelTransform() error {
	var ret C.int
	if ret = C.init_EXT_pixel_transform(); ret != 0 {
		return errors.New("unable to initialize EXT_pixel_transform")
	}
	return nil
}
func InitExtPointParameters() error {
	var ret C.int
	if ret = C.init_EXT_point_parameters(); ret != 0 {
		return errors.New("unable to initialize EXT_point_parameters")
	}
	return nil
}
func InitExtPolygonOffset() error {
	var ret C.int
	if ret = C.init_EXT_polygon_offset(); ret != 0 {
		return errors.New("unable to initialize EXT_polygon_offset")
	}
	return nil
}
func InitExtProvokingVertex() error {
	var ret C.int
	if ret = C.init_EXT_provoking_vertex(); ret != 0 {
		return errors.New("unable to initialize EXT_provoking_vertex")
	}
	return nil
}
func InitExtSecondaryColor() error {
	var ret C.int
	if ret = C.init_EXT_secondary_color(); ret != 0 {
		return errors.New("unable to initialize EXT_secondary_color")
	}
	return nil
}
func InitExtSeparateShaderObjects() error {
	var ret C.int
	if ret = C.init_EXT_separate_shader_objects(); ret != 0 {
		return errors.New("unable to initialize EXT_separate_shader_objects")
	}
	return nil
}
func InitExtShaderImageLoadStore() error {
	var ret C.int
	if ret = C.init_EXT_shader_image_load_store(); ret != 0 {
		return errors.New("unable to initialize EXT_shader_image_load_store")
	}
	return nil
}
func InitExtStencilClearTag() error {
	var ret C.int
	if ret = C.init_EXT_stencil_clear_tag(); ret != 0 {
		return errors.New("unable to initialize EXT_stencil_clear_tag")
	}
	return nil
}
func InitExtStencilTwoSide() error {
	var ret C.int
	if ret = C.init_EXT_stencil_two_side(); ret != 0 {
		return errors.New("unable to initialize EXT_stencil_two_side")
	}
	return nil
}
func InitExtSubtexture() error {
	var ret C.int
	if ret = C.init_EXT_subtexture(); ret != 0 {
		return errors.New("unable to initialize EXT_subtexture")
	}
	return nil
}
func InitExtTexture3d() error {
	var ret C.int
	if ret = C.init_EXT_texture3D(); ret != 0 {
		return errors.New("unable to initialize EXT_texture3D")
	}
	return nil
}
func InitExtTextureBufferObject() error {
	var ret C.int
	if ret = C.init_EXT_texture_buffer_object(); ret != 0 {
		return errors.New("unable to initialize EXT_texture_buffer_object")
	}
	return nil
}
func InitExtTextureInteger() error {
	var ret C.int
	if ret = C.init_EXT_texture_integer(); ret != 0 {
		return errors.New("unable to initialize EXT_texture_integer")
	}
	return nil
}
func InitExtTextureObject() error {
	var ret C.int
	if ret = C.init_EXT_texture_object(); ret != 0 {
		return errors.New("unable to initialize EXT_texture_object")
	}
	return nil
}
func InitExtTexturePerturbNormal() error {
	var ret C.int
	if ret = C.init_EXT_texture_perturb_normal(); ret != 0 {
		return errors.New("unable to initialize EXT_texture_perturb_normal")
	}
	return nil
}
func InitExtTimerQuery() error {
	var ret C.int
	if ret = C.init_EXT_timer_query(); ret != 0 {
		return errors.New("unable to initialize EXT_timer_query")
	}
	return nil
}
func InitExtTransformFeedback() error {
	var ret C.int
	if ret = C.init_EXT_transform_feedback(); ret != 0 {
		return errors.New("unable to initialize EXT_transform_feedback")
	}
	return nil
}
func InitExtVertexArray() error {
	var ret C.int
	if ret = C.init_EXT_vertex_array(); ret != 0 {
		return errors.New("unable to initialize EXT_vertex_array")
	}
	return nil
}
func InitExtVertexAttrib64bit() error {
	var ret C.int
	if ret = C.init_EXT_vertex_attrib_64bit(); ret != 0 {
		return errors.New("unable to initialize EXT_vertex_attrib_64bit")
	}
	return nil
}
func InitExtVertexShader() error {
	var ret C.int
	if ret = C.init_EXT_vertex_shader(); ret != 0 {
		return errors.New("unable to initialize EXT_vertex_shader")
	}
	return nil
}
func InitExtVertexWeighting() error {
	var ret C.int
	if ret = C.init_EXT_vertex_weighting(); ret != 0 {
		return errors.New("unable to initialize EXT_vertex_weighting")
	}
	return nil
}
func InitExtX11SyncObject() error {
	var ret C.int
	if ret = C.init_EXT_x11_sync_object(); ret != 0 {
		return errors.New("unable to initialize EXT_x11_sync_object")
	}
	return nil
}
// EOF