transparent-cube

Minimal cross-platform native/wasm graphics example.
git clone git://git.amin.space/transparent-cube.git
Log | Files | Refs | README | LICENSE

glad.c (218306B)


      1 /*
      2 
      3     OpenGL loader generated by glad 0.1.20a0 on Mon May 14 08:12:40 2018.
      4 
      5     Language/Generator: C/C++ Debug
      6     Specification: gl
      7     APIs: gl=3.3
      8     Profile: core
      9     Extensions:
     10         
     11     Loader: True
     12     Local files: False
     13     Omit khrplatform: False
     14 
     15     Commandline:
     16         --profile="core" --api="gl=3.3" --generator="c-debug" --spec="gl" --extensions=""
     17     Online:
     18         http://glad.dav1d.de/#profile=core&language=c-debug&specification=gl&loader=on&api=gl%3D3.3
     19 */
     20 
     21 #include <stdio.h>
     22 #include <stdlib.h>
     23 #include <string.h>
     24 #include <glad/glad.h>
     25 
     26 void _pre_call_callback_default(const char *name, void *funcptr, int len_args, ...) {
     27     (void) name;
     28     (void) funcptr;
     29     (void) len_args;
     30 }
     31 void _post_call_callback_default(const char *name, void *funcptr, int len_args, ...) {
     32     GLenum error_code;
     33 
     34     (void) funcptr;
     35     (void) len_args;
     36 
     37     error_code = glad_glGetError();
     38 
     39     if (error_code != GL_NO_ERROR) {
     40         fprintf(stderr, "ERROR %d in %s\n", error_code, name);
     41     }
     42 }
     43 
     44 static GLADcallback _pre_call_callback = _pre_call_callback_default;
     45 void glad_set_pre_callback(GLADcallback cb) {
     46     _pre_call_callback = cb;
     47 }
     48 
     49 static GLADcallback _post_call_callback = _post_call_callback_default;
     50 void glad_set_post_callback(GLADcallback cb) {
     51     _post_call_callback = cb;
     52 }
     53 
     54 static void* get_proc(const char *namez);
     55 
     56 #if defined(_WIN32) || defined(__CYGWIN__)
     57 #include <windows.h>
     58 static HMODULE libGL;
     59 
     60 typedef void* (APIENTRYP PFNWGLGETPROCADDRESSPROC_PRIVATE)(const char*);
     61 static PFNWGLGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr;
     62 
     63 #ifdef _MSC_VER
     64 #ifdef __has_include
     65   #if __has_include(<winapifamily.h>)
     66     #define HAVE_WINAPIFAMILY 1
     67   #endif
     68 #elif _MSC_VER >= 1700 && !_USING_V110_SDK71_
     69   #define HAVE_WINAPIFAMILY 1
     70 #endif
     71 #endif
     72 
     73 #ifdef HAVE_WINAPIFAMILY
     74   #include <winapifamily.h>
     75   #if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
     76     #define IS_UWP 1
     77   #endif
     78 #endif
     79 
     80 static
     81 int open_gl(void) {
     82 #ifndef IS_UWP
     83     libGL = LoadLibraryW(L"opengl32.dll");
     84     if(libGL != NULL) {
     85         gladGetProcAddressPtr = (PFNWGLGETPROCADDRESSPROC_PRIVATE)GetProcAddress(
     86                 libGL, "wglGetProcAddress");
     87         return gladGetProcAddressPtr != NULL;
     88     }
     89 #endif
     90 
     91     return 0;
     92 }
     93 
     94 static
     95 void close_gl(void) {
     96     if(libGL != NULL) {
     97         FreeLibrary((HMODULE) libGL);
     98         libGL = NULL;
     99     }
    100 }
    101 #else
    102 #include <dlfcn.h>
    103 static void* libGL;
    104 
    105 #ifndef __APPLE__
    106 typedef void* (APIENTRYP PFNGLXGETPROCADDRESSPROC_PRIVATE)(const char*);
    107 static PFNGLXGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr;
    108 #endif
    109 
    110 static
    111 int open_gl(void) {
    112 #ifdef __APPLE__
    113     static const char *NAMES[] = {
    114         "../Frameworks/OpenGL.framework/OpenGL",
    115         "/Library/Frameworks/OpenGL.framework/OpenGL",
    116         "/System/Library/Frameworks/OpenGL.framework/OpenGL",
    117         "/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL"
    118     };
    119 #else
    120     static const char *NAMES[] = {"libGL.so.1", "libGL.so"};
    121 #endif
    122 
    123     unsigned int index = 0;
    124     for(index = 0; index < (sizeof(NAMES) / sizeof(NAMES[0])); index++) {
    125         libGL = dlopen(NAMES[index], RTLD_NOW | RTLD_GLOBAL);
    126 
    127         if(libGL != NULL) {
    128 #ifdef __APPLE__
    129             return 1;
    130 #else
    131             gladGetProcAddressPtr = (PFNGLXGETPROCADDRESSPROC_PRIVATE)dlsym(libGL,
    132                 "glXGetProcAddressARB");
    133             return gladGetProcAddressPtr != NULL;
    134 #endif
    135         }
    136     }
    137 
    138     return 0;
    139 }
    140 
    141 static
    142 void close_gl(void) {
    143     if(libGL != NULL) {
    144         dlclose(libGL);
    145         libGL = NULL;
    146     }
    147 }
    148 #endif
    149 
    150 static
    151 void* get_proc(const char *namez) {
    152     void* result = NULL;
    153     if(libGL == NULL) return NULL;
    154 
    155 #ifndef __APPLE__
    156     if(gladGetProcAddressPtr != NULL) {
    157         result = gladGetProcAddressPtr(namez);
    158     }
    159 #endif
    160     if(result == NULL) {
    161 #if defined(_WIN32) || defined(__CYGWIN__)
    162         result = (void*)GetProcAddress((HMODULE) libGL, namez);
    163 #else
    164         result = dlsym(libGL, namez);
    165 #endif
    166     }
    167 
    168     return result;
    169 }
    170 
    171 int gladLoadGL(void) {
    172     int status = 0;
    173 
    174     if(open_gl()) {
    175         status = gladLoadGLLoader(&get_proc);
    176         close_gl();
    177     }
    178 
    179     return status;
    180 }
    181 
    182 struct gladGLversionStruct GLVersion;
    183 
    184 #if defined(GL_ES_VERSION_3_0) || defined(GL_VERSION_3_0)
    185 #define _GLAD_IS_SOME_NEW_VERSION 1
    186 #endif
    187 
    188 static int max_loaded_major;
    189 static int max_loaded_minor;
    190 
    191 static const char *exts = NULL;
    192 static int num_exts_i = 0;
    193 static const char **exts_i = NULL;
    194 
    195 static int get_exts(void) {
    196 #ifdef _GLAD_IS_SOME_NEW_VERSION
    197     if(max_loaded_major < 3) {
    198 #endif
    199         exts = (const char *)glGetString(GL_EXTENSIONS);
    200 #ifdef _GLAD_IS_SOME_NEW_VERSION
    201     } else {
    202         unsigned int index;
    203 
    204         num_exts_i = 0;
    205         glGetIntegerv(GL_NUM_EXTENSIONS, &num_exts_i);
    206         if (num_exts_i > 0) {
    207             exts_i = (const char **)realloc((void *)exts_i, (size_t)num_exts_i * (sizeof *exts_i));
    208         }
    209 
    210         if (exts_i == NULL) {
    211             return 0;
    212         }
    213 
    214         for(index = 0; index < (unsigned)num_exts_i; index++) {
    215             const char *gl_str_tmp = (const char*)glGetStringi(GL_EXTENSIONS, index);
    216             size_t len = strlen(gl_str_tmp);
    217 
    218             char *local_str = (char*)malloc((len+1) * sizeof(char));
    219             if(local_str != NULL) {
    220 #if _MSC_VER >= 1400
    221                 strncpy_s(local_str, len+1, gl_str_tmp, len);
    222 #else
    223                 strncpy(local_str, gl_str_tmp, len+1);
    224 #endif
    225             }
    226             exts_i[index] = local_str;
    227         }
    228     }
    229 #endif
    230     return 1;
    231 }
    232 
    233 static void free_exts(void) {
    234     if (exts_i != NULL) {
    235         int index;
    236         for(index = 0; index < num_exts_i; index++) {
    237             free((char *)exts_i[index]);
    238         }
    239         free((void *)exts_i);
    240         exts_i = NULL;
    241     }
    242 }
    243 
    244 static int has_ext(const char *ext) {
    245 #ifdef _GLAD_IS_SOME_NEW_VERSION
    246     if(max_loaded_major < 3) {
    247 #endif
    248         const char *extensions;
    249         const char *loc;
    250         const char *terminator;
    251         extensions = exts;
    252         if(extensions == NULL || ext == NULL) {
    253             return 0;
    254         }
    255 
    256         while(1) {
    257             loc = strstr(extensions, ext);
    258             if(loc == NULL) {
    259                 return 0;
    260             }
    261 
    262             terminator = loc + strlen(ext);
    263             if((loc == extensions || *(loc - 1) == ' ') &&
    264                 (*terminator == ' ' || *terminator == '\0')) {
    265                 return 1;
    266             }
    267             extensions = terminator;
    268         }
    269 #ifdef _GLAD_IS_SOME_NEW_VERSION
    270     } else {
    271         int index;
    272         if(exts_i == NULL) return 0;
    273         for(index = 0; index < num_exts_i; index++) {
    274             const char *e = exts_i[index];
    275 
    276             if(exts_i[index] != NULL && strcmp(e, ext) == 0) {
    277                 return 1;
    278             }
    279         }
    280     }
    281 #endif
    282 
    283     return 0;
    284 }
    285 int GLAD_GL_VERSION_1_0;
    286 int GLAD_GL_VERSION_1_1;
    287 int GLAD_GL_VERSION_1_2;
    288 int GLAD_GL_VERSION_1_3;
    289 int GLAD_GL_VERSION_1_4;
    290 int GLAD_GL_VERSION_1_5;
    291 int GLAD_GL_VERSION_2_0;
    292 int GLAD_GL_VERSION_2_1;
    293 int GLAD_GL_VERSION_3_0;
    294 int GLAD_GL_VERSION_3_1;
    295 int GLAD_GL_VERSION_3_2;
    296 int GLAD_GL_VERSION_3_3;
    297 PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D;
    298 void APIENTRY glad_debug_impl_glCopyTexImage1D(GLenum arg0, GLint arg1, GLenum arg2, GLint arg3, GLint arg4, GLsizei arg5, GLint arg6) {    
    299     _pre_call_callback("glCopyTexImage1D", (void*)glCopyTexImage1D, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
    300      glad_glCopyTexImage1D(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
    301     _post_call_callback("glCopyTexImage1D", (void*)glCopyTexImage1D, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
    302     
    303 }
    304 PFNGLCOPYTEXIMAGE1DPROC glad_debug_glCopyTexImage1D = glad_debug_impl_glCopyTexImage1D;
    305 PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui;
    306 void APIENTRY glad_debug_impl_glVertexAttribI3ui(GLuint arg0, GLuint arg1, GLuint arg2, GLuint arg3) {    
    307     _pre_call_callback("glVertexAttribI3ui", (void*)glVertexAttribI3ui, 4, arg0, arg1, arg2, arg3);
    308      glad_glVertexAttribI3ui(arg0, arg1, arg2, arg3);
    309     _post_call_callback("glVertexAttribI3ui", (void*)glVertexAttribI3ui, 4, arg0, arg1, arg2, arg3);
    310     
    311 }
    312 PFNGLVERTEXATTRIBI3UIPROC glad_debug_glVertexAttribI3ui = glad_debug_impl_glVertexAttribI3ui;
    313 PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate;
    314 void APIENTRY glad_debug_impl_glStencilMaskSeparate(GLenum arg0, GLuint arg1) {    
    315     _pre_call_callback("glStencilMaskSeparate", (void*)glStencilMaskSeparate, 2, arg0, arg1);
    316      glad_glStencilMaskSeparate(arg0, arg1);
    317     _post_call_callback("glStencilMaskSeparate", (void*)glStencilMaskSeparate, 2, arg0, arg1);
    318     
    319 }
    320 PFNGLSTENCILMASKSEPARATEPROC glad_debug_glStencilMaskSeparate = glad_debug_impl_glStencilMaskSeparate;
    321 PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer;
    322 void APIENTRY glad_debug_impl_glFramebufferRenderbuffer(GLenum arg0, GLenum arg1, GLenum arg2, GLuint arg3) {    
    323     _pre_call_callback("glFramebufferRenderbuffer", (void*)glFramebufferRenderbuffer, 4, arg0, arg1, arg2, arg3);
    324      glad_glFramebufferRenderbuffer(arg0, arg1, arg2, arg3);
    325     _post_call_callback("glFramebufferRenderbuffer", (void*)glFramebufferRenderbuffer, 4, arg0, arg1, arg2, arg3);
    326     
    327 }
    328 PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_debug_glFramebufferRenderbuffer = glad_debug_impl_glFramebufferRenderbuffer;
    329 PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D;
    330 void APIENTRY glad_debug_impl_glCompressedTexSubImage3D(GLenum arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4, GLsizei arg5, GLsizei arg6, GLsizei arg7, GLenum arg8, GLsizei arg9, const void * arg10) {    
    331     _pre_call_callback("glCompressedTexSubImage3D", (void*)glCompressedTexSubImage3D, 11, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
    332      glad_glCompressedTexSubImage3D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
    333     _post_call_callback("glCompressedTexSubImage3D", (void*)glCompressedTexSubImage3D, 11, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
    334     
    335 }
    336 PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_debug_glCompressedTexSubImage3D = glad_debug_impl_glCompressedTexSubImage3D;
    337 PFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv;
    338 void APIENTRY glad_debug_impl_glTexCoordP3uiv(GLenum arg0, const GLuint * arg1) {    
    339     _pre_call_callback("glTexCoordP3uiv", (void*)glTexCoordP3uiv, 2, arg0, arg1);
    340      glad_glTexCoordP3uiv(arg0, arg1);
    341     _post_call_callback("glTexCoordP3uiv", (void*)glTexCoordP3uiv, 2, arg0, arg1);
    342     
    343 }
    344 PFNGLTEXCOORDP3UIVPROC glad_debug_glTexCoordP3uiv = glad_debug_impl_glTexCoordP3uiv;
    345 PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv;
    346 void APIENTRY glad_debug_impl_glVertexAttrib1sv(GLuint arg0, const GLshort * arg1) {    
    347     _pre_call_callback("glVertexAttrib1sv", (void*)glVertexAttrib1sv, 2, arg0, arg1);
    348      glad_glVertexAttrib1sv(arg0, arg1);
    349     _post_call_callback("glVertexAttrib1sv", (void*)glVertexAttrib1sv, 2, arg0, arg1);
    350     
    351 }
    352 PFNGLVERTEXATTRIB1SVPROC glad_debug_glVertexAttrib1sv = glad_debug_impl_glVertexAttrib1sv;
    353 PFNGLBINDSAMPLERPROC glad_glBindSampler;
    354 void APIENTRY glad_debug_impl_glBindSampler(GLuint arg0, GLuint arg1) {    
    355     _pre_call_callback("glBindSampler", (void*)glBindSampler, 2, arg0, arg1);
    356      glad_glBindSampler(arg0, arg1);
    357     _post_call_callback("glBindSampler", (void*)glBindSampler, 2, arg0, arg1);
    358     
    359 }
    360 PFNGLBINDSAMPLERPROC glad_debug_glBindSampler = glad_debug_impl_glBindSampler;
    361 PFNGLLINEWIDTHPROC glad_glLineWidth;
    362 void APIENTRY glad_debug_impl_glLineWidth(GLfloat arg0) {    
    363     _pre_call_callback("glLineWidth", (void*)glLineWidth, 1, arg0);
    364      glad_glLineWidth(arg0);
    365     _post_call_callback("glLineWidth", (void*)glLineWidth, 1, arg0);
    366     
    367 }
    368 PFNGLLINEWIDTHPROC glad_debug_glLineWidth = glad_debug_impl_glLineWidth;
    369 PFNGLCOLORP3UIVPROC glad_glColorP3uiv;
    370 void APIENTRY glad_debug_impl_glColorP3uiv(GLenum arg0, const GLuint * arg1) {    
    371     _pre_call_callback("glColorP3uiv", (void*)glColorP3uiv, 2, arg0, arg1);
    372      glad_glColorP3uiv(arg0, arg1);
    373     _post_call_callback("glColorP3uiv", (void*)glColorP3uiv, 2, arg0, arg1);
    374     
    375 }
    376 PFNGLCOLORP3UIVPROC glad_debug_glColorP3uiv = glad_debug_impl_glColorP3uiv;
    377 PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v;
    378 void APIENTRY glad_debug_impl_glGetIntegeri_v(GLenum arg0, GLuint arg1, GLint * arg2) {    
    379     _pre_call_callback("glGetIntegeri_v", (void*)glGetIntegeri_v, 3, arg0, arg1, arg2);
    380      glad_glGetIntegeri_v(arg0, arg1, arg2);
    381     _post_call_callback("glGetIntegeri_v", (void*)glGetIntegeri_v, 3, arg0, arg1, arg2);
    382     
    383 }
    384 PFNGLGETINTEGERI_VPROC glad_debug_glGetIntegeri_v = glad_debug_impl_glGetIntegeri_v;
    385 PFNGLCOMPILESHADERPROC glad_glCompileShader;
    386 void APIENTRY glad_debug_impl_glCompileShader(GLuint arg0) {    
    387     _pre_call_callback("glCompileShader", (void*)glCompileShader, 1, arg0);
    388      glad_glCompileShader(arg0);
    389     _post_call_callback("glCompileShader", (void*)glCompileShader, 1, arg0);
    390     
    391 }
    392 PFNGLCOMPILESHADERPROC glad_debug_glCompileShader = glad_debug_impl_glCompileShader;
    393 PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying;
    394 void APIENTRY glad_debug_impl_glGetTransformFeedbackVarying(GLuint arg0, GLuint arg1, GLsizei arg2, GLsizei * arg3, GLsizei * arg4, GLenum * arg5, GLchar * arg6) {    
    395     _pre_call_callback("glGetTransformFeedbackVarying", (void*)glGetTransformFeedbackVarying, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
    396      glad_glGetTransformFeedbackVarying(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
    397     _post_call_callback("glGetTransformFeedbackVarying", (void*)glGetTransformFeedbackVarying, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
    398     
    399 }
    400 PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_debug_glGetTransformFeedbackVarying = glad_debug_impl_glGetTransformFeedbackVarying;
    401 PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer;
    402 void APIENTRY glad_debug_impl_glVertexAttribIPointer(GLuint arg0, GLint arg1, GLenum arg2, GLsizei arg3, const void * arg4) {    
    403     _pre_call_callback("glVertexAttribIPointer", (void*)glVertexAttribIPointer, 5, arg0, arg1, arg2, arg3, arg4);
    404      glad_glVertexAttribIPointer(arg0, arg1, arg2, arg3, arg4);
    405     _post_call_callback("glVertexAttribIPointer", (void*)glVertexAttribIPointer, 5, arg0, arg1, arg2, arg3, arg4);
    406     
    407 }
    408 PFNGLVERTEXATTRIBIPOINTERPROC glad_debug_glVertexAttribIPointer = glad_debug_impl_glVertexAttribIPointer;
    409 PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui;
    410 void APIENTRY glad_debug_impl_glMultiTexCoordP3ui(GLenum arg0, GLenum arg1, GLuint arg2) {    
    411     _pre_call_callback("glMultiTexCoordP3ui", (void*)glMultiTexCoordP3ui, 3, arg0, arg1, arg2);
    412      glad_glMultiTexCoordP3ui(arg0, arg1, arg2);
    413     _post_call_callback("glMultiTexCoordP3ui", (void*)glMultiTexCoordP3ui, 3, arg0, arg1, arg2);
    414     
    415 }
    416 PFNGLMULTITEXCOORDP3UIPROC glad_debug_glMultiTexCoordP3ui = glad_debug_impl_glMultiTexCoordP3ui;
    417 PFNGLVERTEXP4UIPROC glad_glVertexP4ui;
    418 void APIENTRY glad_debug_impl_glVertexP4ui(GLenum arg0, GLuint arg1) {    
    419     _pre_call_callback("glVertexP4ui", (void*)glVertexP4ui, 2, arg0, arg1);
    420      glad_glVertexP4ui(arg0, arg1);
    421     _post_call_callback("glVertexP4ui", (void*)glVertexP4ui, 2, arg0, arg1);
    422     
    423 }
    424 PFNGLVERTEXP4UIPROC glad_debug_glVertexP4ui = glad_debug_impl_glVertexP4ui;
    425 PFNGLENABLEIPROC glad_glEnablei;
    426 void APIENTRY glad_debug_impl_glEnablei(GLenum arg0, GLuint arg1) {    
    427     _pre_call_callback("glEnablei", (void*)glEnablei, 2, arg0, arg1);
    428      glad_glEnablei(arg0, arg1);
    429     _post_call_callback("glEnablei", (void*)glEnablei, 2, arg0, arg1);
    430     
    431 }
    432 PFNGLENABLEIPROC glad_debug_glEnablei = glad_debug_impl_glEnablei;
    433 PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui;
    434 void APIENTRY glad_debug_impl_glVertexAttribP4ui(GLuint arg0, GLenum arg1, GLboolean arg2, GLuint arg3) {    
    435     _pre_call_callback("glVertexAttribP4ui", (void*)glVertexAttribP4ui, 4, arg0, arg1, arg2, arg3);
    436      glad_glVertexAttribP4ui(arg0, arg1, arg2, arg3);
    437     _post_call_callback("glVertexAttribP4ui", (void*)glVertexAttribP4ui, 4, arg0, arg1, arg2, arg3);
    438     
    439 }
    440 PFNGLVERTEXATTRIBP4UIPROC glad_debug_glVertexAttribP4ui = glad_debug_impl_glVertexAttribP4ui;
    441 PFNGLCREATESHADERPROC glad_glCreateShader;
    442 GLuint APIENTRY glad_debug_impl_glCreateShader(GLenum arg0) {    
    443     GLuint ret;
    444     _pre_call_callback("glCreateShader", (void*)glCreateShader, 1, arg0);
    445     ret =  glad_glCreateShader(arg0);
    446     _post_call_callback("glCreateShader", (void*)glCreateShader, 1, arg0);
    447     return ret;
    448 }
    449 PFNGLCREATESHADERPROC glad_debug_glCreateShader = glad_debug_impl_glCreateShader;
    450 PFNGLISBUFFERPROC glad_glIsBuffer;
    451 GLboolean APIENTRY glad_debug_impl_glIsBuffer(GLuint arg0) {    
    452     GLboolean ret;
    453     _pre_call_callback("glIsBuffer", (void*)glIsBuffer, 1, arg0);
    454     ret =  glad_glIsBuffer(arg0);
    455     _post_call_callback("glIsBuffer", (void*)glIsBuffer, 1, arg0);
    456     return ret;
    457 }
    458 PFNGLISBUFFERPROC glad_debug_glIsBuffer = glad_debug_impl_glIsBuffer;
    459 PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv;
    460 void APIENTRY glad_debug_impl_glGetMultisamplefv(GLenum arg0, GLuint arg1, GLfloat * arg2) {    
    461     _pre_call_callback("glGetMultisamplefv", (void*)glGetMultisamplefv, 3, arg0, arg1, arg2);
    462      glad_glGetMultisamplefv(arg0, arg1, arg2);
    463     _post_call_callback("glGetMultisamplefv", (void*)glGetMultisamplefv, 3, arg0, arg1, arg2);
    464     
    465 }
    466 PFNGLGETMULTISAMPLEFVPROC glad_debug_glGetMultisamplefv = glad_debug_impl_glGetMultisamplefv;
    467 PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers;
    468 void APIENTRY glad_debug_impl_glGenRenderbuffers(GLsizei arg0, GLuint * arg1) {    
    469     _pre_call_callback("glGenRenderbuffers", (void*)glGenRenderbuffers, 2, arg0, arg1);
    470      glad_glGenRenderbuffers(arg0, arg1);
    471     _post_call_callback("glGenRenderbuffers", (void*)glGenRenderbuffers, 2, arg0, arg1);
    472     
    473 }
    474 PFNGLGENRENDERBUFFERSPROC glad_debug_glGenRenderbuffers = glad_debug_impl_glGenRenderbuffers;
    475 PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D;
    476 void APIENTRY glad_debug_impl_glCopyTexSubImage2D(GLenum arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4, GLint arg5, GLsizei arg6, GLsizei arg7) {    
    477     _pre_call_callback("glCopyTexSubImage2D", (void*)glCopyTexSubImage2D, 8, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
    478      glad_glCopyTexSubImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
    479     _post_call_callback("glCopyTexSubImage2D", (void*)glCopyTexSubImage2D, 8, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
    480     
    481 }
    482 PFNGLCOPYTEXSUBIMAGE2DPROC glad_debug_glCopyTexSubImage2D = glad_debug_impl_glCopyTexSubImage2D;
    483 PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D;
    484 void APIENTRY glad_debug_impl_glCompressedTexImage2D(GLenum arg0, GLint arg1, GLenum arg2, GLsizei arg3, GLsizei arg4, GLint arg5, GLsizei arg6, const void * arg7) {    
    485     _pre_call_callback("glCompressedTexImage2D", (void*)glCompressedTexImage2D, 8, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
    486      glad_glCompressedTexImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
    487     _post_call_callback("glCompressedTexImage2D", (void*)glCompressedTexImage2D, 8, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
    488     
    489 }
    490 PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_debug_glCompressedTexImage2D = glad_debug_impl_glCompressedTexImage2D;
    491 PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f;
    492 void APIENTRY glad_debug_impl_glVertexAttrib1f(GLuint arg0, GLfloat arg1) {    
    493     _pre_call_callback("glVertexAttrib1f", (void*)glVertexAttrib1f, 2, arg0, arg1);
    494      glad_glVertexAttrib1f(arg0, arg1);
    495     _post_call_callback("glVertexAttrib1f", (void*)glVertexAttrib1f, 2, arg0, arg1);
    496     
    497 }
    498 PFNGLVERTEXATTRIB1FPROC glad_debug_glVertexAttrib1f = glad_debug_impl_glVertexAttrib1f;
    499 PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate;
    500 void APIENTRY glad_debug_impl_glBlendFuncSeparate(GLenum arg0, GLenum arg1, GLenum arg2, GLenum arg3) {    
    501     _pre_call_callback("glBlendFuncSeparate", (void*)glBlendFuncSeparate, 4, arg0, arg1, arg2, arg3);
    502      glad_glBlendFuncSeparate(arg0, arg1, arg2, arg3);
    503     _post_call_callback("glBlendFuncSeparate", (void*)glBlendFuncSeparate, 4, arg0, arg1, arg2, arg3);
    504     
    505 }
    506 PFNGLBLENDFUNCSEPARATEPROC glad_debug_glBlendFuncSeparate = glad_debug_impl_glBlendFuncSeparate;
    507 PFNGLHINTPROC glad_glHint;
    508 void APIENTRY glad_debug_impl_glHint(GLenum arg0, GLenum arg1) {    
    509     _pre_call_callback("glHint", (void*)glHint, 2, arg0, arg1);
    510      glad_glHint(arg0, arg1);
    511     _post_call_callback("glHint", (void*)glHint, 2, arg0, arg1);
    512     
    513 }
    514 PFNGLHINTPROC glad_debug_glHint = glad_debug_impl_glHint;
    515 PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s;
    516 void APIENTRY glad_debug_impl_glVertexAttrib1s(GLuint arg0, GLshort arg1) {    
    517     _pre_call_callback("glVertexAttrib1s", (void*)glVertexAttrib1s, 2, arg0, arg1);
    518      glad_glVertexAttrib1s(arg0, arg1);
    519     _post_call_callback("glVertexAttrib1s", (void*)glVertexAttrib1s, 2, arg0, arg1);
    520     
    521 }
    522 PFNGLVERTEXATTRIB1SPROC glad_debug_glVertexAttrib1s = glad_debug_impl_glVertexAttrib1s;
    523 PFNGLSAMPLEMASKIPROC glad_glSampleMaski;
    524 void APIENTRY glad_debug_impl_glSampleMaski(GLuint arg0, GLbitfield arg1) {    
    525     _pre_call_callback("glSampleMaski", (void*)glSampleMaski, 2, arg0, arg1);
    526      glad_glSampleMaski(arg0, arg1);
    527     _post_call_callback("glSampleMaski", (void*)glSampleMaski, 2, arg0, arg1);
    528     
    529 }
    530 PFNGLSAMPLEMASKIPROC glad_debug_glSampleMaski = glad_debug_impl_glSampleMaski;
    531 PFNGLVERTEXP2UIPROC glad_glVertexP2ui;
    532 void APIENTRY glad_debug_impl_glVertexP2ui(GLenum arg0, GLuint arg1) {    
    533     _pre_call_callback("glVertexP2ui", (void*)glVertexP2ui, 2, arg0, arg1);
    534      glad_glVertexP2ui(arg0, arg1);
    535     _post_call_callback("glVertexP2ui", (void*)glVertexP2ui, 2, arg0, arg1);
    536     
    537 }
    538 PFNGLVERTEXP2UIPROC glad_debug_glVertexP2ui = glad_debug_impl_glVertexP2ui;
    539 PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv;
    540 void APIENTRY glad_debug_impl_glUniformMatrix3x2fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat * arg3) {    
    541     _pre_call_callback("glUniformMatrix3x2fv", (void*)glUniformMatrix3x2fv, 4, arg0, arg1, arg2, arg3);
    542      glad_glUniformMatrix3x2fv(arg0, arg1, arg2, arg3);
    543     _post_call_callback("glUniformMatrix3x2fv", (void*)glUniformMatrix3x2fv, 4, arg0, arg1, arg2, arg3);
    544     
    545 }
    546 PFNGLUNIFORMMATRIX3X2FVPROC glad_debug_glUniformMatrix3x2fv = glad_debug_impl_glUniformMatrix3x2fv;
    547 PFNGLPOINTSIZEPROC glad_glPointSize;
    548 void APIENTRY glad_debug_impl_glPointSize(GLfloat arg0) {    
    549     _pre_call_callback("glPointSize", (void*)glPointSize, 1, arg0);
    550      glad_glPointSize(arg0);
    551     _post_call_callback("glPointSize", (void*)glPointSize, 1, arg0);
    552     
    553 }
    554 PFNGLPOINTSIZEPROC glad_debug_glPointSize = glad_debug_impl_glPointSize;
    555 PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv;
    556 void APIENTRY glad_debug_impl_glVertexAttrib2dv(GLuint arg0, const GLdouble * arg1) {    
    557     _pre_call_callback("glVertexAttrib2dv", (void*)glVertexAttrib2dv, 2, arg0, arg1);
    558      glad_glVertexAttrib2dv(arg0, arg1);
    559     _post_call_callback("glVertexAttrib2dv", (void*)glVertexAttrib2dv, 2, arg0, arg1);
    560     
    561 }
    562 PFNGLVERTEXATTRIB2DVPROC glad_debug_glVertexAttrib2dv = glad_debug_impl_glVertexAttrib2dv;
    563 PFNGLDELETEPROGRAMPROC glad_glDeleteProgram;
    564 void APIENTRY glad_debug_impl_glDeleteProgram(GLuint arg0) {    
    565     _pre_call_callback("glDeleteProgram", (void*)glDeleteProgram, 1, arg0);
    566      glad_glDeleteProgram(arg0);
    567     _post_call_callback("glDeleteProgram", (void*)glDeleteProgram, 1, arg0);
    568     
    569 }
    570 PFNGLDELETEPROGRAMPROC glad_debug_glDeleteProgram = glad_debug_impl_glDeleteProgram;
    571 PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv;
    572 void APIENTRY glad_debug_impl_glVertexAttrib4Nuiv(GLuint arg0, const GLuint * arg1) {    
    573     _pre_call_callback("glVertexAttrib4Nuiv", (void*)glVertexAttrib4Nuiv, 2, arg0, arg1);
    574      glad_glVertexAttrib4Nuiv(arg0, arg1);
    575     _post_call_callback("glVertexAttrib4Nuiv", (void*)glVertexAttrib4Nuiv, 2, arg0, arg1);
    576     
    577 }
    578 PFNGLVERTEXATTRIB4NUIVPROC glad_debug_glVertexAttrib4Nuiv = glad_debug_impl_glVertexAttrib4Nuiv;
    579 PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage;
    580 void APIENTRY glad_debug_impl_glRenderbufferStorage(GLenum arg0, GLenum arg1, GLsizei arg2, GLsizei arg3) {    
    581     _pre_call_callback("glRenderbufferStorage", (void*)glRenderbufferStorage, 4, arg0, arg1, arg2, arg3);
    582      glad_glRenderbufferStorage(arg0, arg1, arg2, arg3);
    583     _post_call_callback("glRenderbufferStorage", (void*)glRenderbufferStorage, 4, arg0, arg1, arg2, arg3);
    584     
    585 }
    586 PFNGLRENDERBUFFERSTORAGEPROC glad_debug_glRenderbufferStorage = glad_debug_impl_glRenderbufferStorage;
    587 PFNGLWAITSYNCPROC glad_glWaitSync;
    588 void APIENTRY glad_debug_impl_glWaitSync(GLsync arg0, GLbitfield arg1, GLuint64 arg2) {    
    589     _pre_call_callback("glWaitSync", (void*)glWaitSync, 3, arg0, arg1, arg2);
    590      glad_glWaitSync(arg0, arg1, arg2);
    591     _post_call_callback("glWaitSync", (void*)glWaitSync, 3, arg0, arg1, arg2);
    592     
    593 }
    594 PFNGLWAITSYNCPROC glad_debug_glWaitSync = glad_debug_impl_glWaitSync;
    595 PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv;
    596 void APIENTRY glad_debug_impl_glUniformMatrix4x3fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat * arg3) {    
    597     _pre_call_callback("glUniformMatrix4x3fv", (void*)glUniformMatrix4x3fv, 4, arg0, arg1, arg2, arg3);
    598      glad_glUniformMatrix4x3fv(arg0, arg1, arg2, arg3);
    599     _post_call_callback("glUniformMatrix4x3fv", (void*)glUniformMatrix4x3fv, 4, arg0, arg1, arg2, arg3);
    600     
    601 }
    602 PFNGLUNIFORMMATRIX4X3FVPROC glad_debug_glUniformMatrix4x3fv = glad_debug_impl_glUniformMatrix4x3fv;
    603 PFNGLUNIFORM3IPROC glad_glUniform3i;
    604 void APIENTRY glad_debug_impl_glUniform3i(GLint arg0, GLint arg1, GLint arg2, GLint arg3) {    
    605     _pre_call_callback("glUniform3i", (void*)glUniform3i, 4, arg0, arg1, arg2, arg3);
    606      glad_glUniform3i(arg0, arg1, arg2, arg3);
    607     _post_call_callback("glUniform3i", (void*)glUniform3i, 4, arg0, arg1, arg2, arg3);
    608     
    609 }
    610 PFNGLUNIFORM3IPROC glad_debug_glUniform3i = glad_debug_impl_glUniform3i;
    611 PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv;
    612 void APIENTRY glad_debug_impl_glClearBufferfv(GLenum arg0, GLint arg1, const GLfloat * arg2) {    
    613     _pre_call_callback("glClearBufferfv", (void*)glClearBufferfv, 3, arg0, arg1, arg2);
    614      glad_glClearBufferfv(arg0, arg1, arg2);
    615     _post_call_callback("glClearBufferfv", (void*)glClearBufferfv, 3, arg0, arg1, arg2);
    616     
    617 }
    618 PFNGLCLEARBUFFERFVPROC glad_debug_glClearBufferfv = glad_debug_impl_glClearBufferfv;
    619 PFNGLUNIFORM3FPROC glad_glUniform3f;
    620 void APIENTRY glad_debug_impl_glUniform3f(GLint arg0, GLfloat arg1, GLfloat arg2, GLfloat arg3) {    
    621     _pre_call_callback("glUniform3f", (void*)glUniform3f, 4, arg0, arg1, arg2, arg3);
    622      glad_glUniform3f(arg0, arg1, arg2, arg3);
    623     _post_call_callback("glUniform3f", (void*)glUniform3f, 4, arg0, arg1, arg2, arg3);
    624     
    625 }
    626 PFNGLUNIFORM3FPROC glad_debug_glUniform3f = glad_debug_impl_glUniform3f;
    627 PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv;
    628 void APIENTRY glad_debug_impl_glVertexAttrib4ubv(GLuint arg0, const GLubyte * arg1) {    
    629     _pre_call_callback("glVertexAttrib4ubv", (void*)glVertexAttrib4ubv, 2, arg0, arg1);
    630      glad_glVertexAttrib4ubv(arg0, arg1);
    631     _post_call_callback("glVertexAttrib4ubv", (void*)glVertexAttrib4ubv, 2, arg0, arg1);
    632     
    633 }
    634 PFNGLVERTEXATTRIB4UBVPROC glad_debug_glVertexAttrib4ubv = glad_debug_impl_glVertexAttrib4ubv;
    635 PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv;
    636 void APIENTRY glad_debug_impl_glGetBufferParameteriv(GLenum arg0, GLenum arg1, GLint * arg2) {    
    637     _pre_call_callback("glGetBufferParameteriv", (void*)glGetBufferParameteriv, 3, arg0, arg1, arg2);
    638      glad_glGetBufferParameteriv(arg0, arg1, arg2);
    639     _post_call_callback("glGetBufferParameteriv", (void*)glGetBufferParameteriv, 3, arg0, arg1, arg2);
    640     
    641 }
    642 PFNGLGETBUFFERPARAMETERIVPROC glad_debug_glGetBufferParameteriv = glad_debug_impl_glGetBufferParameteriv;
    643 PFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui;
    644 void APIENTRY glad_debug_impl_glTexCoordP2ui(GLenum arg0, GLuint arg1) {    
    645     _pre_call_callback("glTexCoordP2ui", (void*)glTexCoordP2ui, 2, arg0, arg1);
    646      glad_glTexCoordP2ui(arg0, arg1);
    647     _post_call_callback("glTexCoordP2ui", (void*)glTexCoordP2ui, 2, arg0, arg1);
    648     
    649 }
    650 PFNGLTEXCOORDP2UIPROC glad_debug_glTexCoordP2ui = glad_debug_impl_glTexCoordP2ui;
    651 PFNGLCOLORMASKIPROC glad_glColorMaski;
    652 void APIENTRY glad_debug_impl_glColorMaski(GLuint arg0, GLboolean arg1, GLboolean arg2, GLboolean arg3, GLboolean arg4) {    
    653     _pre_call_callback("glColorMaski", (void*)glColorMaski, 5, arg0, arg1, arg2, arg3, arg4);
    654      glad_glColorMaski(arg0, arg1, arg2, arg3, arg4);
    655     _post_call_callback("glColorMaski", (void*)glColorMaski, 5, arg0, arg1, arg2, arg3, arg4);
    656     
    657 }
    658 PFNGLCOLORMASKIPROC glad_debug_glColorMaski = glad_debug_impl_glColorMaski;
    659 PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi;
    660 void APIENTRY glad_debug_impl_glClearBufferfi(GLenum arg0, GLint arg1, GLfloat arg2, GLint arg3) {    
    661     _pre_call_callback("glClearBufferfi", (void*)glClearBufferfi, 4, arg0, arg1, arg2, arg3);
    662      glad_glClearBufferfi(arg0, arg1, arg2, arg3);
    663     _post_call_callback("glClearBufferfi", (void*)glClearBufferfi, 4, arg0, arg1, arg2, arg3);
    664     
    665 }
    666 PFNGLCLEARBUFFERFIPROC glad_debug_glClearBufferfi = glad_debug_impl_glClearBufferfi;
    667 PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays;
    668 void APIENTRY glad_debug_impl_glGenVertexArrays(GLsizei arg0, GLuint * arg1) {    
    669     _pre_call_callback("glGenVertexArrays", (void*)glGenVertexArrays, 2, arg0, arg1);
    670      glad_glGenVertexArrays(arg0, arg1);
    671     _post_call_callback("glGenVertexArrays", (void*)glGenVertexArrays, 2, arg0, arg1);
    672     
    673 }
    674 PFNGLGENVERTEXARRAYSPROC glad_debug_glGenVertexArrays = glad_debug_impl_glGenVertexArrays;
    675 PFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui;
    676 void APIENTRY glad_debug_impl_glMultiTexCoordP2ui(GLenum arg0, GLenum arg1, GLuint arg2) {    
    677     _pre_call_callback("glMultiTexCoordP2ui", (void*)glMultiTexCoordP2ui, 3, arg0, arg1, arg2);
    678      glad_glMultiTexCoordP2ui(arg0, arg1, arg2);
    679     _post_call_callback("glMultiTexCoordP2ui", (void*)glMultiTexCoordP2ui, 3, arg0, arg1, arg2);
    680     
    681 }
    682 PFNGLMULTITEXCOORDP2UIPROC glad_debug_glMultiTexCoordP2ui = glad_debug_impl_glMultiTexCoordP2ui;
    683 PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv;
    684 void APIENTRY glad_debug_impl_glGetSamplerParameterIiv(GLuint arg0, GLenum arg1, GLint * arg2) {    
    685     _pre_call_callback("glGetSamplerParameterIiv", (void*)glGetSamplerParameterIiv, 3, arg0, arg1, arg2);
    686      glad_glGetSamplerParameterIiv(arg0, arg1, arg2);
    687     _post_call_callback("glGetSamplerParameterIiv", (void*)glGetSamplerParameterIiv, 3, arg0, arg1, arg2);
    688     
    689 }
    690 PFNGLGETSAMPLERPARAMETERIIVPROC glad_debug_glGetSamplerParameterIiv = glad_debug_impl_glGetSamplerParameterIiv;
    691 PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex;
    692 GLint APIENTRY glad_debug_impl_glGetFragDataIndex(GLuint arg0, const GLchar * arg1) {    
    693     GLint ret;
    694     _pre_call_callback("glGetFragDataIndex", (void*)glGetFragDataIndex, 2, arg0, arg1);
    695     ret =  glad_glGetFragDataIndex(arg0, arg1);
    696     _post_call_callback("glGetFragDataIndex", (void*)glGetFragDataIndex, 2, arg0, arg1);
    697     return ret;
    698 }
    699 PFNGLGETFRAGDATAINDEXPROC glad_debug_glGetFragDataIndex = glad_debug_impl_glGetFragDataIndex;
    700 PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv;
    701 void APIENTRY glad_debug_impl_glGetVertexAttribdv(GLuint arg0, GLenum arg1, GLdouble * arg2) {    
    702     _pre_call_callback("glGetVertexAttribdv", (void*)glGetVertexAttribdv, 3, arg0, arg1, arg2);
    703      glad_glGetVertexAttribdv(arg0, arg1, arg2);
    704     _post_call_callback("glGetVertexAttribdv", (void*)glGetVertexAttribdv, 3, arg0, arg1, arg2);
    705     
    706 }
    707 PFNGLGETVERTEXATTRIBDVPROC glad_debug_glGetVertexAttribdv = glad_debug_impl_glGetVertexAttribdv;
    708 PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv;
    709 void APIENTRY glad_debug_impl_glUniformMatrix3x4fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat * arg3) {    
    710     _pre_call_callback("glUniformMatrix3x4fv", (void*)glUniformMatrix3x4fv, 4, arg0, arg1, arg2, arg3);
    711      glad_glUniformMatrix3x4fv(arg0, arg1, arg2, arg3);
    712     _post_call_callback("glUniformMatrix3x4fv", (void*)glUniformMatrix3x4fv, 4, arg0, arg1, arg2, arg3);
    713     
    714 }
    715 PFNGLUNIFORMMATRIX3X4FVPROC glad_debug_glUniformMatrix3x4fv = glad_debug_impl_glUniformMatrix3x4fv;
    716 PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui;
    717 void APIENTRY glad_debug_impl_glMultiTexCoordP4ui(GLenum arg0, GLenum arg1, GLuint arg2) {    
    718     _pre_call_callback("glMultiTexCoordP4ui", (void*)glMultiTexCoordP4ui, 3, arg0, arg1, arg2);
    719      glad_glMultiTexCoordP4ui(arg0, arg1, arg2);
    720     _post_call_callback("glMultiTexCoordP4ui", (void*)glMultiTexCoordP4ui, 3, arg0, arg1, arg2);
    721     
    722 }
    723 PFNGLMULTITEXCOORDP4UIPROC glad_debug_glMultiTexCoordP4ui = glad_debug_impl_glMultiTexCoordP4ui;
    724 PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers;
    725 void APIENTRY glad_debug_impl_glDeleteFramebuffers(GLsizei arg0, const GLuint * arg1) {    
    726     _pre_call_callback("glDeleteFramebuffers", (void*)glDeleteFramebuffers, 2, arg0, arg1);
    727      glad_glDeleteFramebuffers(arg0, arg1);
    728     _post_call_callback("glDeleteFramebuffers", (void*)glDeleteFramebuffers, 2, arg0, arg1);
    729     
    730 }
    731 PFNGLDELETEFRAMEBUFFERSPROC glad_debug_glDeleteFramebuffers = glad_debug_impl_glDeleteFramebuffers;
    732 PFNGLDRAWARRAYSPROC glad_glDrawArrays;
    733 void APIENTRY glad_debug_impl_glDrawArrays(GLenum arg0, GLint arg1, GLsizei arg2) {    
    734     _pre_call_callback("glDrawArrays", (void*)glDrawArrays, 3, arg0, arg1, arg2);
    735      glad_glDrawArrays(arg0, arg1, arg2);
    736     _post_call_callback("glDrawArrays", (void*)glDrawArrays, 3, arg0, arg1, arg2);
    737     
    738 }
    739 PFNGLDRAWARRAYSPROC glad_debug_glDrawArrays = glad_debug_impl_glDrawArrays;
    740 PFNGLUNIFORM1UIPROC glad_glUniform1ui;
    741 void APIENTRY glad_debug_impl_glUniform1ui(GLint arg0, GLuint arg1) {    
    742     _pre_call_callback("glUniform1ui", (void*)glUniform1ui, 2, arg0, arg1);
    743      glad_glUniform1ui(arg0, arg1);
    744     _post_call_callback("glUniform1ui", (void*)glUniform1ui, 2, arg0, arg1);
    745     
    746 }
    747 PFNGLUNIFORM1UIPROC glad_debug_glUniform1ui = glad_debug_impl_glUniform1ui;
    748 PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i;
    749 void APIENTRY glad_debug_impl_glVertexAttribI2i(GLuint arg0, GLint arg1, GLint arg2) {    
    750     _pre_call_callback("glVertexAttribI2i", (void*)glVertexAttribI2i, 3, arg0, arg1, arg2);
    751      glad_glVertexAttribI2i(arg0, arg1, arg2);
    752     _post_call_callback("glVertexAttribI2i", (void*)glVertexAttribI2i, 3, arg0, arg1, arg2);
    753     
    754 }
    755 PFNGLVERTEXATTRIBI2IPROC glad_debug_glVertexAttribI2i = glad_debug_impl_glVertexAttribI2i;
    756 PFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui;
    757 void APIENTRY glad_debug_impl_glTexCoordP3ui(GLenum arg0, GLuint arg1) {    
    758     _pre_call_callback("glTexCoordP3ui", (void*)glTexCoordP3ui, 2, arg0, arg1);
    759      glad_glTexCoordP3ui(arg0, arg1);
    760     _post_call_callback("glTexCoordP3ui", (void*)glTexCoordP3ui, 2, arg0, arg1);
    761     
    762 }
    763 PFNGLTEXCOORDP3UIPROC glad_debug_glTexCoordP3ui = glad_debug_impl_glTexCoordP3ui;
    764 PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d;
    765 void APIENTRY glad_debug_impl_glVertexAttrib3d(GLuint arg0, GLdouble arg1, GLdouble arg2, GLdouble arg3) {    
    766     _pre_call_callback("glVertexAttrib3d", (void*)glVertexAttrib3d, 4, arg0, arg1, arg2, arg3);
    767      glad_glVertexAttrib3d(arg0, arg1, arg2, arg3);
    768     _post_call_callback("glVertexAttrib3d", (void*)glVertexAttrib3d, 4, arg0, arg1, arg2, arg3);
    769     
    770 }
    771 PFNGLVERTEXATTRIB3DPROC glad_debug_glVertexAttrib3d = glad_debug_impl_glVertexAttrib3d;
    772 PFNGLCLEARPROC glad_glClear;
    773 void APIENTRY glad_debug_impl_glClear(GLbitfield arg0) {    
    774     _pre_call_callback("glClear", (void*)glClear, 1, arg0);
    775      glad_glClear(arg0);
    776     _post_call_callback("glClear", (void*)glClear, 1, arg0);
    777     
    778 }
    779 PFNGLCLEARPROC glad_debug_glClear = glad_debug_impl_glClear;
    780 PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName;
    781 void APIENTRY glad_debug_impl_glGetActiveUniformName(GLuint arg0, GLuint arg1, GLsizei arg2, GLsizei * arg3, GLchar * arg4) {    
    782     _pre_call_callback("glGetActiveUniformName", (void*)glGetActiveUniformName, 5, arg0, arg1, arg2, arg3, arg4);
    783      glad_glGetActiveUniformName(arg0, arg1, arg2, arg3, arg4);
    784     _post_call_callback("glGetActiveUniformName", (void*)glGetActiveUniformName, 5, arg0, arg1, arg2, arg3, arg4);
    785     
    786 }
    787 PFNGLGETACTIVEUNIFORMNAMEPROC glad_debug_glGetActiveUniformName = glad_debug_impl_glGetActiveUniformName;
    788 PFNGLISENABLEDPROC glad_glIsEnabled;
    789 GLboolean APIENTRY glad_debug_impl_glIsEnabled(GLenum arg0) {    
    790     GLboolean ret;
    791     _pre_call_callback("glIsEnabled", (void*)glIsEnabled, 1, arg0);
    792     ret =  glad_glIsEnabled(arg0);
    793     _post_call_callback("glIsEnabled", (void*)glIsEnabled, 1, arg0);
    794     return ret;
    795 }
    796 PFNGLISENABLEDPROC glad_debug_glIsEnabled = glad_debug_impl_glIsEnabled;
    797 PFNGLSTENCILOPPROC glad_glStencilOp;
    798 void APIENTRY glad_debug_impl_glStencilOp(GLenum arg0, GLenum arg1, GLenum arg2) {    
    799     _pre_call_callback("glStencilOp", (void*)glStencilOp, 3, arg0, arg1, arg2);
    800      glad_glStencilOp(arg0, arg1, arg2);
    801     _post_call_callback("glStencilOp", (void*)glStencilOp, 3, arg0, arg1, arg2);
    802     
    803 }
    804 PFNGLSTENCILOPPROC glad_debug_glStencilOp = glad_debug_impl_glStencilOp;
    805 PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D;
    806 void APIENTRY glad_debug_impl_glFramebufferTexture2D(GLenum arg0, GLenum arg1, GLenum arg2, GLuint arg3, GLint arg4) {    
    807     _pre_call_callback("glFramebufferTexture2D", (void*)glFramebufferTexture2D, 5, arg0, arg1, arg2, arg3, arg4);
    808      glad_glFramebufferTexture2D(arg0, arg1, arg2, arg3, arg4);
    809     _post_call_callback("glFramebufferTexture2D", (void*)glFramebufferTexture2D, 5, arg0, arg1, arg2, arg3, arg4);
    810     
    811 }
    812 PFNGLFRAMEBUFFERTEXTURE2DPROC glad_debug_glFramebufferTexture2D = glad_debug_impl_glFramebufferTexture2D;
    813 PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv;
    814 void APIENTRY glad_debug_impl_glGetFramebufferAttachmentParameteriv(GLenum arg0, GLenum arg1, GLenum arg2, GLint * arg3) {    
    815     _pre_call_callback("glGetFramebufferAttachmentParameteriv", (void*)glGetFramebufferAttachmentParameteriv, 4, arg0, arg1, arg2, arg3);
    816      glad_glGetFramebufferAttachmentParameteriv(arg0, arg1, arg2, arg3);
    817     _post_call_callback("glGetFramebufferAttachmentParameteriv", (void*)glGetFramebufferAttachmentParameteriv, 4, arg0, arg1, arg2, arg3);
    818     
    819 }
    820 PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_debug_glGetFramebufferAttachmentParameteriv = glad_debug_impl_glGetFramebufferAttachmentParameteriv;
    821 PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub;
    822 void APIENTRY glad_debug_impl_glVertexAttrib4Nub(GLuint arg0, GLubyte arg1, GLubyte arg2, GLubyte arg3, GLubyte arg4) {    
    823     _pre_call_callback("glVertexAttrib4Nub", (void*)glVertexAttrib4Nub, 5, arg0, arg1, arg2, arg3, arg4);
    824      glad_glVertexAttrib4Nub(arg0, arg1, arg2, arg3, arg4);
    825     _post_call_callback("glVertexAttrib4Nub", (void*)glVertexAttrib4Nub, 5, arg0, arg1, arg2, arg3, arg4);
    826     
    827 }
    828 PFNGLVERTEXATTRIB4NUBPROC glad_debug_glVertexAttrib4Nub = glad_debug_impl_glVertexAttrib4Nub;
    829 PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation;
    830 GLint APIENTRY glad_debug_impl_glGetFragDataLocation(GLuint arg0, const GLchar * arg1) {    
    831     GLint ret;
    832     _pre_call_callback("glGetFragDataLocation", (void*)glGetFragDataLocation, 2, arg0, arg1);
    833     ret =  glad_glGetFragDataLocation(arg0, arg1);
    834     _post_call_callback("glGetFragDataLocation", (void*)glGetFragDataLocation, 2, arg0, arg1);
    835     return ret;
    836 }
    837 PFNGLGETFRAGDATALOCATIONPROC glad_debug_glGetFragDataLocation = glad_debug_impl_glGetFragDataLocation;
    838 PFNGLTEXIMAGE1DPROC glad_glTexImage1D;
    839 void APIENTRY glad_debug_impl_glTexImage1D(GLenum arg0, GLint arg1, GLint arg2, GLsizei arg3, GLint arg4, GLenum arg5, GLenum arg6, const void * arg7) {    
    840     _pre_call_callback("glTexImage1D", (void*)glTexImage1D, 8, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
    841      glad_glTexImage1D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
    842     _post_call_callback("glTexImage1D", (void*)glTexImage1D, 8, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
    843     
    844 }
    845 PFNGLTEXIMAGE1DPROC glad_debug_glTexImage1D = glad_debug_impl_glTexImage1D;
    846 PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv;
    847 void APIENTRY glad_debug_impl_glTexParameteriv(GLenum arg0, GLenum arg1, const GLint * arg2) {    
    848     _pre_call_callback("glTexParameteriv", (void*)glTexParameteriv, 3, arg0, arg1, arg2);
    849      glad_glTexParameteriv(arg0, arg1, arg2);
    850     _post_call_callback("glTexParameteriv", (void*)glTexParameteriv, 3, arg0, arg1, arg2);
    851     
    852 }
    853 PFNGLTEXPARAMETERIVPROC glad_debug_glTexParameteriv = glad_debug_impl_glTexParameteriv;
    854 PFNGLGETTEXIMAGEPROC glad_glGetTexImage;
    855 void APIENTRY glad_debug_impl_glGetTexImage(GLenum arg0, GLint arg1, GLenum arg2, GLenum arg3, void * arg4) {    
    856     _pre_call_callback("glGetTexImage", (void*)glGetTexImage, 5, arg0, arg1, arg2, arg3, arg4);
    857      glad_glGetTexImage(arg0, arg1, arg2, arg3, arg4);
    858     _post_call_callback("glGetTexImage", (void*)glGetTexImage, 5, arg0, arg1, arg2, arg3, arg4);
    859     
    860 }
    861 PFNGLGETTEXIMAGEPROC glad_debug_glGetTexImage = glad_debug_impl_glGetTexImage;
    862 PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v;
    863 void APIENTRY glad_debug_impl_glGetQueryObjecti64v(GLuint arg0, GLenum arg1, GLint64 * arg2) {    
    864     _pre_call_callback("glGetQueryObjecti64v", (void*)glGetQueryObjecti64v, 3, arg0, arg1, arg2);
    865      glad_glGetQueryObjecti64v(arg0, arg1, arg2);
    866     _post_call_callback("glGetQueryObjecti64v", (void*)glGetQueryObjecti64v, 3, arg0, arg1, arg2);
    867     
    868 }
    869 PFNGLGETQUERYOBJECTI64VPROC glad_debug_glGetQueryObjecti64v = glad_debug_impl_glGetQueryObjecti64v;
    870 PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers;
    871 void APIENTRY glad_debug_impl_glGenFramebuffers(GLsizei arg0, GLuint * arg1) {    
    872     _pre_call_callback("glGenFramebuffers", (void*)glGenFramebuffers, 2, arg0, arg1);
    873      glad_glGenFramebuffers(arg0, arg1);
    874     _post_call_callback("glGenFramebuffers", (void*)glGenFramebuffers, 2, arg0, arg1);
    875     
    876 }
    877 PFNGLGENFRAMEBUFFERSPROC glad_debug_glGenFramebuffers = glad_debug_impl_glGenFramebuffers;
    878 PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders;
    879 void APIENTRY glad_debug_impl_glGetAttachedShaders(GLuint arg0, GLsizei arg1, GLsizei * arg2, GLuint * arg3) {    
    880     _pre_call_callback("glGetAttachedShaders", (void*)glGetAttachedShaders, 4, arg0, arg1, arg2, arg3);
    881      glad_glGetAttachedShaders(arg0, arg1, arg2, arg3);
    882     _post_call_callback("glGetAttachedShaders", (void*)glGetAttachedShaders, 4, arg0, arg1, arg2, arg3);
    883     
    884 }
    885 PFNGLGETATTACHEDSHADERSPROC glad_debug_glGetAttachedShaders = glad_debug_impl_glGetAttachedShaders;
    886 PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer;
    887 GLboolean APIENTRY glad_debug_impl_glIsRenderbuffer(GLuint arg0) {    
    888     GLboolean ret;
    889     _pre_call_callback("glIsRenderbuffer", (void*)glIsRenderbuffer, 1, arg0);
    890     ret =  glad_glIsRenderbuffer(arg0);
    891     _post_call_callback("glIsRenderbuffer", (void*)glIsRenderbuffer, 1, arg0);
    892     return ret;
    893 }
    894 PFNGLISRENDERBUFFERPROC glad_debug_glIsRenderbuffer = glad_debug_impl_glIsRenderbuffer;
    895 PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays;
    896 void APIENTRY glad_debug_impl_glDeleteVertexArrays(GLsizei arg0, const GLuint * arg1) {    
    897     _pre_call_callback("glDeleteVertexArrays", (void*)glDeleteVertexArrays, 2, arg0, arg1);
    898      glad_glDeleteVertexArrays(arg0, arg1);
    899     _post_call_callback("glDeleteVertexArrays", (void*)glDeleteVertexArrays, 2, arg0, arg1);
    900     
    901 }
    902 PFNGLDELETEVERTEXARRAYSPROC glad_debug_glDeleteVertexArrays = glad_debug_impl_glDeleteVertexArrays;
    903 PFNGLISVERTEXARRAYPROC glad_glIsVertexArray;
    904 GLboolean APIENTRY glad_debug_impl_glIsVertexArray(GLuint arg0) {    
    905     GLboolean ret;
    906     _pre_call_callback("glIsVertexArray", (void*)glIsVertexArray, 1, arg0);
    907     ret =  glad_glIsVertexArray(arg0);
    908     _post_call_callback("glIsVertexArray", (void*)glIsVertexArray, 1, arg0);
    909     return ret;
    910 }
    911 PFNGLISVERTEXARRAYPROC glad_debug_glIsVertexArray = glad_debug_impl_glIsVertexArray;
    912 PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray;
    913 void APIENTRY glad_debug_impl_glDisableVertexAttribArray(GLuint arg0) {    
    914     _pre_call_callback("glDisableVertexAttribArray", (void*)glDisableVertexAttribArray, 1, arg0);
    915      glad_glDisableVertexAttribArray(arg0);
    916     _post_call_callback("glDisableVertexAttribArray", (void*)glDisableVertexAttribArray, 1, arg0);
    917     
    918 }
    919 PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_debug_glDisableVertexAttribArray = glad_debug_impl_glDisableVertexAttribArray;
    920 PFNGLGETQUERYIVPROC glad_glGetQueryiv;
    921 void APIENTRY glad_debug_impl_glGetQueryiv(GLenum arg0, GLenum arg1, GLint * arg2) {    
    922     _pre_call_callback("glGetQueryiv", (void*)glGetQueryiv, 3, arg0, arg1, arg2);
    923      glad_glGetQueryiv(arg0, arg1, arg2);
    924     _post_call_callback("glGetQueryiv", (void*)glGetQueryiv, 3, arg0, arg1, arg2);
    925     
    926 }
    927 PFNGLGETQUERYIVPROC glad_debug_glGetQueryiv = glad_debug_impl_glGetQueryiv;
    928 PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv;
    929 void APIENTRY glad_debug_impl_glGetSamplerParameterfv(GLuint arg0, GLenum arg1, GLfloat * arg2) {    
    930     _pre_call_callback("glGetSamplerParameterfv", (void*)glGetSamplerParameterfv, 3, arg0, arg1, arg2);
    931      glad_glGetSamplerParameterfv(arg0, arg1, arg2);
    932     _post_call_callback("glGetSamplerParameterfv", (void*)glGetSamplerParameterfv, 3, arg0, arg1, arg2);
    933     
    934 }
    935 PFNGLGETSAMPLERPARAMETERFVPROC glad_debug_glGetSamplerParameterfv = glad_debug_impl_glGetSamplerParameterfv;
    936 PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices;
    937 void APIENTRY glad_debug_impl_glGetUniformIndices(GLuint arg0, GLsizei arg1, const GLchar *const* arg2, GLuint * arg3) {    
    938     _pre_call_callback("glGetUniformIndices", (void*)glGetUniformIndices, 4, arg0, arg1, arg2, arg3);
    939      glad_glGetUniformIndices(arg0, arg1, arg2, arg3);
    940     _post_call_callback("glGetUniformIndices", (void*)glGetUniformIndices, 4, arg0, arg1, arg2, arg3);
    941     
    942 }
    943 PFNGLGETUNIFORMINDICESPROC glad_debug_glGetUniformIndices = glad_debug_impl_glGetUniformIndices;
    944 PFNGLISSHADERPROC glad_glIsShader;
    945 GLboolean APIENTRY glad_debug_impl_glIsShader(GLuint arg0) {    
    946     GLboolean ret;
    947     _pre_call_callback("glIsShader", (void*)glIsShader, 1, arg0);
    948     ret =  glad_glIsShader(arg0);
    949     _post_call_callback("glIsShader", (void*)glIsShader, 1, arg0);
    950     return ret;
    951 }
    952 PFNGLISSHADERPROC glad_debug_glIsShader = glad_debug_impl_glIsShader;
    953 PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv;
    954 void APIENTRY glad_debug_impl_glVertexAttribI4ubv(GLuint arg0, const GLubyte * arg1) {    
    955     _pre_call_callback("glVertexAttribI4ubv", (void*)glVertexAttribI4ubv, 2, arg0, arg1);
    956      glad_glVertexAttribI4ubv(arg0, arg1);
    957     _post_call_callback("glVertexAttribI4ubv", (void*)glVertexAttribI4ubv, 2, arg0, arg1);
    958     
    959 }
    960 PFNGLVERTEXATTRIBI4UBVPROC glad_debug_glVertexAttribI4ubv = glad_debug_impl_glVertexAttribI4ubv;
    961 PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv;
    962 void APIENTRY glad_debug_impl_glPointParameteriv(GLenum arg0, const GLint * arg1) {    
    963     _pre_call_callback("glPointParameteriv", (void*)glPointParameteriv, 2, arg0, arg1);
    964      glad_glPointParameteriv(arg0, arg1);
    965     _post_call_callback("glPointParameteriv", (void*)glPointParameteriv, 2, arg0, arg1);
    966     
    967 }
    968 PFNGLPOINTPARAMETERIVPROC glad_debug_glPointParameteriv = glad_debug_impl_glPointParameteriv;
    969 PFNGLENABLEPROC glad_glEnable;
    970 void APIENTRY glad_debug_impl_glEnable(GLenum arg0) {    
    971     _pre_call_callback("glEnable", (void*)glEnable, 1, arg0);
    972      glad_glEnable(arg0);
    973     _post_call_callback("glEnable", (void*)glEnable, 1, arg0);
    974     
    975 }
    976 PFNGLENABLEPROC glad_debug_glEnable = glad_debug_impl_glEnable;
    977 PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv;
    978 void APIENTRY glad_debug_impl_glGetActiveUniformsiv(GLuint arg0, GLsizei arg1, const GLuint * arg2, GLenum arg3, GLint * arg4) {    
    979     _pre_call_callback("glGetActiveUniformsiv", (void*)glGetActiveUniformsiv, 5, arg0, arg1, arg2, arg3, arg4);
    980      glad_glGetActiveUniformsiv(arg0, arg1, arg2, arg3, arg4);
    981     _post_call_callback("glGetActiveUniformsiv", (void*)glGetActiveUniformsiv, 5, arg0, arg1, arg2, arg3, arg4);
    982     
    983 }
    984 PFNGLGETACTIVEUNIFORMSIVPROC glad_debug_glGetActiveUniformsiv = glad_debug_impl_glGetActiveUniformsiv;
    985 PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation;
    986 GLint APIENTRY glad_debug_impl_glGetAttribLocation(GLuint arg0, const GLchar * arg1) {    
    987     GLint ret;
    988     _pre_call_callback("glGetAttribLocation", (void*)glGetAttribLocation, 2, arg0, arg1);
    989     ret =  glad_glGetAttribLocation(arg0, arg1);
    990     _post_call_callback("glGetAttribLocation", (void*)glGetAttribLocation, 2, arg0, arg1);
    991     return ret;
    992 }
    993 PFNGLGETATTRIBLOCATIONPROC glad_debug_glGetAttribLocation = glad_debug_impl_glGetAttribLocation;
    994 PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv;
    995 void APIENTRY glad_debug_impl_glVertexAttrib4dv(GLuint arg0, const GLdouble * arg1) {    
    996     _pre_call_callback("glVertexAttrib4dv", (void*)glVertexAttrib4dv, 2, arg0, arg1);
    997      glad_glVertexAttrib4dv(arg0, arg1);
    998     _post_call_callback("glVertexAttrib4dv", (void*)glVertexAttrib4dv, 2, arg0, arg1);
    999     
   1000 }
   1001 PFNGLVERTEXATTRIB4DVPROC glad_debug_glVertexAttrib4dv = glad_debug_impl_glVertexAttrib4dv;
   1002 PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv;
   1003 void APIENTRY glad_debug_impl_glMultiTexCoordP3uiv(GLenum arg0, GLenum arg1, const GLuint * arg2) {    
   1004     _pre_call_callback("glMultiTexCoordP3uiv", (void*)glMultiTexCoordP3uiv, 3, arg0, arg1, arg2);
   1005      glad_glMultiTexCoordP3uiv(arg0, arg1, arg2);
   1006     _post_call_callback("glMultiTexCoordP3uiv", (void*)glMultiTexCoordP3uiv, 3, arg0, arg1, arg2);
   1007     
   1008 }
   1009 PFNGLMULTITEXCOORDP3UIVPROC glad_debug_glMultiTexCoordP3uiv = glad_debug_impl_glMultiTexCoordP3uiv;
   1010 PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui;
   1011 void APIENTRY glad_debug_impl_glVertexAttribP3ui(GLuint arg0, GLenum arg1, GLboolean arg2, GLuint arg3) {    
   1012     _pre_call_callback("glVertexAttribP3ui", (void*)glVertexAttribP3ui, 4, arg0, arg1, arg2, arg3);
   1013      glad_glVertexAttribP3ui(arg0, arg1, arg2, arg3);
   1014     _post_call_callback("glVertexAttribP3ui", (void*)glVertexAttribP3ui, 4, arg0, arg1, arg2, arg3);
   1015     
   1016 }
   1017 PFNGLVERTEXATTRIBP3UIPROC glad_debug_glVertexAttribP3ui = glad_debug_impl_glVertexAttribP3ui;
   1018 PFNGLGETUNIFORMFVPROC glad_glGetUniformfv;
   1019 void APIENTRY glad_debug_impl_glGetUniformfv(GLuint arg0, GLint arg1, GLfloat * arg2) {    
   1020     _pre_call_callback("glGetUniformfv", (void*)glGetUniformfv, 3, arg0, arg1, arg2);
   1021      glad_glGetUniformfv(arg0, arg1, arg2);
   1022     _post_call_callback("glGetUniformfv", (void*)glGetUniformfv, 3, arg0, arg1, arg2);
   1023     
   1024 }
   1025 PFNGLGETUNIFORMFVPROC glad_debug_glGetUniformfv = glad_debug_impl_glGetUniformfv;
   1026 PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv;
   1027 void APIENTRY glad_debug_impl_glGetUniformuiv(GLuint arg0, GLint arg1, GLuint * arg2) {    
   1028     _pre_call_callback("glGetUniformuiv", (void*)glGetUniformuiv, 3, arg0, arg1, arg2);
   1029      glad_glGetUniformuiv(arg0, arg1, arg2);
   1030     _post_call_callback("glGetUniformuiv", (void*)glGetUniformuiv, 3, arg0, arg1, arg2);
   1031     
   1032 }
   1033 PFNGLGETUNIFORMUIVPROC glad_debug_glGetUniformuiv = glad_debug_impl_glGetUniformuiv;
   1034 PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv;
   1035 void APIENTRY glad_debug_impl_glGetVertexAttribIiv(GLuint arg0, GLenum arg1, GLint * arg2) {    
   1036     _pre_call_callback("glGetVertexAttribIiv", (void*)glGetVertexAttribIiv, 3, arg0, arg1, arg2);
   1037      glad_glGetVertexAttribIiv(arg0, arg1, arg2);
   1038     _post_call_callback("glGetVertexAttribIiv", (void*)glGetVertexAttribIiv, 3, arg0, arg1, arg2);
   1039     
   1040 }
   1041 PFNGLGETVERTEXATTRIBIIVPROC glad_debug_glGetVertexAttribIiv = glad_debug_impl_glGetVertexAttribIiv;
   1042 PFNGLDRAWBUFFERPROC glad_glDrawBuffer;
   1043 void APIENTRY glad_debug_impl_glDrawBuffer(GLenum arg0) {    
   1044     _pre_call_callback("glDrawBuffer", (void*)glDrawBuffer, 1, arg0);
   1045      glad_glDrawBuffer(arg0);
   1046     _post_call_callback("glDrawBuffer", (void*)glDrawBuffer, 1, arg0);
   1047     
   1048 }
   1049 PFNGLDRAWBUFFERPROC glad_debug_glDrawBuffer = glad_debug_impl_glDrawBuffer;
   1050 PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv;
   1051 void APIENTRY glad_debug_impl_glClearBufferuiv(GLenum arg0, GLint arg1, const GLuint * arg2) {    
   1052     _pre_call_callback("glClearBufferuiv", (void*)glClearBufferuiv, 3, arg0, arg1, arg2);
   1053      glad_glClearBufferuiv(arg0, arg1, arg2);
   1054     _post_call_callback("glClearBufferuiv", (void*)glClearBufferuiv, 3, arg0, arg1, arg2);
   1055     
   1056 }
   1057 PFNGLCLEARBUFFERUIVPROC glad_debug_glClearBufferuiv = glad_debug_impl_glClearBufferuiv;
   1058 PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced;
   1059 void APIENTRY glad_debug_impl_glDrawElementsInstanced(GLenum arg0, GLsizei arg1, GLenum arg2, const void * arg3, GLsizei arg4) {    
   1060     _pre_call_callback("glDrawElementsInstanced", (void*)glDrawElementsInstanced, 5, arg0, arg1, arg2, arg3, arg4);
   1061      glad_glDrawElementsInstanced(arg0, arg1, arg2, arg3, arg4);
   1062     _post_call_callback("glDrawElementsInstanced", (void*)glDrawElementsInstanced, 5, arg0, arg1, arg2, arg3, arg4);
   1063     
   1064 }
   1065 PFNGLDRAWELEMENTSINSTANCEDPROC glad_debug_glDrawElementsInstanced = glad_debug_impl_glDrawElementsInstanced;
   1066 PFNGLFLUSHPROC glad_glFlush;
   1067 void APIENTRY glad_debug_impl_glFlush(void) {    
   1068     _pre_call_callback("glFlush", (void*)glFlush, 0);
   1069      glad_glFlush();
   1070     _post_call_callback("glFlush", (void*)glFlush, 0);
   1071     
   1072 }
   1073 PFNGLFLUSHPROC glad_debug_glFlush = glad_debug_impl_glFlush;
   1074 PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv;
   1075 void APIENTRY glad_debug_impl_glGetRenderbufferParameteriv(GLenum arg0, GLenum arg1, GLint * arg2) {    
   1076     _pre_call_callback("glGetRenderbufferParameteriv", (void*)glGetRenderbufferParameteriv, 3, arg0, arg1, arg2);
   1077      glad_glGetRenderbufferParameteriv(arg0, arg1, arg2);
   1078     _post_call_callback("glGetRenderbufferParameteriv", (void*)glGetRenderbufferParameteriv, 3, arg0, arg1, arg2);
   1079     
   1080 }
   1081 PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_debug_glGetRenderbufferParameteriv = glad_debug_impl_glGetRenderbufferParameteriv;
   1082 PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv;
   1083 void APIENTRY glad_debug_impl_glGetVertexAttribPointerv(GLuint arg0, GLenum arg1, void ** arg2) {    
   1084     _pre_call_callback("glGetVertexAttribPointerv", (void*)glGetVertexAttribPointerv, 3, arg0, arg1, arg2);
   1085      glad_glGetVertexAttribPointerv(arg0, arg1, arg2);
   1086     _post_call_callback("glGetVertexAttribPointerv", (void*)glGetVertexAttribPointerv, 3, arg0, arg1, arg2);
   1087     
   1088 }
   1089 PFNGLGETVERTEXATTRIBPOINTERVPROC glad_debug_glGetVertexAttribPointerv = glad_debug_impl_glGetVertexAttribPointerv;
   1090 PFNGLFENCESYNCPROC glad_glFenceSync;
   1091 GLsync APIENTRY glad_debug_impl_glFenceSync(GLenum arg0, GLbitfield arg1) {    
   1092     GLsync ret;
   1093     _pre_call_callback("glFenceSync", (void*)glFenceSync, 2, arg0, arg1);
   1094     ret =  glad_glFenceSync(arg0, arg1);
   1095     _post_call_callback("glFenceSync", (void*)glFenceSync, 2, arg0, arg1);
   1096     return ret;
   1097 }
   1098 PFNGLFENCESYNCPROC glad_debug_glFenceSync = glad_debug_impl_glFenceSync;
   1099 PFNGLCOLORP3UIPROC glad_glColorP3ui;
   1100 void APIENTRY glad_debug_impl_glColorP3ui(GLenum arg0, GLuint arg1) {    
   1101     _pre_call_callback("glColorP3ui", (void*)glColorP3ui, 2, arg0, arg1);
   1102      glad_glColorP3ui(arg0, arg1);
   1103     _post_call_callback("glColorP3ui", (void*)glColorP3ui, 2, arg0, arg1);
   1104     
   1105 }
   1106 PFNGLCOLORP3UIPROC glad_debug_glColorP3ui = glad_debug_impl_glColorP3ui;
   1107 PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv;
   1108 void APIENTRY glad_debug_impl_glVertexAttrib3sv(GLuint arg0, const GLshort * arg1) {    
   1109     _pre_call_callback("glVertexAttrib3sv", (void*)glVertexAttrib3sv, 2, arg0, arg1);
   1110      glad_glVertexAttrib3sv(arg0, arg1);
   1111     _post_call_callback("glVertexAttrib3sv", (void*)glVertexAttrib3sv, 2, arg0, arg1);
   1112     
   1113 }
   1114 PFNGLVERTEXATTRIB3SVPROC glad_debug_glVertexAttrib3sv = glad_debug_impl_glVertexAttrib3sv;
   1115 PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender;
   1116 void APIENTRY glad_debug_impl_glBeginConditionalRender(GLuint arg0, GLenum arg1) {    
   1117     _pre_call_callback("glBeginConditionalRender", (void*)glBeginConditionalRender, 2, arg0, arg1);
   1118      glad_glBeginConditionalRender(arg0, arg1);
   1119     _post_call_callback("glBeginConditionalRender", (void*)glBeginConditionalRender, 2, arg0, arg1);
   1120     
   1121 }
   1122 PFNGLBEGINCONDITIONALRENDERPROC glad_debug_glBeginConditionalRender = glad_debug_impl_glBeginConditionalRender;
   1123 PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv;
   1124 void APIENTRY glad_debug_impl_glGetTexLevelParameteriv(GLenum arg0, GLint arg1, GLenum arg2, GLint * arg3) {    
   1125     _pre_call_callback("glGetTexLevelParameteriv", (void*)glGetTexLevelParameteriv, 4, arg0, arg1, arg2, arg3);
   1126      glad_glGetTexLevelParameteriv(arg0, arg1, arg2, arg3);
   1127     _post_call_callback("glGetTexLevelParameteriv", (void*)glGetTexLevelParameteriv, 4, arg0, arg1, arg2, arg3);
   1128     
   1129 }
   1130 PFNGLGETTEXLEVELPARAMETERIVPROC glad_debug_glGetTexLevelParameteriv = glad_debug_impl_glGetTexLevelParameteriv;
   1131 PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv;
   1132 void APIENTRY glad_debug_impl_glMultiTexCoordP4uiv(GLenum arg0, GLenum arg1, const GLuint * arg2) {    
   1133     _pre_call_callback("glMultiTexCoordP4uiv", (void*)glMultiTexCoordP4uiv, 3, arg0, arg1, arg2);
   1134      glad_glMultiTexCoordP4uiv(arg0, arg1, arg2);
   1135     _post_call_callback("glMultiTexCoordP4uiv", (void*)glMultiTexCoordP4uiv, 3, arg0, arg1, arg2);
   1136     
   1137 }
   1138 PFNGLMULTITEXCOORDP4UIVPROC glad_debug_glMultiTexCoordP4uiv = glad_debug_impl_glMultiTexCoordP4uiv;
   1139 PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate;
   1140 void APIENTRY glad_debug_impl_glStencilFuncSeparate(GLenum arg0, GLenum arg1, GLint arg2, GLuint arg3) {    
   1141     _pre_call_callback("glStencilFuncSeparate", (void*)glStencilFuncSeparate, 4, arg0, arg1, arg2, arg3);
   1142      glad_glStencilFuncSeparate(arg0, arg1, arg2, arg3);
   1143     _post_call_callback("glStencilFuncSeparate", (void*)glStencilFuncSeparate, 4, arg0, arg1, arg2, arg3);
   1144     
   1145 }
   1146 PFNGLSTENCILFUNCSEPARATEPROC glad_debug_glStencilFuncSeparate = glad_debug_impl_glStencilFuncSeparate;
   1147 PFNGLGENSAMPLERSPROC glad_glGenSamplers;
   1148 void APIENTRY glad_debug_impl_glGenSamplers(GLsizei arg0, GLuint * arg1) {    
   1149     _pre_call_callback("glGenSamplers", (void*)glGenSamplers, 2, arg0, arg1);
   1150      glad_glGenSamplers(arg0, arg1);
   1151     _post_call_callback("glGenSamplers", (void*)glGenSamplers, 2, arg0, arg1);
   1152     
   1153 }
   1154 PFNGLGENSAMPLERSPROC glad_debug_glGenSamplers = glad_debug_impl_glGenSamplers;
   1155 PFNGLCLAMPCOLORPROC glad_glClampColor;
   1156 void APIENTRY glad_debug_impl_glClampColor(GLenum arg0, GLenum arg1) {    
   1157     _pre_call_callback("glClampColor", (void*)glClampColor, 2, arg0, arg1);
   1158      glad_glClampColor(arg0, arg1);
   1159     _post_call_callback("glClampColor", (void*)glClampColor, 2, arg0, arg1);
   1160     
   1161 }
   1162 PFNGLCLAMPCOLORPROC glad_debug_glClampColor = glad_debug_impl_glClampColor;
   1163 PFNGLUNIFORM4IVPROC glad_glUniform4iv;
   1164 void APIENTRY glad_debug_impl_glUniform4iv(GLint arg0, GLsizei arg1, const GLint * arg2) {    
   1165     _pre_call_callback("glUniform4iv", (void*)glUniform4iv, 3, arg0, arg1, arg2);
   1166      glad_glUniform4iv(arg0, arg1, arg2);
   1167     _post_call_callback("glUniform4iv", (void*)glUniform4iv, 3, arg0, arg1, arg2);
   1168     
   1169 }
   1170 PFNGLUNIFORM4IVPROC glad_debug_glUniform4iv = glad_debug_impl_glUniform4iv;
   1171 PFNGLCLEARSTENCILPROC glad_glClearStencil;
   1172 void APIENTRY glad_debug_impl_glClearStencil(GLint arg0) {    
   1173     _pre_call_callback("glClearStencil", (void*)glClearStencil, 1, arg0);
   1174      glad_glClearStencil(arg0);
   1175     _post_call_callback("glClearStencil", (void*)glClearStencil, 1, arg0);
   1176     
   1177 }
   1178 PFNGLCLEARSTENCILPROC glad_debug_glClearStencil = glad_debug_impl_glClearStencil;
   1179 PFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv;
   1180 void APIENTRY glad_debug_impl_glTexCoordP1uiv(GLenum arg0, const GLuint * arg1) {    
   1181     _pre_call_callback("glTexCoordP1uiv", (void*)glTexCoordP1uiv, 2, arg0, arg1);
   1182      glad_glTexCoordP1uiv(arg0, arg1);
   1183     _post_call_callback("glTexCoordP1uiv", (void*)glTexCoordP1uiv, 2, arg0, arg1);
   1184     
   1185 }
   1186 PFNGLTEXCOORDP1UIVPROC glad_debug_glTexCoordP1uiv = glad_debug_impl_glTexCoordP1uiv;
   1187 PFNGLGENTEXTURESPROC glad_glGenTextures;
   1188 void APIENTRY glad_debug_impl_glGenTextures(GLsizei arg0, GLuint * arg1) {    
   1189     _pre_call_callback("glGenTextures", (void*)glGenTextures, 2, arg0, arg1);
   1190      glad_glGenTextures(arg0, arg1);
   1191     _post_call_callback("glGenTextures", (void*)glGenTextures, 2, arg0, arg1);
   1192     
   1193 }
   1194 PFNGLGENTEXTURESPROC glad_debug_glGenTextures = glad_debug_impl_glGenTextures;
   1195 PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv;
   1196 void APIENTRY glad_debug_impl_glGetTexParameterIuiv(GLenum arg0, GLenum arg1, GLuint * arg2) {    
   1197     _pre_call_callback("glGetTexParameterIuiv", (void*)glGetTexParameterIuiv, 3, arg0, arg1, arg2);
   1198      glad_glGetTexParameterIuiv(arg0, arg1, arg2);
   1199     _post_call_callback("glGetTexParameterIuiv", (void*)glGetTexParameterIuiv, 3, arg0, arg1, arg2);
   1200     
   1201 }
   1202 PFNGLGETTEXPARAMETERIUIVPROC glad_debug_glGetTexParameterIuiv = glad_debug_impl_glGetTexParameterIuiv;
   1203 PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv;
   1204 void APIENTRY glad_debug_impl_glVertexAttrib4Nbv(GLuint arg0, const GLbyte * arg1) {    
   1205     _pre_call_callback("glVertexAttrib4Nbv", (void*)glVertexAttrib4Nbv, 2, arg0, arg1);
   1206      glad_glVertexAttrib4Nbv(arg0, arg1);
   1207     _post_call_callback("glVertexAttrib4Nbv", (void*)glVertexAttrib4Nbv, 2, arg0, arg1);
   1208     
   1209 }
   1210 PFNGLVERTEXATTRIB4NBVPROC glad_debug_glVertexAttrib4Nbv = glad_debug_impl_glVertexAttrib4Nbv;
   1211 PFNGLISSYNCPROC glad_glIsSync;
   1212 GLboolean APIENTRY glad_debug_impl_glIsSync(GLsync arg0) {    
   1213     GLboolean ret;
   1214     _pre_call_callback("glIsSync", (void*)glIsSync, 1, arg0);
   1215     ret =  glad_glIsSync(arg0);
   1216     _post_call_callback("glIsSync", (void*)glIsSync, 1, arg0);
   1217     return ret;
   1218 }
   1219 PFNGLISSYNCPROC glad_debug_glIsSync = glad_debug_impl_glIsSync;
   1220 PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName;
   1221 void APIENTRY glad_debug_impl_glGetActiveUniformBlockName(GLuint arg0, GLuint arg1, GLsizei arg2, GLsizei * arg3, GLchar * arg4) {    
   1222     _pre_call_callback("glGetActiveUniformBlockName", (void*)glGetActiveUniformBlockName, 5, arg0, arg1, arg2, arg3, arg4);
   1223      glad_glGetActiveUniformBlockName(arg0, arg1, arg2, arg3, arg4);
   1224     _post_call_callback("glGetActiveUniformBlockName", (void*)glGetActiveUniformBlockName, 5, arg0, arg1, arg2, arg3, arg4);
   1225     
   1226 }
   1227 PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_debug_glGetActiveUniformBlockName = glad_debug_impl_glGetActiveUniformBlockName;
   1228 PFNGLUNIFORM2IPROC glad_glUniform2i;
   1229 void APIENTRY glad_debug_impl_glUniform2i(GLint arg0, GLint arg1, GLint arg2) {    
   1230     _pre_call_callback("glUniform2i", (void*)glUniform2i, 3, arg0, arg1, arg2);
   1231      glad_glUniform2i(arg0, arg1, arg2);
   1232     _post_call_callback("glUniform2i", (void*)glUniform2i, 3, arg0, arg1, arg2);
   1233     
   1234 }
   1235 PFNGLUNIFORM2IPROC glad_debug_glUniform2i = glad_debug_impl_glUniform2i;
   1236 PFNGLUNIFORM2FPROC glad_glUniform2f;
   1237 void APIENTRY glad_debug_impl_glUniform2f(GLint arg0, GLfloat arg1, GLfloat arg2) {    
   1238     _pre_call_callback("glUniform2f", (void*)glUniform2f, 3, arg0, arg1, arg2);
   1239      glad_glUniform2f(arg0, arg1, arg2);
   1240     _post_call_callback("glUniform2f", (void*)glUniform2f, 3, arg0, arg1, arg2);
   1241     
   1242 }
   1243 PFNGLUNIFORM2FPROC glad_debug_glUniform2f = glad_debug_impl_glUniform2f;
   1244 PFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui;
   1245 void APIENTRY glad_debug_impl_glTexCoordP4ui(GLenum arg0, GLuint arg1) {    
   1246     _pre_call_callback("glTexCoordP4ui", (void*)glTexCoordP4ui, 2, arg0, arg1);
   1247      glad_glTexCoordP4ui(arg0, arg1);
   1248     _post_call_callback("glTexCoordP4ui", (void*)glTexCoordP4ui, 2, arg0, arg1);
   1249     
   1250 }
   1251 PFNGLTEXCOORDP4UIPROC glad_debug_glTexCoordP4ui = glad_debug_impl_glTexCoordP4ui;
   1252 PFNGLGETPROGRAMIVPROC glad_glGetProgramiv;
   1253 void APIENTRY glad_debug_impl_glGetProgramiv(GLuint arg0, GLenum arg1, GLint * arg2) {    
   1254     _pre_call_callback("glGetProgramiv", (void*)glGetProgramiv, 3, arg0, arg1, arg2);
   1255      glad_glGetProgramiv(arg0, arg1, arg2);
   1256     _post_call_callback("glGetProgramiv", (void*)glGetProgramiv, 3, arg0, arg1, arg2);
   1257     
   1258 }
   1259 PFNGLGETPROGRAMIVPROC glad_debug_glGetProgramiv = glad_debug_impl_glGetProgramiv;
   1260 PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer;
   1261 void APIENTRY glad_debug_impl_glVertexAttribPointer(GLuint arg0, GLint arg1, GLenum arg2, GLboolean arg3, GLsizei arg4, const void * arg5) {    
   1262     _pre_call_callback("glVertexAttribPointer", (void*)glVertexAttribPointer, 6, arg0, arg1, arg2, arg3, arg4, arg5);
   1263      glad_glVertexAttribPointer(arg0, arg1, arg2, arg3, arg4, arg5);
   1264     _post_call_callback("glVertexAttribPointer", (void*)glVertexAttribPointer, 6, arg0, arg1, arg2, arg3, arg4, arg5);
   1265     
   1266 }
   1267 PFNGLVERTEXATTRIBPOINTERPROC glad_debug_glVertexAttribPointer = glad_debug_impl_glVertexAttribPointer;
   1268 PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer;
   1269 void APIENTRY glad_debug_impl_glFramebufferTextureLayer(GLenum arg0, GLenum arg1, GLuint arg2, GLint arg3, GLint arg4) {    
   1270     _pre_call_callback("glFramebufferTextureLayer", (void*)glFramebufferTextureLayer, 5, arg0, arg1, arg2, arg3, arg4);
   1271      glad_glFramebufferTextureLayer(arg0, arg1, arg2, arg3, arg4);
   1272     _post_call_callback("glFramebufferTextureLayer", (void*)glFramebufferTextureLayer, 5, arg0, arg1, arg2, arg3, arg4);
   1273     
   1274 }
   1275 PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_debug_glFramebufferTextureLayer = glad_debug_impl_glFramebufferTextureLayer;
   1276 PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange;
   1277 void APIENTRY glad_debug_impl_glFlushMappedBufferRange(GLenum arg0, GLintptr arg1, GLsizeiptr arg2) {    
   1278     _pre_call_callback("glFlushMappedBufferRange", (void*)glFlushMappedBufferRange, 3, arg0, arg1, arg2);
   1279      glad_glFlushMappedBufferRange(arg0, arg1, arg2);
   1280     _post_call_callback("glFlushMappedBufferRange", (void*)glFlushMappedBufferRange, 3, arg0, arg1, arg2);
   1281     
   1282 }
   1283 PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_debug_glFlushMappedBufferRange = glad_debug_impl_glFlushMappedBufferRange;
   1284 PFNGLGENQUERIESPROC glad_glGenQueries;
   1285 void APIENTRY glad_debug_impl_glGenQueries(GLsizei arg0, GLuint * arg1) {    
   1286     _pre_call_callback("glGenQueries", (void*)glGenQueries, 2, arg0, arg1);
   1287      glad_glGenQueries(arg0, arg1);
   1288     _post_call_callback("glGenQueries", (void*)glGenQueries, 2, arg0, arg1);
   1289     
   1290 }
   1291 PFNGLGENQUERIESPROC glad_debug_glGenQueries = glad_debug_impl_glGenQueries;
   1292 PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui;
   1293 void APIENTRY glad_debug_impl_glVertexAttribP1ui(GLuint arg0, GLenum arg1, GLboolean arg2, GLuint arg3) {    
   1294     _pre_call_callback("glVertexAttribP1ui", (void*)glVertexAttribP1ui, 4, arg0, arg1, arg2, arg3);
   1295      glad_glVertexAttribP1ui(arg0, arg1, arg2, arg3);
   1296     _post_call_callback("glVertexAttribP1ui", (void*)glVertexAttribP1ui, 4, arg0, arg1, arg2, arg3);
   1297     
   1298 }
   1299 PFNGLVERTEXATTRIBP1UIPROC glad_debug_glVertexAttribP1ui = glad_debug_impl_glVertexAttribP1ui;
   1300 PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D;
   1301 void APIENTRY glad_debug_impl_glTexSubImage3D(GLenum arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4, GLsizei arg5, GLsizei arg6, GLsizei arg7, GLenum arg8, GLenum arg9, const void * arg10) {    
   1302     _pre_call_callback("glTexSubImage3D", (void*)glTexSubImage3D, 11, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
   1303      glad_glTexSubImage3D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
   1304     _post_call_callback("glTexSubImage3D", (void*)glTexSubImage3D, 11, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
   1305     
   1306 }
   1307 PFNGLTEXSUBIMAGE3DPROC glad_debug_glTexSubImage3D = glad_debug_impl_glTexSubImage3D;
   1308 PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v;
   1309 void APIENTRY glad_debug_impl_glGetInteger64i_v(GLenum arg0, GLuint arg1, GLint64 * arg2) {    
   1310     _pre_call_callback("glGetInteger64i_v", (void*)glGetInteger64i_v, 3, arg0, arg1, arg2);
   1311      glad_glGetInteger64i_v(arg0, arg1, arg2);
   1312     _post_call_callback("glGetInteger64i_v", (void*)glGetInteger64i_v, 3, arg0, arg1, arg2);
   1313     
   1314 }
   1315 PFNGLGETINTEGER64I_VPROC glad_debug_glGetInteger64i_v = glad_debug_impl_glGetInteger64i_v;
   1316 PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers;
   1317 void APIENTRY glad_debug_impl_glDeleteSamplers(GLsizei arg0, const GLuint * arg1) {    
   1318     _pre_call_callback("glDeleteSamplers", (void*)glDeleteSamplers, 2, arg0, arg1);
   1319      glad_glDeleteSamplers(arg0, arg1);
   1320     _post_call_callback("glDeleteSamplers", (void*)glDeleteSamplers, 2, arg0, arg1);
   1321     
   1322 }
   1323 PFNGLDELETESAMPLERSPROC glad_debug_glDeleteSamplers = glad_debug_impl_glDeleteSamplers;
   1324 PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D;
   1325 void APIENTRY glad_debug_impl_glCopyTexImage2D(GLenum arg0, GLint arg1, GLenum arg2, GLint arg3, GLint arg4, GLsizei arg5, GLsizei arg6, GLint arg7) {    
   1326     _pre_call_callback("glCopyTexImage2D", (void*)glCopyTexImage2D, 8, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
   1327      glad_glCopyTexImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
   1328     _post_call_callback("glCopyTexImage2D", (void*)glCopyTexImage2D, 8, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
   1329     
   1330 }
   1331 PFNGLCOPYTEXIMAGE2DPROC glad_debug_glCopyTexImage2D = glad_debug_impl_glCopyTexImage2D;
   1332 PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer;
   1333 void APIENTRY glad_debug_impl_glBlitFramebuffer(GLint arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4, GLint arg5, GLint arg6, GLint arg7, GLbitfield arg8, GLenum arg9) {    
   1334     _pre_call_callback("glBlitFramebuffer", (void*)glBlitFramebuffer, 10, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
   1335      glad_glBlitFramebuffer(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
   1336     _post_call_callback("glBlitFramebuffer", (void*)glBlitFramebuffer, 10, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
   1337     
   1338 }
   1339 PFNGLBLITFRAMEBUFFERPROC glad_debug_glBlitFramebuffer = glad_debug_impl_glBlitFramebuffer;
   1340 PFNGLISENABLEDIPROC glad_glIsEnabledi;
   1341 GLboolean APIENTRY glad_debug_impl_glIsEnabledi(GLenum arg0, GLuint arg1) {    
   1342     GLboolean ret;
   1343     _pre_call_callback("glIsEnabledi", (void*)glIsEnabledi, 2, arg0, arg1);
   1344     ret =  glad_glIsEnabledi(arg0, arg1);
   1345     _post_call_callback("glIsEnabledi", (void*)glIsEnabledi, 2, arg0, arg1);
   1346     return ret;
   1347 }
   1348 PFNGLISENABLEDIPROC glad_debug_glIsEnabledi = glad_debug_impl_glIsEnabledi;
   1349 PFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui;
   1350 void APIENTRY glad_debug_impl_glSecondaryColorP3ui(GLenum arg0, GLuint arg1) {    
   1351     _pre_call_callback("glSecondaryColorP3ui", (void*)glSecondaryColorP3ui, 2, arg0, arg1);
   1352      glad_glSecondaryColorP3ui(arg0, arg1);
   1353     _post_call_callback("glSecondaryColorP3ui", (void*)glSecondaryColorP3ui, 2, arg0, arg1);
   1354     
   1355 }
   1356 PFNGLSECONDARYCOLORP3UIPROC glad_debug_glSecondaryColorP3ui = glad_debug_impl_glSecondaryColorP3ui;
   1357 PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed;
   1358 void APIENTRY glad_debug_impl_glBindFragDataLocationIndexed(GLuint arg0, GLuint arg1, GLuint arg2, const GLchar * arg3) {    
   1359     _pre_call_callback("glBindFragDataLocationIndexed", (void*)glBindFragDataLocationIndexed, 4, arg0, arg1, arg2, arg3);
   1360      glad_glBindFragDataLocationIndexed(arg0, arg1, arg2, arg3);
   1361     _post_call_callback("glBindFragDataLocationIndexed", (void*)glBindFragDataLocationIndexed, 4, arg0, arg1, arg2, arg3);
   1362     
   1363 }
   1364 PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_debug_glBindFragDataLocationIndexed = glad_debug_impl_glBindFragDataLocationIndexed;
   1365 PFNGLUNIFORM2IVPROC glad_glUniform2iv;
   1366 void APIENTRY glad_debug_impl_glUniform2iv(GLint arg0, GLsizei arg1, const GLint * arg2) {    
   1367     _pre_call_callback("glUniform2iv", (void*)glUniform2iv, 3, arg0, arg1, arg2);
   1368      glad_glUniform2iv(arg0, arg1, arg2);
   1369     _post_call_callback("glUniform2iv", (void*)glUniform2iv, 3, arg0, arg1, arg2);
   1370     
   1371 }
   1372 PFNGLUNIFORM2IVPROC glad_debug_glUniform2iv = glad_debug_impl_glUniform2iv;
   1373 PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv;
   1374 void APIENTRY glad_debug_impl_glVertexAttrib1fv(GLuint arg0, const GLfloat * arg1) {    
   1375     _pre_call_callback("glVertexAttrib1fv", (void*)glVertexAttrib1fv, 2, arg0, arg1);
   1376      glad_glVertexAttrib1fv(arg0, arg1);
   1377     _post_call_callback("glVertexAttrib1fv", (void*)glVertexAttrib1fv, 2, arg0, arg1);
   1378     
   1379 }
   1380 PFNGLVERTEXATTRIB1FVPROC glad_debug_glVertexAttrib1fv = glad_debug_impl_glVertexAttrib1fv;
   1381 PFNGLUNIFORM4UIVPROC glad_glUniform4uiv;
   1382 void APIENTRY glad_debug_impl_glUniform4uiv(GLint arg0, GLsizei arg1, const GLuint * arg2) {    
   1383     _pre_call_callback("glUniform4uiv", (void*)glUniform4uiv, 3, arg0, arg1, arg2);
   1384      glad_glUniform4uiv(arg0, arg1, arg2);
   1385     _post_call_callback("glUniform4uiv", (void*)glUniform4uiv, 3, arg0, arg1, arg2);
   1386     
   1387 }
   1388 PFNGLUNIFORM4UIVPROC glad_debug_glUniform4uiv = glad_debug_impl_glUniform4uiv;
   1389 PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D;
   1390 void APIENTRY glad_debug_impl_glFramebufferTexture1D(GLenum arg0, GLenum arg1, GLenum arg2, GLuint arg3, GLint arg4) {    
   1391     _pre_call_callback("glFramebufferTexture1D", (void*)glFramebufferTexture1D, 5, arg0, arg1, arg2, arg3, arg4);
   1392      glad_glFramebufferTexture1D(arg0, arg1, arg2, arg3, arg4);
   1393     _post_call_callback("glFramebufferTexture1D", (void*)glFramebufferTexture1D, 5, arg0, arg1, arg2, arg3, arg4);
   1394     
   1395 }
   1396 PFNGLFRAMEBUFFERTEXTURE1DPROC glad_debug_glFramebufferTexture1D = glad_debug_impl_glFramebufferTexture1D;
   1397 PFNGLGETSHADERIVPROC glad_glGetShaderiv;
   1398 void APIENTRY glad_debug_impl_glGetShaderiv(GLuint arg0, GLenum arg1, GLint * arg2) {    
   1399     _pre_call_callback("glGetShaderiv", (void*)glGetShaderiv, 3, arg0, arg1, arg2);
   1400      glad_glGetShaderiv(arg0, arg1, arg2);
   1401     _post_call_callback("glGetShaderiv", (void*)glGetShaderiv, 3, arg0, arg1, arg2);
   1402     
   1403 }
   1404 PFNGLGETSHADERIVPROC glad_debug_glGetShaderiv = glad_debug_impl_glGetShaderiv;
   1405 PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation;
   1406 void APIENTRY glad_debug_impl_glBindFragDataLocation(GLuint arg0, GLuint arg1, const GLchar * arg2) {    
   1407     _pre_call_callback("glBindFragDataLocation", (void*)glBindFragDataLocation, 3, arg0, arg1, arg2);
   1408      glad_glBindFragDataLocation(arg0, arg1, arg2);
   1409     _post_call_callback("glBindFragDataLocation", (void*)glBindFragDataLocation, 3, arg0, arg1, arg2);
   1410     
   1411 }
   1412 PFNGLBINDFRAGDATALOCATIONPROC glad_debug_glBindFragDataLocation = glad_debug_impl_glBindFragDataLocation;
   1413 PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset;
   1414 void APIENTRY glad_debug_impl_glPolygonOffset(GLfloat arg0, GLfloat arg1) {    
   1415     _pre_call_callback("glPolygonOffset", (void*)glPolygonOffset, 2, arg0, arg1);
   1416      glad_glPolygonOffset(arg0, arg1);
   1417     _post_call_callback("glPolygonOffset", (void*)glPolygonOffset, 2, arg0, arg1);
   1418     
   1419 }
   1420 PFNGLPOLYGONOFFSETPROC glad_debug_glPolygonOffset = glad_debug_impl_glPolygonOffset;
   1421 PFNGLGETDOUBLEVPROC glad_glGetDoublev;
   1422 void APIENTRY glad_debug_impl_glGetDoublev(GLenum arg0, GLdouble * arg1) {    
   1423     _pre_call_callback("glGetDoublev", (void*)glGetDoublev, 2, arg0, arg1);
   1424      glad_glGetDoublev(arg0, arg1);
   1425     _post_call_callback("glGetDoublev", (void*)glGetDoublev, 2, arg0, arg1);
   1426     
   1427 }
   1428 PFNGLGETDOUBLEVPROC glad_debug_glGetDoublev = glad_debug_impl_glGetDoublev;
   1429 PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d;
   1430 void APIENTRY glad_debug_impl_glVertexAttrib1d(GLuint arg0, GLdouble arg1) {    
   1431     _pre_call_callback("glVertexAttrib1d", (void*)glVertexAttrib1d, 2, arg0, arg1);
   1432      glad_glVertexAttrib1d(arg0, arg1);
   1433     _post_call_callback("glVertexAttrib1d", (void*)glVertexAttrib1d, 2, arg0, arg1);
   1434     
   1435 }
   1436 PFNGLVERTEXATTRIB1DPROC glad_debug_glVertexAttrib1d = glad_debug_impl_glVertexAttrib1d;
   1437 PFNGLGETUNIFORMIVPROC glad_glGetUniformiv;
   1438 void APIENTRY glad_debug_impl_glGetUniformiv(GLuint arg0, GLint arg1, GLint * arg2) {    
   1439     _pre_call_callback("glGetUniformiv", (void*)glGetUniformiv, 3, arg0, arg1, arg2);
   1440      glad_glGetUniformiv(arg0, arg1, arg2);
   1441     _post_call_callback("glGetUniformiv", (void*)glGetUniformiv, 3, arg0, arg1, arg2);
   1442     
   1443 }
   1444 PFNGLGETUNIFORMIVPROC glad_debug_glGetUniformiv = glad_debug_impl_glGetUniformiv;
   1445 PFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv;
   1446 void APIENTRY glad_debug_impl_glMultiTexCoordP1uiv(GLenum arg0, GLenum arg1, const GLuint * arg2) {    
   1447     _pre_call_callback("glMultiTexCoordP1uiv", (void*)glMultiTexCoordP1uiv, 3, arg0, arg1, arg2);
   1448      glad_glMultiTexCoordP1uiv(arg0, arg1, arg2);
   1449     _post_call_callback("glMultiTexCoordP1uiv", (void*)glMultiTexCoordP1uiv, 3, arg0, arg1, arg2);
   1450     
   1451 }
   1452 PFNGLMULTITEXCOORDP1UIVPROC glad_debug_glMultiTexCoordP1uiv = glad_debug_impl_glMultiTexCoordP1uiv;
   1453 PFNGLUNIFORM3FVPROC glad_glUniform3fv;
   1454 void APIENTRY glad_debug_impl_glUniform3fv(GLint arg0, GLsizei arg1, const GLfloat * arg2) {    
   1455     _pre_call_callback("glUniform3fv", (void*)glUniform3fv, 3, arg0, arg1, arg2);
   1456      glad_glUniform3fv(arg0, arg1, arg2);
   1457     _post_call_callback("glUniform3fv", (void*)glUniform3fv, 3, arg0, arg1, arg2);
   1458     
   1459 }
   1460 PFNGLUNIFORM3FVPROC glad_debug_glUniform3fv = glad_debug_impl_glUniform3fv;
   1461 PFNGLDEPTHRANGEPROC glad_glDepthRange;
   1462 void APIENTRY glad_debug_impl_glDepthRange(GLdouble arg0, GLdouble arg1) {    
   1463     _pre_call_callback("glDepthRange", (void*)glDepthRange, 2, arg0, arg1);
   1464      glad_glDepthRange(arg0, arg1);
   1465     _post_call_callback("glDepthRange", (void*)glDepthRange, 2, arg0, arg1);
   1466     
   1467 }
   1468 PFNGLDEPTHRANGEPROC glad_debug_glDepthRange = glad_debug_impl_glDepthRange;
   1469 PFNGLMAPBUFFERPROC glad_glMapBuffer;
   1470 void * APIENTRY glad_debug_impl_glMapBuffer(GLenum arg0, GLenum arg1) {    
   1471     void * ret;
   1472     _pre_call_callback("glMapBuffer", (void*)glMapBuffer, 2, arg0, arg1);
   1473     ret =  glad_glMapBuffer(arg0, arg1);
   1474     _post_call_callback("glMapBuffer", (void*)glMapBuffer, 2, arg0, arg1);
   1475     return ret;
   1476 }
   1477 PFNGLMAPBUFFERPROC glad_debug_glMapBuffer = glad_debug_impl_glMapBuffer;
   1478 PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D;
   1479 void APIENTRY glad_debug_impl_glCompressedTexImage3D(GLenum arg0, GLint arg1, GLenum arg2, GLsizei arg3, GLsizei arg4, GLsizei arg5, GLint arg6, GLsizei arg7, const void * arg8) {    
   1480     _pre_call_callback("glCompressedTexImage3D", (void*)glCompressedTexImage3D, 9, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
   1481      glad_glCompressedTexImage3D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
   1482     _post_call_callback("glCompressedTexImage3D", (void*)glCompressedTexImage3D, 9, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
   1483     
   1484 }
   1485 PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_debug_glCompressedTexImage3D = glad_debug_impl_glCompressedTexImage3D;
   1486 PFNGLDELETESYNCPROC glad_glDeleteSync;
   1487 void APIENTRY glad_debug_impl_glDeleteSync(GLsync arg0) {    
   1488     _pre_call_callback("glDeleteSync", (void*)glDeleteSync, 1, arg0);
   1489      glad_glDeleteSync(arg0);
   1490     _post_call_callback("glDeleteSync", (void*)glDeleteSync, 1, arg0);
   1491     
   1492 }
   1493 PFNGLDELETESYNCPROC glad_debug_glDeleteSync = glad_debug_impl_glDeleteSync;
   1494 PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D;
   1495 void APIENTRY glad_debug_impl_glCopyTexSubImage3D(GLenum arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4, GLint arg5, GLint arg6, GLsizei arg7, GLsizei arg8) {    
   1496     _pre_call_callback("glCopyTexSubImage3D", (void*)glCopyTexSubImage3D, 9, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
   1497      glad_glCopyTexSubImage3D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
   1498     _post_call_callback("glCopyTexSubImage3D", (void*)glCopyTexSubImage3D, 9, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
   1499     
   1500 }
   1501 PFNGLCOPYTEXSUBIMAGE3DPROC glad_debug_glCopyTexSubImage3D = glad_debug_impl_glCopyTexSubImage3D;
   1502 PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv;
   1503 void APIENTRY glad_debug_impl_glGetVertexAttribiv(GLuint arg0, GLenum arg1, GLint * arg2) {    
   1504     _pre_call_callback("glGetVertexAttribiv", (void*)glGetVertexAttribiv, 3, arg0, arg1, arg2);
   1505      glad_glGetVertexAttribiv(arg0, arg1, arg2);
   1506     _post_call_callback("glGetVertexAttribiv", (void*)glGetVertexAttribiv, 3, arg0, arg1, arg2);
   1507     
   1508 }
   1509 PFNGLGETVERTEXATTRIBIVPROC glad_debug_glGetVertexAttribiv = glad_debug_impl_glGetVertexAttribiv;
   1510 PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements;
   1511 void APIENTRY glad_debug_impl_glMultiDrawElements(GLenum arg0, const GLsizei * arg1, GLenum arg2, const void *const* arg3, GLsizei arg4) {    
   1512     _pre_call_callback("glMultiDrawElements", (void*)glMultiDrawElements, 5, arg0, arg1, arg2, arg3, arg4);
   1513      glad_glMultiDrawElements(arg0, arg1, arg2, arg3, arg4);
   1514     _post_call_callback("glMultiDrawElements", (void*)glMultiDrawElements, 5, arg0, arg1, arg2, arg3, arg4);
   1515     
   1516 }
   1517 PFNGLMULTIDRAWELEMENTSPROC glad_debug_glMultiDrawElements = glad_debug_impl_glMultiDrawElements;
   1518 PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv;
   1519 void APIENTRY glad_debug_impl_glVertexAttrib3fv(GLuint arg0, const GLfloat * arg1) {    
   1520     _pre_call_callback("glVertexAttrib3fv", (void*)glVertexAttrib3fv, 2, arg0, arg1);
   1521      glad_glVertexAttrib3fv(arg0, arg1);
   1522     _post_call_callback("glVertexAttrib3fv", (void*)glVertexAttrib3fv, 2, arg0, arg1);
   1523     
   1524 }
   1525 PFNGLVERTEXATTRIB3FVPROC glad_debug_glVertexAttrib3fv = glad_debug_impl_glVertexAttrib3fv;
   1526 PFNGLUNIFORM3IVPROC glad_glUniform3iv;
   1527 void APIENTRY glad_debug_impl_glUniform3iv(GLint arg0, GLsizei arg1, const GLint * arg2) {    
   1528     _pre_call_callback("glUniform3iv", (void*)glUniform3iv, 3, arg0, arg1, arg2);
   1529      glad_glUniform3iv(arg0, arg1, arg2);
   1530     _post_call_callback("glUniform3iv", (void*)glUniform3iv, 3, arg0, arg1, arg2);
   1531     
   1532 }
   1533 PFNGLUNIFORM3IVPROC glad_debug_glUniform3iv = glad_debug_impl_glUniform3iv;
   1534 PFNGLPOLYGONMODEPROC glad_glPolygonMode;
   1535 void APIENTRY glad_debug_impl_glPolygonMode(GLenum arg0, GLenum arg1) {    
   1536     _pre_call_callback("glPolygonMode", (void*)glPolygonMode, 2, arg0, arg1);
   1537      glad_glPolygonMode(arg0, arg1);
   1538     _post_call_callback("glPolygonMode", (void*)glPolygonMode, 2, arg0, arg1);
   1539     
   1540 }
   1541 PFNGLPOLYGONMODEPROC glad_debug_glPolygonMode = glad_debug_impl_glPolygonMode;
   1542 PFNGLDRAWBUFFERSPROC glad_glDrawBuffers;
   1543 void APIENTRY glad_debug_impl_glDrawBuffers(GLsizei arg0, const GLenum * arg1) {    
   1544     _pre_call_callback("glDrawBuffers", (void*)glDrawBuffers, 2, arg0, arg1);
   1545      glad_glDrawBuffers(arg0, arg1);
   1546     _post_call_callback("glDrawBuffers", (void*)glDrawBuffers, 2, arg0, arg1);
   1547     
   1548 }
   1549 PFNGLDRAWBUFFERSPROC glad_debug_glDrawBuffers = glad_debug_impl_glDrawBuffers;
   1550 PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv;
   1551 void APIENTRY glad_debug_impl_glGetActiveUniformBlockiv(GLuint arg0, GLuint arg1, GLenum arg2, GLint * arg3) {    
   1552     _pre_call_callback("glGetActiveUniformBlockiv", (void*)glGetActiveUniformBlockiv, 4, arg0, arg1, arg2, arg3);
   1553      glad_glGetActiveUniformBlockiv(arg0, arg1, arg2, arg3);
   1554     _post_call_callback("glGetActiveUniformBlockiv", (void*)glGetActiveUniformBlockiv, 4, arg0, arg1, arg2, arg3);
   1555     
   1556 }
   1557 PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_debug_glGetActiveUniformBlockiv = glad_debug_impl_glGetActiveUniformBlockiv;
   1558 PFNGLUSEPROGRAMPROC glad_glUseProgram;
   1559 void APIENTRY glad_debug_impl_glUseProgram(GLuint arg0) {    
   1560     _pre_call_callback("glUseProgram", (void*)glUseProgram, 1, arg0);
   1561      glad_glUseProgram(arg0);
   1562     _post_call_callback("glUseProgram", (void*)glUseProgram, 1, arg0);
   1563     
   1564 }
   1565 PFNGLUSEPROGRAMPROC glad_debug_glUseProgram = glad_debug_impl_glUseProgram;
   1566 PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog;
   1567 void APIENTRY glad_debug_impl_glGetProgramInfoLog(GLuint arg0, GLsizei arg1, GLsizei * arg2, GLchar * arg3) {    
   1568     _pre_call_callback("glGetProgramInfoLog", (void*)glGetProgramInfoLog, 4, arg0, arg1, arg2, arg3);
   1569      glad_glGetProgramInfoLog(arg0, arg1, arg2, arg3);
   1570     _post_call_callback("glGetProgramInfoLog", (void*)glGetProgramInfoLog, 4, arg0, arg1, arg2, arg3);
   1571     
   1572 }
   1573 PFNGLGETPROGRAMINFOLOGPROC glad_debug_glGetProgramInfoLog = glad_debug_impl_glGetProgramInfoLog;
   1574 PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray;
   1575 void APIENTRY glad_debug_impl_glBindVertexArray(GLuint arg0) {    
   1576     _pre_call_callback("glBindVertexArray", (void*)glBindVertexArray, 1, arg0);
   1577      glad_glBindVertexArray(arg0);
   1578     _post_call_callback("glBindVertexArray", (void*)glBindVertexArray, 1, arg0);
   1579     
   1580 }
   1581 PFNGLBINDVERTEXARRAYPROC glad_debug_glBindVertexArray = glad_debug_impl_glBindVertexArray;
   1582 PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers;
   1583 void APIENTRY glad_debug_impl_glDeleteBuffers(GLsizei arg0, const GLuint * arg1) {    
   1584     _pre_call_callback("glDeleteBuffers", (void*)glDeleteBuffers, 2, arg0, arg1);
   1585      glad_glDeleteBuffers(arg0, arg1);
   1586     _post_call_callback("glDeleteBuffers", (void*)glDeleteBuffers, 2, arg0, arg1);
   1587     
   1588 }
   1589 PFNGLDELETEBUFFERSPROC glad_debug_glDeleteBuffers = glad_debug_impl_glDeleteBuffers;
   1590 PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv;
   1591 void APIENTRY glad_debug_impl_glSamplerParameterIiv(GLuint arg0, GLenum arg1, const GLint * arg2) {    
   1592     _pre_call_callback("glSamplerParameterIiv", (void*)glSamplerParameterIiv, 3, arg0, arg1, arg2);
   1593      glad_glSamplerParameterIiv(arg0, arg1, arg2);
   1594     _post_call_callback("glSamplerParameterIiv", (void*)glSamplerParameterIiv, 3, arg0, arg1, arg2);
   1595     
   1596 }
   1597 PFNGLSAMPLERPARAMETERIIVPROC glad_debug_glSamplerParameterIiv = glad_debug_impl_glSamplerParameterIiv;
   1598 PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex;
   1599 void APIENTRY glad_debug_impl_glMultiDrawElementsBaseVertex(GLenum arg0, const GLsizei * arg1, GLenum arg2, const void *const* arg3, GLsizei arg4, const GLint * arg5) {    
   1600     _pre_call_callback("glMultiDrawElementsBaseVertex", (void*)glMultiDrawElementsBaseVertex, 6, arg0, arg1, arg2, arg3, arg4, arg5);
   1601      glad_glMultiDrawElementsBaseVertex(arg0, arg1, arg2, arg3, arg4, arg5);
   1602     _post_call_callback("glMultiDrawElementsBaseVertex", (void*)glMultiDrawElementsBaseVertex, 6, arg0, arg1, arg2, arg3, arg4, arg5);
   1603     
   1604 }
   1605 PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_debug_glMultiDrawElementsBaseVertex = glad_debug_impl_glMultiDrawElementsBaseVertex;
   1606 PFNGLUNIFORM2UIVPROC glad_glUniform2uiv;
   1607 void APIENTRY glad_debug_impl_glUniform2uiv(GLint arg0, GLsizei arg1, const GLuint * arg2) {    
   1608     _pre_call_callback("glUniform2uiv", (void*)glUniform2uiv, 3, arg0, arg1, arg2);
   1609      glad_glUniform2uiv(arg0, arg1, arg2);
   1610     _post_call_callback("glUniform2uiv", (void*)glUniform2uiv, 3, arg0, arg1, arg2);
   1611     
   1612 }
   1613 PFNGLUNIFORM2UIVPROC glad_debug_glUniform2uiv = glad_debug_impl_glUniform2uiv;
   1614 PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D;
   1615 void APIENTRY glad_debug_impl_glCompressedTexSubImage1D(GLenum arg0, GLint arg1, GLint arg2, GLsizei arg3, GLenum arg4, GLsizei arg5, const void * arg6) {    
   1616     _pre_call_callback("glCompressedTexSubImage1D", (void*)glCompressedTexSubImage1D, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
   1617      glad_glCompressedTexSubImage1D(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
   1618     _post_call_callback("glCompressedTexSubImage1D", (void*)glCompressedTexSubImage1D, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
   1619     
   1620 }
   1621 PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_debug_glCompressedTexSubImage1D = glad_debug_impl_glCompressedTexSubImage1D;
   1622 PFNGLFINISHPROC glad_glFinish;
   1623 void APIENTRY glad_debug_impl_glFinish(void) {    
   1624     _pre_call_callback("glFinish", (void*)glFinish, 0);
   1625      glad_glFinish();
   1626     _post_call_callback("glFinish", (void*)glFinish, 0);
   1627     
   1628 }
   1629 PFNGLFINISHPROC glad_debug_glFinish = glad_debug_impl_glFinish;
   1630 PFNGLDELETESHADERPROC glad_glDeleteShader;
   1631 void APIENTRY glad_debug_impl_glDeleteShader(GLuint arg0) {    
   1632     _pre_call_callback("glDeleteShader", (void*)glDeleteShader, 1, arg0);
   1633      glad_glDeleteShader(arg0);
   1634     _post_call_callback("glDeleteShader", (void*)glDeleteShader, 1, arg0);
   1635     
   1636 }
   1637 PFNGLDELETESHADERPROC glad_debug_glDeleteShader = glad_debug_impl_glDeleteShader;
   1638 PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv;
   1639 void APIENTRY glad_debug_impl_glVertexAttrib4Nsv(GLuint arg0, const GLshort * arg1) {    
   1640     _pre_call_callback("glVertexAttrib4Nsv", (void*)glVertexAttrib4Nsv, 2, arg0, arg1);
   1641      glad_glVertexAttrib4Nsv(arg0, arg1);
   1642     _post_call_callback("glVertexAttrib4Nsv", (void*)glVertexAttrib4Nsv, 2, arg0, arg1);
   1643     
   1644 }
   1645 PFNGLVERTEXATTRIB4NSVPROC glad_debug_glVertexAttrib4Nsv = glad_debug_impl_glVertexAttrib4Nsv;
   1646 PFNGLVIEWPORTPROC glad_glViewport;
   1647 void APIENTRY glad_debug_impl_glViewport(GLint arg0, GLint arg1, GLsizei arg2, GLsizei arg3) {    
   1648     _pre_call_callback("glViewport", (void*)glViewport, 4, arg0, arg1, arg2, arg3);
   1649      glad_glViewport(arg0, arg1, arg2, arg3);
   1650     _post_call_callback("glViewport", (void*)glViewport, 4, arg0, arg1, arg2, arg3);
   1651     
   1652 }
   1653 PFNGLVIEWPORTPROC glad_debug_glViewport = glad_debug_impl_glViewport;
   1654 PFNGLUNIFORM1UIVPROC glad_glUniform1uiv;
   1655 void APIENTRY glad_debug_impl_glUniform1uiv(GLint arg0, GLsizei arg1, const GLuint * arg2) {    
   1656     _pre_call_callback("glUniform1uiv", (void*)glUniform1uiv, 3, arg0, arg1, arg2);
   1657      glad_glUniform1uiv(arg0, arg1, arg2);
   1658     _post_call_callback("glUniform1uiv", (void*)glUniform1uiv, 3, arg0, arg1, arg2);
   1659     
   1660 }
   1661 PFNGLUNIFORM1UIVPROC glad_debug_glUniform1uiv = glad_debug_impl_glUniform1uiv;
   1662 PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings;
   1663 void APIENTRY glad_debug_impl_glTransformFeedbackVaryings(GLuint arg0, GLsizei arg1, const GLchar *const* arg2, GLenum arg3) {    
   1664     _pre_call_callback("glTransformFeedbackVaryings", (void*)glTransformFeedbackVaryings, 4, arg0, arg1, arg2, arg3);
   1665      glad_glTransformFeedbackVaryings(arg0, arg1, arg2, arg3);
   1666     _post_call_callback("glTransformFeedbackVaryings", (void*)glTransformFeedbackVaryings, 4, arg0, arg1, arg2, arg3);
   1667     
   1668 }
   1669 PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_debug_glTransformFeedbackVaryings = glad_debug_impl_glTransformFeedbackVaryings;
   1670 PFNGLUNIFORM2UIPROC glad_glUniform2ui;
   1671 void APIENTRY glad_debug_impl_glUniform2ui(GLint arg0, GLuint arg1, GLuint arg2) {    
   1672     _pre_call_callback("glUniform2ui", (void*)glUniform2ui, 3, arg0, arg1, arg2);
   1673      glad_glUniform2ui(arg0, arg1, arg2);
   1674     _post_call_callback("glUniform2ui", (void*)glUniform2ui, 3, arg0, arg1, arg2);
   1675     
   1676 }
   1677 PFNGLUNIFORM2UIPROC glad_debug_glUniform2ui = glad_debug_impl_glUniform2ui;
   1678 PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i;
   1679 void APIENTRY glad_debug_impl_glVertexAttribI3i(GLuint arg0, GLint arg1, GLint arg2, GLint arg3) {    
   1680     _pre_call_callback("glVertexAttribI3i", (void*)glVertexAttribI3i, 4, arg0, arg1, arg2, arg3);
   1681      glad_glVertexAttribI3i(arg0, arg1, arg2, arg3);
   1682     _post_call_callback("glVertexAttribI3i", (void*)glVertexAttribI3i, 4, arg0, arg1, arg2, arg3);
   1683     
   1684 }
   1685 PFNGLVERTEXATTRIBI3IPROC glad_debug_glVertexAttribI3i = glad_debug_impl_glVertexAttribI3i;
   1686 PFNGLCLEARDEPTHPROC glad_glClearDepth;
   1687 void APIENTRY glad_debug_impl_glClearDepth(GLdouble arg0) {    
   1688     _pre_call_callback("glClearDepth", (void*)glClearDepth, 1, arg0);
   1689      glad_glClearDepth(arg0);
   1690     _post_call_callback("glClearDepth", (void*)glClearDepth, 1, arg0);
   1691     
   1692 }
   1693 PFNGLCLEARDEPTHPROC glad_debug_glClearDepth = glad_debug_impl_glClearDepth;
   1694 PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv;
   1695 void APIENTRY glad_debug_impl_glVertexAttribI4usv(GLuint arg0, const GLushort * arg1) {    
   1696     _pre_call_callback("glVertexAttribI4usv", (void*)glVertexAttribI4usv, 2, arg0, arg1);
   1697      glad_glVertexAttribI4usv(arg0, arg1);
   1698     _post_call_callback("glVertexAttribI4usv", (void*)glVertexAttribI4usv, 2, arg0, arg1);
   1699     
   1700 }
   1701 PFNGLVERTEXATTRIBI4USVPROC glad_debug_glVertexAttribI4usv = glad_debug_impl_glVertexAttribI4usv;
   1702 PFNGLTEXPARAMETERFPROC glad_glTexParameterf;
   1703 void APIENTRY glad_debug_impl_glTexParameterf(GLenum arg0, GLenum arg1, GLfloat arg2) {    
   1704     _pre_call_callback("glTexParameterf", (void*)glTexParameterf, 3, arg0, arg1, arg2);
   1705      glad_glTexParameterf(arg0, arg1, arg2);
   1706     _post_call_callback("glTexParameterf", (void*)glTexParameterf, 3, arg0, arg1, arg2);
   1707     
   1708 }
   1709 PFNGLTEXPARAMETERFPROC glad_debug_glTexParameterf = glad_debug_impl_glTexParameterf;
   1710 PFNGLTEXPARAMETERIPROC glad_glTexParameteri;
   1711 void APIENTRY glad_debug_impl_glTexParameteri(GLenum arg0, GLenum arg1, GLint arg2) {    
   1712     _pre_call_callback("glTexParameteri", (void*)glTexParameteri, 3, arg0, arg1, arg2);
   1713      glad_glTexParameteri(arg0, arg1, arg2);
   1714     _post_call_callback("glTexParameteri", (void*)glTexParameteri, 3, arg0, arg1, arg2);
   1715     
   1716 }
   1717 PFNGLTEXPARAMETERIPROC glad_debug_glTexParameteri = glad_debug_impl_glTexParameteri;
   1718 PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource;
   1719 void APIENTRY glad_debug_impl_glGetShaderSource(GLuint arg0, GLsizei arg1, GLsizei * arg2, GLchar * arg3) {    
   1720     _pre_call_callback("glGetShaderSource", (void*)glGetShaderSource, 4, arg0, arg1, arg2, arg3);
   1721      glad_glGetShaderSource(arg0, arg1, arg2, arg3);
   1722     _post_call_callback("glGetShaderSource", (void*)glGetShaderSource, 4, arg0, arg1, arg2, arg3);
   1723     
   1724 }
   1725 PFNGLGETSHADERSOURCEPROC glad_debug_glGetShaderSource = glad_debug_impl_glGetShaderSource;
   1726 PFNGLTEXBUFFERPROC glad_glTexBuffer;
   1727 void APIENTRY glad_debug_impl_glTexBuffer(GLenum arg0, GLenum arg1, GLuint arg2) {    
   1728     _pre_call_callback("glTexBuffer", (void*)glTexBuffer, 3, arg0, arg1, arg2);
   1729      glad_glTexBuffer(arg0, arg1, arg2);
   1730     _post_call_callback("glTexBuffer", (void*)glTexBuffer, 3, arg0, arg1, arg2);
   1731     
   1732 }
   1733 PFNGLTEXBUFFERPROC glad_debug_glTexBuffer = glad_debug_impl_glTexBuffer;
   1734 PFNGLPIXELSTOREIPROC glad_glPixelStorei;
   1735 void APIENTRY glad_debug_impl_glPixelStorei(GLenum arg0, GLint arg1) {    
   1736     _pre_call_callback("glPixelStorei", (void*)glPixelStorei, 2, arg0, arg1);
   1737      glad_glPixelStorei(arg0, arg1);
   1738     _post_call_callback("glPixelStorei", (void*)glPixelStorei, 2, arg0, arg1);
   1739     
   1740 }
   1741 PFNGLPIXELSTOREIPROC glad_debug_glPixelStorei = glad_debug_impl_glPixelStorei;
   1742 PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram;
   1743 void APIENTRY glad_debug_impl_glValidateProgram(GLuint arg0) {    
   1744     _pre_call_callback("glValidateProgram", (void*)glValidateProgram, 1, arg0);
   1745      glad_glValidateProgram(arg0);
   1746     _post_call_callback("glValidateProgram", (void*)glValidateProgram, 1, arg0);
   1747     
   1748 }
   1749 PFNGLVALIDATEPROGRAMPROC glad_debug_glValidateProgram = glad_debug_impl_glValidateProgram;
   1750 PFNGLPIXELSTOREFPROC glad_glPixelStoref;
   1751 void APIENTRY glad_debug_impl_glPixelStoref(GLenum arg0, GLfloat arg1) {    
   1752     _pre_call_callback("glPixelStoref", (void*)glPixelStoref, 2, arg0, arg1);
   1753      glad_glPixelStoref(arg0, arg1);
   1754     _post_call_callback("glPixelStoref", (void*)glPixelStoref, 2, arg0, arg1);
   1755     
   1756 }
   1757 PFNGLPIXELSTOREFPROC glad_debug_glPixelStoref = glad_debug_impl_glPixelStoref;
   1758 PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v;
   1759 void APIENTRY glad_debug_impl_glGetBooleani_v(GLenum arg0, GLuint arg1, GLboolean * arg2) {    
   1760     _pre_call_callback("glGetBooleani_v", (void*)glGetBooleani_v, 3, arg0, arg1, arg2);
   1761      glad_glGetBooleani_v(arg0, arg1, arg2);
   1762     _post_call_callback("glGetBooleani_v", (void*)glGetBooleani_v, 3, arg0, arg1, arg2);
   1763     
   1764 }
   1765 PFNGLGETBOOLEANI_VPROC glad_debug_glGetBooleani_v = glad_debug_impl_glGetBooleani_v;
   1766 PFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv;
   1767 void APIENTRY glad_debug_impl_glMultiTexCoordP2uiv(GLenum arg0, GLenum arg1, const GLuint * arg2) {    
   1768     _pre_call_callback("glMultiTexCoordP2uiv", (void*)glMultiTexCoordP2uiv, 3, arg0, arg1, arg2);
   1769      glad_glMultiTexCoordP2uiv(arg0, arg1, arg2);
   1770     _post_call_callback("glMultiTexCoordP2uiv", (void*)glMultiTexCoordP2uiv, 3, arg0, arg1, arg2);
   1771     
   1772 }
   1773 PFNGLMULTITEXCOORDP2UIVPROC glad_debug_glMultiTexCoordP2uiv = glad_debug_impl_glMultiTexCoordP2uiv;
   1774 PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv;
   1775 void APIENTRY glad_debug_impl_glVertexAttribP1uiv(GLuint arg0, GLenum arg1, GLboolean arg2, const GLuint * arg3) {    
   1776     _pre_call_callback("glVertexAttribP1uiv", (void*)glVertexAttribP1uiv, 4, arg0, arg1, arg2, arg3);
   1777      glad_glVertexAttribP1uiv(arg0, arg1, arg2, arg3);
   1778     _post_call_callback("glVertexAttribP1uiv", (void*)glVertexAttribP1uiv, 4, arg0, arg1, arg2, arg3);
   1779     
   1780 }
   1781 PFNGLVERTEXATTRIBP1UIVPROC glad_debug_glVertexAttribP1uiv = glad_debug_impl_glVertexAttribP1uiv;
   1782 PFNGLLINKPROGRAMPROC glad_glLinkProgram;
   1783 void APIENTRY glad_debug_impl_glLinkProgram(GLuint arg0) {    
   1784     _pre_call_callback("glLinkProgram", (void*)glLinkProgram, 1, arg0);
   1785      glad_glLinkProgram(arg0);
   1786     _post_call_callback("glLinkProgram", (void*)glLinkProgram, 1, arg0);
   1787     
   1788 }
   1789 PFNGLLINKPROGRAMPROC glad_debug_glLinkProgram = glad_debug_impl_glLinkProgram;
   1790 PFNGLBINDTEXTUREPROC glad_glBindTexture;
   1791 void APIENTRY glad_debug_impl_glBindTexture(GLenum arg0, GLuint arg1) {    
   1792     _pre_call_callback("glBindTexture", (void*)glBindTexture, 2, arg0, arg1);
   1793      glad_glBindTexture(arg0, arg1);
   1794     _post_call_callback("glBindTexture", (void*)glBindTexture, 2, arg0, arg1);
   1795     
   1796 }
   1797 PFNGLBINDTEXTUREPROC glad_debug_glBindTexture = glad_debug_impl_glBindTexture;
   1798 PFNGLGETSTRINGPROC glad_glGetString;
   1799 const GLubyte * APIENTRY glad_debug_impl_glGetString(GLenum arg0) {    
   1800     const GLubyte * ret;
   1801     _pre_call_callback("glGetString", (void*)glGetString, 1, arg0);
   1802     ret =  glad_glGetString(arg0);
   1803     _post_call_callback("glGetString", (void*)glGetString, 1, arg0);
   1804     return ret;
   1805 }
   1806 PFNGLGETSTRINGPROC glad_debug_glGetString = glad_debug_impl_glGetString;
   1807 PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv;
   1808 void APIENTRY glad_debug_impl_glVertexAttribP2uiv(GLuint arg0, GLenum arg1, GLboolean arg2, const GLuint * arg3) {    
   1809     _pre_call_callback("glVertexAttribP2uiv", (void*)glVertexAttribP2uiv, 4, arg0, arg1, arg2, arg3);
   1810      glad_glVertexAttribP2uiv(arg0, arg1, arg2, arg3);
   1811     _post_call_callback("glVertexAttribP2uiv", (void*)glVertexAttribP2uiv, 4, arg0, arg1, arg2, arg3);
   1812     
   1813 }
   1814 PFNGLVERTEXATTRIBP2UIVPROC glad_debug_glVertexAttribP2uiv = glad_debug_impl_glVertexAttribP2uiv;
   1815 PFNGLDETACHSHADERPROC glad_glDetachShader;
   1816 void APIENTRY glad_debug_impl_glDetachShader(GLuint arg0, GLuint arg1) {    
   1817     _pre_call_callback("glDetachShader", (void*)glDetachShader, 2, arg0, arg1);
   1818      glad_glDetachShader(arg0, arg1);
   1819     _post_call_callback("glDetachShader", (void*)glDetachShader, 2, arg0, arg1);
   1820     
   1821 }
   1822 PFNGLDETACHSHADERPROC glad_debug_glDetachShader = glad_debug_impl_glDetachShader;
   1823 PFNGLENDQUERYPROC glad_glEndQuery;
   1824 void APIENTRY glad_debug_impl_glEndQuery(GLenum arg0) {    
   1825     _pre_call_callback("glEndQuery", (void*)glEndQuery, 1, arg0);
   1826      glad_glEndQuery(arg0);
   1827     _post_call_callback("glEndQuery", (void*)glEndQuery, 1, arg0);
   1828     
   1829 }
   1830 PFNGLENDQUERYPROC glad_debug_glEndQuery = glad_debug_impl_glEndQuery;
   1831 PFNGLNORMALP3UIPROC glad_glNormalP3ui;
   1832 void APIENTRY glad_debug_impl_glNormalP3ui(GLenum arg0, GLuint arg1) {    
   1833     _pre_call_callback("glNormalP3ui", (void*)glNormalP3ui, 2, arg0, arg1);
   1834      glad_glNormalP3ui(arg0, arg1);
   1835     _post_call_callback("glNormalP3ui", (void*)glNormalP3ui, 2, arg0, arg1);
   1836     
   1837 }
   1838 PFNGLNORMALP3UIPROC glad_debug_glNormalP3ui = glad_debug_impl_glNormalP3ui;
   1839 PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui;
   1840 void APIENTRY glad_debug_impl_glVertexAttribI2ui(GLuint arg0, GLuint arg1, GLuint arg2) {    
   1841     _pre_call_callback("glVertexAttribI2ui", (void*)glVertexAttribI2ui, 3, arg0, arg1, arg2);
   1842      glad_glVertexAttribI2ui(arg0, arg1, arg2);
   1843     _post_call_callback("glVertexAttribI2ui", (void*)glVertexAttribI2ui, 3, arg0, arg1, arg2);
   1844     
   1845 }
   1846 PFNGLVERTEXATTRIBI2UIPROC glad_debug_glVertexAttribI2ui = glad_debug_impl_glVertexAttribI2ui;
   1847 PFNGLDELETETEXTURESPROC glad_glDeleteTextures;
   1848 void APIENTRY glad_debug_impl_glDeleteTextures(GLsizei arg0, const GLuint * arg1) {    
   1849     _pre_call_callback("glDeleteTextures", (void*)glDeleteTextures, 2, arg0, arg1);
   1850      glad_glDeleteTextures(arg0, arg1);
   1851     _post_call_callback("glDeleteTextures", (void*)glDeleteTextures, 2, arg0, arg1);
   1852     
   1853 }
   1854 PFNGLDELETETEXTURESPROC glad_debug_glDeleteTextures = glad_debug_impl_glDeleteTextures;
   1855 PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate;
   1856 void APIENTRY glad_debug_impl_glStencilOpSeparate(GLenum arg0, GLenum arg1, GLenum arg2, GLenum arg3) {    
   1857     _pre_call_callback("glStencilOpSeparate", (void*)glStencilOpSeparate, 4, arg0, arg1, arg2, arg3);
   1858      glad_glStencilOpSeparate(arg0, arg1, arg2, arg3);
   1859     _post_call_callback("glStencilOpSeparate", (void*)glStencilOpSeparate, 4, arg0, arg1, arg2, arg3);
   1860     
   1861 }
   1862 PFNGLSTENCILOPSEPARATEPROC glad_debug_glStencilOpSeparate = glad_debug_impl_glStencilOpSeparate;
   1863 PFNGLDELETEQUERIESPROC glad_glDeleteQueries;
   1864 void APIENTRY glad_debug_impl_glDeleteQueries(GLsizei arg0, const GLuint * arg1) {    
   1865     _pre_call_callback("glDeleteQueries", (void*)glDeleteQueries, 2, arg0, arg1);
   1866      glad_glDeleteQueries(arg0, arg1);
   1867     _post_call_callback("glDeleteQueries", (void*)glDeleteQueries, 2, arg0, arg1);
   1868     
   1869 }
   1870 PFNGLDELETEQUERIESPROC glad_debug_glDeleteQueries = glad_debug_impl_glDeleteQueries;
   1871 PFNGLNORMALP3UIVPROC glad_glNormalP3uiv;
   1872 void APIENTRY glad_debug_impl_glNormalP3uiv(GLenum arg0, const GLuint * arg1) {    
   1873     _pre_call_callback("glNormalP3uiv", (void*)glNormalP3uiv, 2, arg0, arg1);
   1874      glad_glNormalP3uiv(arg0, arg1);
   1875     _post_call_callback("glNormalP3uiv", (void*)glNormalP3uiv, 2, arg0, arg1);
   1876     
   1877 }
   1878 PFNGLNORMALP3UIVPROC glad_debug_glNormalP3uiv = glad_debug_impl_glNormalP3uiv;
   1879 PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f;
   1880 void APIENTRY glad_debug_impl_glVertexAttrib4f(GLuint arg0, GLfloat arg1, GLfloat arg2, GLfloat arg3, GLfloat arg4) {    
   1881     _pre_call_callback("glVertexAttrib4f", (void*)glVertexAttrib4f, 5, arg0, arg1, arg2, arg3, arg4);
   1882      glad_glVertexAttrib4f(arg0, arg1, arg2, arg3, arg4);
   1883     _post_call_callback("glVertexAttrib4f", (void*)glVertexAttrib4f, 5, arg0, arg1, arg2, arg3, arg4);
   1884     
   1885 }
   1886 PFNGLVERTEXATTRIB4FPROC glad_debug_glVertexAttrib4f = glad_debug_impl_glVertexAttrib4f;
   1887 PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d;
   1888 void APIENTRY glad_debug_impl_glVertexAttrib4d(GLuint arg0, GLdouble arg1, GLdouble arg2, GLdouble arg3, GLdouble arg4) {    
   1889     _pre_call_callback("glVertexAttrib4d", (void*)glVertexAttrib4d, 5, arg0, arg1, arg2, arg3, arg4);
   1890      glad_glVertexAttrib4d(arg0, arg1, arg2, arg3, arg4);
   1891     _post_call_callback("glVertexAttrib4d", (void*)glVertexAttrib4d, 5, arg0, arg1, arg2, arg3, arg4);
   1892     
   1893 }
   1894 PFNGLVERTEXATTRIB4DPROC glad_debug_glVertexAttrib4d = glad_debug_impl_glVertexAttrib4d;
   1895 PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv;
   1896 void APIENTRY glad_debug_impl_glGetTexParameteriv(GLenum arg0, GLenum arg1, GLint * arg2) {    
   1897     _pre_call_callback("glGetTexParameteriv", (void*)glGetTexParameteriv, 3, arg0, arg1, arg2);
   1898      glad_glGetTexParameteriv(arg0, arg1, arg2);
   1899     _post_call_callback("glGetTexParameteriv", (void*)glGetTexParameteriv, 3, arg0, arg1, arg2);
   1900     
   1901 }
   1902 PFNGLGETTEXPARAMETERIVPROC glad_debug_glGetTexParameteriv = glad_debug_impl_glGetTexParameteriv;
   1903 PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s;
   1904 void APIENTRY glad_debug_impl_glVertexAttrib4s(GLuint arg0, GLshort arg1, GLshort arg2, GLshort arg3, GLshort arg4) {    
   1905     _pre_call_callback("glVertexAttrib4s", (void*)glVertexAttrib4s, 5, arg0, arg1, arg2, arg3, arg4);
   1906      glad_glVertexAttrib4s(arg0, arg1, arg2, arg3, arg4);
   1907     _post_call_callback("glVertexAttrib4s", (void*)glVertexAttrib4s, 5, arg0, arg1, arg2, arg3, arg4);
   1908     
   1909 }
   1910 PFNGLVERTEXATTRIB4SPROC glad_debug_glVertexAttrib4s = glad_debug_impl_glVertexAttrib4s;
   1911 PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex;
   1912 void APIENTRY glad_debug_impl_glDrawElementsBaseVertex(GLenum arg0, GLsizei arg1, GLenum arg2, const void * arg3, GLint arg4) {    
   1913     _pre_call_callback("glDrawElementsBaseVertex", (void*)glDrawElementsBaseVertex, 5, arg0, arg1, arg2, arg3, arg4);
   1914      glad_glDrawElementsBaseVertex(arg0, arg1, arg2, arg3, arg4);
   1915     _post_call_callback("glDrawElementsBaseVertex", (void*)glDrawElementsBaseVertex, 5, arg0, arg1, arg2, arg3, arg4);
   1916     
   1917 }
   1918 PFNGLDRAWELEMENTSBASEVERTEXPROC glad_debug_glDrawElementsBaseVertex = glad_debug_impl_glDrawElementsBaseVertex;
   1919 PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage;
   1920 void APIENTRY glad_debug_impl_glSampleCoverage(GLfloat arg0, GLboolean arg1) {    
   1921     _pre_call_callback("glSampleCoverage", (void*)glSampleCoverage, 2, arg0, arg1);
   1922      glad_glSampleCoverage(arg0, arg1);
   1923     _post_call_callback("glSampleCoverage", (void*)glSampleCoverage, 2, arg0, arg1);
   1924     
   1925 }
   1926 PFNGLSAMPLECOVERAGEPROC glad_debug_glSampleCoverage = glad_debug_impl_glSampleCoverage;
   1927 PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri;
   1928 void APIENTRY glad_debug_impl_glSamplerParameteri(GLuint arg0, GLenum arg1, GLint arg2) {    
   1929     _pre_call_callback("glSamplerParameteri", (void*)glSamplerParameteri, 3, arg0, arg1, arg2);
   1930      glad_glSamplerParameteri(arg0, arg1, arg2);
   1931     _post_call_callback("glSamplerParameteri", (void*)glSamplerParameteri, 3, arg0, arg1, arg2);
   1932     
   1933 }
   1934 PFNGLSAMPLERPARAMETERIPROC glad_debug_glSamplerParameteri = glad_debug_impl_glSamplerParameteri;
   1935 PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf;
   1936 void APIENTRY glad_debug_impl_glSamplerParameterf(GLuint arg0, GLenum arg1, GLfloat arg2) {    
   1937     _pre_call_callback("glSamplerParameterf", (void*)glSamplerParameterf, 3, arg0, arg1, arg2);
   1938      glad_glSamplerParameterf(arg0, arg1, arg2);
   1939     _post_call_callback("glSamplerParameterf", (void*)glSamplerParameterf, 3, arg0, arg1, arg2);
   1940     
   1941 }
   1942 PFNGLSAMPLERPARAMETERFPROC glad_debug_glSamplerParameterf = glad_debug_impl_glSamplerParameterf;
   1943 PFNGLUNIFORM1FPROC glad_glUniform1f;
   1944 void APIENTRY glad_debug_impl_glUniform1f(GLint arg0, GLfloat arg1) {    
   1945     _pre_call_callback("glUniform1f", (void*)glUniform1f, 2, arg0, arg1);
   1946      glad_glUniform1f(arg0, arg1);
   1947     _post_call_callback("glUniform1f", (void*)glUniform1f, 2, arg0, arg1);
   1948     
   1949 }
   1950 PFNGLUNIFORM1FPROC glad_debug_glUniform1f = glad_debug_impl_glUniform1f;
   1951 PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv;
   1952 void APIENTRY glad_debug_impl_glGetVertexAttribfv(GLuint arg0, GLenum arg1, GLfloat * arg2) {    
   1953     _pre_call_callback("glGetVertexAttribfv", (void*)glGetVertexAttribfv, 3, arg0, arg1, arg2);
   1954      glad_glGetVertexAttribfv(arg0, arg1, arg2);
   1955     _post_call_callback("glGetVertexAttribfv", (void*)glGetVertexAttribfv, 3, arg0, arg1, arg2);
   1956     
   1957 }
   1958 PFNGLGETVERTEXATTRIBFVPROC glad_debug_glGetVertexAttribfv = glad_debug_impl_glGetVertexAttribfv;
   1959 PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage;
   1960 void APIENTRY glad_debug_impl_glGetCompressedTexImage(GLenum arg0, GLint arg1, void * arg2) {    
   1961     _pre_call_callback("glGetCompressedTexImage", (void*)glGetCompressedTexImage, 3, arg0, arg1, arg2);
   1962      glad_glGetCompressedTexImage(arg0, arg1, arg2);
   1963     _post_call_callback("glGetCompressedTexImage", (void*)glGetCompressedTexImage, 3, arg0, arg1, arg2);
   1964     
   1965 }
   1966 PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_debug_glGetCompressedTexImage = glad_debug_impl_glGetCompressedTexImage;
   1967 PFNGLUNIFORM1IPROC glad_glUniform1i;
   1968 void APIENTRY glad_debug_impl_glUniform1i(GLint arg0, GLint arg1) {    
   1969     _pre_call_callback("glUniform1i", (void*)glUniform1i, 2, arg0, arg1);
   1970      glad_glUniform1i(arg0, arg1);
   1971     _post_call_callback("glUniform1i", (void*)glUniform1i, 2, arg0, arg1);
   1972     
   1973 }
   1974 PFNGLUNIFORM1IPROC glad_debug_glUniform1i = glad_debug_impl_glUniform1i;
   1975 PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib;
   1976 void APIENTRY glad_debug_impl_glGetActiveAttrib(GLuint arg0, GLuint arg1, GLsizei arg2, GLsizei * arg3, GLint * arg4, GLenum * arg5, GLchar * arg6) {    
   1977     _pre_call_callback("glGetActiveAttrib", (void*)glGetActiveAttrib, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
   1978      glad_glGetActiveAttrib(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
   1979     _post_call_callback("glGetActiveAttrib", (void*)glGetActiveAttrib, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
   1980     
   1981 }
   1982 PFNGLGETACTIVEATTRIBPROC glad_debug_glGetActiveAttrib = glad_debug_impl_glGetActiveAttrib;
   1983 PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D;
   1984 void APIENTRY glad_debug_impl_glTexSubImage2D(GLenum arg0, GLint arg1, GLint arg2, GLint arg3, GLsizei arg4, GLsizei arg5, GLenum arg6, GLenum arg7, const void * arg8) {    
   1985     _pre_call_callback("glTexSubImage2D", (void*)glTexSubImage2D, 9, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
   1986      glad_glTexSubImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
   1987     _post_call_callback("glTexSubImage2D", (void*)glTexSubImage2D, 9, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
   1988     
   1989 }
   1990 PFNGLTEXSUBIMAGE2DPROC glad_debug_glTexSubImage2D = glad_debug_impl_glTexSubImage2D;
   1991 PFNGLDISABLEPROC glad_glDisable;
   1992 void APIENTRY glad_debug_impl_glDisable(GLenum arg0) {    
   1993     _pre_call_callback("glDisable", (void*)glDisable, 1, arg0);
   1994      glad_glDisable(arg0);
   1995     _post_call_callback("glDisable", (void*)glDisable, 1, arg0);
   1996     
   1997 }
   1998 PFNGLDISABLEPROC glad_debug_glDisable = glad_debug_impl_glDisable;
   1999 PFNGLLOGICOPPROC glad_glLogicOp;
   2000 void APIENTRY glad_debug_impl_glLogicOp(GLenum arg0) {    
   2001     _pre_call_callback("glLogicOp", (void*)glLogicOp, 1, arg0);
   2002      glad_glLogicOp(arg0);
   2003     _post_call_callback("glLogicOp", (void*)glLogicOp, 1, arg0);
   2004     
   2005 }
   2006 PFNGLLOGICOPPROC glad_debug_glLogicOp = glad_debug_impl_glLogicOp;
   2007 PFNGLUNIFORM4UIPROC glad_glUniform4ui;
   2008 void APIENTRY glad_debug_impl_glUniform4ui(GLint arg0, GLuint arg1, GLuint arg2, GLuint arg3, GLuint arg4) {    
   2009     _pre_call_callback("glUniform4ui", (void*)glUniform4ui, 5, arg0, arg1, arg2, arg3, arg4);
   2010      glad_glUniform4ui(arg0, arg1, arg2, arg3, arg4);
   2011     _post_call_callback("glUniform4ui", (void*)glUniform4ui, 5, arg0, arg1, arg2, arg3, arg4);
   2012     
   2013 }
   2014 PFNGLUNIFORM4UIPROC glad_debug_glUniform4ui = glad_debug_impl_glUniform4ui;
   2015 PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer;
   2016 void APIENTRY glad_debug_impl_glBindFramebuffer(GLenum arg0, GLuint arg1) {    
   2017     _pre_call_callback("glBindFramebuffer", (void*)glBindFramebuffer, 2, arg0, arg1);
   2018      glad_glBindFramebuffer(arg0, arg1);
   2019     _post_call_callback("glBindFramebuffer", (void*)glBindFramebuffer, 2, arg0, arg1);
   2020     
   2021 }
   2022 PFNGLBINDFRAMEBUFFERPROC glad_debug_glBindFramebuffer = glad_debug_impl_glBindFramebuffer;
   2023 PFNGLCULLFACEPROC glad_glCullFace;
   2024 void APIENTRY glad_debug_impl_glCullFace(GLenum arg0) {    
   2025     _pre_call_callback("glCullFace", (void*)glCullFace, 1, arg0);
   2026      glad_glCullFace(arg0);
   2027     _post_call_callback("glCullFace", (void*)glCullFace, 1, arg0);
   2028     
   2029 }
   2030 PFNGLCULLFACEPROC glad_debug_glCullFace = glad_debug_impl_glCullFace;
   2031 PFNGLGETSTRINGIPROC glad_glGetStringi;
   2032 const GLubyte * APIENTRY glad_debug_impl_glGetStringi(GLenum arg0, GLuint arg1) {    
   2033     const GLubyte * ret;
   2034     _pre_call_callback("glGetStringi", (void*)glGetStringi, 2, arg0, arg1);
   2035     ret =  glad_glGetStringi(arg0, arg1);
   2036     _post_call_callback("glGetStringi", (void*)glGetStringi, 2, arg0, arg1);
   2037     return ret;
   2038 }
   2039 PFNGLGETSTRINGIPROC glad_debug_glGetStringi = glad_debug_impl_glGetStringi;
   2040 PFNGLATTACHSHADERPROC glad_glAttachShader;
   2041 void APIENTRY glad_debug_impl_glAttachShader(GLuint arg0, GLuint arg1) {    
   2042     _pre_call_callback("glAttachShader", (void*)glAttachShader, 2, arg0, arg1);
   2043      glad_glAttachShader(arg0, arg1);
   2044     _post_call_callback("glAttachShader", (void*)glAttachShader, 2, arg0, arg1);
   2045     
   2046 }
   2047 PFNGLATTACHSHADERPROC glad_debug_glAttachShader = glad_debug_impl_glAttachShader;
   2048 PFNGLQUERYCOUNTERPROC glad_glQueryCounter;
   2049 void APIENTRY glad_debug_impl_glQueryCounter(GLuint arg0, GLenum arg1) {    
   2050     _pre_call_callback("glQueryCounter", (void*)glQueryCounter, 2, arg0, arg1);
   2051      glad_glQueryCounter(arg0, arg1);
   2052     _post_call_callback("glQueryCounter", (void*)glQueryCounter, 2, arg0, arg1);
   2053     
   2054 }
   2055 PFNGLQUERYCOUNTERPROC glad_debug_glQueryCounter = glad_debug_impl_glQueryCounter;
   2056 PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex;
   2057 void APIENTRY glad_debug_impl_glProvokingVertex(GLenum arg0) {    
   2058     _pre_call_callback("glProvokingVertex", (void*)glProvokingVertex, 1, arg0);
   2059      glad_glProvokingVertex(arg0);
   2060     _post_call_callback("glProvokingVertex", (void*)glProvokingVertex, 1, arg0);
   2061     
   2062 }
   2063 PFNGLPROVOKINGVERTEXPROC glad_debug_glProvokingVertex = glad_debug_impl_glProvokingVertex;
   2064 PFNGLDRAWELEMENTSPROC glad_glDrawElements;
   2065 void APIENTRY glad_debug_impl_glDrawElements(GLenum arg0, GLsizei arg1, GLenum arg2, const void * arg3) {    
   2066     _pre_call_callback("glDrawElements", (void*)glDrawElements, 4, arg0, arg1, arg2, arg3);
   2067      glad_glDrawElements(arg0, arg1, arg2, arg3);
   2068     _post_call_callback("glDrawElements", (void*)glDrawElements, 4, arg0, arg1, arg2, arg3);
   2069     
   2070 }
   2071 PFNGLDRAWELEMENTSPROC glad_debug_glDrawElements = glad_debug_impl_glDrawElements;
   2072 PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv;
   2073 void APIENTRY glad_debug_impl_glVertexAttribI4sv(GLuint arg0, const GLshort * arg1) {    
   2074     _pre_call_callback("glVertexAttribI4sv", (void*)glVertexAttribI4sv, 2, arg0, arg1);
   2075      glad_glVertexAttribI4sv(arg0, arg1);
   2076     _post_call_callback("glVertexAttribI4sv", (void*)glVertexAttribI4sv, 2, arg0, arg1);
   2077     
   2078 }
   2079 PFNGLVERTEXATTRIBI4SVPROC glad_debug_glVertexAttribI4sv = glad_debug_impl_glVertexAttribI4sv;
   2080 PFNGLUNIFORM1IVPROC glad_glUniform1iv;
   2081 void APIENTRY glad_debug_impl_glUniform1iv(GLint arg0, GLsizei arg1, const GLint * arg2) {    
   2082     _pre_call_callback("glUniform1iv", (void*)glUniform1iv, 3, arg0, arg1, arg2);
   2083      glad_glUniform1iv(arg0, arg1, arg2);
   2084     _post_call_callback("glUniform1iv", (void*)glUniform1iv, 3, arg0, arg1, arg2);
   2085     
   2086 }
   2087 PFNGLUNIFORM1IVPROC glad_debug_glUniform1iv = glad_debug_impl_glUniform1iv;
   2088 PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv;
   2089 void APIENTRY glad_debug_impl_glGetQueryObjectiv(GLuint arg0, GLenum arg1, GLint * arg2) {    
   2090     _pre_call_callback("glGetQueryObjectiv", (void*)glGetQueryObjectiv, 3, arg0, arg1, arg2);
   2091      glad_glGetQueryObjectiv(arg0, arg1, arg2);
   2092     _post_call_callback("glGetQueryObjectiv", (void*)glGetQueryObjectiv, 3, arg0, arg1, arg2);
   2093     
   2094 }
   2095 PFNGLGETQUERYOBJECTIVPROC glad_debug_glGetQueryObjectiv = glad_debug_impl_glGetQueryObjectiv;
   2096 PFNGLREADBUFFERPROC glad_glReadBuffer;
   2097 void APIENTRY glad_debug_impl_glReadBuffer(GLenum arg0) {    
   2098     _pre_call_callback("glReadBuffer", (void*)glReadBuffer, 1, arg0);
   2099      glad_glReadBuffer(arg0);
   2100     _post_call_callback("glReadBuffer", (void*)glReadBuffer, 1, arg0);
   2101     
   2102 }
   2103 PFNGLREADBUFFERPROC glad_debug_glReadBuffer = glad_debug_impl_glReadBuffer;
   2104 PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv;
   2105 void APIENTRY glad_debug_impl_glTexParameterIuiv(GLenum arg0, GLenum arg1, const GLuint * arg2) {    
   2106     _pre_call_callback("glTexParameterIuiv", (void*)glTexParameterIuiv, 3, arg0, arg1, arg2);
   2107      glad_glTexParameterIuiv(arg0, arg1, arg2);
   2108     _post_call_callback("glTexParameterIuiv", (void*)glTexParameterIuiv, 3, arg0, arg1, arg2);
   2109     
   2110 }
   2111 PFNGLTEXPARAMETERIUIVPROC glad_debug_glTexParameterIuiv = glad_debug_impl_glTexParameterIuiv;
   2112 PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced;
   2113 void APIENTRY glad_debug_impl_glDrawArraysInstanced(GLenum arg0, GLint arg1, GLsizei arg2, GLsizei arg3) {    
   2114     _pre_call_callback("glDrawArraysInstanced", (void*)glDrawArraysInstanced, 4, arg0, arg1, arg2, arg3);
   2115      glad_glDrawArraysInstanced(arg0, arg1, arg2, arg3);
   2116     _post_call_callback("glDrawArraysInstanced", (void*)glDrawArraysInstanced, 4, arg0, arg1, arg2, arg3);
   2117     
   2118 }
   2119 PFNGLDRAWARRAYSINSTANCEDPROC glad_debug_glDrawArraysInstanced = glad_debug_impl_glDrawArraysInstanced;
   2120 PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap;
   2121 void APIENTRY glad_debug_impl_glGenerateMipmap(GLenum arg0) {    
   2122     _pre_call_callback("glGenerateMipmap", (void*)glGenerateMipmap, 1, arg0);
   2123      glad_glGenerateMipmap(arg0);
   2124     _post_call_callback("glGenerateMipmap", (void*)glGenerateMipmap, 1, arg0);
   2125     
   2126 }
   2127 PFNGLGENERATEMIPMAPPROC glad_debug_glGenerateMipmap = glad_debug_impl_glGenerateMipmap;
   2128 PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv;
   2129 void APIENTRY glad_debug_impl_glSamplerParameteriv(GLuint arg0, GLenum arg1, const GLint * arg2) {    
   2130     _pre_call_callback("glSamplerParameteriv", (void*)glSamplerParameteriv, 3, arg0, arg1, arg2);
   2131      glad_glSamplerParameteriv(arg0, arg1, arg2);
   2132     _post_call_callback("glSamplerParameteriv", (void*)glSamplerParameteriv, 3, arg0, arg1, arg2);
   2133     
   2134 }
   2135 PFNGLSAMPLERPARAMETERIVPROC glad_debug_glSamplerParameteriv = glad_debug_impl_glSamplerParameteriv;
   2136 PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f;
   2137 void APIENTRY glad_debug_impl_glVertexAttrib3f(GLuint arg0, GLfloat arg1, GLfloat arg2, GLfloat arg3) {    
   2138     _pre_call_callback("glVertexAttrib3f", (void*)glVertexAttrib3f, 4, arg0, arg1, arg2, arg3);
   2139      glad_glVertexAttrib3f(arg0, arg1, arg2, arg3);
   2140     _post_call_callback("glVertexAttrib3f", (void*)glVertexAttrib3f, 4, arg0, arg1, arg2, arg3);
   2141     
   2142 }
   2143 PFNGLVERTEXATTRIB3FPROC glad_debug_glVertexAttrib3f = glad_debug_impl_glVertexAttrib3f;
   2144 PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv;
   2145 void APIENTRY glad_debug_impl_glVertexAttrib4uiv(GLuint arg0, const GLuint * arg1) {    
   2146     _pre_call_callback("glVertexAttrib4uiv", (void*)glVertexAttrib4uiv, 2, arg0, arg1);
   2147      glad_glVertexAttrib4uiv(arg0, arg1);
   2148     _post_call_callback("glVertexAttrib4uiv", (void*)glVertexAttrib4uiv, 2, arg0, arg1);
   2149     
   2150 }
   2151 PFNGLVERTEXATTRIB4UIVPROC glad_debug_glVertexAttrib4uiv = glad_debug_impl_glVertexAttrib4uiv;
   2152 PFNGLPOINTPARAMETERIPROC glad_glPointParameteri;
   2153 void APIENTRY glad_debug_impl_glPointParameteri(GLenum arg0, GLint arg1) {    
   2154     _pre_call_callback("glPointParameteri", (void*)glPointParameteri, 2, arg0, arg1);
   2155      glad_glPointParameteri(arg0, arg1);
   2156     _post_call_callback("glPointParameteri", (void*)glPointParameteri, 2, arg0, arg1);
   2157     
   2158 }
   2159 PFNGLPOINTPARAMETERIPROC glad_debug_glPointParameteri = glad_debug_impl_glPointParameteri;
   2160 PFNGLBLENDCOLORPROC glad_glBlendColor;
   2161 void APIENTRY glad_debug_impl_glBlendColor(GLfloat arg0, GLfloat arg1, GLfloat arg2, GLfloat arg3) {    
   2162     _pre_call_callback("glBlendColor", (void*)glBlendColor, 4, arg0, arg1, arg2, arg3);
   2163      glad_glBlendColor(arg0, arg1, arg2, arg3);
   2164     _post_call_callback("glBlendColor", (void*)glBlendColor, 4, arg0, arg1, arg2, arg3);
   2165     
   2166 }
   2167 PFNGLBLENDCOLORPROC glad_debug_glBlendColor = glad_debug_impl_glBlendColor;
   2168 PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv;
   2169 void APIENTRY glad_debug_impl_glSamplerParameterIuiv(GLuint arg0, GLenum arg1, const GLuint * arg2) {    
   2170     _pre_call_callback("glSamplerParameterIuiv", (void*)glSamplerParameterIuiv, 3, arg0, arg1, arg2);
   2171      glad_glSamplerParameterIuiv(arg0, arg1, arg2);
   2172     _post_call_callback("glSamplerParameterIuiv", (void*)glSamplerParameterIuiv, 3, arg0, arg1, arg2);
   2173     
   2174 }
   2175 PFNGLSAMPLERPARAMETERIUIVPROC glad_debug_glSamplerParameterIuiv = glad_debug_impl_glSamplerParameterIuiv;
   2176 PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer;
   2177 GLboolean APIENTRY glad_debug_impl_glUnmapBuffer(GLenum arg0) {    
   2178     GLboolean ret;
   2179     _pre_call_callback("glUnmapBuffer", (void*)glUnmapBuffer, 1, arg0);
   2180     ret =  glad_glUnmapBuffer(arg0);
   2181     _post_call_callback("glUnmapBuffer", (void*)glUnmapBuffer, 1, arg0);
   2182     return ret;
   2183 }
   2184 PFNGLUNMAPBUFFERPROC glad_debug_glUnmapBuffer = glad_debug_impl_glUnmapBuffer;
   2185 PFNGLPOINTPARAMETERFPROC glad_glPointParameterf;
   2186 void APIENTRY glad_debug_impl_glPointParameterf(GLenum arg0, GLfloat arg1) {    
   2187     _pre_call_callback("glPointParameterf", (void*)glPointParameterf, 2, arg0, arg1);
   2188      glad_glPointParameterf(arg0, arg1);
   2189     _post_call_callback("glPointParameterf", (void*)glPointParameterf, 2, arg0, arg1);
   2190     
   2191 }
   2192 PFNGLPOINTPARAMETERFPROC glad_debug_glPointParameterf = glad_debug_impl_glPointParameterf;
   2193 PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s;
   2194 void APIENTRY glad_debug_impl_glVertexAttrib3s(GLuint arg0, GLshort arg1, GLshort arg2, GLshort arg3) {    
   2195     _pre_call_callback("glVertexAttrib3s", (void*)glVertexAttrib3s, 4, arg0, arg1, arg2, arg3);
   2196      glad_glVertexAttrib3s(arg0, arg1, arg2, arg3);
   2197     _post_call_callback("glVertexAttrib3s", (void*)glVertexAttrib3s, 4, arg0, arg1, arg2, arg3);
   2198     
   2199 }
   2200 PFNGLVERTEXATTRIB3SPROC glad_debug_glVertexAttrib3s = glad_debug_impl_glVertexAttrib3s;
   2201 PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer;
   2202 void APIENTRY glad_debug_impl_glBindRenderbuffer(GLenum arg0, GLuint arg1) {    
   2203     _pre_call_callback("glBindRenderbuffer", (void*)glBindRenderbuffer, 2, arg0, arg1);
   2204      glad_glBindRenderbuffer(arg0, arg1);
   2205     _post_call_callback("glBindRenderbuffer", (void*)glBindRenderbuffer, 2, arg0, arg1);
   2206     
   2207 }
   2208 PFNGLBINDRENDERBUFFERPROC glad_debug_glBindRenderbuffer = glad_debug_impl_glBindRenderbuffer;
   2209 PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv;
   2210 void APIENTRY glad_debug_impl_glVertexAttribP4uiv(GLuint arg0, GLenum arg1, GLboolean arg2, const GLuint * arg3) {    
   2211     _pre_call_callback("glVertexAttribP4uiv", (void*)glVertexAttribP4uiv, 4, arg0, arg1, arg2, arg3);
   2212      glad_glVertexAttribP4uiv(arg0, arg1, arg2, arg3);
   2213     _post_call_callback("glVertexAttribP4uiv", (void*)glVertexAttribP4uiv, 4, arg0, arg1, arg2, arg3);
   2214     
   2215 }
   2216 PFNGLVERTEXATTRIBP4UIVPROC glad_debug_glVertexAttribP4uiv = glad_debug_impl_glVertexAttribP4uiv;
   2217 PFNGLISPROGRAMPROC glad_glIsProgram;
   2218 GLboolean APIENTRY glad_debug_impl_glIsProgram(GLuint arg0) {    
   2219     GLboolean ret;
   2220     _pre_call_callback("glIsProgram", (void*)glIsProgram, 1, arg0);
   2221     ret =  glad_glIsProgram(arg0);
   2222     _post_call_callback("glIsProgram", (void*)glIsProgram, 1, arg0);
   2223     return ret;
   2224 }
   2225 PFNGLISPROGRAMPROC glad_debug_glIsProgram = glad_debug_impl_glIsProgram;
   2226 PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv;
   2227 void APIENTRY glad_debug_impl_glVertexAttrib4bv(GLuint arg0, const GLbyte * arg1) {    
   2228     _pre_call_callback("glVertexAttrib4bv", (void*)glVertexAttrib4bv, 2, arg0, arg1);
   2229      glad_glVertexAttrib4bv(arg0, arg1);
   2230     _post_call_callback("glVertexAttrib4bv", (void*)glVertexAttrib4bv, 2, arg0, arg1);
   2231     
   2232 }
   2233 PFNGLVERTEXATTRIB4BVPROC glad_debug_glVertexAttrib4bv = glad_debug_impl_glVertexAttrib4bv;
   2234 PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv;
   2235 void APIENTRY glad_debug_impl_glVertexAttrib4fv(GLuint arg0, const GLfloat * arg1) {    
   2236     _pre_call_callback("glVertexAttrib4fv", (void*)glVertexAttrib4fv, 2, arg0, arg1);
   2237      glad_glVertexAttrib4fv(arg0, arg1);
   2238     _post_call_callback("glVertexAttrib4fv", (void*)glVertexAttrib4fv, 2, arg0, arg1);
   2239     
   2240 }
   2241 PFNGLVERTEXATTRIB4FVPROC glad_debug_glVertexAttrib4fv = glad_debug_impl_glVertexAttrib4fv;
   2242 PFNGLUNIFORM4IPROC glad_glUniform4i;
   2243 void APIENTRY glad_debug_impl_glUniform4i(GLint arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4) {    
   2244     _pre_call_callback("glUniform4i", (void*)glUniform4i, 5, arg0, arg1, arg2, arg3, arg4);
   2245      glad_glUniform4i(arg0, arg1, arg2, arg3, arg4);
   2246     _post_call_callback("glUniform4i", (void*)glUniform4i, 5, arg0, arg1, arg2, arg3, arg4);
   2247     
   2248 }
   2249 PFNGLUNIFORM4IPROC glad_debug_glUniform4i = glad_debug_impl_glUniform4i;
   2250 PFNGLACTIVETEXTUREPROC glad_glActiveTexture;
   2251 void APIENTRY glad_debug_impl_glActiveTexture(GLenum arg0) {    
   2252     _pre_call_callback("glActiveTexture", (void*)glActiveTexture, 1, arg0);
   2253      glad_glActiveTexture(arg0);
   2254     _post_call_callback("glActiveTexture", (void*)glActiveTexture, 1, arg0);
   2255     
   2256 }
   2257 PFNGLACTIVETEXTUREPROC glad_debug_glActiveTexture = glad_debug_impl_glActiveTexture;
   2258 PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray;
   2259 void APIENTRY glad_debug_impl_glEnableVertexAttribArray(GLuint arg0) {    
   2260     _pre_call_callback("glEnableVertexAttribArray", (void*)glEnableVertexAttribArray, 1, arg0);
   2261      glad_glEnableVertexAttribArray(arg0);
   2262     _post_call_callback("glEnableVertexAttribArray", (void*)glEnableVertexAttribArray, 1, arg0);
   2263     
   2264 }
   2265 PFNGLENABLEVERTEXATTRIBARRAYPROC glad_debug_glEnableVertexAttribArray = glad_debug_impl_glEnableVertexAttribArray;
   2266 PFNGLREADPIXELSPROC glad_glReadPixels;
   2267 void APIENTRY glad_debug_impl_glReadPixels(GLint arg0, GLint arg1, GLsizei arg2, GLsizei arg3, GLenum arg4, GLenum arg5, void * arg6) {    
   2268     _pre_call_callback("glReadPixels", (void*)glReadPixels, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
   2269      glad_glReadPixels(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
   2270     _post_call_callback("glReadPixels", (void*)glReadPixels, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
   2271     
   2272 }
   2273 PFNGLREADPIXELSPROC glad_debug_glReadPixels = glad_debug_impl_glReadPixels;
   2274 PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv;
   2275 void APIENTRY glad_debug_impl_glVertexAttribI3iv(GLuint arg0, const GLint * arg1) {    
   2276     _pre_call_callback("glVertexAttribI3iv", (void*)glVertexAttribI3iv, 2, arg0, arg1);
   2277      glad_glVertexAttribI3iv(arg0, arg1);
   2278     _post_call_callback("glVertexAttribI3iv", (void*)glVertexAttribI3iv, 2, arg0, arg1);
   2279     
   2280 }
   2281 PFNGLVERTEXATTRIBI3IVPROC glad_debug_glVertexAttribI3iv = glad_debug_impl_glVertexAttribI3iv;
   2282 PFNGLUNIFORM4FPROC glad_glUniform4f;
   2283 void APIENTRY glad_debug_impl_glUniform4f(GLint arg0, GLfloat arg1, GLfloat arg2, GLfloat arg3, GLfloat arg4) {    
   2284     _pre_call_callback("glUniform4f", (void*)glUniform4f, 5, arg0, arg1, arg2, arg3, arg4);
   2285      glad_glUniform4f(arg0, arg1, arg2, arg3, arg4);
   2286     _post_call_callback("glUniform4f", (void*)glUniform4f, 5, arg0, arg1, arg2, arg3, arg4);
   2287     
   2288 }
   2289 PFNGLUNIFORM4FPROC glad_debug_glUniform4f = glad_debug_impl_glUniform4f;
   2290 PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample;
   2291 void APIENTRY glad_debug_impl_glRenderbufferStorageMultisample(GLenum arg0, GLsizei arg1, GLenum arg2, GLsizei arg3, GLsizei arg4) {    
   2292     _pre_call_callback("glRenderbufferStorageMultisample", (void*)glRenderbufferStorageMultisample, 5, arg0, arg1, arg2, arg3, arg4);
   2293      glad_glRenderbufferStorageMultisample(arg0, arg1, arg2, arg3, arg4);
   2294     _post_call_callback("glRenderbufferStorageMultisample", (void*)glRenderbufferStorageMultisample, 5, arg0, arg1, arg2, arg3, arg4);
   2295     
   2296 }
   2297 PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_debug_glRenderbufferStorageMultisample = glad_debug_impl_glRenderbufferStorageMultisample;
   2298 PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv;
   2299 void APIENTRY glad_debug_impl_glUniformMatrix3fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat * arg3) {    
   2300     _pre_call_callback("glUniformMatrix3fv", (void*)glUniformMatrix3fv, 4, arg0, arg1, arg2, arg3);
   2301      glad_glUniformMatrix3fv(arg0, arg1, arg2, arg3);
   2302     _post_call_callback("glUniformMatrix3fv", (void*)glUniformMatrix3fv, 4, arg0, arg1, arg2, arg3);
   2303     
   2304 }
   2305 PFNGLUNIFORMMATRIX3FVPROC glad_debug_glUniformMatrix3fv = glad_debug_impl_glUniformMatrix3fv;
   2306 PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex;
   2307 void APIENTRY glad_debug_impl_glDrawElementsInstancedBaseVertex(GLenum arg0, GLsizei arg1, GLenum arg2, const void * arg3, GLsizei arg4, GLint arg5) {    
   2308     _pre_call_callback("glDrawElementsInstancedBaseVertex", (void*)glDrawElementsInstancedBaseVertex, 6, arg0, arg1, arg2, arg3, arg4, arg5);
   2309      glad_glDrawElementsInstancedBaseVertex(arg0, arg1, arg2, arg3, arg4, arg5);
   2310     _post_call_callback("glDrawElementsInstancedBaseVertex", (void*)glDrawElementsInstancedBaseVertex, 6, arg0, arg1, arg2, arg3, arg4, arg5);
   2311     
   2312 }
   2313 PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_debug_glDrawElementsInstancedBaseVertex = glad_debug_impl_glDrawElementsInstancedBaseVertex;
   2314 PFNGLSTENCILFUNCPROC glad_glStencilFunc;
   2315 void APIENTRY glad_debug_impl_glStencilFunc(GLenum arg0, GLint arg1, GLuint arg2) {    
   2316     _pre_call_callback("glStencilFunc", (void*)glStencilFunc, 3, arg0, arg1, arg2);
   2317      glad_glStencilFunc(arg0, arg1, arg2);
   2318     _post_call_callback("glStencilFunc", (void*)glStencilFunc, 3, arg0, arg1, arg2);
   2319     
   2320 }
   2321 PFNGLSTENCILFUNCPROC glad_debug_glStencilFunc = glad_debug_impl_glStencilFunc;
   2322 PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding;
   2323 void APIENTRY glad_debug_impl_glUniformBlockBinding(GLuint arg0, GLuint arg1, GLuint arg2) {    
   2324     _pre_call_callback("glUniformBlockBinding", (void*)glUniformBlockBinding, 3, arg0, arg1, arg2);
   2325      glad_glUniformBlockBinding(arg0, arg1, arg2);
   2326     _post_call_callback("glUniformBlockBinding", (void*)glUniformBlockBinding, 3, arg0, arg1, arg2);
   2327     
   2328 }
   2329 PFNGLUNIFORMBLOCKBINDINGPROC glad_debug_glUniformBlockBinding = glad_debug_impl_glUniformBlockBinding;
   2330 PFNGLCOLORP4UIPROC glad_glColorP4ui;
   2331 void APIENTRY glad_debug_impl_glColorP4ui(GLenum arg0, GLuint arg1) {    
   2332     _pre_call_callback("glColorP4ui", (void*)glColorP4ui, 2, arg0, arg1);
   2333      glad_glColorP4ui(arg0, arg1);
   2334     _post_call_callback("glColorP4ui", (void*)glColorP4ui, 2, arg0, arg1);
   2335     
   2336 }
   2337 PFNGLCOLORP4UIPROC glad_debug_glColorP4ui = glad_debug_impl_glColorP4ui;
   2338 PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv;
   2339 void APIENTRY glad_debug_impl_glVertexAttribI4iv(GLuint arg0, const GLint * arg1) {    
   2340     _pre_call_callback("glVertexAttribI4iv", (void*)glVertexAttribI4iv, 2, arg0, arg1);
   2341      glad_glVertexAttribI4iv(arg0, arg1);
   2342     _post_call_callback("glVertexAttribI4iv", (void*)glVertexAttribI4iv, 2, arg0, arg1);
   2343     
   2344 }
   2345 PFNGLVERTEXATTRIBI4IVPROC glad_debug_glVertexAttribI4iv = glad_debug_impl_glVertexAttribI4iv;
   2346 PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog;
   2347 void APIENTRY glad_debug_impl_glGetShaderInfoLog(GLuint arg0, GLsizei arg1, GLsizei * arg2, GLchar * arg3) {    
   2348     _pre_call_callback("glGetShaderInfoLog", (void*)glGetShaderInfoLog, 4, arg0, arg1, arg2, arg3);
   2349      glad_glGetShaderInfoLog(arg0, arg1, arg2, arg3);
   2350     _post_call_callback("glGetShaderInfoLog", (void*)glGetShaderInfoLog, 4, arg0, arg1, arg2, arg3);
   2351     
   2352 }
   2353 PFNGLGETSHADERINFOLOGPROC glad_debug_glGetShaderInfoLog = glad_debug_impl_glGetShaderInfoLog;
   2354 PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i;
   2355 void APIENTRY glad_debug_impl_glVertexAttribI4i(GLuint arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4) {    
   2356     _pre_call_callback("glVertexAttribI4i", (void*)glVertexAttribI4i, 5, arg0, arg1, arg2, arg3, arg4);
   2357      glad_glVertexAttribI4i(arg0, arg1, arg2, arg3, arg4);
   2358     _post_call_callback("glVertexAttribI4i", (void*)glVertexAttribI4i, 5, arg0, arg1, arg2, arg3, arg4);
   2359     
   2360 }
   2361 PFNGLVERTEXATTRIBI4IPROC glad_debug_glVertexAttribI4i = glad_debug_impl_glVertexAttribI4i;
   2362 PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData;
   2363 void APIENTRY glad_debug_impl_glGetBufferSubData(GLenum arg0, GLintptr arg1, GLsizeiptr arg2, void * arg3) {    
   2364     _pre_call_callback("glGetBufferSubData", (void*)glGetBufferSubData, 4, arg0, arg1, arg2, arg3);
   2365      glad_glGetBufferSubData(arg0, arg1, arg2, arg3);
   2366     _post_call_callback("glGetBufferSubData", (void*)glGetBufferSubData, 4, arg0, arg1, arg2, arg3);
   2367     
   2368 }
   2369 PFNGLGETBUFFERSUBDATAPROC glad_debug_glGetBufferSubData = glad_debug_impl_glGetBufferSubData;
   2370 PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate;
   2371 void APIENTRY glad_debug_impl_glBlendEquationSeparate(GLenum arg0, GLenum arg1) {    
   2372     _pre_call_callback("glBlendEquationSeparate", (void*)glBlendEquationSeparate, 2, arg0, arg1);
   2373      glad_glBlendEquationSeparate(arg0, arg1);
   2374     _post_call_callback("glBlendEquationSeparate", (void*)glBlendEquationSeparate, 2, arg0, arg1);
   2375     
   2376 }
   2377 PFNGLBLENDEQUATIONSEPARATEPROC glad_debug_glBlendEquationSeparate = glad_debug_impl_glBlendEquationSeparate;
   2378 PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui;
   2379 void APIENTRY glad_debug_impl_glVertexAttribI1ui(GLuint arg0, GLuint arg1) {    
   2380     _pre_call_callback("glVertexAttribI1ui", (void*)glVertexAttribI1ui, 2, arg0, arg1);
   2381      glad_glVertexAttribI1ui(arg0, arg1);
   2382     _post_call_callback("glVertexAttribI1ui", (void*)glVertexAttribI1ui, 2, arg0, arg1);
   2383     
   2384 }
   2385 PFNGLVERTEXATTRIBI1UIPROC glad_debug_glVertexAttribI1ui = glad_debug_impl_glVertexAttribI1ui;
   2386 PFNGLGENBUFFERSPROC glad_glGenBuffers;
   2387 void APIENTRY glad_debug_impl_glGenBuffers(GLsizei arg0, GLuint * arg1) {    
   2388     _pre_call_callback("glGenBuffers", (void*)glGenBuffers, 2, arg0, arg1);
   2389      glad_glGenBuffers(arg0, arg1);
   2390     _post_call_callback("glGenBuffers", (void*)glGenBuffers, 2, arg0, arg1);
   2391     
   2392 }
   2393 PFNGLGENBUFFERSPROC glad_debug_glGenBuffers = glad_debug_impl_glGenBuffers;
   2394 PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv;
   2395 void APIENTRY glad_debug_impl_glVertexAttrib2sv(GLuint arg0, const GLshort * arg1) {    
   2396     _pre_call_callback("glVertexAttrib2sv", (void*)glVertexAttrib2sv, 2, arg0, arg1);
   2397      glad_glVertexAttrib2sv(arg0, arg1);
   2398     _post_call_callback("glVertexAttrib2sv", (void*)glVertexAttrib2sv, 2, arg0, arg1);
   2399     
   2400 }
   2401 PFNGLVERTEXATTRIB2SVPROC glad_debug_glVertexAttrib2sv = glad_debug_impl_glVertexAttrib2sv;
   2402 PFNGLBLENDFUNCPROC glad_glBlendFunc;
   2403 void APIENTRY glad_debug_impl_glBlendFunc(GLenum arg0, GLenum arg1) {    
   2404     _pre_call_callback("glBlendFunc", (void*)glBlendFunc, 2, arg0, arg1);
   2405      glad_glBlendFunc(arg0, arg1);
   2406     _post_call_callback("glBlendFunc", (void*)glBlendFunc, 2, arg0, arg1);
   2407     
   2408 }
   2409 PFNGLBLENDFUNCPROC glad_debug_glBlendFunc = glad_debug_impl_glBlendFunc;
   2410 PFNGLCREATEPROGRAMPROC glad_glCreateProgram;
   2411 GLuint APIENTRY glad_debug_impl_glCreateProgram(void) {    
   2412     GLuint ret;
   2413     _pre_call_callback("glCreateProgram", (void*)glCreateProgram, 0);
   2414     ret =  glad_glCreateProgram();
   2415     _post_call_callback("glCreateProgram", (void*)glCreateProgram, 0);
   2416     return ret;
   2417 }
   2418 PFNGLCREATEPROGRAMPROC glad_debug_glCreateProgram = glad_debug_impl_glCreateProgram;
   2419 PFNGLTEXIMAGE3DPROC glad_glTexImage3D;
   2420 void APIENTRY glad_debug_impl_glTexImage3D(GLenum arg0, GLint arg1, GLint arg2, GLsizei arg3, GLsizei arg4, GLsizei arg5, GLint arg6, GLenum arg7, GLenum arg8, const void * arg9) {    
   2421     _pre_call_callback("glTexImage3D", (void*)glTexImage3D, 10, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
   2422      glad_glTexImage3D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
   2423     _post_call_callback("glTexImage3D", (void*)glTexImage3D, 10, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
   2424     
   2425 }
   2426 PFNGLTEXIMAGE3DPROC glad_debug_glTexImage3D = glad_debug_impl_glTexImage3D;
   2427 PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer;
   2428 GLboolean APIENTRY glad_debug_impl_glIsFramebuffer(GLuint arg0) {    
   2429     GLboolean ret;
   2430     _pre_call_callback("glIsFramebuffer", (void*)glIsFramebuffer, 1, arg0);
   2431     ret =  glad_glIsFramebuffer(arg0);
   2432     _post_call_callback("glIsFramebuffer", (void*)glIsFramebuffer, 1, arg0);
   2433     return ret;
   2434 }
   2435 PFNGLISFRAMEBUFFERPROC glad_debug_glIsFramebuffer = glad_debug_impl_glIsFramebuffer;
   2436 PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex;
   2437 void APIENTRY glad_debug_impl_glPrimitiveRestartIndex(GLuint arg0) {    
   2438     _pre_call_callback("glPrimitiveRestartIndex", (void*)glPrimitiveRestartIndex, 1, arg0);
   2439      glad_glPrimitiveRestartIndex(arg0);
   2440     _post_call_callback("glPrimitiveRestartIndex", (void*)glPrimitiveRestartIndex, 1, arg0);
   2441     
   2442 }
   2443 PFNGLPRIMITIVERESTARTINDEXPROC glad_debug_glPrimitiveRestartIndex = glad_debug_impl_glPrimitiveRestartIndex;
   2444 PFNGLGETINTEGER64VPROC glad_glGetInteger64v;
   2445 void APIENTRY glad_debug_impl_glGetInteger64v(GLenum arg0, GLint64 * arg1) {    
   2446     _pre_call_callback("glGetInteger64v", (void*)glGetInteger64v, 2, arg0, arg1);
   2447      glad_glGetInteger64v(arg0, arg1);
   2448     _post_call_callback("glGetInteger64v", (void*)glGetInteger64v, 2, arg0, arg1);
   2449     
   2450 }
   2451 PFNGLGETINTEGER64VPROC glad_debug_glGetInteger64v = glad_debug_impl_glGetInteger64v;
   2452 PFNGLSCISSORPROC glad_glScissor;
   2453 void APIENTRY glad_debug_impl_glScissor(GLint arg0, GLint arg1, GLsizei arg2, GLsizei arg3) {    
   2454     _pre_call_callback("glScissor", (void*)glScissor, 4, arg0, arg1, arg2, arg3);
   2455      glad_glScissor(arg0, arg1, arg2, arg3);
   2456     _post_call_callback("glScissor", (void*)glScissor, 4, arg0, arg1, arg2, arg3);
   2457     
   2458 }
   2459 PFNGLSCISSORPROC glad_debug_glScissor = glad_debug_impl_glScissor;
   2460 PFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv;
   2461 void APIENTRY glad_debug_impl_glTexCoordP4uiv(GLenum arg0, const GLuint * arg1) {    
   2462     _pre_call_callback("glTexCoordP4uiv", (void*)glTexCoordP4uiv, 2, arg0, arg1);
   2463      glad_glTexCoordP4uiv(arg0, arg1);
   2464     _post_call_callback("glTexCoordP4uiv", (void*)glTexCoordP4uiv, 2, arg0, arg1);
   2465     
   2466 }
   2467 PFNGLTEXCOORDP4UIVPROC glad_debug_glTexCoordP4uiv = glad_debug_impl_glTexCoordP4uiv;
   2468 PFNGLGETBOOLEANVPROC glad_glGetBooleanv;
   2469 void APIENTRY glad_debug_impl_glGetBooleanv(GLenum arg0, GLboolean * arg1) {    
   2470     _pre_call_callback("glGetBooleanv", (void*)glGetBooleanv, 2, arg0, arg1);
   2471      glad_glGetBooleanv(arg0, arg1);
   2472     _post_call_callback("glGetBooleanv", (void*)glGetBooleanv, 2, arg0, arg1);
   2473     
   2474 }
   2475 PFNGLGETBOOLEANVPROC glad_debug_glGetBooleanv = glad_debug_impl_glGetBooleanv;
   2476 PFNGLVERTEXP2UIVPROC glad_glVertexP2uiv;
   2477 void APIENTRY glad_debug_impl_glVertexP2uiv(GLenum arg0, const GLuint * arg1) {    
   2478     _pre_call_callback("glVertexP2uiv", (void*)glVertexP2uiv, 2, arg0, arg1);
   2479      glad_glVertexP2uiv(arg0, arg1);
   2480     _post_call_callback("glVertexP2uiv", (void*)glVertexP2uiv, 2, arg0, arg1);
   2481     
   2482 }
   2483 PFNGLVERTEXP2UIVPROC glad_debug_glVertexP2uiv = glad_debug_impl_glVertexP2uiv;
   2484 PFNGLUNIFORM3UIVPROC glad_glUniform3uiv;
   2485 void APIENTRY glad_debug_impl_glUniform3uiv(GLint arg0, GLsizei arg1, const GLuint * arg2) {    
   2486     _pre_call_callback("glUniform3uiv", (void*)glUniform3uiv, 3, arg0, arg1, arg2);
   2487      glad_glUniform3uiv(arg0, arg1, arg2);
   2488     _post_call_callback("glUniform3uiv", (void*)glUniform3uiv, 3, arg0, arg1, arg2);
   2489     
   2490 }
   2491 PFNGLUNIFORM3UIVPROC glad_debug_glUniform3uiv = glad_debug_impl_glUniform3uiv;
   2492 PFNGLCLEARCOLORPROC glad_glClearColor;
   2493 void APIENTRY glad_debug_impl_glClearColor(GLfloat arg0, GLfloat arg1, GLfloat arg2, GLfloat arg3) {    
   2494     _pre_call_callback("glClearColor", (void*)glClearColor, 4, arg0, arg1, arg2, arg3);
   2495      glad_glClearColor(arg0, arg1, arg2, arg3);
   2496     _post_call_callback("glClearColor", (void*)glClearColor, 4, arg0, arg1, arg2, arg3);
   2497     
   2498 }
   2499 PFNGLCLEARCOLORPROC glad_debug_glClearColor = glad_debug_impl_glClearColor;
   2500 PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv;
   2501 void APIENTRY glad_debug_impl_glVertexAttrib4Niv(GLuint arg0, const GLint * arg1) {    
   2502     _pre_call_callback("glVertexAttrib4Niv", (void*)glVertexAttrib4Niv, 2, arg0, arg1);
   2503      glad_glVertexAttrib4Niv(arg0, arg1);
   2504     _post_call_callback("glVertexAttrib4Niv", (void*)glVertexAttrib4Niv, 2, arg0, arg1);
   2505     
   2506 }
   2507 PFNGLVERTEXATTRIB4NIVPROC glad_debug_glVertexAttrib4Niv = glad_debug_impl_glVertexAttrib4Niv;
   2508 PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv;
   2509 void APIENTRY glad_debug_impl_glClearBufferiv(GLenum arg0, GLint arg1, const GLint * arg2) {    
   2510     _pre_call_callback("glClearBufferiv", (void*)glClearBufferiv, 3, arg0, arg1, arg2);
   2511      glad_glClearBufferiv(arg0, arg1, arg2);
   2512     _post_call_callback("glClearBufferiv", (void*)glClearBufferiv, 3, arg0, arg1, arg2);
   2513     
   2514 }
   2515 PFNGLCLEARBUFFERIVPROC glad_debug_glClearBufferiv = glad_debug_impl_glClearBufferiv;
   2516 PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v;
   2517 void APIENTRY glad_debug_impl_glGetBufferParameteri64v(GLenum arg0, GLenum arg1, GLint64 * arg2) {    
   2518     _pre_call_callback("glGetBufferParameteri64v", (void*)glGetBufferParameteri64v, 3, arg0, arg1, arg2);
   2519      glad_glGetBufferParameteri64v(arg0, arg1, arg2);
   2520     _post_call_callback("glGetBufferParameteri64v", (void*)glGetBufferParameteri64v, 3, arg0, arg1, arg2);
   2521     
   2522 }
   2523 PFNGLGETBUFFERPARAMETERI64VPROC glad_debug_glGetBufferParameteri64v = glad_debug_impl_glGetBufferParameteri64v;
   2524 PFNGLCOLORP4UIVPROC glad_glColorP4uiv;
   2525 void APIENTRY glad_debug_impl_glColorP4uiv(GLenum arg0, const GLuint * arg1) {    
   2526     _pre_call_callback("glColorP4uiv", (void*)glColorP4uiv, 2, arg0, arg1);
   2527      glad_glColorP4uiv(arg0, arg1);
   2528     _post_call_callback("glColorP4uiv", (void*)glColorP4uiv, 2, arg0, arg1);
   2529     
   2530 }
   2531 PFNGLCOLORP4UIVPROC glad_debug_glColorP4uiv = glad_debug_impl_glColorP4uiv;
   2532 PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv;
   2533 void APIENTRY glad_debug_impl_glVertexAttribI2uiv(GLuint arg0, const GLuint * arg1) {    
   2534     _pre_call_callback("glVertexAttribI2uiv", (void*)glVertexAttribI2uiv, 2, arg0, arg1);
   2535      glad_glVertexAttribI2uiv(arg0, arg1);
   2536     _post_call_callback("glVertexAttribI2uiv", (void*)glVertexAttribI2uiv, 2, arg0, arg1);
   2537     
   2538 }
   2539 PFNGLVERTEXATTRIBI2UIVPROC glad_debug_glVertexAttribI2uiv = glad_debug_impl_glVertexAttribI2uiv;
   2540 PFNGLUNIFORM3UIPROC glad_glUniform3ui;
   2541 void APIENTRY glad_debug_impl_glUniform3ui(GLint arg0, GLuint arg1, GLuint arg2, GLuint arg3) {    
   2542     _pre_call_callback("glUniform3ui", (void*)glUniform3ui, 4, arg0, arg1, arg2, arg3);
   2543      glad_glUniform3ui(arg0, arg1, arg2, arg3);
   2544     _post_call_callback("glUniform3ui", (void*)glUniform3ui, 4, arg0, arg1, arg2, arg3);
   2545     
   2546 }
   2547 PFNGLUNIFORM3UIPROC glad_debug_glUniform3ui = glad_debug_impl_glUniform3ui;
   2548 PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv;
   2549 void APIENTRY glad_debug_impl_glVertexAttribI4uiv(GLuint arg0, const GLuint * arg1) {    
   2550     _pre_call_callback("glVertexAttribI4uiv", (void*)glVertexAttribI4uiv, 2, arg0, arg1);
   2551      glad_glVertexAttribI4uiv(arg0, arg1);
   2552     _post_call_callback("glVertexAttribI4uiv", (void*)glVertexAttribI4uiv, 2, arg0, arg1);
   2553     
   2554 }
   2555 PFNGLVERTEXATTRIBI4UIVPROC glad_debug_glVertexAttribI4uiv = glad_debug_impl_glVertexAttribI4uiv;
   2556 PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv;
   2557 void APIENTRY glad_debug_impl_glPointParameterfv(GLenum arg0, const GLfloat * arg1) {    
   2558     _pre_call_callback("glPointParameterfv", (void*)glPointParameterfv, 2, arg0, arg1);
   2559      glad_glPointParameterfv(arg0, arg1);
   2560     _post_call_callback("glPointParameterfv", (void*)glPointParameterfv, 2, arg0, arg1);
   2561     
   2562 }
   2563 PFNGLPOINTPARAMETERFVPROC glad_debug_glPointParameterfv = glad_debug_impl_glPointParameterfv;
   2564 PFNGLUNIFORM2FVPROC glad_glUniform2fv;
   2565 void APIENTRY glad_debug_impl_glUniform2fv(GLint arg0, GLsizei arg1, const GLfloat * arg2) {    
   2566     _pre_call_callback("glUniform2fv", (void*)glUniform2fv, 3, arg0, arg1, arg2);
   2567      glad_glUniform2fv(arg0, arg1, arg2);
   2568     _post_call_callback("glUniform2fv", (void*)glUniform2fv, 3, arg0, arg1, arg2);
   2569     
   2570 }
   2571 PFNGLUNIFORM2FVPROC glad_debug_glUniform2fv = glad_debug_impl_glUniform2fv;
   2572 PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv;
   2573 void APIENTRY glad_debug_impl_glGetSamplerParameterIuiv(GLuint arg0, GLenum arg1, GLuint * arg2) {    
   2574     _pre_call_callback("glGetSamplerParameterIuiv", (void*)glGetSamplerParameterIuiv, 3, arg0, arg1, arg2);
   2575      glad_glGetSamplerParameterIuiv(arg0, arg1, arg2);
   2576     _post_call_callback("glGetSamplerParameterIuiv", (void*)glGetSamplerParameterIuiv, 3, arg0, arg1, arg2);
   2577     
   2578 }
   2579 PFNGLGETSAMPLERPARAMETERIUIVPROC glad_debug_glGetSamplerParameterIuiv = glad_debug_impl_glGetSamplerParameterIuiv;
   2580 PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange;
   2581 void APIENTRY glad_debug_impl_glBindBufferRange(GLenum arg0, GLuint arg1, GLuint arg2, GLintptr arg3, GLsizeiptr arg4) {    
   2582     _pre_call_callback("glBindBufferRange", (void*)glBindBufferRange, 5, arg0, arg1, arg2, arg3, arg4);
   2583      glad_glBindBufferRange(arg0, arg1, arg2, arg3, arg4);
   2584     _post_call_callback("glBindBufferRange", (void*)glBindBufferRange, 5, arg0, arg1, arg2, arg3, arg4);
   2585     
   2586 }
   2587 PFNGLBINDBUFFERRANGEPROC glad_debug_glBindBufferRange = glad_debug_impl_glBindBufferRange;
   2588 PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv;
   2589 void APIENTRY glad_debug_impl_glUniformMatrix2x3fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat * arg3) {    
   2590     _pre_call_callback("glUniformMatrix2x3fv", (void*)glUniformMatrix2x3fv, 4, arg0, arg1, arg2, arg3);
   2591      glad_glUniformMatrix2x3fv(arg0, arg1, arg2, arg3);
   2592     _post_call_callback("glUniformMatrix2x3fv", (void*)glUniformMatrix2x3fv, 4, arg0, arg1, arg2, arg3);
   2593     
   2594 }
   2595 PFNGLUNIFORMMATRIX2X3FVPROC glad_debug_glUniformMatrix2x3fv = glad_debug_impl_glUniformMatrix2x3fv;
   2596 PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv;
   2597 void APIENTRY glad_debug_impl_glGetVertexAttribIuiv(GLuint arg0, GLenum arg1, GLuint * arg2) {    
   2598     _pre_call_callback("glGetVertexAttribIuiv", (void*)glGetVertexAttribIuiv, 3, arg0, arg1, arg2);
   2599      glad_glGetVertexAttribIuiv(arg0, arg1, arg2);
   2600     _post_call_callback("glGetVertexAttribIuiv", (void*)glGetVertexAttribIuiv, 3, arg0, arg1, arg2);
   2601     
   2602 }
   2603 PFNGLGETVERTEXATTRIBIUIVPROC glad_debug_glGetVertexAttribIuiv = glad_debug_impl_glGetVertexAttribIuiv;
   2604 PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv;
   2605 void APIENTRY glad_debug_impl_glVertexAttrib4Nusv(GLuint arg0, const GLushort * arg1) {    
   2606     _pre_call_callback("glVertexAttrib4Nusv", (void*)glVertexAttrib4Nusv, 2, arg0, arg1);
   2607      glad_glVertexAttrib4Nusv(arg0, arg1);
   2608     _post_call_callback("glVertexAttrib4Nusv", (void*)glVertexAttrib4Nusv, 2, arg0, arg1);
   2609     
   2610 }
   2611 PFNGLVERTEXATTRIB4NUSVPROC glad_debug_glVertexAttrib4Nusv = glad_debug_impl_glVertexAttrib4Nusv;
   2612 PFNGLDEPTHFUNCPROC glad_glDepthFunc;
   2613 void APIENTRY glad_debug_impl_glDepthFunc(GLenum arg0) {    
   2614     _pre_call_callback("glDepthFunc", (void*)glDepthFunc, 1, arg0);
   2615      glad_glDepthFunc(arg0);
   2616     _post_call_callback("glDepthFunc", (void*)glDepthFunc, 1, arg0);
   2617     
   2618 }
   2619 PFNGLDEPTHFUNCPROC glad_debug_glDepthFunc = glad_debug_impl_glDepthFunc;
   2620 PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D;
   2621 void APIENTRY glad_debug_impl_glCompressedTexSubImage2D(GLenum arg0, GLint arg1, GLint arg2, GLint arg3, GLsizei arg4, GLsizei arg5, GLenum arg6, GLsizei arg7, const void * arg8) {    
   2622     _pre_call_callback("glCompressedTexSubImage2D", (void*)glCompressedTexSubImage2D, 9, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
   2623      glad_glCompressedTexSubImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
   2624     _post_call_callback("glCompressedTexSubImage2D", (void*)glCompressedTexSubImage2D, 9, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
   2625     
   2626 }
   2627 PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_debug_glCompressedTexSubImage2D = glad_debug_impl_glCompressedTexSubImage2D;
   2628 PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv;
   2629 void APIENTRY glad_debug_impl_glVertexAttribI4bv(GLuint arg0, const GLbyte * arg1) {    
   2630     _pre_call_callback("glVertexAttribI4bv", (void*)glVertexAttribI4bv, 2, arg0, arg1);
   2631      glad_glVertexAttribI4bv(arg0, arg1);
   2632     _post_call_callback("glVertexAttribI4bv", (void*)glVertexAttribI4bv, 2, arg0, arg1);
   2633     
   2634 }
   2635 PFNGLVERTEXATTRIBI4BVPROC glad_debug_glVertexAttribI4bv = glad_debug_impl_glVertexAttribI4bv;
   2636 PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv;
   2637 void APIENTRY glad_debug_impl_glGetTexParameterfv(GLenum arg0, GLenum arg1, GLfloat * arg2) {    
   2638     _pre_call_callback("glGetTexParameterfv", (void*)glGetTexParameterfv, 3, arg0, arg1, arg2);
   2639      glad_glGetTexParameterfv(arg0, arg1, arg2);
   2640     _post_call_callback("glGetTexParameterfv", (void*)glGetTexParameterfv, 3, arg0, arg1, arg2);
   2641     
   2642 }
   2643 PFNGLGETTEXPARAMETERFVPROC glad_debug_glGetTexParameterfv = glad_debug_impl_glGetTexParameterfv;
   2644 PFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui;
   2645 void APIENTRY glad_debug_impl_glMultiTexCoordP1ui(GLenum arg0, GLenum arg1, GLuint arg2) {    
   2646     _pre_call_callback("glMultiTexCoordP1ui", (void*)glMultiTexCoordP1ui, 3, arg0, arg1, arg2);
   2647      glad_glMultiTexCoordP1ui(arg0, arg1, arg2);
   2648     _post_call_callback("glMultiTexCoordP1ui", (void*)glMultiTexCoordP1ui, 3, arg0, arg1, arg2);
   2649     
   2650 }
   2651 PFNGLMULTITEXCOORDP1UIPROC glad_debug_glMultiTexCoordP1ui = glad_debug_impl_glMultiTexCoordP1ui;
   2652 PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync;
   2653 GLenum APIENTRY glad_debug_impl_glClientWaitSync(GLsync arg0, GLbitfield arg1, GLuint64 arg2) {    
   2654     GLenum ret;
   2655     _pre_call_callback("glClientWaitSync", (void*)glClientWaitSync, 3, arg0, arg1, arg2);
   2656     ret =  glad_glClientWaitSync(arg0, arg1, arg2);
   2657     _post_call_callback("glClientWaitSync", (void*)glClientWaitSync, 3, arg0, arg1, arg2);
   2658     return ret;
   2659 }
   2660 PFNGLCLIENTWAITSYNCPROC glad_debug_glClientWaitSync = glad_debug_impl_glClientWaitSync;
   2661 PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui;
   2662 void APIENTRY glad_debug_impl_glVertexAttribI4ui(GLuint arg0, GLuint arg1, GLuint arg2, GLuint arg3, GLuint arg4) {    
   2663     _pre_call_callback("glVertexAttribI4ui", (void*)glVertexAttribI4ui, 5, arg0, arg1, arg2, arg3, arg4);
   2664      glad_glVertexAttribI4ui(arg0, arg1, arg2, arg3, arg4);
   2665     _post_call_callback("glVertexAttribI4ui", (void*)glVertexAttribI4ui, 5, arg0, arg1, arg2, arg3, arg4);
   2666     
   2667 }
   2668 PFNGLVERTEXATTRIBI4UIPROC glad_debug_glVertexAttribI4ui = glad_debug_impl_glVertexAttribI4ui;
   2669 PFNGLCOLORMASKPROC glad_glColorMask;
   2670 void APIENTRY glad_debug_impl_glColorMask(GLboolean arg0, GLboolean arg1, GLboolean arg2, GLboolean arg3) {    
   2671     _pre_call_callback("glColorMask", (void*)glColorMask, 4, arg0, arg1, arg2, arg3);
   2672      glad_glColorMask(arg0, arg1, arg2, arg3);
   2673     _post_call_callback("glColorMask", (void*)glColorMask, 4, arg0, arg1, arg2, arg3);
   2674     
   2675 }
   2676 PFNGLCOLORMASKPROC glad_debug_glColorMask = glad_debug_impl_glColorMask;
   2677 PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv;
   2678 void APIENTRY glad_debug_impl_glTexParameterIiv(GLenum arg0, GLenum arg1, const GLint * arg2) {    
   2679     _pre_call_callback("glTexParameterIiv", (void*)glTexParameterIiv, 3, arg0, arg1, arg2);
   2680      glad_glTexParameterIiv(arg0, arg1, arg2);
   2681     _post_call_callback("glTexParameterIiv", (void*)glTexParameterIiv, 3, arg0, arg1, arg2);
   2682     
   2683 }
   2684 PFNGLTEXPARAMETERIIVPROC glad_debug_glTexParameterIiv = glad_debug_impl_glTexParameterIiv;
   2685 PFNGLBLENDEQUATIONPROC glad_glBlendEquation;
   2686 void APIENTRY glad_debug_impl_glBlendEquation(GLenum arg0) {    
   2687     _pre_call_callback("glBlendEquation", (void*)glBlendEquation, 1, arg0);
   2688      glad_glBlendEquation(arg0);
   2689     _post_call_callback("glBlendEquation", (void*)glBlendEquation, 1, arg0);
   2690     
   2691 }
   2692 PFNGLBLENDEQUATIONPROC glad_debug_glBlendEquation = glad_debug_impl_glBlendEquation;
   2693 PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation;
   2694 GLint APIENTRY glad_debug_impl_glGetUniformLocation(GLuint arg0, const GLchar * arg1) {    
   2695     GLint ret;
   2696     _pre_call_callback("glGetUniformLocation", (void*)glGetUniformLocation, 2, arg0, arg1);
   2697     ret =  glad_glGetUniformLocation(arg0, arg1);
   2698     _post_call_callback("glGetUniformLocation", (void*)glGetUniformLocation, 2, arg0, arg1);
   2699     return ret;
   2700 }
   2701 PFNGLGETUNIFORMLOCATIONPROC glad_debug_glGetUniformLocation = glad_debug_impl_glGetUniformLocation;
   2702 PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback;
   2703 void APIENTRY glad_debug_impl_glEndTransformFeedback(void) {    
   2704     _pre_call_callback("glEndTransformFeedback", (void*)glEndTransformFeedback, 0);
   2705      glad_glEndTransformFeedback();
   2706     _post_call_callback("glEndTransformFeedback", (void*)glEndTransformFeedback, 0);
   2707     
   2708 }
   2709 PFNGLENDTRANSFORMFEEDBACKPROC glad_debug_glEndTransformFeedback = glad_debug_impl_glEndTransformFeedback;
   2710 PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv;
   2711 void APIENTRY glad_debug_impl_glVertexAttrib4usv(GLuint arg0, const GLushort * arg1) {    
   2712     _pre_call_callback("glVertexAttrib4usv", (void*)glVertexAttrib4usv, 2, arg0, arg1);
   2713      glad_glVertexAttrib4usv(arg0, arg1);
   2714     _post_call_callback("glVertexAttrib4usv", (void*)glVertexAttrib4usv, 2, arg0, arg1);
   2715     
   2716 }
   2717 PFNGLVERTEXATTRIB4USVPROC glad_debug_glVertexAttrib4usv = glad_debug_impl_glVertexAttrib4usv;
   2718 PFNGLUNIFORM4FVPROC glad_glUniform4fv;
   2719 void APIENTRY glad_debug_impl_glUniform4fv(GLint arg0, GLsizei arg1, const GLfloat * arg2) {    
   2720     _pre_call_callback("glUniform4fv", (void*)glUniform4fv, 3, arg0, arg1, arg2);
   2721      glad_glUniform4fv(arg0, arg1, arg2);
   2722     _post_call_callback("glUniform4fv", (void*)glUniform4fv, 3, arg0, arg1, arg2);
   2723     
   2724 }
   2725 PFNGLUNIFORM4FVPROC glad_debug_glUniform4fv = glad_debug_impl_glUniform4fv;
   2726 PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback;
   2727 void APIENTRY glad_debug_impl_glBeginTransformFeedback(GLenum arg0) {    
   2728     _pre_call_callback("glBeginTransformFeedback", (void*)glBeginTransformFeedback, 1, arg0);
   2729      glad_glBeginTransformFeedback(arg0);
   2730     _post_call_callback("glBeginTransformFeedback", (void*)glBeginTransformFeedback, 1, arg0);
   2731     
   2732 }
   2733 PFNGLBEGINTRANSFORMFEEDBACKPROC glad_debug_glBeginTransformFeedback = glad_debug_impl_glBeginTransformFeedback;
   2734 PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv;
   2735 void APIENTRY glad_debug_impl_glVertexAttribI1iv(GLuint arg0, const GLint * arg1) {    
   2736     _pre_call_callback("glVertexAttribI1iv", (void*)glVertexAttribI1iv, 2, arg0, arg1);
   2737      glad_glVertexAttribI1iv(arg0, arg1);
   2738     _post_call_callback("glVertexAttribI1iv", (void*)glVertexAttribI1iv, 2, arg0, arg1);
   2739     
   2740 }
   2741 PFNGLVERTEXATTRIBI1IVPROC glad_debug_glVertexAttribI1iv = glad_debug_impl_glVertexAttribI1iv;
   2742 PFNGLISSAMPLERPROC glad_glIsSampler;
   2743 GLboolean APIENTRY glad_debug_impl_glIsSampler(GLuint arg0) {    
   2744     GLboolean ret;
   2745     _pre_call_callback("glIsSampler", (void*)glIsSampler, 1, arg0);
   2746     ret =  glad_glIsSampler(arg0);
   2747     _post_call_callback("glIsSampler", (void*)glIsSampler, 1, arg0);
   2748     return ret;
   2749 }
   2750 PFNGLISSAMPLERPROC glad_debug_glIsSampler = glad_debug_impl_glIsSampler;
   2751 PFNGLVERTEXP3UIPROC glad_glVertexP3ui;
   2752 void APIENTRY glad_debug_impl_glVertexP3ui(GLenum arg0, GLuint arg1) {    
   2753     _pre_call_callback("glVertexP3ui", (void*)glVertexP3ui, 2, arg0, arg1);
   2754      glad_glVertexP3ui(arg0, arg1);
   2755     _post_call_callback("glVertexP3ui", (void*)glVertexP3ui, 2, arg0, arg1);
   2756     
   2757 }
   2758 PFNGLVERTEXP3UIPROC glad_debug_glVertexP3ui = glad_debug_impl_glVertexP3ui;
   2759 PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor;
   2760 void APIENTRY glad_debug_impl_glVertexAttribDivisor(GLuint arg0, GLuint arg1) {    
   2761     _pre_call_callback("glVertexAttribDivisor", (void*)glVertexAttribDivisor, 2, arg0, arg1);
   2762      glad_glVertexAttribDivisor(arg0, arg1);
   2763     _post_call_callback("glVertexAttribDivisor", (void*)glVertexAttribDivisor, 2, arg0, arg1);
   2764     
   2765 }
   2766 PFNGLVERTEXATTRIBDIVISORPROC glad_debug_glVertexAttribDivisor = glad_debug_impl_glVertexAttribDivisor;
   2767 PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D;
   2768 void APIENTRY glad_debug_impl_glCompressedTexImage1D(GLenum arg0, GLint arg1, GLenum arg2, GLsizei arg3, GLint arg4, GLsizei arg5, const void * arg6) {    
   2769     _pre_call_callback("glCompressedTexImage1D", (void*)glCompressedTexImage1D, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
   2770      glad_glCompressedTexImage1D(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
   2771     _post_call_callback("glCompressedTexImage1D", (void*)glCompressedTexImage1D, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
   2772     
   2773 }
   2774 PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_debug_glCompressedTexImage1D = glad_debug_impl_glCompressedTexImage1D;
   2775 PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D;
   2776 void APIENTRY glad_debug_impl_glCopyTexSubImage1D(GLenum arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4, GLsizei arg5) {    
   2777     _pre_call_callback("glCopyTexSubImage1D", (void*)glCopyTexSubImage1D, 6, arg0, arg1, arg2, arg3, arg4, arg5);
   2778      glad_glCopyTexSubImage1D(arg0, arg1, arg2, arg3, arg4, arg5);
   2779     _post_call_callback("glCopyTexSubImage1D", (void*)glCopyTexSubImage1D, 6, arg0, arg1, arg2, arg3, arg4, arg5);
   2780     
   2781 }
   2782 PFNGLCOPYTEXSUBIMAGE1DPROC glad_debug_glCopyTexSubImage1D = glad_debug_impl_glCopyTexSubImage1D;
   2783 PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex;
   2784 void APIENTRY glad_debug_impl_glDrawRangeElementsBaseVertex(GLenum arg0, GLuint arg1, GLuint arg2, GLsizei arg3, GLenum arg4, const void * arg5, GLint arg6) {    
   2785     _pre_call_callback("glDrawRangeElementsBaseVertex", (void*)glDrawRangeElementsBaseVertex, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
   2786      glad_glDrawRangeElementsBaseVertex(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
   2787     _post_call_callback("glDrawRangeElementsBaseVertex", (void*)glDrawRangeElementsBaseVertex, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
   2788     
   2789 }
   2790 PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_debug_glDrawRangeElementsBaseVertex = glad_debug_impl_glDrawRangeElementsBaseVertex;
   2791 PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus;
   2792 GLenum APIENTRY glad_debug_impl_glCheckFramebufferStatus(GLenum arg0) {    
   2793     GLenum ret;
   2794     _pre_call_callback("glCheckFramebufferStatus", (void*)glCheckFramebufferStatus, 1, arg0);
   2795     ret =  glad_glCheckFramebufferStatus(arg0);
   2796     _post_call_callback("glCheckFramebufferStatus", (void*)glCheckFramebufferStatus, 1, arg0);
   2797     return ret;
   2798 }
   2799 PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_debug_glCheckFramebufferStatus = glad_debug_impl_glCheckFramebufferStatus;
   2800 PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender;
   2801 void APIENTRY glad_debug_impl_glEndConditionalRender(void) {    
   2802     _pre_call_callback("glEndConditionalRender", (void*)glEndConditionalRender, 0);
   2803      glad_glEndConditionalRender();
   2804     _post_call_callback("glEndConditionalRender", (void*)glEndConditionalRender, 0);
   2805     
   2806 }
   2807 PFNGLENDCONDITIONALRENDERPROC glad_debug_glEndConditionalRender = glad_debug_impl_glEndConditionalRender;
   2808 PFNGLVERTEXP3UIVPROC glad_glVertexP3uiv;
   2809 void APIENTRY glad_debug_impl_glVertexP3uiv(GLenum arg0, const GLuint * arg1) {    
   2810     _pre_call_callback("glVertexP3uiv", (void*)glVertexP3uiv, 2, arg0, arg1);
   2811      glad_glVertexP3uiv(arg0, arg1);
   2812     _post_call_callback("glVertexP3uiv", (void*)glVertexP3uiv, 2, arg0, arg1);
   2813     
   2814 }
   2815 PFNGLVERTEXP3UIVPROC glad_debug_glVertexP3uiv = glad_debug_impl_glVertexP3uiv;
   2816 PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation;
   2817 void APIENTRY glad_debug_impl_glBindAttribLocation(GLuint arg0, GLuint arg1, const GLchar * arg2) {    
   2818     _pre_call_callback("glBindAttribLocation", (void*)glBindAttribLocation, 3, arg0, arg1, arg2);
   2819      glad_glBindAttribLocation(arg0, arg1, arg2);
   2820     _post_call_callback("glBindAttribLocation", (void*)glBindAttribLocation, 3, arg0, arg1, arg2);
   2821     
   2822 }
   2823 PFNGLBINDATTRIBLOCATIONPROC glad_debug_glBindAttribLocation = glad_debug_impl_glBindAttribLocation;
   2824 PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv;
   2825 void APIENTRY glad_debug_impl_glUniformMatrix4x2fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat * arg3) {    
   2826     _pre_call_callback("glUniformMatrix4x2fv", (void*)glUniformMatrix4x2fv, 4, arg0, arg1, arg2, arg3);
   2827      glad_glUniformMatrix4x2fv(arg0, arg1, arg2, arg3);
   2828     _post_call_callback("glUniformMatrix4x2fv", (void*)glUniformMatrix4x2fv, 4, arg0, arg1, arg2, arg3);
   2829     
   2830 }
   2831 PFNGLUNIFORMMATRIX4X2FVPROC glad_debug_glUniformMatrix4x2fv = glad_debug_impl_glUniformMatrix4x2fv;
   2832 PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv;
   2833 void APIENTRY glad_debug_impl_glVertexAttrib1dv(GLuint arg0, const GLdouble * arg1) {    
   2834     _pre_call_callback("glVertexAttrib1dv", (void*)glVertexAttrib1dv, 2, arg0, arg1);
   2835      glad_glVertexAttrib1dv(arg0, arg1);
   2836     _post_call_callback("glVertexAttrib1dv", (void*)glVertexAttrib1dv, 2, arg0, arg1);
   2837     
   2838 }
   2839 PFNGLVERTEXATTRIB1DVPROC glad_debug_glVertexAttrib1dv = glad_debug_impl_glVertexAttrib1dv;
   2840 PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements;
   2841 void APIENTRY glad_debug_impl_glDrawRangeElements(GLenum arg0, GLuint arg1, GLuint arg2, GLsizei arg3, GLenum arg4, const void * arg5) {    
   2842     _pre_call_callback("glDrawRangeElements", (void*)glDrawRangeElements, 6, arg0, arg1, arg2, arg3, arg4, arg5);
   2843      glad_glDrawRangeElements(arg0, arg1, arg2, arg3, arg4, arg5);
   2844     _post_call_callback("glDrawRangeElements", (void*)glDrawRangeElements, 6, arg0, arg1, arg2, arg3, arg4, arg5);
   2845     
   2846 }
   2847 PFNGLDRAWRANGEELEMENTSPROC glad_debug_glDrawRangeElements = glad_debug_impl_glDrawRangeElements;
   2848 PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv;
   2849 void APIENTRY glad_debug_impl_glGetQueryObjectuiv(GLuint arg0, GLenum arg1, GLuint * arg2) {    
   2850     _pre_call_callback("glGetQueryObjectuiv", (void*)glGetQueryObjectuiv, 3, arg0, arg1, arg2);
   2851      glad_glGetQueryObjectuiv(arg0, arg1, arg2);
   2852     _post_call_callback("glGetQueryObjectuiv", (void*)glGetQueryObjectuiv, 3, arg0, arg1, arg2);
   2853     
   2854 }
   2855 PFNGLGETQUERYOBJECTUIVPROC glad_debug_glGetQueryObjectuiv = glad_debug_impl_glGetQueryObjectuiv;
   2856 PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase;
   2857 void APIENTRY glad_debug_impl_glBindBufferBase(GLenum arg0, GLuint arg1, GLuint arg2) {    
   2858     _pre_call_callback("glBindBufferBase", (void*)glBindBufferBase, 3, arg0, arg1, arg2);
   2859      glad_glBindBufferBase(arg0, arg1, arg2);
   2860     _post_call_callback("glBindBufferBase", (void*)glBindBufferBase, 3, arg0, arg1, arg2);
   2861     
   2862 }
   2863 PFNGLBINDBUFFERBASEPROC glad_debug_glBindBufferBase = glad_debug_impl_glBindBufferBase;
   2864 PFNGLBUFFERSUBDATAPROC glad_glBufferSubData;
   2865 void APIENTRY glad_debug_impl_glBufferSubData(GLenum arg0, GLintptr arg1, GLsizeiptr arg2, const void * arg3) {    
   2866     _pre_call_callback("glBufferSubData", (void*)glBufferSubData, 4, arg0, arg1, arg2, arg3);
   2867      glad_glBufferSubData(arg0, arg1, arg2, arg3);
   2868     _post_call_callback("glBufferSubData", (void*)glBufferSubData, 4, arg0, arg1, arg2, arg3);
   2869     
   2870 }
   2871 PFNGLBUFFERSUBDATAPROC glad_debug_glBufferSubData = glad_debug_impl_glBufferSubData;
   2872 PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv;
   2873 void APIENTRY glad_debug_impl_glVertexAttrib4iv(GLuint arg0, const GLint * arg1) {    
   2874     _pre_call_callback("glVertexAttrib4iv", (void*)glVertexAttrib4iv, 2, arg0, arg1);
   2875      glad_glVertexAttrib4iv(arg0, arg1);
   2876     _post_call_callback("glVertexAttrib4iv", (void*)glVertexAttrib4iv, 2, arg0, arg1);
   2877     
   2878 }
   2879 PFNGLVERTEXATTRIB4IVPROC glad_debug_glVertexAttrib4iv = glad_debug_impl_glVertexAttrib4iv;
   2880 PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange;
   2881 void * APIENTRY glad_debug_impl_glMapBufferRange(GLenum arg0, GLintptr arg1, GLsizeiptr arg2, GLbitfield arg3) {    
   2882     void * ret;
   2883     _pre_call_callback("glMapBufferRange", (void*)glMapBufferRange, 4, arg0, arg1, arg2, arg3);
   2884     ret =  glad_glMapBufferRange(arg0, arg1, arg2, arg3);
   2885     _post_call_callback("glMapBufferRange", (void*)glMapBufferRange, 4, arg0, arg1, arg2, arg3);
   2886     return ret;
   2887 }
   2888 PFNGLMAPBUFFERRANGEPROC glad_debug_glMapBufferRange = glad_debug_impl_glMapBufferRange;
   2889 PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture;
   2890 void APIENTRY glad_debug_impl_glFramebufferTexture(GLenum arg0, GLenum arg1, GLuint arg2, GLint arg3) {    
   2891     _pre_call_callback("glFramebufferTexture", (void*)glFramebufferTexture, 4, arg0, arg1, arg2, arg3);
   2892      glad_glFramebufferTexture(arg0, arg1, arg2, arg3);
   2893     _post_call_callback("glFramebufferTexture", (void*)glFramebufferTexture, 4, arg0, arg1, arg2, arg3);
   2894     
   2895 }
   2896 PFNGLFRAMEBUFFERTEXTUREPROC glad_debug_glFramebufferTexture = glad_debug_impl_glFramebufferTexture;
   2897 PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays;
   2898 void APIENTRY glad_debug_impl_glMultiDrawArrays(GLenum arg0, const GLint * arg1, const GLsizei * arg2, GLsizei arg3) {    
   2899     _pre_call_callback("glMultiDrawArrays", (void*)glMultiDrawArrays, 4, arg0, arg1, arg2, arg3);
   2900      glad_glMultiDrawArrays(arg0, arg1, arg2, arg3);
   2901     _post_call_callback("glMultiDrawArrays", (void*)glMultiDrawArrays, 4, arg0, arg1, arg2, arg3);
   2902     
   2903 }
   2904 PFNGLMULTIDRAWARRAYSPROC glad_debug_glMultiDrawArrays = glad_debug_impl_glMultiDrawArrays;
   2905 PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv;
   2906 void APIENTRY glad_debug_impl_glVertexP4uiv(GLenum arg0, const GLuint * arg1) {    
   2907     _pre_call_callback("glVertexP4uiv", (void*)glVertexP4uiv, 2, arg0, arg1);
   2908      glad_glVertexP4uiv(arg0, arg1);
   2909     _post_call_callback("glVertexP4uiv", (void*)glVertexP4uiv, 2, arg0, arg1);
   2910     
   2911 }
   2912 PFNGLVERTEXP4UIVPROC glad_debug_glVertexP4uiv = glad_debug_impl_glVertexP4uiv;
   2913 PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv;
   2914 void APIENTRY glad_debug_impl_glVertexAttribI2iv(GLuint arg0, const GLint * arg1) {    
   2915     _pre_call_callback("glVertexAttribI2iv", (void*)glVertexAttribI2iv, 2, arg0, arg1);
   2916      glad_glVertexAttribI2iv(arg0, arg1);
   2917     _post_call_callback("glVertexAttribI2iv", (void*)glVertexAttribI2iv, 2, arg0, arg1);
   2918     
   2919 }
   2920 PFNGLVERTEXATTRIBI2IVPROC glad_debug_glVertexAttribI2iv = glad_debug_impl_glVertexAttribI2iv;
   2921 PFNGLDISABLEIPROC glad_glDisablei;
   2922 void APIENTRY glad_debug_impl_glDisablei(GLenum arg0, GLuint arg1) {    
   2923     _pre_call_callback("glDisablei", (void*)glDisablei, 2, arg0, arg1);
   2924      glad_glDisablei(arg0, arg1);
   2925     _post_call_callback("glDisablei", (void*)glDisablei, 2, arg0, arg1);
   2926     
   2927 }
   2928 PFNGLDISABLEIPROC glad_debug_glDisablei = glad_debug_impl_glDisablei;
   2929 PFNGLSHADERSOURCEPROC glad_glShaderSource;
   2930 void APIENTRY glad_debug_impl_glShaderSource(GLuint arg0, GLsizei arg1, const GLchar *const* arg2, const GLint * arg3) {    
   2931     _pre_call_callback("glShaderSource", (void*)glShaderSource, 4, arg0, arg1, arg2, arg3);
   2932      glad_glShaderSource(arg0, arg1, arg2, arg3);
   2933     _post_call_callback("glShaderSource", (void*)glShaderSource, 4, arg0, arg1, arg2, arg3);
   2934     
   2935 }
   2936 PFNGLSHADERSOURCEPROC glad_debug_glShaderSource = glad_debug_impl_glShaderSource;
   2937 PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers;
   2938 void APIENTRY glad_debug_impl_glDeleteRenderbuffers(GLsizei arg0, const GLuint * arg1) {    
   2939     _pre_call_callback("glDeleteRenderbuffers", (void*)glDeleteRenderbuffers, 2, arg0, arg1);
   2940      glad_glDeleteRenderbuffers(arg0, arg1);
   2941     _post_call_callback("glDeleteRenderbuffers", (void*)glDeleteRenderbuffers, 2, arg0, arg1);
   2942     
   2943 }
   2944 PFNGLDELETERENDERBUFFERSPROC glad_debug_glDeleteRenderbuffers = glad_debug_impl_glDeleteRenderbuffers;
   2945 PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv;
   2946 void APIENTRY glad_debug_impl_glVertexAttribI3uiv(GLuint arg0, const GLuint * arg1) {    
   2947     _pre_call_callback("glVertexAttribI3uiv", (void*)glVertexAttribI3uiv, 2, arg0, arg1);
   2948      glad_glVertexAttribI3uiv(arg0, arg1);
   2949     _post_call_callback("glVertexAttribI3uiv", (void*)glVertexAttribI3uiv, 2, arg0, arg1);
   2950     
   2951 }
   2952 PFNGLVERTEXATTRIBI3UIVPROC glad_debug_glVertexAttribI3uiv = glad_debug_impl_glVertexAttribI3uiv;
   2953 PFNGLGETSYNCIVPROC glad_glGetSynciv;
   2954 void APIENTRY glad_debug_impl_glGetSynciv(GLsync arg0, GLenum arg1, GLsizei arg2, GLsizei * arg3, GLint * arg4) {    
   2955     _pre_call_callback("glGetSynciv", (void*)glGetSynciv, 5, arg0, arg1, arg2, arg3, arg4);
   2956      glad_glGetSynciv(arg0, arg1, arg2, arg3, arg4);
   2957     _post_call_callback("glGetSynciv", (void*)glGetSynciv, 5, arg0, arg1, arg2, arg3, arg4);
   2958     
   2959 }
   2960 PFNGLGETSYNCIVPROC glad_debug_glGetSynciv = glad_debug_impl_glGetSynciv;
   2961 PFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv;
   2962 void APIENTRY glad_debug_impl_glTexCoordP2uiv(GLenum arg0, const GLuint * arg1) {    
   2963     _pre_call_callback("glTexCoordP2uiv", (void*)glTexCoordP2uiv, 2, arg0, arg1);
   2964      glad_glTexCoordP2uiv(arg0, arg1);
   2965     _post_call_callback("glTexCoordP2uiv", (void*)glTexCoordP2uiv, 2, arg0, arg1);
   2966     
   2967 }
   2968 PFNGLTEXCOORDP2UIVPROC glad_debug_glTexCoordP2uiv = glad_debug_impl_glTexCoordP2uiv;
   2969 PFNGLBEGINQUERYPROC glad_glBeginQuery;
   2970 void APIENTRY glad_debug_impl_glBeginQuery(GLenum arg0, GLuint arg1) {    
   2971     _pre_call_callback("glBeginQuery", (void*)glBeginQuery, 2, arg0, arg1);
   2972      glad_glBeginQuery(arg0, arg1);
   2973     _post_call_callback("glBeginQuery", (void*)glBeginQuery, 2, arg0, arg1);
   2974     
   2975 }
   2976 PFNGLBEGINQUERYPROC glad_debug_glBeginQuery = glad_debug_impl_glBeginQuery;
   2977 PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv;
   2978 void APIENTRY glad_debug_impl_glUniformMatrix4fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat * arg3) {    
   2979     _pre_call_callback("glUniformMatrix4fv", (void*)glUniformMatrix4fv, 4, arg0, arg1, arg2, arg3);
   2980      glad_glUniformMatrix4fv(arg0, arg1, arg2, arg3);
   2981     _post_call_callback("glUniformMatrix4fv", (void*)glUniformMatrix4fv, 4, arg0, arg1, arg2, arg3);
   2982     
   2983 }
   2984 PFNGLUNIFORMMATRIX4FVPROC glad_debug_glUniformMatrix4fv = glad_debug_impl_glUniformMatrix4fv;
   2985 PFNGLBINDBUFFERPROC glad_glBindBuffer;
   2986 void APIENTRY glad_debug_impl_glBindBuffer(GLenum arg0, GLuint arg1) {    
   2987     _pre_call_callback("glBindBuffer", (void*)glBindBuffer, 2, arg0, arg1);
   2988      glad_glBindBuffer(arg0, arg1);
   2989     _post_call_callback("glBindBuffer", (void*)glBindBuffer, 2, arg0, arg1);
   2990     
   2991 }
   2992 PFNGLBINDBUFFERPROC glad_debug_glBindBuffer = glad_debug_impl_glBindBuffer;
   2993 PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv;
   2994 void APIENTRY glad_debug_impl_glUniformMatrix2fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat * arg3) {    
   2995     _pre_call_callback("glUniformMatrix2fv", (void*)glUniformMatrix2fv, 4, arg0, arg1, arg2, arg3);
   2996      glad_glUniformMatrix2fv(arg0, arg1, arg2, arg3);
   2997     _post_call_callback("glUniformMatrix2fv", (void*)glUniformMatrix2fv, 4, arg0, arg1, arg2, arg3);
   2998     
   2999 }
   3000 PFNGLUNIFORMMATRIX2FVPROC glad_debug_glUniformMatrix2fv = glad_debug_impl_glUniformMatrix2fv;
   3001 PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv;
   3002 void APIENTRY glad_debug_impl_glUniformMatrix2x4fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat * arg3) {    
   3003     _pre_call_callback("glUniformMatrix2x4fv", (void*)glUniformMatrix2x4fv, 4, arg0, arg1, arg2, arg3);
   3004      glad_glUniformMatrix2x4fv(arg0, arg1, arg2, arg3);
   3005     _post_call_callback("glUniformMatrix2x4fv", (void*)glUniformMatrix2x4fv, 4, arg0, arg1, arg2, arg3);
   3006     
   3007 }
   3008 PFNGLUNIFORMMATRIX2X4FVPROC glad_debug_glUniformMatrix2x4fv = glad_debug_impl_glUniformMatrix2x4fv;
   3009 PFNGLBUFFERDATAPROC glad_glBufferData;
   3010 void APIENTRY glad_debug_impl_glBufferData(GLenum arg0, GLsizeiptr arg1, const void * arg2, GLenum arg3) {    
   3011     _pre_call_callback("glBufferData", (void*)glBufferData, 4, arg0, arg1, arg2, arg3);
   3012      glad_glBufferData(arg0, arg1, arg2, arg3);
   3013     _post_call_callback("glBufferData", (void*)glBufferData, 4, arg0, arg1, arg2, arg3);
   3014     
   3015 }
   3016 PFNGLBUFFERDATAPROC glad_debug_glBufferData = glad_debug_impl_glBufferData;
   3017 PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv;
   3018 void APIENTRY glad_debug_impl_glGetTexParameterIiv(GLenum arg0, GLenum arg1, GLint * arg2) {    
   3019     _pre_call_callback("glGetTexParameterIiv", (void*)glGetTexParameterIiv, 3, arg0, arg1, arg2);
   3020      glad_glGetTexParameterIiv(arg0, arg1, arg2);
   3021     _post_call_callback("glGetTexParameterIiv", (void*)glGetTexParameterIiv, 3, arg0, arg1, arg2);
   3022     
   3023 }
   3024 PFNGLGETTEXPARAMETERIIVPROC glad_debug_glGetTexParameterIiv = glad_debug_impl_glGetTexParameterIiv;
   3025 PFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui;
   3026 void APIENTRY glad_debug_impl_glTexCoordP1ui(GLenum arg0, GLuint arg1) {    
   3027     _pre_call_callback("glTexCoordP1ui", (void*)glTexCoordP1ui, 2, arg0, arg1);
   3028      glad_glTexCoordP1ui(arg0, arg1);
   3029     _post_call_callback("glTexCoordP1ui", (void*)glTexCoordP1ui, 2, arg0, arg1);
   3030     
   3031 }
   3032 PFNGLTEXCOORDP1UIPROC glad_debug_glTexCoordP1ui = glad_debug_impl_glTexCoordP1ui;
   3033 PFNGLGETERRORPROC glad_glGetError;
   3034 GLenum APIENTRY glad_debug_impl_glGetError(void) {    
   3035     GLenum ret;
   3036     _pre_call_callback("glGetError", (void*)glGetError, 0);
   3037     ret =  glad_glGetError();
   3038     _post_call_callback("glGetError", (void*)glGetError, 0);
   3039     return ret;
   3040 }
   3041 PFNGLGETERRORPROC glad_debug_glGetError = glad_debug_impl_glGetError;
   3042 PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui;
   3043 void APIENTRY glad_debug_impl_glVertexAttribP2ui(GLuint arg0, GLenum arg1, GLboolean arg2, GLuint arg3) {    
   3044     _pre_call_callback("glVertexAttribP2ui", (void*)glVertexAttribP2ui, 4, arg0, arg1, arg2, arg3);
   3045      glad_glVertexAttribP2ui(arg0, arg1, arg2, arg3);
   3046     _post_call_callback("glVertexAttribP2ui", (void*)glVertexAttribP2ui, 4, arg0, arg1, arg2, arg3);
   3047     
   3048 }
   3049 PFNGLVERTEXATTRIBP2UIPROC glad_debug_glVertexAttribP2ui = glad_debug_impl_glVertexAttribP2ui;
   3050 PFNGLGETFLOATVPROC glad_glGetFloatv;
   3051 void APIENTRY glad_debug_impl_glGetFloatv(GLenum arg0, GLfloat * arg1) {    
   3052     _pre_call_callback("glGetFloatv", (void*)glGetFloatv, 2, arg0, arg1);
   3053      glad_glGetFloatv(arg0, arg1);
   3054     _post_call_callback("glGetFloatv", (void*)glGetFloatv, 2, arg0, arg1);
   3055     
   3056 }
   3057 PFNGLGETFLOATVPROC glad_debug_glGetFloatv = glad_debug_impl_glGetFloatv;
   3058 PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D;
   3059 void APIENTRY glad_debug_impl_glTexSubImage1D(GLenum arg0, GLint arg1, GLint arg2, GLsizei arg3, GLenum arg4, GLenum arg5, const void * arg6) {    
   3060     _pre_call_callback("glTexSubImage1D", (void*)glTexSubImage1D, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
   3061      glad_glTexSubImage1D(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
   3062     _post_call_callback("glTexSubImage1D", (void*)glTexSubImage1D, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
   3063     
   3064 }
   3065 PFNGLTEXSUBIMAGE1DPROC glad_debug_glTexSubImage1D = glad_debug_impl_glTexSubImage1D;
   3066 PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv;
   3067 void APIENTRY glad_debug_impl_glVertexAttrib2fv(GLuint arg0, const GLfloat * arg1) {    
   3068     _pre_call_callback("glVertexAttrib2fv", (void*)glVertexAttrib2fv, 2, arg0, arg1);
   3069      glad_glVertexAttrib2fv(arg0, arg1);
   3070     _post_call_callback("glVertexAttrib2fv", (void*)glVertexAttrib2fv, 2, arg0, arg1);
   3071     
   3072 }
   3073 PFNGLVERTEXATTRIB2FVPROC glad_debug_glVertexAttrib2fv = glad_debug_impl_glVertexAttrib2fv;
   3074 PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv;
   3075 void APIENTRY glad_debug_impl_glGetTexLevelParameterfv(GLenum arg0, GLint arg1, GLenum arg2, GLfloat * arg3) {    
   3076     _pre_call_callback("glGetTexLevelParameterfv", (void*)glGetTexLevelParameterfv, 4, arg0, arg1, arg2, arg3);
   3077      glad_glGetTexLevelParameterfv(arg0, arg1, arg2, arg3);
   3078     _post_call_callback("glGetTexLevelParameterfv", (void*)glGetTexLevelParameterfv, 4, arg0, arg1, arg2, arg3);
   3079     
   3080 }
   3081 PFNGLGETTEXLEVELPARAMETERFVPROC glad_debug_glGetTexLevelParameterfv = glad_debug_impl_glGetTexLevelParameterfv;
   3082 PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i;
   3083 void APIENTRY glad_debug_impl_glVertexAttribI1i(GLuint arg0, GLint arg1) {    
   3084     _pre_call_callback("glVertexAttribI1i", (void*)glVertexAttribI1i, 2, arg0, arg1);
   3085      glad_glVertexAttribI1i(arg0, arg1);
   3086     _post_call_callback("glVertexAttribI1i", (void*)glVertexAttribI1i, 2, arg0, arg1);
   3087     
   3088 }
   3089 PFNGLVERTEXATTRIBI1IPROC glad_debug_glVertexAttribI1i = glad_debug_impl_glVertexAttribI1i;
   3090 PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv;
   3091 void APIENTRY glad_debug_impl_glVertexAttribP3uiv(GLuint arg0, GLenum arg1, GLboolean arg2, const GLuint * arg3) {    
   3092     _pre_call_callback("glVertexAttribP3uiv", (void*)glVertexAttribP3uiv, 4, arg0, arg1, arg2, arg3);
   3093      glad_glVertexAttribP3uiv(arg0, arg1, arg2, arg3);
   3094     _post_call_callback("glVertexAttribP3uiv", (void*)glVertexAttribP3uiv, 4, arg0, arg1, arg2, arg3);
   3095     
   3096 }
   3097 PFNGLVERTEXATTRIBP3UIVPROC glad_debug_glVertexAttribP3uiv = glad_debug_impl_glVertexAttribP3uiv;
   3098 PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv;
   3099 void APIENTRY glad_debug_impl_glSecondaryColorP3uiv(GLenum arg0, const GLuint * arg1) {    
   3100     _pre_call_callback("glSecondaryColorP3uiv", (void*)glSecondaryColorP3uiv, 2, arg0, arg1);
   3101      glad_glSecondaryColorP3uiv(arg0, arg1);
   3102     _post_call_callback("glSecondaryColorP3uiv", (void*)glSecondaryColorP3uiv, 2, arg0, arg1);
   3103     
   3104 }
   3105 PFNGLSECONDARYCOLORP3UIVPROC glad_debug_glSecondaryColorP3uiv = glad_debug_impl_glSecondaryColorP3uiv;
   3106 PFNGLGETINTEGERVPROC glad_glGetIntegerv;
   3107 void APIENTRY glad_debug_impl_glGetIntegerv(GLenum arg0, GLint * arg1) {    
   3108     _pre_call_callback("glGetIntegerv", (void*)glGetIntegerv, 2, arg0, arg1);
   3109      glad_glGetIntegerv(arg0, arg1);
   3110     _post_call_callback("glGetIntegerv", (void*)glGetIntegerv, 2, arg0, arg1);
   3111     
   3112 }
   3113 PFNGLGETINTEGERVPROC glad_debug_glGetIntegerv = glad_debug_impl_glGetIntegerv;
   3114 PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv;
   3115 void APIENTRY glad_debug_impl_glGetBufferPointerv(GLenum arg0, GLenum arg1, void ** arg2) {    
   3116     _pre_call_callback("glGetBufferPointerv", (void*)glGetBufferPointerv, 3, arg0, arg1, arg2);
   3117      glad_glGetBufferPointerv(arg0, arg1, arg2);
   3118     _post_call_callback("glGetBufferPointerv", (void*)glGetBufferPointerv, 3, arg0, arg1, arg2);
   3119     
   3120 }
   3121 PFNGLGETBUFFERPOINTERVPROC glad_debug_glGetBufferPointerv = glad_debug_impl_glGetBufferPointerv;
   3122 PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D;
   3123 void APIENTRY glad_debug_impl_glFramebufferTexture3D(GLenum arg0, GLenum arg1, GLenum arg2, GLuint arg3, GLint arg4, GLint arg5) {    
   3124     _pre_call_callback("glFramebufferTexture3D", (void*)glFramebufferTexture3D, 6, arg0, arg1, arg2, arg3, arg4, arg5);
   3125      glad_glFramebufferTexture3D(arg0, arg1, arg2, arg3, arg4, arg5);
   3126     _post_call_callback("glFramebufferTexture3D", (void*)glFramebufferTexture3D, 6, arg0, arg1, arg2, arg3, arg4, arg5);
   3127     
   3128 }
   3129 PFNGLFRAMEBUFFERTEXTURE3DPROC glad_debug_glFramebufferTexture3D = glad_debug_impl_glFramebufferTexture3D;
   3130 PFNGLISQUERYPROC glad_glIsQuery;
   3131 GLboolean APIENTRY glad_debug_impl_glIsQuery(GLuint arg0) {    
   3132     GLboolean ret;
   3133     _pre_call_callback("glIsQuery", (void*)glIsQuery, 1, arg0);
   3134     ret =  glad_glIsQuery(arg0);
   3135     _post_call_callback("glIsQuery", (void*)glIsQuery, 1, arg0);
   3136     return ret;
   3137 }
   3138 PFNGLISQUERYPROC glad_debug_glIsQuery = glad_debug_impl_glIsQuery;
   3139 PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv;
   3140 void APIENTRY glad_debug_impl_glVertexAttrib4sv(GLuint arg0, const GLshort * arg1) {    
   3141     _pre_call_callback("glVertexAttrib4sv", (void*)glVertexAttrib4sv, 2, arg0, arg1);
   3142      glad_glVertexAttrib4sv(arg0, arg1);
   3143     _post_call_callback("glVertexAttrib4sv", (void*)glVertexAttrib4sv, 2, arg0, arg1);
   3144     
   3145 }
   3146 PFNGLVERTEXATTRIB4SVPROC glad_debug_glVertexAttrib4sv = glad_debug_impl_glVertexAttrib4sv;
   3147 PFNGLTEXIMAGE2DPROC glad_glTexImage2D;
   3148 void APIENTRY glad_debug_impl_glTexImage2D(GLenum arg0, GLint arg1, GLint arg2, GLsizei arg3, GLsizei arg4, GLint arg5, GLenum arg6, GLenum arg7, const void * arg8) {    
   3149     _pre_call_callback("glTexImage2D", (void*)glTexImage2D, 9, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
   3150      glad_glTexImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
   3151     _post_call_callback("glTexImage2D", (void*)glTexImage2D, 9, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
   3152     
   3153 }
   3154 PFNGLTEXIMAGE2DPROC glad_debug_glTexImage2D = glad_debug_impl_glTexImage2D;
   3155 PFNGLSTENCILMASKPROC glad_glStencilMask;
   3156 void APIENTRY glad_debug_impl_glStencilMask(GLuint arg0) {    
   3157     _pre_call_callback("glStencilMask", (void*)glStencilMask, 1, arg0);
   3158      glad_glStencilMask(arg0);
   3159     _post_call_callback("glStencilMask", (void*)glStencilMask, 1, arg0);
   3160     
   3161 }
   3162 PFNGLSTENCILMASKPROC glad_debug_glStencilMask = glad_debug_impl_glStencilMask;
   3163 PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv;
   3164 void APIENTRY glad_debug_impl_glSamplerParameterfv(GLuint arg0, GLenum arg1, const GLfloat * arg2) {    
   3165     _pre_call_callback("glSamplerParameterfv", (void*)glSamplerParameterfv, 3, arg0, arg1, arg2);
   3166      glad_glSamplerParameterfv(arg0, arg1, arg2);
   3167     _post_call_callback("glSamplerParameterfv", (void*)glSamplerParameterfv, 3, arg0, arg1, arg2);
   3168     
   3169 }
   3170 PFNGLSAMPLERPARAMETERFVPROC glad_debug_glSamplerParameterfv = glad_debug_impl_glSamplerParameterfv;
   3171 PFNGLISTEXTUREPROC glad_glIsTexture;
   3172 GLboolean APIENTRY glad_debug_impl_glIsTexture(GLuint arg0) {    
   3173     GLboolean ret;
   3174     _pre_call_callback("glIsTexture", (void*)glIsTexture, 1, arg0);
   3175     ret =  glad_glIsTexture(arg0);
   3176     _post_call_callback("glIsTexture", (void*)glIsTexture, 1, arg0);
   3177     return ret;
   3178 }
   3179 PFNGLISTEXTUREPROC glad_debug_glIsTexture = glad_debug_impl_glIsTexture;
   3180 PFNGLUNIFORM1FVPROC glad_glUniform1fv;
   3181 void APIENTRY glad_debug_impl_glUniform1fv(GLint arg0, GLsizei arg1, const GLfloat * arg2) {    
   3182     _pre_call_callback("glUniform1fv", (void*)glUniform1fv, 3, arg0, arg1, arg2);
   3183      glad_glUniform1fv(arg0, arg1, arg2);
   3184     _post_call_callback("glUniform1fv", (void*)glUniform1fv, 3, arg0, arg1, arg2);
   3185     
   3186 }
   3187 PFNGLUNIFORM1FVPROC glad_debug_glUniform1fv = glad_debug_impl_glUniform1fv;
   3188 PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv;
   3189 void APIENTRY glad_debug_impl_glVertexAttrib4Nubv(GLuint arg0, const GLubyte * arg1) {    
   3190     _pre_call_callback("glVertexAttrib4Nubv", (void*)glVertexAttrib4Nubv, 2, arg0, arg1);
   3191      glad_glVertexAttrib4Nubv(arg0, arg1);
   3192     _post_call_callback("glVertexAttrib4Nubv", (void*)glVertexAttrib4Nubv, 2, arg0, arg1);
   3193     
   3194 }
   3195 PFNGLVERTEXATTRIB4NUBVPROC glad_debug_glVertexAttrib4Nubv = glad_debug_impl_glVertexAttrib4Nubv;
   3196 PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv;
   3197 void APIENTRY glad_debug_impl_glTexParameterfv(GLenum arg0, GLenum arg1, const GLfloat * arg2) {    
   3198     _pre_call_callback("glTexParameterfv", (void*)glTexParameterfv, 3, arg0, arg1, arg2);
   3199      glad_glTexParameterfv(arg0, arg1, arg2);
   3200     _post_call_callback("glTexParameterfv", (void*)glTexParameterfv, 3, arg0, arg1, arg2);
   3201     
   3202 }
   3203 PFNGLTEXPARAMETERFVPROC glad_debug_glTexParameterfv = glad_debug_impl_glTexParameterfv;
   3204 PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv;
   3205 void APIENTRY glad_debug_impl_glGetSamplerParameteriv(GLuint arg0, GLenum arg1, GLint * arg2) {    
   3206     _pre_call_callback("glGetSamplerParameteriv", (void*)glGetSamplerParameteriv, 3, arg0, arg1, arg2);
   3207      glad_glGetSamplerParameteriv(arg0, arg1, arg2);
   3208     _post_call_callback("glGetSamplerParameteriv", (void*)glGetSamplerParameteriv, 3, arg0, arg1, arg2);
   3209     
   3210 }
   3211 PFNGLGETSAMPLERPARAMETERIVPROC glad_debug_glGetSamplerParameteriv = glad_debug_impl_glGetSamplerParameteriv;
   3212 PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData;
   3213 void APIENTRY glad_debug_impl_glCopyBufferSubData(GLenum arg0, GLenum arg1, GLintptr arg2, GLintptr arg3, GLsizeiptr arg4) {    
   3214     _pre_call_callback("glCopyBufferSubData", (void*)glCopyBufferSubData, 5, arg0, arg1, arg2, arg3, arg4);
   3215      glad_glCopyBufferSubData(arg0, arg1, arg2, arg3, arg4);
   3216     _post_call_callback("glCopyBufferSubData", (void*)glCopyBufferSubData, 5, arg0, arg1, arg2, arg3, arg4);
   3217     
   3218 }
   3219 PFNGLCOPYBUFFERSUBDATAPROC glad_debug_glCopyBufferSubData = glad_debug_impl_glCopyBufferSubData;
   3220 PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv;
   3221 void APIENTRY glad_debug_impl_glVertexAttribI1uiv(GLuint arg0, const GLuint * arg1) {    
   3222     _pre_call_callback("glVertexAttribI1uiv", (void*)glVertexAttribI1uiv, 2, arg0, arg1);
   3223      glad_glVertexAttribI1uiv(arg0, arg1);
   3224     _post_call_callback("glVertexAttribI1uiv", (void*)glVertexAttribI1uiv, 2, arg0, arg1);
   3225     
   3226 }
   3227 PFNGLVERTEXATTRIBI1UIVPROC glad_debug_glVertexAttribI1uiv = glad_debug_impl_glVertexAttribI1uiv;
   3228 PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d;
   3229 void APIENTRY glad_debug_impl_glVertexAttrib2d(GLuint arg0, GLdouble arg1, GLdouble arg2) {    
   3230     _pre_call_callback("glVertexAttrib2d", (void*)glVertexAttrib2d, 3, arg0, arg1, arg2);
   3231      glad_glVertexAttrib2d(arg0, arg1, arg2);
   3232     _post_call_callback("glVertexAttrib2d", (void*)glVertexAttrib2d, 3, arg0, arg1, arg2);
   3233     
   3234 }
   3235 PFNGLVERTEXATTRIB2DPROC glad_debug_glVertexAttrib2d = glad_debug_impl_glVertexAttrib2d;
   3236 PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f;
   3237 void APIENTRY glad_debug_impl_glVertexAttrib2f(GLuint arg0, GLfloat arg1, GLfloat arg2) {    
   3238     _pre_call_callback("glVertexAttrib2f", (void*)glVertexAttrib2f, 3, arg0, arg1, arg2);
   3239      glad_glVertexAttrib2f(arg0, arg1, arg2);
   3240     _post_call_callback("glVertexAttrib2f", (void*)glVertexAttrib2f, 3, arg0, arg1, arg2);
   3241     
   3242 }
   3243 PFNGLVERTEXATTRIB2FPROC glad_debug_glVertexAttrib2f = glad_debug_impl_glVertexAttrib2f;
   3244 PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv;
   3245 void APIENTRY glad_debug_impl_glVertexAttrib3dv(GLuint arg0, const GLdouble * arg1) {    
   3246     _pre_call_callback("glVertexAttrib3dv", (void*)glVertexAttrib3dv, 2, arg0, arg1);
   3247      glad_glVertexAttrib3dv(arg0, arg1);
   3248     _post_call_callback("glVertexAttrib3dv", (void*)glVertexAttrib3dv, 2, arg0, arg1);
   3249     
   3250 }
   3251 PFNGLVERTEXATTRIB3DVPROC glad_debug_glVertexAttrib3dv = glad_debug_impl_glVertexAttrib3dv;
   3252 PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v;
   3253 void APIENTRY glad_debug_impl_glGetQueryObjectui64v(GLuint arg0, GLenum arg1, GLuint64 * arg2) {    
   3254     _pre_call_callback("glGetQueryObjectui64v", (void*)glGetQueryObjectui64v, 3, arg0, arg1, arg2);
   3255      glad_glGetQueryObjectui64v(arg0, arg1, arg2);
   3256     _post_call_callback("glGetQueryObjectui64v", (void*)glGetQueryObjectui64v, 3, arg0, arg1, arg2);
   3257     
   3258 }
   3259 PFNGLGETQUERYOBJECTUI64VPROC glad_debug_glGetQueryObjectui64v = glad_debug_impl_glGetQueryObjectui64v;
   3260 PFNGLDEPTHMASKPROC glad_glDepthMask;
   3261 void APIENTRY glad_debug_impl_glDepthMask(GLboolean arg0) {    
   3262     _pre_call_callback("glDepthMask", (void*)glDepthMask, 1, arg0);
   3263      glad_glDepthMask(arg0);
   3264     _post_call_callback("glDepthMask", (void*)glDepthMask, 1, arg0);
   3265     
   3266 }
   3267 PFNGLDEPTHMASKPROC glad_debug_glDepthMask = glad_debug_impl_glDepthMask;
   3268 PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s;
   3269 void APIENTRY glad_debug_impl_glVertexAttrib2s(GLuint arg0, GLshort arg1, GLshort arg2) {    
   3270     _pre_call_callback("glVertexAttrib2s", (void*)glVertexAttrib2s, 3, arg0, arg1, arg2);
   3271      glad_glVertexAttrib2s(arg0, arg1, arg2);
   3272     _post_call_callback("glVertexAttrib2s", (void*)glVertexAttrib2s, 3, arg0, arg1, arg2);
   3273     
   3274 }
   3275 PFNGLVERTEXATTRIB2SPROC glad_debug_glVertexAttrib2s = glad_debug_impl_glVertexAttrib2s;
   3276 PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample;
   3277 void APIENTRY glad_debug_impl_glTexImage3DMultisample(GLenum arg0, GLsizei arg1, GLenum arg2, GLsizei arg3, GLsizei arg4, GLsizei arg5, GLboolean arg6) {    
   3278     _pre_call_callback("glTexImage3DMultisample", (void*)glTexImage3DMultisample, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
   3279      glad_glTexImage3DMultisample(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
   3280     _post_call_callback("glTexImage3DMultisample", (void*)glTexImage3DMultisample, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
   3281     
   3282 }
   3283 PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_debug_glTexImage3DMultisample = glad_debug_impl_glTexImage3DMultisample;
   3284 PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex;
   3285 GLuint APIENTRY glad_debug_impl_glGetUniformBlockIndex(GLuint arg0, const GLchar * arg1) {    
   3286     GLuint ret;
   3287     _pre_call_callback("glGetUniformBlockIndex", (void*)glGetUniformBlockIndex, 2, arg0, arg1);
   3288     ret =  glad_glGetUniformBlockIndex(arg0, arg1);
   3289     _post_call_callback("glGetUniformBlockIndex", (void*)glGetUniformBlockIndex, 2, arg0, arg1);
   3290     return ret;
   3291 }
   3292 PFNGLGETUNIFORMBLOCKINDEXPROC glad_debug_glGetUniformBlockIndex = glad_debug_impl_glGetUniformBlockIndex;
   3293 PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample;
   3294 void APIENTRY glad_debug_impl_glTexImage2DMultisample(GLenum arg0, GLsizei arg1, GLenum arg2, GLsizei arg3, GLsizei arg4, GLboolean arg5) {    
   3295     _pre_call_callback("glTexImage2DMultisample", (void*)glTexImage2DMultisample, 6, arg0, arg1, arg2, arg3, arg4, arg5);
   3296      glad_glTexImage2DMultisample(arg0, arg1, arg2, arg3, arg4, arg5);
   3297     _post_call_callback("glTexImage2DMultisample", (void*)glTexImage2DMultisample, 6, arg0, arg1, arg2, arg3, arg4, arg5);
   3298     
   3299 }
   3300 PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_debug_glTexImage2DMultisample = glad_debug_impl_glTexImage2DMultisample;
   3301 PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform;
   3302 void APIENTRY glad_debug_impl_glGetActiveUniform(GLuint arg0, GLuint arg1, GLsizei arg2, GLsizei * arg3, GLint * arg4, GLenum * arg5, GLchar * arg6) {    
   3303     _pre_call_callback("glGetActiveUniform", (void*)glGetActiveUniform, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
   3304      glad_glGetActiveUniform(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
   3305     _post_call_callback("glGetActiveUniform", (void*)glGetActiveUniform, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
   3306     
   3307 }
   3308 PFNGLGETACTIVEUNIFORMPROC glad_debug_glGetActiveUniform = glad_debug_impl_glGetActiveUniform;
   3309 PFNGLFRONTFACEPROC glad_glFrontFace;
   3310 void APIENTRY glad_debug_impl_glFrontFace(GLenum arg0) {    
   3311     _pre_call_callback("glFrontFace", (void*)glFrontFace, 1, arg0);
   3312      glad_glFrontFace(arg0);
   3313     _post_call_callback("glFrontFace", (void*)glFrontFace, 1, arg0);
   3314     
   3315 }
   3316 PFNGLFRONTFACEPROC glad_debug_glFrontFace = glad_debug_impl_glFrontFace;
   3317 static void load_GL_VERSION_1_0(GLADloadproc load) {
   3318 	if(!GLAD_GL_VERSION_1_0) return;
   3319 	glad_glCullFace = (PFNGLCULLFACEPROC)load("glCullFace");
   3320 	glad_glFrontFace = (PFNGLFRONTFACEPROC)load("glFrontFace");
   3321 	glad_glHint = (PFNGLHINTPROC)load("glHint");
   3322 	glad_glLineWidth = (PFNGLLINEWIDTHPROC)load("glLineWidth");
   3323 	glad_glPointSize = (PFNGLPOINTSIZEPROC)load("glPointSize");
   3324 	glad_glPolygonMode = (PFNGLPOLYGONMODEPROC)load("glPolygonMode");
   3325 	glad_glScissor = (PFNGLSCISSORPROC)load("glScissor");
   3326 	glad_glTexParameterf = (PFNGLTEXPARAMETERFPROC)load("glTexParameterf");
   3327 	glad_glTexParameterfv = (PFNGLTEXPARAMETERFVPROC)load("glTexParameterfv");
   3328 	glad_glTexParameteri = (PFNGLTEXPARAMETERIPROC)load("glTexParameteri");
   3329 	glad_glTexParameteriv = (PFNGLTEXPARAMETERIVPROC)load("glTexParameteriv");
   3330 	glad_glTexImage1D = (PFNGLTEXIMAGE1DPROC)load("glTexImage1D");
   3331 	glad_glTexImage2D = (PFNGLTEXIMAGE2DPROC)load("glTexImage2D");
   3332 	glad_glDrawBuffer = (PFNGLDRAWBUFFERPROC)load("glDrawBuffer");
   3333 	glad_glClear = (PFNGLCLEARPROC)load("glClear");
   3334 	glad_glClearColor = (PFNGLCLEARCOLORPROC)load("glClearColor");
   3335 	glad_glClearStencil = (PFNGLCLEARSTENCILPROC)load("glClearStencil");
   3336 	glad_glClearDepth = (PFNGLCLEARDEPTHPROC)load("glClearDepth");
   3337 	glad_glStencilMask = (PFNGLSTENCILMASKPROC)load("glStencilMask");
   3338 	glad_glColorMask = (PFNGLCOLORMASKPROC)load("glColorMask");
   3339 	glad_glDepthMask = (PFNGLDEPTHMASKPROC)load("glDepthMask");
   3340 	glad_glDisable = (PFNGLDISABLEPROC)load("glDisable");
   3341 	glad_glEnable = (PFNGLENABLEPROC)load("glEnable");
   3342 	glad_glFinish = (PFNGLFINISHPROC)load("glFinish");
   3343 	glad_glFlush = (PFNGLFLUSHPROC)load("glFlush");
   3344 	glad_glBlendFunc = (PFNGLBLENDFUNCPROC)load("glBlendFunc");
   3345 	glad_glLogicOp = (PFNGLLOGICOPPROC)load("glLogicOp");
   3346 	glad_glStencilFunc = (PFNGLSTENCILFUNCPROC)load("glStencilFunc");
   3347 	glad_glStencilOp = (PFNGLSTENCILOPPROC)load("glStencilOp");
   3348 	glad_glDepthFunc = (PFNGLDEPTHFUNCPROC)load("glDepthFunc");
   3349 	glad_glPixelStoref = (PFNGLPIXELSTOREFPROC)load("glPixelStoref");
   3350 	glad_glPixelStorei = (PFNGLPIXELSTOREIPROC)load("glPixelStorei");
   3351 	glad_glReadBuffer = (PFNGLREADBUFFERPROC)load("glReadBuffer");
   3352 	glad_glReadPixels = (PFNGLREADPIXELSPROC)load("glReadPixels");
   3353 	glad_glGetBooleanv = (PFNGLGETBOOLEANVPROC)load("glGetBooleanv");
   3354 	glad_glGetDoublev = (PFNGLGETDOUBLEVPROC)load("glGetDoublev");
   3355 	glad_glGetError = (PFNGLGETERRORPROC)load("glGetError");
   3356 	glad_glGetFloatv = (PFNGLGETFLOATVPROC)load("glGetFloatv");
   3357 	glad_glGetIntegerv = (PFNGLGETINTEGERVPROC)load("glGetIntegerv");
   3358 	glad_glGetString = (PFNGLGETSTRINGPROC)load("glGetString");
   3359 	glad_glGetTexImage = (PFNGLGETTEXIMAGEPROC)load("glGetTexImage");
   3360 	glad_glGetTexParameterfv = (PFNGLGETTEXPARAMETERFVPROC)load("glGetTexParameterfv");
   3361 	glad_glGetTexParameteriv = (PFNGLGETTEXPARAMETERIVPROC)load("glGetTexParameteriv");
   3362 	glad_glGetTexLevelParameterfv = (PFNGLGETTEXLEVELPARAMETERFVPROC)load("glGetTexLevelParameterfv");
   3363 	glad_glGetTexLevelParameteriv = (PFNGLGETTEXLEVELPARAMETERIVPROC)load("glGetTexLevelParameteriv");
   3364 	glad_glIsEnabled = (PFNGLISENABLEDPROC)load("glIsEnabled");
   3365 	glad_glDepthRange = (PFNGLDEPTHRANGEPROC)load("glDepthRange");
   3366 	glad_glViewport = (PFNGLVIEWPORTPROC)load("glViewport");
   3367 }
   3368 static void load_GL_VERSION_1_1(GLADloadproc load) {
   3369 	if(!GLAD_GL_VERSION_1_1) return;
   3370 	glad_glDrawArrays = (PFNGLDRAWARRAYSPROC)load("glDrawArrays");
   3371 	glad_glDrawElements = (PFNGLDRAWELEMENTSPROC)load("glDrawElements");
   3372 	glad_glPolygonOffset = (PFNGLPOLYGONOFFSETPROC)load("glPolygonOffset");
   3373 	glad_glCopyTexImage1D = (PFNGLCOPYTEXIMAGE1DPROC)load("glCopyTexImage1D");
   3374 	glad_glCopyTexImage2D = (PFNGLCOPYTEXIMAGE2DPROC)load("glCopyTexImage2D");
   3375 	glad_glCopyTexSubImage1D = (PFNGLCOPYTEXSUBIMAGE1DPROC)load("glCopyTexSubImage1D");
   3376 	glad_glCopyTexSubImage2D = (PFNGLCOPYTEXSUBIMAGE2DPROC)load("glCopyTexSubImage2D");
   3377 	glad_glTexSubImage1D = (PFNGLTEXSUBIMAGE1DPROC)load("glTexSubImage1D");
   3378 	glad_glTexSubImage2D = (PFNGLTEXSUBIMAGE2DPROC)load("glTexSubImage2D");
   3379 	glad_glBindTexture = (PFNGLBINDTEXTUREPROC)load("glBindTexture");
   3380 	glad_glDeleteTextures = (PFNGLDELETETEXTURESPROC)load("glDeleteTextures");
   3381 	glad_glGenTextures = (PFNGLGENTEXTURESPROC)load("glGenTextures");
   3382 	glad_glIsTexture = (PFNGLISTEXTUREPROC)load("glIsTexture");
   3383 }
   3384 static void load_GL_VERSION_1_2(GLADloadproc load) {
   3385 	if(!GLAD_GL_VERSION_1_2) return;
   3386 	glad_glDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC)load("glDrawRangeElements");
   3387 	glad_glTexImage3D = (PFNGLTEXIMAGE3DPROC)load("glTexImage3D");
   3388 	glad_glTexSubImage3D = (PFNGLTEXSUBIMAGE3DPROC)load("glTexSubImage3D");
   3389 	glad_glCopyTexSubImage3D = (PFNGLCOPYTEXSUBIMAGE3DPROC)load("glCopyTexSubImage3D");
   3390 }
   3391 static void load_GL_VERSION_1_3(GLADloadproc load) {
   3392 	if(!GLAD_GL_VERSION_1_3) return;
   3393 	glad_glActiveTexture = (PFNGLACTIVETEXTUREPROC)load("glActiveTexture");
   3394 	glad_glSampleCoverage = (PFNGLSAMPLECOVERAGEPROC)load("glSampleCoverage");
   3395 	glad_glCompressedTexImage3D = (PFNGLCOMPRESSEDTEXIMAGE3DPROC)load("glCompressedTexImage3D");
   3396 	glad_glCompressedTexImage2D = (PFNGLCOMPRESSEDTEXIMAGE2DPROC)load("glCompressedTexImage2D");
   3397 	glad_glCompressedTexImage1D = (PFNGLCOMPRESSEDTEXIMAGE1DPROC)load("glCompressedTexImage1D");
   3398 	glad_glCompressedTexSubImage3D = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)load("glCompressedTexSubImage3D");
   3399 	glad_glCompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)load("glCompressedTexSubImage2D");
   3400 	glad_glCompressedTexSubImage1D = (PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)load("glCompressedTexSubImage1D");
   3401 	glad_glGetCompressedTexImage = (PFNGLGETCOMPRESSEDTEXIMAGEPROC)load("glGetCompressedTexImage");
   3402 }
   3403 static void load_GL_VERSION_1_4(GLADloadproc load) {
   3404 	if(!GLAD_GL_VERSION_1_4) return;
   3405 	glad_glBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC)load("glBlendFuncSeparate");
   3406 	glad_glMultiDrawArrays = (PFNGLMULTIDRAWARRAYSPROC)load("glMultiDrawArrays");
   3407 	glad_glMultiDrawElements = (PFNGLMULTIDRAWELEMENTSPROC)load("glMultiDrawElements");
   3408 	glad_glPointParameterf = (PFNGLPOINTPARAMETERFPROC)load("glPointParameterf");
   3409 	glad_glPointParameterfv = (PFNGLPOINTPARAMETERFVPROC)load("glPointParameterfv");
   3410 	glad_glPointParameteri = (PFNGLPOINTPARAMETERIPROC)load("glPointParameteri");
   3411 	glad_glPointParameteriv = (PFNGLPOINTPARAMETERIVPROC)load("glPointParameteriv");
   3412 	glad_glBlendColor = (PFNGLBLENDCOLORPROC)load("glBlendColor");
   3413 	glad_glBlendEquation = (PFNGLBLENDEQUATIONPROC)load("glBlendEquation");
   3414 }
   3415 static void load_GL_VERSION_1_5(GLADloadproc load) {
   3416 	if(!GLAD_GL_VERSION_1_5) return;
   3417 	glad_glGenQueries = (PFNGLGENQUERIESPROC)load("glGenQueries");
   3418 	glad_glDeleteQueries = (PFNGLDELETEQUERIESPROC)load("glDeleteQueries");
   3419 	glad_glIsQuery = (PFNGLISQUERYPROC)load("glIsQuery");
   3420 	glad_glBeginQuery = (PFNGLBEGINQUERYPROC)load("glBeginQuery");
   3421 	glad_glEndQuery = (PFNGLENDQUERYPROC)load("glEndQuery");
   3422 	glad_glGetQueryiv = (PFNGLGETQUERYIVPROC)load("glGetQueryiv");
   3423 	glad_glGetQueryObjectiv = (PFNGLGETQUERYOBJECTIVPROC)load("glGetQueryObjectiv");
   3424 	glad_glGetQueryObjectuiv = (PFNGLGETQUERYOBJECTUIVPROC)load("glGetQueryObjectuiv");
   3425 	glad_glBindBuffer = (PFNGLBINDBUFFERPROC)load("glBindBuffer");
   3426 	glad_glDeleteBuffers = (PFNGLDELETEBUFFERSPROC)load("glDeleteBuffers");
   3427 	glad_glGenBuffers = (PFNGLGENBUFFERSPROC)load("glGenBuffers");
   3428 	glad_glIsBuffer = (PFNGLISBUFFERPROC)load("glIsBuffer");
   3429 	glad_glBufferData = (PFNGLBUFFERDATAPROC)load("glBufferData");
   3430 	glad_glBufferSubData = (PFNGLBUFFERSUBDATAPROC)load("glBufferSubData");
   3431 	glad_glGetBufferSubData = (PFNGLGETBUFFERSUBDATAPROC)load("glGetBufferSubData");
   3432 	glad_glMapBuffer = (PFNGLMAPBUFFERPROC)load("glMapBuffer");
   3433 	glad_glUnmapBuffer = (PFNGLUNMAPBUFFERPROC)load("glUnmapBuffer");
   3434 	glad_glGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC)load("glGetBufferParameteriv");
   3435 	glad_glGetBufferPointerv = (PFNGLGETBUFFERPOINTERVPROC)load("glGetBufferPointerv");
   3436 }
   3437 static void load_GL_VERSION_2_0(GLADloadproc load) {
   3438 	if(!GLAD_GL_VERSION_2_0) return;
   3439 	glad_glBlendEquationSeparate = (PFNGLBLENDEQUATIONSEPARATEPROC)load("glBlendEquationSeparate");
   3440 	glad_glDrawBuffers = (PFNGLDRAWBUFFERSPROC)load("glDrawBuffers");
   3441 	glad_glStencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC)load("glStencilOpSeparate");
   3442 	glad_glStencilFuncSeparate = (PFNGLSTENCILFUNCSEPARATEPROC)load("glStencilFuncSeparate");
   3443 	glad_glStencilMaskSeparate = (PFNGLSTENCILMASKSEPARATEPROC)load("glStencilMaskSeparate");
   3444 	glad_glAttachShader = (PFNGLATTACHSHADERPROC)load("glAttachShader");
   3445 	glad_glBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC)load("glBindAttribLocation");
   3446 	glad_glCompileShader = (PFNGLCOMPILESHADERPROC)load("glCompileShader");
   3447 	glad_glCreateProgram = (PFNGLCREATEPROGRAMPROC)load("glCreateProgram");
   3448 	glad_glCreateShader = (PFNGLCREATESHADERPROC)load("glCreateShader");
   3449 	glad_glDeleteProgram = (PFNGLDELETEPROGRAMPROC)load("glDeleteProgram");
   3450 	glad_glDeleteShader = (PFNGLDELETESHADERPROC)load("glDeleteShader");
   3451 	glad_glDetachShader = (PFNGLDETACHSHADERPROC)load("glDetachShader");
   3452 	glad_glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC)load("glDisableVertexAttribArray");
   3453 	glad_glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC)load("glEnableVertexAttribArray");
   3454 	glad_glGetActiveAttrib = (PFNGLGETACTIVEATTRIBPROC)load("glGetActiveAttrib");
   3455 	glad_glGetActiveUniform = (PFNGLGETACTIVEUNIFORMPROC)load("glGetActiveUniform");
   3456 	glad_glGetAttachedShaders = (PFNGLGETATTACHEDSHADERSPROC)load("glGetAttachedShaders");
   3457 	glad_glGetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC)load("glGetAttribLocation");
   3458 	glad_glGetProgramiv = (PFNGLGETPROGRAMIVPROC)load("glGetProgramiv");
   3459 	glad_glGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC)load("glGetProgramInfoLog");
   3460 	glad_glGetShaderiv = (PFNGLGETSHADERIVPROC)load("glGetShaderiv");
   3461 	glad_glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC)load("glGetShaderInfoLog");
   3462 	glad_glGetShaderSource = (PFNGLGETSHADERSOURCEPROC)load("glGetShaderSource");
   3463 	glad_glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC)load("glGetUniformLocation");
   3464 	glad_glGetUniformfv = (PFNGLGETUNIFORMFVPROC)load("glGetUniformfv");
   3465 	glad_glGetUniformiv = (PFNGLGETUNIFORMIVPROC)load("glGetUniformiv");
   3466 	glad_glGetVertexAttribdv = (PFNGLGETVERTEXATTRIBDVPROC)load("glGetVertexAttribdv");
   3467 	glad_glGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC)load("glGetVertexAttribfv");
   3468 	glad_glGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC)load("glGetVertexAttribiv");
   3469 	glad_glGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC)load("glGetVertexAttribPointerv");
   3470 	glad_glIsProgram = (PFNGLISPROGRAMPROC)load("glIsProgram");
   3471 	glad_glIsShader = (PFNGLISSHADERPROC)load("glIsShader");
   3472 	glad_glLinkProgram = (PFNGLLINKPROGRAMPROC)load("glLinkProgram");
   3473 	glad_glShaderSource = (PFNGLSHADERSOURCEPROC)load("glShaderSource");
   3474 	glad_glUseProgram = (PFNGLUSEPROGRAMPROC)load("glUseProgram");
   3475 	glad_glUniform1f = (PFNGLUNIFORM1FPROC)load("glUniform1f");
   3476 	glad_glUniform2f = (PFNGLUNIFORM2FPROC)load("glUniform2f");
   3477 	glad_glUniform3f = (PFNGLUNIFORM3FPROC)load("glUniform3f");
   3478 	glad_glUniform4f = (PFNGLUNIFORM4FPROC)load("glUniform4f");
   3479 	glad_glUniform1i = (PFNGLUNIFORM1IPROC)load("glUniform1i");
   3480 	glad_glUniform2i = (PFNGLUNIFORM2IPROC)load("glUniform2i");
   3481 	glad_glUniform3i = (PFNGLUNIFORM3IPROC)load("glUniform3i");
   3482 	glad_glUniform4i = (PFNGLUNIFORM4IPROC)load("glUniform4i");
   3483 	glad_glUniform1fv = (PFNGLUNIFORM1FVPROC)load("glUniform1fv");
   3484 	glad_glUniform2fv = (PFNGLUNIFORM2FVPROC)load("glUniform2fv");
   3485 	glad_glUniform3fv = (PFNGLUNIFORM3FVPROC)load("glUniform3fv");
   3486 	glad_glUniform4fv = (PFNGLUNIFORM4FVPROC)load("glUniform4fv");
   3487 	glad_glUniform1iv = (PFNGLUNIFORM1IVPROC)load("glUniform1iv");
   3488 	glad_glUniform2iv = (PFNGLUNIFORM2IVPROC)load("glUniform2iv");
   3489 	glad_glUniform3iv = (PFNGLUNIFORM3IVPROC)load("glUniform3iv");
   3490 	glad_glUniform4iv = (PFNGLUNIFORM4IVPROC)load("glUniform4iv");
   3491 	glad_glUniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC)load("glUniformMatrix2fv");
   3492 	glad_glUniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC)load("glUniformMatrix3fv");
   3493 	glad_glUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC)load("glUniformMatrix4fv");
   3494 	glad_glValidateProgram = (PFNGLVALIDATEPROGRAMPROC)load("glValidateProgram");
   3495 	glad_glVertexAttrib1d = (PFNGLVERTEXATTRIB1DPROC)load("glVertexAttrib1d");
   3496 	glad_glVertexAttrib1dv = (PFNGLVERTEXATTRIB1DVPROC)load("glVertexAttrib1dv");
   3497 	glad_glVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC)load("glVertexAttrib1f");
   3498 	glad_glVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC)load("glVertexAttrib1fv");
   3499 	glad_glVertexAttrib1s = (PFNGLVERTEXATTRIB1SPROC)load("glVertexAttrib1s");
   3500 	glad_glVertexAttrib1sv = (PFNGLVERTEXATTRIB1SVPROC)load("glVertexAttrib1sv");
   3501 	glad_glVertexAttrib2d = (PFNGLVERTEXATTRIB2DPROC)load("glVertexAttrib2d");
   3502 	glad_glVertexAttrib2dv = (PFNGLVERTEXATTRIB2DVPROC)load("glVertexAttrib2dv");
   3503 	glad_glVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC)load("glVertexAttrib2f");
   3504 	glad_glVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC)load("glVertexAttrib2fv");
   3505 	glad_glVertexAttrib2s = (PFNGLVERTEXATTRIB2SPROC)load("glVertexAttrib2s");
   3506 	glad_glVertexAttrib2sv = (PFNGLVERTEXATTRIB2SVPROC)load("glVertexAttrib2sv");
   3507 	glad_glVertexAttrib3d = (PFNGLVERTEXATTRIB3DPROC)load("glVertexAttrib3d");
   3508 	glad_glVertexAttrib3dv = (PFNGLVERTEXATTRIB3DVPROC)load("glVertexAttrib3dv");
   3509 	glad_glVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC)load("glVertexAttrib3f");
   3510 	glad_glVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC)load("glVertexAttrib3fv");
   3511 	glad_glVertexAttrib3s = (PFNGLVERTEXATTRIB3SPROC)load("glVertexAttrib3s");
   3512 	glad_glVertexAttrib3sv = (PFNGLVERTEXATTRIB3SVPROC)load("glVertexAttrib3sv");
   3513 	glad_glVertexAttrib4Nbv = (PFNGLVERTEXATTRIB4NBVPROC)load("glVertexAttrib4Nbv");
   3514 	glad_glVertexAttrib4Niv = (PFNGLVERTEXATTRIB4NIVPROC)load("glVertexAttrib4Niv");
   3515 	glad_glVertexAttrib4Nsv = (PFNGLVERTEXATTRIB4NSVPROC)load("glVertexAttrib4Nsv");
   3516 	glad_glVertexAttrib4Nub = (PFNGLVERTEXATTRIB4NUBPROC)load("glVertexAttrib4Nub");
   3517 	glad_glVertexAttrib4Nubv = (PFNGLVERTEXATTRIB4NUBVPROC)load("glVertexAttrib4Nubv");
   3518 	glad_glVertexAttrib4Nuiv = (PFNGLVERTEXATTRIB4NUIVPROC)load("glVertexAttrib4Nuiv");
   3519 	glad_glVertexAttrib4Nusv = (PFNGLVERTEXATTRIB4NUSVPROC)load("glVertexAttrib4Nusv");
   3520 	glad_glVertexAttrib4bv = (PFNGLVERTEXATTRIB4BVPROC)load("glVertexAttrib4bv");
   3521 	glad_glVertexAttrib4d = (PFNGLVERTEXATTRIB4DPROC)load("glVertexAttrib4d");
   3522 	glad_glVertexAttrib4dv = (PFNGLVERTEXATTRIB4DVPROC)load("glVertexAttrib4dv");
   3523 	glad_glVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC)load("glVertexAttrib4f");
   3524 	glad_glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC)load("glVertexAttrib4fv");
   3525 	glad_glVertexAttrib4iv = (PFNGLVERTEXATTRIB4IVPROC)load("glVertexAttrib4iv");
   3526 	glad_glVertexAttrib4s = (PFNGLVERTEXATTRIB4SPROC)load("glVertexAttrib4s");
   3527 	glad_glVertexAttrib4sv = (PFNGLVERTEXATTRIB4SVPROC)load("glVertexAttrib4sv");
   3528 	glad_glVertexAttrib4ubv = (PFNGLVERTEXATTRIB4UBVPROC)load("glVertexAttrib4ubv");
   3529 	glad_glVertexAttrib4uiv = (PFNGLVERTEXATTRIB4UIVPROC)load("glVertexAttrib4uiv");
   3530 	glad_glVertexAttrib4usv = (PFNGLVERTEXATTRIB4USVPROC)load("glVertexAttrib4usv");
   3531 	glad_glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC)load("glVertexAttribPointer");
   3532 }
   3533 static void load_GL_VERSION_2_1(GLADloadproc load) {
   3534 	if(!GLAD_GL_VERSION_2_1) return;
   3535 	glad_glUniformMatrix2x3fv = (PFNGLUNIFORMMATRIX2X3FVPROC)load("glUniformMatrix2x3fv");
   3536 	glad_glUniformMatrix3x2fv = (PFNGLUNIFORMMATRIX3X2FVPROC)load("glUniformMatrix3x2fv");
   3537 	glad_glUniformMatrix2x4fv = (PFNGLUNIFORMMATRIX2X4FVPROC)load("glUniformMatrix2x4fv");
   3538 	glad_glUniformMatrix4x2fv = (PFNGLUNIFORMMATRIX4X2FVPROC)load("glUniformMatrix4x2fv");
   3539 	glad_glUniformMatrix3x4fv = (PFNGLUNIFORMMATRIX3X4FVPROC)load("glUniformMatrix3x4fv");
   3540 	glad_glUniformMatrix4x3fv = (PFNGLUNIFORMMATRIX4X3FVPROC)load("glUniformMatrix4x3fv");
   3541 }
   3542 static void load_GL_VERSION_3_0(GLADloadproc load) {
   3543 	if(!GLAD_GL_VERSION_3_0) return;
   3544 	glad_glColorMaski = (PFNGLCOLORMASKIPROC)load("glColorMaski");
   3545 	glad_glGetBooleani_v = (PFNGLGETBOOLEANI_VPROC)load("glGetBooleani_v");
   3546 	glad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)load("glGetIntegeri_v");
   3547 	glad_glEnablei = (PFNGLENABLEIPROC)load("glEnablei");
   3548 	glad_glDisablei = (PFNGLDISABLEIPROC)load("glDisablei");
   3549 	glad_glIsEnabledi = (PFNGLISENABLEDIPROC)load("glIsEnabledi");
   3550 	glad_glBeginTransformFeedback = (PFNGLBEGINTRANSFORMFEEDBACKPROC)load("glBeginTransformFeedback");
   3551 	glad_glEndTransformFeedback = (PFNGLENDTRANSFORMFEEDBACKPROC)load("glEndTransformFeedback");
   3552 	glad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)load("glBindBufferRange");
   3553 	glad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)load("glBindBufferBase");
   3554 	glad_glTransformFeedbackVaryings = (PFNGLTRANSFORMFEEDBACKVARYINGSPROC)load("glTransformFeedbackVaryings");
   3555 	glad_glGetTransformFeedbackVarying = (PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)load("glGetTransformFeedbackVarying");
   3556 	glad_glClampColor = (PFNGLCLAMPCOLORPROC)load("glClampColor");
   3557 	glad_glBeginConditionalRender = (PFNGLBEGINCONDITIONALRENDERPROC)load("glBeginConditionalRender");
   3558 	glad_glEndConditionalRender = (PFNGLENDCONDITIONALRENDERPROC)load("glEndConditionalRender");
   3559 	glad_glVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC)load("glVertexAttribIPointer");
   3560 	glad_glGetVertexAttribIiv = (PFNGLGETVERTEXATTRIBIIVPROC)load("glGetVertexAttribIiv");
   3561 	glad_glGetVertexAttribIuiv = (PFNGLGETVERTEXATTRIBIUIVPROC)load("glGetVertexAttribIuiv");
   3562 	glad_glVertexAttribI1i = (PFNGLVERTEXATTRIBI1IPROC)load("glVertexAttribI1i");
   3563 	glad_glVertexAttribI2i = (PFNGLVERTEXATTRIBI2IPROC)load("glVertexAttribI2i");
   3564 	glad_glVertexAttribI3i = (PFNGLVERTEXATTRIBI3IPROC)load("glVertexAttribI3i");
   3565 	glad_glVertexAttribI4i = (PFNGLVERTEXATTRIBI4IPROC)load("glVertexAttribI4i");
   3566 	glad_glVertexAttribI1ui = (PFNGLVERTEXATTRIBI1UIPROC)load("glVertexAttribI1ui");
   3567 	glad_glVertexAttribI2ui = (PFNGLVERTEXATTRIBI2UIPROC)load("glVertexAttribI2ui");
   3568 	glad_glVertexAttribI3ui = (PFNGLVERTEXATTRIBI3UIPROC)load("glVertexAttribI3ui");
   3569 	glad_glVertexAttribI4ui = (PFNGLVERTEXATTRIBI4UIPROC)load("glVertexAttribI4ui");
   3570 	glad_glVertexAttribI1iv = (PFNGLVERTEXATTRIBI1IVPROC)load("glVertexAttribI1iv");
   3571 	glad_glVertexAttribI2iv = (PFNGLVERTEXATTRIBI2IVPROC)load("glVertexAttribI2iv");
   3572 	glad_glVertexAttribI3iv = (PFNGLVERTEXATTRIBI3IVPROC)load("glVertexAttribI3iv");
   3573 	glad_glVertexAttribI4iv = (PFNGLVERTEXATTRIBI4IVPROC)load("glVertexAttribI4iv");
   3574 	glad_glVertexAttribI1uiv = (PFNGLVERTEXATTRIBI1UIVPROC)load("glVertexAttribI1uiv");
   3575 	glad_glVertexAttribI2uiv = (PFNGLVERTEXATTRIBI2UIVPROC)load("glVertexAttribI2uiv");
   3576 	glad_glVertexAttribI3uiv = (PFNGLVERTEXATTRIBI3UIVPROC)load("glVertexAttribI3uiv");
   3577 	glad_glVertexAttribI4uiv = (PFNGLVERTEXATTRIBI4UIVPROC)load("glVertexAttribI4uiv");
   3578 	glad_glVertexAttribI4bv = (PFNGLVERTEXATTRIBI4BVPROC)load("glVertexAttribI4bv");
   3579 	glad_glVertexAttribI4sv = (PFNGLVERTEXATTRIBI4SVPROC)load("glVertexAttribI4sv");
   3580 	glad_glVertexAttribI4ubv = (PFNGLVERTEXATTRIBI4UBVPROC)load("glVertexAttribI4ubv");
   3581 	glad_glVertexAttribI4usv = (PFNGLVERTEXATTRIBI4USVPROC)load("glVertexAttribI4usv");
   3582 	glad_glGetUniformuiv = (PFNGLGETUNIFORMUIVPROC)load("glGetUniformuiv");
   3583 	glad_glBindFragDataLocation = (PFNGLBINDFRAGDATALOCATIONPROC)load("glBindFragDataLocation");
   3584 	glad_glGetFragDataLocation = (PFNGLGETFRAGDATALOCATIONPROC)load("glGetFragDataLocation");
   3585 	glad_glUniform1ui = (PFNGLUNIFORM1UIPROC)load("glUniform1ui");
   3586 	glad_glUniform2ui = (PFNGLUNIFORM2UIPROC)load("glUniform2ui");
   3587 	glad_glUniform3ui = (PFNGLUNIFORM3UIPROC)load("glUniform3ui");
   3588 	glad_glUniform4ui = (PFNGLUNIFORM4UIPROC)load("glUniform4ui");
   3589 	glad_glUniform1uiv = (PFNGLUNIFORM1UIVPROC)load("glUniform1uiv");
   3590 	glad_glUniform2uiv = (PFNGLUNIFORM2UIVPROC)load("glUniform2uiv");
   3591 	glad_glUniform3uiv = (PFNGLUNIFORM3UIVPROC)load("glUniform3uiv");
   3592 	glad_glUniform4uiv = (PFNGLUNIFORM4UIVPROC)load("glUniform4uiv");
   3593 	glad_glTexParameterIiv = (PFNGLTEXPARAMETERIIVPROC)load("glTexParameterIiv");
   3594 	glad_glTexParameterIuiv = (PFNGLTEXPARAMETERIUIVPROC)load("glTexParameterIuiv");
   3595 	glad_glGetTexParameterIiv = (PFNGLGETTEXPARAMETERIIVPROC)load("glGetTexParameterIiv");
   3596 	glad_glGetTexParameterIuiv = (PFNGLGETTEXPARAMETERIUIVPROC)load("glGetTexParameterIuiv");
   3597 	glad_glClearBufferiv = (PFNGLCLEARBUFFERIVPROC)load("glClearBufferiv");
   3598 	glad_glClearBufferuiv = (PFNGLCLEARBUFFERUIVPROC)load("glClearBufferuiv");
   3599 	glad_glClearBufferfv = (PFNGLCLEARBUFFERFVPROC)load("glClearBufferfv");
   3600 	glad_glClearBufferfi = (PFNGLCLEARBUFFERFIPROC)load("glClearBufferfi");
   3601 	glad_glGetStringi = (PFNGLGETSTRINGIPROC)load("glGetStringi");
   3602 	glad_glIsRenderbuffer = (PFNGLISRENDERBUFFERPROC)load("glIsRenderbuffer");
   3603 	glad_glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC)load("glBindRenderbuffer");
   3604 	glad_glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC)load("glDeleteRenderbuffers");
   3605 	glad_glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC)load("glGenRenderbuffers");
   3606 	glad_glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC)load("glRenderbufferStorage");
   3607 	glad_glGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC)load("glGetRenderbufferParameteriv");
   3608 	glad_glIsFramebuffer = (PFNGLISFRAMEBUFFERPROC)load("glIsFramebuffer");
   3609 	glad_glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC)load("glBindFramebuffer");
   3610 	glad_glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)load("glDeleteFramebuffers");
   3611 	glad_glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC)load("glGenFramebuffers");
   3612 	glad_glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC)load("glCheckFramebufferStatus");
   3613 	glad_glFramebufferTexture1D = (PFNGLFRAMEBUFFERTEXTURE1DPROC)load("glFramebufferTexture1D");
   3614 	glad_glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC)load("glFramebufferTexture2D");
   3615 	glad_glFramebufferTexture3D = (PFNGLFRAMEBUFFERTEXTURE3DPROC)load("glFramebufferTexture3D");
   3616 	glad_glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC)load("glFramebufferRenderbuffer");
   3617 	glad_glGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)load("glGetFramebufferAttachmentParameteriv");
   3618 	glad_glGenerateMipmap = (PFNGLGENERATEMIPMAPPROC)load("glGenerateMipmap");
   3619 	glad_glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC)load("glBlitFramebuffer");
   3620 	glad_glRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)load("glRenderbufferStorageMultisample");
   3621 	glad_glFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC)load("glFramebufferTextureLayer");
   3622 	glad_glMapBufferRange = (PFNGLMAPBUFFERRANGEPROC)load("glMapBufferRange");
   3623 	glad_glFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC)load("glFlushMappedBufferRange");
   3624 	glad_glBindVertexArray = (PFNGLBINDVERTEXARRAYPROC)load("glBindVertexArray");
   3625 	glad_glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC)load("glDeleteVertexArrays");
   3626 	glad_glGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC)load("glGenVertexArrays");
   3627 	glad_glIsVertexArray = (PFNGLISVERTEXARRAYPROC)load("glIsVertexArray");
   3628 }
   3629 static void load_GL_VERSION_3_1(GLADloadproc load) {
   3630 	if(!GLAD_GL_VERSION_3_1) return;
   3631 	glad_glDrawArraysInstanced = (PFNGLDRAWARRAYSINSTANCEDPROC)load("glDrawArraysInstanced");
   3632 	glad_glDrawElementsInstanced = (PFNGLDRAWELEMENTSINSTANCEDPROC)load("glDrawElementsInstanced");
   3633 	glad_glTexBuffer = (PFNGLTEXBUFFERPROC)load("glTexBuffer");
   3634 	glad_glPrimitiveRestartIndex = (PFNGLPRIMITIVERESTARTINDEXPROC)load("glPrimitiveRestartIndex");
   3635 	glad_glCopyBufferSubData = (PFNGLCOPYBUFFERSUBDATAPROC)load("glCopyBufferSubData");
   3636 	glad_glGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC)load("glGetUniformIndices");
   3637 	glad_glGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC)load("glGetActiveUniformsiv");
   3638 	glad_glGetActiveUniformName = (PFNGLGETACTIVEUNIFORMNAMEPROC)load("glGetActiveUniformName");
   3639 	glad_glGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC)load("glGetUniformBlockIndex");
   3640 	glad_glGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC)load("glGetActiveUniformBlockiv");
   3641 	glad_glGetActiveUniformBlockName = (PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)load("glGetActiveUniformBlockName");
   3642 	glad_glUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC)load("glUniformBlockBinding");
   3643 	glad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)load("glBindBufferRange");
   3644 	glad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)load("glBindBufferBase");
   3645 	glad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)load("glGetIntegeri_v");
   3646 }
   3647 static void load_GL_VERSION_3_2(GLADloadproc load) {
   3648 	if(!GLAD_GL_VERSION_3_2) return;
   3649 	glad_glDrawElementsBaseVertex = (PFNGLDRAWELEMENTSBASEVERTEXPROC)load("glDrawElementsBaseVertex");
   3650 	glad_glDrawRangeElementsBaseVertex = (PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)load("glDrawRangeElementsBaseVertex");
   3651 	glad_glDrawElementsInstancedBaseVertex = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)load("glDrawElementsInstancedBaseVertex");
   3652 	glad_glMultiDrawElementsBaseVertex = (PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)load("glMultiDrawElementsBaseVertex");
   3653 	glad_glProvokingVertex = (PFNGLPROVOKINGVERTEXPROC)load("glProvokingVertex");
   3654 	glad_glFenceSync = (PFNGLFENCESYNCPROC)load("glFenceSync");
   3655 	glad_glIsSync = (PFNGLISSYNCPROC)load("glIsSync");
   3656 	glad_glDeleteSync = (PFNGLDELETESYNCPROC)load("glDeleteSync");
   3657 	glad_glClientWaitSync = (PFNGLCLIENTWAITSYNCPROC)load("glClientWaitSync");
   3658 	glad_glWaitSync = (PFNGLWAITSYNCPROC)load("glWaitSync");
   3659 	glad_glGetInteger64v = (PFNGLGETINTEGER64VPROC)load("glGetInteger64v");
   3660 	glad_glGetSynciv = (PFNGLGETSYNCIVPROC)load("glGetSynciv");
   3661 	glad_glGetInteger64i_v = (PFNGLGETINTEGER64I_VPROC)load("glGetInteger64i_v");
   3662 	glad_glGetBufferParameteri64v = (PFNGLGETBUFFERPARAMETERI64VPROC)load("glGetBufferParameteri64v");
   3663 	glad_glFramebufferTexture = (PFNGLFRAMEBUFFERTEXTUREPROC)load("glFramebufferTexture");
   3664 	glad_glTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC)load("glTexImage2DMultisample");
   3665 	glad_glTexImage3DMultisample = (PFNGLTEXIMAGE3DMULTISAMPLEPROC)load("glTexImage3DMultisample");
   3666 	glad_glGetMultisamplefv = (PFNGLGETMULTISAMPLEFVPROC)load("glGetMultisamplefv");
   3667 	glad_glSampleMaski = (PFNGLSAMPLEMASKIPROC)load("glSampleMaski");
   3668 }
   3669 static void load_GL_VERSION_3_3(GLADloadproc load) {
   3670 	if(!GLAD_GL_VERSION_3_3) return;
   3671 	glad_glBindFragDataLocationIndexed = (PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)load("glBindFragDataLocationIndexed");
   3672 	glad_glGetFragDataIndex = (PFNGLGETFRAGDATAINDEXPROC)load("glGetFragDataIndex");
   3673 	glad_glGenSamplers = (PFNGLGENSAMPLERSPROC)load("glGenSamplers");
   3674 	glad_glDeleteSamplers = (PFNGLDELETESAMPLERSPROC)load("glDeleteSamplers");
   3675 	glad_glIsSampler = (PFNGLISSAMPLERPROC)load("glIsSampler");
   3676 	glad_glBindSampler = (PFNGLBINDSAMPLERPROC)load("glBindSampler");
   3677 	glad_glSamplerParameteri = (PFNGLSAMPLERPARAMETERIPROC)load("glSamplerParameteri");
   3678 	glad_glSamplerParameteriv = (PFNGLSAMPLERPARAMETERIVPROC)load("glSamplerParameteriv");
   3679 	glad_glSamplerParameterf = (PFNGLSAMPLERPARAMETERFPROC)load("glSamplerParameterf");
   3680 	glad_glSamplerParameterfv = (PFNGLSAMPLERPARAMETERFVPROC)load("glSamplerParameterfv");
   3681 	glad_glSamplerParameterIiv = (PFNGLSAMPLERPARAMETERIIVPROC)load("glSamplerParameterIiv");
   3682 	glad_glSamplerParameterIuiv = (PFNGLSAMPLERPARAMETERIUIVPROC)load("glSamplerParameterIuiv");
   3683 	glad_glGetSamplerParameteriv = (PFNGLGETSAMPLERPARAMETERIVPROC)load("glGetSamplerParameteriv");
   3684 	glad_glGetSamplerParameterIiv = (PFNGLGETSAMPLERPARAMETERIIVPROC)load("glGetSamplerParameterIiv");
   3685 	glad_glGetSamplerParameterfv = (PFNGLGETSAMPLERPARAMETERFVPROC)load("glGetSamplerParameterfv");
   3686 	glad_glGetSamplerParameterIuiv = (PFNGLGETSAMPLERPARAMETERIUIVPROC)load("glGetSamplerParameterIuiv");
   3687 	glad_glQueryCounter = (PFNGLQUERYCOUNTERPROC)load("glQueryCounter");
   3688 	glad_glGetQueryObjecti64v = (PFNGLGETQUERYOBJECTI64VPROC)load("glGetQueryObjecti64v");
   3689 	glad_glGetQueryObjectui64v = (PFNGLGETQUERYOBJECTUI64VPROC)load("glGetQueryObjectui64v");
   3690 	glad_glVertexAttribDivisor = (PFNGLVERTEXATTRIBDIVISORPROC)load("glVertexAttribDivisor");
   3691 	glad_glVertexAttribP1ui = (PFNGLVERTEXATTRIBP1UIPROC)load("glVertexAttribP1ui");
   3692 	glad_glVertexAttribP1uiv = (PFNGLVERTEXATTRIBP1UIVPROC)load("glVertexAttribP1uiv");
   3693 	glad_glVertexAttribP2ui = (PFNGLVERTEXATTRIBP2UIPROC)load("glVertexAttribP2ui");
   3694 	glad_glVertexAttribP2uiv = (PFNGLVERTEXATTRIBP2UIVPROC)load("glVertexAttribP2uiv");
   3695 	glad_glVertexAttribP3ui = (PFNGLVERTEXATTRIBP3UIPROC)load("glVertexAttribP3ui");
   3696 	glad_glVertexAttribP3uiv = (PFNGLVERTEXATTRIBP3UIVPROC)load("glVertexAttribP3uiv");
   3697 	glad_glVertexAttribP4ui = (PFNGLVERTEXATTRIBP4UIPROC)load("glVertexAttribP4ui");
   3698 	glad_glVertexAttribP4uiv = (PFNGLVERTEXATTRIBP4UIVPROC)load("glVertexAttribP4uiv");
   3699 	glad_glVertexP2ui = (PFNGLVERTEXP2UIPROC)load("glVertexP2ui");
   3700 	glad_glVertexP2uiv = (PFNGLVERTEXP2UIVPROC)load("glVertexP2uiv");
   3701 	glad_glVertexP3ui = (PFNGLVERTEXP3UIPROC)load("glVertexP3ui");
   3702 	glad_glVertexP3uiv = (PFNGLVERTEXP3UIVPROC)load("glVertexP3uiv");
   3703 	glad_glVertexP4ui = (PFNGLVERTEXP4UIPROC)load("glVertexP4ui");
   3704 	glad_glVertexP4uiv = (PFNGLVERTEXP4UIVPROC)load("glVertexP4uiv");
   3705 	glad_glTexCoordP1ui = (PFNGLTEXCOORDP1UIPROC)load("glTexCoordP1ui");
   3706 	glad_glTexCoordP1uiv = (PFNGLTEXCOORDP1UIVPROC)load("glTexCoordP1uiv");
   3707 	glad_glTexCoordP2ui = (PFNGLTEXCOORDP2UIPROC)load("glTexCoordP2ui");
   3708 	glad_glTexCoordP2uiv = (PFNGLTEXCOORDP2UIVPROC)load("glTexCoordP2uiv");
   3709 	glad_glTexCoordP3ui = (PFNGLTEXCOORDP3UIPROC)load("glTexCoordP3ui");
   3710 	glad_glTexCoordP3uiv = (PFNGLTEXCOORDP3UIVPROC)load("glTexCoordP3uiv");
   3711 	glad_glTexCoordP4ui = (PFNGLTEXCOORDP4UIPROC)load("glTexCoordP4ui");
   3712 	glad_glTexCoordP4uiv = (PFNGLTEXCOORDP4UIVPROC)load("glTexCoordP4uiv");
   3713 	glad_glMultiTexCoordP1ui = (PFNGLMULTITEXCOORDP1UIPROC)load("glMultiTexCoordP1ui");
   3714 	glad_glMultiTexCoordP1uiv = (PFNGLMULTITEXCOORDP1UIVPROC)load("glMultiTexCoordP1uiv");
   3715 	glad_glMultiTexCoordP2ui = (PFNGLMULTITEXCOORDP2UIPROC)load("glMultiTexCoordP2ui");
   3716 	glad_glMultiTexCoordP2uiv = (PFNGLMULTITEXCOORDP2UIVPROC)load("glMultiTexCoordP2uiv");
   3717 	glad_glMultiTexCoordP3ui = (PFNGLMULTITEXCOORDP3UIPROC)load("glMultiTexCoordP3ui");
   3718 	glad_glMultiTexCoordP3uiv = (PFNGLMULTITEXCOORDP3UIVPROC)load("glMultiTexCoordP3uiv");
   3719 	glad_glMultiTexCoordP4ui = (PFNGLMULTITEXCOORDP4UIPROC)load("glMultiTexCoordP4ui");
   3720 	glad_glMultiTexCoordP4uiv = (PFNGLMULTITEXCOORDP4UIVPROC)load("glMultiTexCoordP4uiv");
   3721 	glad_glNormalP3ui = (PFNGLNORMALP3UIPROC)load("glNormalP3ui");
   3722 	glad_glNormalP3uiv = (PFNGLNORMALP3UIVPROC)load("glNormalP3uiv");
   3723 	glad_glColorP3ui = (PFNGLCOLORP3UIPROC)load("glColorP3ui");
   3724 	glad_glColorP3uiv = (PFNGLCOLORP3UIVPROC)load("glColorP3uiv");
   3725 	glad_glColorP4ui = (PFNGLCOLORP4UIPROC)load("glColorP4ui");
   3726 	glad_glColorP4uiv = (PFNGLCOLORP4UIVPROC)load("glColorP4uiv");
   3727 	glad_glSecondaryColorP3ui = (PFNGLSECONDARYCOLORP3UIPROC)load("glSecondaryColorP3ui");
   3728 	glad_glSecondaryColorP3uiv = (PFNGLSECONDARYCOLORP3UIVPROC)load("glSecondaryColorP3uiv");
   3729 }
   3730 static int find_extensionsGL(void) {
   3731 	if (!get_exts()) return 0;
   3732 	(void)&has_ext;
   3733 	free_exts();
   3734 	return 1;
   3735 }
   3736 
   3737 static void find_coreGL(void) {
   3738 
   3739     /* Thank you @elmindreda
   3740      * https://github.com/elmindreda/greg/blob/master/templates/greg.c.in#L176
   3741      * https://github.com/glfw/glfw/blob/master/src/context.c#L36
   3742      */
   3743     int i, major, minor;
   3744 
   3745     const char* version;
   3746     const char* prefixes[] = {
   3747         "OpenGL ES-CM ",
   3748         "OpenGL ES-CL ",
   3749         "OpenGL ES ",
   3750         NULL
   3751     };
   3752 
   3753     version = (const char*) glGetString(GL_VERSION);
   3754     if (!version) return;
   3755 
   3756     for (i = 0;  prefixes[i];  i++) {
   3757         const size_t length = strlen(prefixes[i]);
   3758         if (strncmp(version, prefixes[i], length) == 0) {
   3759             version += length;
   3760             break;
   3761         }
   3762     }
   3763 
   3764 /* PR #18 */
   3765 #ifdef _MSC_VER
   3766     sscanf_s(version, "%d.%d", &major, &minor);
   3767 #else
   3768     sscanf(version, "%d.%d", &major, &minor);
   3769 #endif
   3770 
   3771     GLVersion.major = major; GLVersion.minor = minor;
   3772     max_loaded_major = major; max_loaded_minor = minor;
   3773 	GLAD_GL_VERSION_1_0 = (major == 1 && minor >= 0) || major > 1;
   3774 	GLAD_GL_VERSION_1_1 = (major == 1 && minor >= 1) || major > 1;
   3775 	GLAD_GL_VERSION_1_2 = (major == 1 && minor >= 2) || major > 1;
   3776 	GLAD_GL_VERSION_1_3 = (major == 1 && minor >= 3) || major > 1;
   3777 	GLAD_GL_VERSION_1_4 = (major == 1 && minor >= 4) || major > 1;
   3778 	GLAD_GL_VERSION_1_5 = (major == 1 && minor >= 5) || major > 1;
   3779 	GLAD_GL_VERSION_2_0 = (major == 2 && minor >= 0) || major > 2;
   3780 	GLAD_GL_VERSION_2_1 = (major == 2 && minor >= 1) || major > 2;
   3781 	GLAD_GL_VERSION_3_0 = (major == 3 && minor >= 0) || major > 3;
   3782 	GLAD_GL_VERSION_3_1 = (major == 3 && minor >= 1) || major > 3;
   3783 	GLAD_GL_VERSION_3_2 = (major == 3 && minor >= 2) || major > 3;
   3784 	GLAD_GL_VERSION_3_3 = (major == 3 && minor >= 3) || major > 3;
   3785 	if (GLVersion.major > 3 || (GLVersion.major >= 3 && GLVersion.minor >= 3)) {
   3786 		max_loaded_major = 3;
   3787 		max_loaded_minor = 3;
   3788 	}
   3789 }
   3790 
   3791 int gladLoadGLLoader(GLADloadproc load) {
   3792 	GLVersion.major = 0; GLVersion.minor = 0;
   3793 	glGetString = (PFNGLGETSTRINGPROC)load("glGetString");
   3794 	if(glGetString == NULL) return 0;
   3795 	if(glGetString(GL_VERSION) == NULL) return 0;
   3796 	find_coreGL();
   3797 	load_GL_VERSION_1_0(load);
   3798 	load_GL_VERSION_1_1(load);
   3799 	load_GL_VERSION_1_2(load);
   3800 	load_GL_VERSION_1_3(load);
   3801 	load_GL_VERSION_1_4(load);
   3802 	load_GL_VERSION_1_5(load);
   3803 	load_GL_VERSION_2_0(load);
   3804 	load_GL_VERSION_2_1(load);
   3805 	load_GL_VERSION_3_0(load);
   3806 	load_GL_VERSION_3_1(load);
   3807 	load_GL_VERSION_3_2(load);
   3808 	load_GL_VERSION_3_3(load);
   3809 
   3810 	if (!find_extensionsGL()) return 0;
   3811 	return GLVersion.major != 0 || GLVersion.minor != 0;
   3812 }
   3813