github.com/Konstantin8105/c4go@v0.0.0-20240505174241-768bb1c65a51/tests/raylib/external/glfw/deps/glad/gles2.h (about)

     1  /**
     2   * Loader generated by glad 2.0.0-beta on Tue Aug 24 22:51:42 2021
     3   *
     4   * Generator: C/C++
     5   * Specification: gl
     6   * Extensions: 0
     7   *
     8   * APIs:
     9   *  - gles2=2.0
    10   *
    11   * Options:
    12   *  - ALIAS = False
    13   *  - DEBUG = False
    14   *  - HEADER_ONLY = True
    15   *  - LOADER = False
    16   *  - MX = False
    17   *  - MX_GLOBAL = False
    18   *  - ON_DEMAND = False
    19   *
    20   * Commandline:
    21   *    --api='gles2=2.0' --extensions='' c --header-only
    22   *
    23   * Online:
    24   *    http://glad.sh/#api=gles2%3D2.0&extensions=&generator=c&options=HEADER_ONLY
    25   *
    26   */
    27  
    28  #ifndef GLAD_GLES2_H_
    29  #define GLAD_GLES2_H_
    30  
    31  #ifdef __clang__
    32  #pragma clang diagnostic push
    33  #pragma clang diagnostic ignored "-Wreserved-id-macro"
    34  #endif
    35  #ifdef __gl2_h_
    36    #error OpenGL ES 2 header already included (API: gles2), remove previous include!
    37  #endif
    38  #define __gl2_h_ 1
    39  #ifdef __gl3_h_
    40    #error OpenGL ES 3 header already included (API: gles2), remove previous include!
    41  #endif
    42  #define __gl3_h_ 1
    43  #ifdef __clang__
    44  #pragma clang diagnostic pop
    45  #endif
    46  
    47  #define GLAD_GLES2
    48  #define GLAD_OPTION_GLES2_HEADER_ONLY
    49  
    50  #ifdef __cplusplus
    51  extern "C" {
    52  #endif
    53  
    54  #ifndef GLAD_PLATFORM_H_
    55  #define GLAD_PLATFORM_H_
    56  
    57  #ifndef GLAD_PLATFORM_WIN32
    58    #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__MINGW32__)
    59      #define GLAD_PLATFORM_WIN32 1
    60    #else
    61      #define GLAD_PLATFORM_WIN32 0
    62    #endif
    63  #endif
    64  
    65  #ifndef GLAD_PLATFORM_APPLE
    66    #ifdef __APPLE__
    67      #define GLAD_PLATFORM_APPLE 1
    68    #else
    69      #define GLAD_PLATFORM_APPLE 0
    70    #endif
    71  #endif
    72  
    73  #ifndef GLAD_PLATFORM_EMSCRIPTEN
    74    #ifdef __EMSCRIPTEN__
    75      #define GLAD_PLATFORM_EMSCRIPTEN 1
    76    #else
    77      #define GLAD_PLATFORM_EMSCRIPTEN 0
    78    #endif
    79  #endif
    80  
    81  #ifndef GLAD_PLATFORM_UWP
    82    #if defined(_MSC_VER) && !defined(GLAD_INTERNAL_HAVE_WINAPIFAMILY)
    83      #ifdef __has_include
    84        #if __has_include(<winapifamily.h>)
    85          #define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1
    86        #endif
    87      #elif _MSC_VER >= 1700 && !_USING_V110_SDK71_
    88        #define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1
    89      #endif
    90    #endif
    91  
    92    #ifdef GLAD_INTERNAL_HAVE_WINAPIFAMILY
    93      #include <winapifamily.h>
    94      #if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
    95        #define GLAD_PLATFORM_UWP 1
    96      #endif
    97    #endif
    98  
    99    #ifndef GLAD_PLATFORM_UWP
   100      #define GLAD_PLATFORM_UWP 0
   101    #endif
   102  #endif
   103  
   104  #ifdef __GNUC__
   105    #define GLAD_GNUC_EXTENSION __extension__
   106  #else
   107    #define GLAD_GNUC_EXTENSION
   108  #endif
   109  
   110  #ifndef GLAD_API_CALL
   111    #if defined(GLAD_API_CALL_EXPORT)
   112      #if GLAD_PLATFORM_WIN32 || defined(__CYGWIN__)
   113        #if defined(GLAD_API_CALL_EXPORT_BUILD)
   114          #if defined(__GNUC__)
   115            #define GLAD_API_CALL __attribute__ ((dllexport)) extern
   116          #else
   117            #define GLAD_API_CALL __declspec(dllexport) extern
   118          #endif
   119        #else
   120          #if defined(__GNUC__)
   121            #define GLAD_API_CALL __attribute__ ((dllimport)) extern
   122          #else
   123            #define GLAD_API_CALL __declspec(dllimport) extern
   124          #endif
   125        #endif
   126      #elif defined(__GNUC__) && defined(GLAD_API_CALL_EXPORT_BUILD)
   127        #define GLAD_API_CALL __attribute__ ((visibility ("default"))) extern
   128      #else
   129        #define GLAD_API_CALL extern
   130      #endif
   131    #else
   132      #define GLAD_API_CALL extern
   133    #endif
   134  #endif
   135  
   136  #ifdef APIENTRY
   137    #define GLAD_API_PTR APIENTRY
   138  #elif GLAD_PLATFORM_WIN32
   139    #define GLAD_API_PTR __stdcall
   140  #else
   141    #define GLAD_API_PTR
   142  #endif
   143  
   144  #ifndef GLAPI
   145  #define GLAPI GLAD_API_CALL
   146  #endif
   147  
   148  #ifndef GLAPIENTRY
   149  #define GLAPIENTRY GLAD_API_PTR
   150  #endif
   151  
   152  #define GLAD_MAKE_VERSION(major, minor) (major * 10000 + minor)
   153  #define GLAD_VERSION_MAJOR(version) (version / 10000)
   154  #define GLAD_VERSION_MINOR(version) (version % 10000)
   155  
   156  #define GLAD_GENERATOR_VERSION "2.0.0-beta"
   157  
   158  typedef void (*GLADapiproc)(void);
   159  
   160  typedef GLADapiproc (*GLADloadfunc)(const char *name);
   161  typedef GLADapiproc (*GLADuserptrloadfunc)(void *userptr, const char *name);
   162  
   163  typedef void (*GLADprecallback)(const char *name, GLADapiproc apiproc, int len_args, ...);
   164  typedef void (*GLADpostcallback)(void *ret, const char *name, GLADapiproc apiproc, int len_args, ...);
   165  
   166  #endif /* GLAD_PLATFORM_H_ */
   167  
   168  #define GL_ACTIVE_ATTRIBUTES 0x8B89
   169  #define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
   170  #define GL_ACTIVE_TEXTURE 0x84E0
   171  #define GL_ACTIVE_UNIFORMS 0x8B86
   172  #define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
   173  #define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
   174  #define GL_ALIASED_POINT_SIZE_RANGE 0x846D
   175  #define GL_ALPHA 0x1906
   176  #define GL_ALPHA_BITS 0x0D55
   177  #define GL_ALWAYS 0x0207
   178  #define GL_ARRAY_BUFFER 0x8892
   179  #define GL_ARRAY_BUFFER_BINDING 0x8894
   180  #define GL_ATTACHED_SHADERS 0x8B85
   181  #define GL_BACK 0x0405
   182  #define GL_BLEND 0x0BE2
   183  #define GL_BLEND_COLOR 0x8005
   184  #define GL_BLEND_DST_ALPHA 0x80CA
   185  #define GL_BLEND_DST_RGB 0x80C8
   186  #define GL_BLEND_EQUATION 0x8009
   187  #define GL_BLEND_EQUATION_ALPHA 0x883D
   188  #define GL_BLEND_EQUATION_RGB 0x8009
   189  #define GL_BLEND_SRC_ALPHA 0x80CB
   190  #define GL_BLEND_SRC_RGB 0x80C9
   191  #define GL_BLUE_BITS 0x0D54
   192  #define GL_BOOL 0x8B56
   193  #define GL_BOOL_VEC2 0x8B57
   194  #define GL_BOOL_VEC3 0x8B58
   195  #define GL_BOOL_VEC4 0x8B59
   196  #define GL_BUFFER_SIZE 0x8764
   197  #define GL_BUFFER_USAGE 0x8765
   198  #define GL_BYTE 0x1400
   199  #define GL_CCW 0x0901
   200  #define GL_CLAMP_TO_EDGE 0x812F
   201  #define GL_COLOR_ATTACHMENT0 0x8CE0
   202  #define GL_COLOR_BUFFER_BIT 0x00004000
   203  #define GL_COLOR_CLEAR_VALUE 0x0C22
   204  #define GL_COLOR_WRITEMASK 0x0C23
   205  #define GL_COMPILE_STATUS 0x8B81
   206  #define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
   207  #define GL_CONSTANT_ALPHA 0x8003
   208  #define GL_CONSTANT_COLOR 0x8001
   209  #define GL_CULL_FACE 0x0B44
   210  #define GL_CULL_FACE_MODE 0x0B45
   211  #define GL_CURRENT_PROGRAM 0x8B8D
   212  #define GL_CURRENT_VERTEX_ATTRIB 0x8626
   213  #define GL_CW 0x0900
   214  #define GL_DECR 0x1E03
   215  #define GL_DECR_WRAP 0x8508
   216  #define GL_DELETE_STATUS 0x8B80
   217  #define GL_DEPTH_ATTACHMENT 0x8D00
   218  #define GL_DEPTH_BITS 0x0D56
   219  #define GL_DEPTH_BUFFER_BIT 0x00000100
   220  #define GL_DEPTH_CLEAR_VALUE 0x0B73
   221  #define GL_DEPTH_COMPONENT 0x1902
   222  #define GL_DEPTH_COMPONENT16 0x81A5
   223  #define GL_DEPTH_FUNC 0x0B74
   224  #define GL_DEPTH_RANGE 0x0B70
   225  #define GL_DEPTH_TEST 0x0B71
   226  #define GL_DEPTH_WRITEMASK 0x0B72
   227  #define GL_DITHER 0x0BD0
   228  #define GL_DONT_CARE 0x1100
   229  #define GL_DST_ALPHA 0x0304
   230  #define GL_DST_COLOR 0x0306
   231  #define GL_DYNAMIC_DRAW 0x88E8
   232  #define GL_ELEMENT_ARRAY_BUFFER 0x8893
   233  #define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
   234  #define GL_EQUAL 0x0202
   235  #define GL_EXTENSIONS 0x1F03
   236  #define GL_FALSE 0
   237  #define GL_FASTEST 0x1101
   238  #define GL_FIXED 0x140C
   239  #define GL_FLOAT 0x1406
   240  #define GL_FLOAT_MAT2 0x8B5A
   241  #define GL_FLOAT_MAT3 0x8B5B
   242  #define GL_FLOAT_MAT4 0x8B5C
   243  #define GL_FLOAT_VEC2 0x8B50
   244  #define GL_FLOAT_VEC3 0x8B51
   245  #define GL_FLOAT_VEC4 0x8B52
   246  #define GL_FRAGMENT_SHADER 0x8B30
   247  #define GL_FRAMEBUFFER 0x8D40
   248  #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
   249  #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
   250  #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
   251  #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
   252  #define GL_FRAMEBUFFER_BINDING 0x8CA6
   253  #define GL_FRAMEBUFFER_COMPLETE 0x8CD5
   254  #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
   255  #define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9
   256  #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
   257  #define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
   258  #define GL_FRONT 0x0404
   259  #define GL_FRONT_AND_BACK 0x0408
   260  #define GL_FRONT_FACE 0x0B46
   261  #define GL_FUNC_ADD 0x8006
   262  #define GL_FUNC_REVERSE_SUBTRACT 0x800B
   263  #define GL_FUNC_SUBTRACT 0x800A
   264  #define GL_GENERATE_MIPMAP_HINT 0x8192
   265  #define GL_GEQUAL 0x0206
   266  #define GL_GREATER 0x0204
   267  #define GL_GREEN_BITS 0x0D53
   268  #define GL_HIGH_FLOAT 0x8DF2
   269  #define GL_HIGH_INT 0x8DF5
   270  #define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
   271  #define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
   272  #define GL_INCR 0x1E02
   273  #define GL_INCR_WRAP 0x8507
   274  #define GL_INFO_LOG_LENGTH 0x8B84
   275  #define GL_INT 0x1404
   276  #define GL_INT_VEC2 0x8B53
   277  #define GL_INT_VEC3 0x8B54
   278  #define GL_INT_VEC4 0x8B55
   279  #define GL_INVALID_ENUM 0x0500
   280  #define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
   281  #define GL_INVALID_OPERATION 0x0502
   282  #define GL_INVALID_VALUE 0x0501
   283  #define GL_INVERT 0x150A
   284  #define GL_KEEP 0x1E00
   285  #define GL_LEQUAL 0x0203
   286  #define GL_LESS 0x0201
   287  #define GL_LINEAR 0x2601
   288  #define GL_LINEAR_MIPMAP_LINEAR 0x2703
   289  #define GL_LINEAR_MIPMAP_NEAREST 0x2701
   290  #define GL_LINES 0x0001
   291  #define GL_LINE_LOOP 0x0002
   292  #define GL_LINE_STRIP 0x0003
   293  #define GL_LINE_WIDTH 0x0B21
   294  #define GL_LINK_STATUS 0x8B82
   295  #define GL_LOW_FLOAT 0x8DF0
   296  #define GL_LOW_INT 0x8DF3
   297  #define GL_LUMINANCE 0x1909
   298  #define GL_LUMINANCE_ALPHA 0x190A
   299  #define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
   300  #define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
   301  #define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
   302  #define GL_MAX_RENDERBUFFER_SIZE 0x84E8
   303  #define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
   304  #define GL_MAX_TEXTURE_SIZE 0x0D33
   305  #define GL_MAX_VARYING_VECTORS 0x8DFC
   306  #define GL_MAX_VERTEX_ATTRIBS 0x8869
   307  #define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
   308  #define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
   309  #define GL_MAX_VIEWPORT_DIMS 0x0D3A
   310  #define GL_MEDIUM_FLOAT 0x8DF1
   311  #define GL_MEDIUM_INT 0x8DF4
   312  #define GL_MIRRORED_REPEAT 0x8370
   313  #define GL_NEAREST 0x2600
   314  #define GL_NEAREST_MIPMAP_LINEAR 0x2702
   315  #define GL_NEAREST_MIPMAP_NEAREST 0x2700
   316  #define GL_NEVER 0x0200
   317  #define GL_NICEST 0x1102
   318  #define GL_NONE 0
   319  #define GL_NOTEQUAL 0x0205
   320  #define GL_NO_ERROR 0
   321  #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
   322  #define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
   323  #define GL_ONE 1
   324  #define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
   325  #define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
   326  #define GL_ONE_MINUS_DST_ALPHA 0x0305
   327  #define GL_ONE_MINUS_DST_COLOR 0x0307
   328  #define GL_ONE_MINUS_SRC_ALPHA 0x0303
   329  #define GL_ONE_MINUS_SRC_COLOR 0x0301
   330  #define GL_OUT_OF_MEMORY 0x0505
   331  #define GL_PACK_ALIGNMENT 0x0D05
   332  #define GL_POINTS 0x0000
   333  #define GL_POLYGON_OFFSET_FACTOR 0x8038
   334  #define GL_POLYGON_OFFSET_FILL 0x8037
   335  #define GL_POLYGON_OFFSET_UNITS 0x2A00
   336  #define GL_RED_BITS 0x0D52
   337  #define GL_RENDERBUFFER 0x8D41
   338  #define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
   339  #define GL_RENDERBUFFER_BINDING 0x8CA7
   340  #define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
   341  #define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
   342  #define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
   343  #define GL_RENDERBUFFER_HEIGHT 0x8D43
   344  #define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
   345  #define GL_RENDERBUFFER_RED_SIZE 0x8D50
   346  #define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
   347  #define GL_RENDERBUFFER_WIDTH 0x8D42
   348  #define GL_RENDERER 0x1F01
   349  #define GL_REPEAT 0x2901
   350  #define GL_REPLACE 0x1E01
   351  #define GL_RGB 0x1907
   352  #define GL_RGB565 0x8D62
   353  #define GL_RGB5_A1 0x8057
   354  #define GL_RGBA 0x1908
   355  #define GL_RGBA4 0x8056
   356  #define GL_SAMPLER_2D 0x8B5E
   357  #define GL_SAMPLER_CUBE 0x8B60
   358  #define GL_SAMPLES 0x80A9
   359  #define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
   360  #define GL_SAMPLE_BUFFERS 0x80A8
   361  #define GL_SAMPLE_COVERAGE 0x80A0
   362  #define GL_SAMPLE_COVERAGE_INVERT 0x80AB
   363  #define GL_SAMPLE_COVERAGE_VALUE 0x80AA
   364  #define GL_SCISSOR_BOX 0x0C10
   365  #define GL_SCISSOR_TEST 0x0C11
   366  #define GL_SHADER_BINARY_FORMATS 0x8DF8
   367  #define GL_SHADER_COMPILER 0x8DFA
   368  #define GL_SHADER_SOURCE_LENGTH 0x8B88
   369  #define GL_SHADER_TYPE 0x8B4F
   370  #define GL_SHADING_LANGUAGE_VERSION 0x8B8C
   371  #define GL_SHORT 0x1402
   372  #define GL_SRC_ALPHA 0x0302
   373  #define GL_SRC_ALPHA_SATURATE 0x0308
   374  #define GL_SRC_COLOR 0x0300
   375  #define GL_STATIC_DRAW 0x88E4
   376  #define GL_STENCIL_ATTACHMENT 0x8D20
   377  #define GL_STENCIL_BACK_FAIL 0x8801
   378  #define GL_STENCIL_BACK_FUNC 0x8800
   379  #define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
   380  #define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
   381  #define GL_STENCIL_BACK_REF 0x8CA3
   382  #define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
   383  #define GL_STENCIL_BACK_WRITEMASK 0x8CA5
   384  #define GL_STENCIL_BITS 0x0D57
   385  #define GL_STENCIL_BUFFER_BIT 0x00000400
   386  #define GL_STENCIL_CLEAR_VALUE 0x0B91
   387  #define GL_STENCIL_FAIL 0x0B94
   388  #define GL_STENCIL_FUNC 0x0B92
   389  #define GL_STENCIL_INDEX8 0x8D48
   390  #define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
   391  #define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
   392  #define GL_STENCIL_REF 0x0B97
   393  #define GL_STENCIL_TEST 0x0B90
   394  #define GL_STENCIL_VALUE_MASK 0x0B93
   395  #define GL_STENCIL_WRITEMASK 0x0B98
   396  #define GL_STREAM_DRAW 0x88E0
   397  #define GL_SUBPIXEL_BITS 0x0D50
   398  #define GL_TEXTURE 0x1702
   399  #define GL_TEXTURE0 0x84C0
   400  #define GL_TEXTURE1 0x84C1
   401  #define GL_TEXTURE10 0x84CA
   402  #define GL_TEXTURE11 0x84CB
   403  #define GL_TEXTURE12 0x84CC
   404  #define GL_TEXTURE13 0x84CD
   405  #define GL_TEXTURE14 0x84CE
   406  #define GL_TEXTURE15 0x84CF
   407  #define GL_TEXTURE16 0x84D0
   408  #define GL_TEXTURE17 0x84D1
   409  #define GL_TEXTURE18 0x84D2
   410  #define GL_TEXTURE19 0x84D3
   411  #define GL_TEXTURE2 0x84C2
   412  #define GL_TEXTURE20 0x84D4
   413  #define GL_TEXTURE21 0x84D5
   414  #define GL_TEXTURE22 0x84D6
   415  #define GL_TEXTURE23 0x84D7
   416  #define GL_TEXTURE24 0x84D8
   417  #define GL_TEXTURE25 0x84D9
   418  #define GL_TEXTURE26 0x84DA
   419  #define GL_TEXTURE27 0x84DB
   420  #define GL_TEXTURE28 0x84DC
   421  #define GL_TEXTURE29 0x84DD
   422  #define GL_TEXTURE3 0x84C3
   423  #define GL_TEXTURE30 0x84DE
   424  #define GL_TEXTURE31 0x84DF
   425  #define GL_TEXTURE4 0x84C4
   426  #define GL_TEXTURE5 0x84C5
   427  #define GL_TEXTURE6 0x84C6
   428  #define GL_TEXTURE7 0x84C7
   429  #define GL_TEXTURE8 0x84C8
   430  #define GL_TEXTURE9 0x84C9
   431  #define GL_TEXTURE_2D 0x0DE1
   432  #define GL_TEXTURE_BINDING_2D 0x8069
   433  #define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
   434  #define GL_TEXTURE_CUBE_MAP 0x8513
   435  #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
   436  #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
   437  #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
   438  #define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
   439  #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
   440  #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
   441  #define GL_TEXTURE_MAG_FILTER 0x2800
   442  #define GL_TEXTURE_MIN_FILTER 0x2801
   443  #define GL_TEXTURE_WRAP_S 0x2802
   444  #define GL_TEXTURE_WRAP_T 0x2803
   445  #define GL_TRIANGLES 0x0004
   446  #define GL_TRIANGLE_FAN 0x0006
   447  #define GL_TRIANGLE_STRIP 0x0005
   448  #define GL_TRUE 1
   449  #define GL_UNPACK_ALIGNMENT 0x0CF5
   450  #define GL_UNSIGNED_BYTE 0x1401
   451  #define GL_UNSIGNED_INT 0x1405
   452  #define GL_UNSIGNED_SHORT 0x1403
   453  #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
   454  #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
   455  #define GL_UNSIGNED_SHORT_5_6_5 0x8363
   456  #define GL_VALIDATE_STATUS 0x8B83
   457  #define GL_VENDOR 0x1F00
   458  #define GL_VERSION 0x1F02
   459  #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
   460  #define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
   461  #define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
   462  #define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
   463  #define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
   464  #define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
   465  #define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
   466  #define GL_VERTEX_SHADER 0x8B31
   467  #define GL_VIEWPORT 0x0BA2
   468  #define GL_ZERO 0
   469  
   470  
   471  #ifndef __khrplatform_h_
   472  #define __khrplatform_h_
   473  
   474  /*
   475  ** Copyright (c) 2008-2018 The Khronos Group Inc.
   476  **
   477  ** Permission is hereby granted, free of charge, to any person obtaining a
   478  ** copy of this software and/or associated documentation files (the
   479  ** "Materials"), to deal in the Materials without restriction, including
   480  ** without limitation the rights to use, copy, modify, merge, publish,
   481  ** distribute, sublicense, and/or sell copies of the Materials, and to
   482  ** permit persons to whom the Materials are furnished to do so, subject to
   483  ** the following conditions:
   484  **
   485  ** The above copyright notice and this permission notice shall be included
   486  ** in all copies or substantial portions of the Materials.
   487  **
   488  ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
   489  ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
   490  ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
   491  ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
   492  ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
   493  ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
   494  ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
   495  */
   496  
   497  /* Khronos platform-specific types and definitions.
   498   *
   499   * The master copy of khrplatform.h is maintained in the Khronos EGL
   500   * Registry repository at https://github.com/KhronosGroup/EGL-Registry
   501   * The last semantic modification to khrplatform.h was at commit ID:
   502   *      67a3e0864c2d75ea5287b9f3d2eb74a745936692
   503   *
   504   * Adopters may modify this file to suit their platform. Adopters are
   505   * encouraged to submit platform specific modifications to the Khronos
   506   * group so that they can be included in future versions of this file.
   507   * Please submit changes by filing pull requests or issues on
   508   * the EGL Registry repository linked above.
   509   *
   510   *
   511   * See the Implementer's Guidelines for information about where this file
   512   * should be located on your system and for more details of its use:
   513   *    http://www.khronos.org/registry/implementers_guide.pdf
   514   *
   515   * This file should be included as
   516   *        #include <KHR/khrplatform.h>
   517   * by Khronos client API header files that use its types and defines.
   518   *
   519   * The types in khrplatform.h should only be used to define API-specific types.
   520   *
   521   * Types defined in khrplatform.h:
   522   *    khronos_int8_t              signed   8  bit
   523   *    khronos_uint8_t             unsigned 8  bit
   524   *    khronos_int16_t             signed   16 bit
   525   *    khronos_uint16_t            unsigned 16 bit
   526   *    khronos_int32_t             signed   32 bit
   527   *    khronos_uint32_t            unsigned 32 bit
   528   *    khronos_int64_t             signed   64 bit
   529   *    khronos_uint64_t            unsigned 64 bit
   530   *    khronos_intptr_t            signed   same number of bits as a pointer
   531   *    khronos_uintptr_t           unsigned same number of bits as a pointer
   532   *    khronos_ssize_t             signed   size
   533   *    khronos_usize_t             unsigned size
   534   *    khronos_float_t             signed   32 bit floating point
   535   *    khronos_time_ns_t           unsigned 64 bit time in nanoseconds
   536   *    khronos_utime_nanoseconds_t unsigned time interval or absolute time in
   537   *                                         nanoseconds
   538   *    khronos_stime_nanoseconds_t signed time interval in nanoseconds
   539   *    khronos_boolean_enum_t      enumerated boolean type. This should
   540   *      only be used as a base type when a client API's boolean type is
   541   *      an enum. Client APIs which use an integer or other type for
   542   *      booleans cannot use this as the base type for their boolean.
   543   *
   544   * Tokens defined in khrplatform.h:
   545   *
   546   *    KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
   547   *
   548   *    KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
   549   *    KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
   550   *
   551   * Calling convention macros defined in this file:
   552   *    KHRONOS_APICALL
   553   *    KHRONOS_GLAD_API_PTR
   554   *    KHRONOS_APIATTRIBUTES
   555   *
   556   * These may be used in function prototypes as:
   557   *
   558   *      KHRONOS_APICALL void KHRONOS_GLAD_API_PTR funcname(
   559   *                                  int arg1,
   560   *                                  int arg2) KHRONOS_APIATTRIBUTES;
   561   */
   562  
   563  #if defined(__SCITECH_SNAP__) && !defined(KHRONOS_STATIC)
   564  #   define KHRONOS_STATIC 1
   565  #endif
   566  
   567  /*-------------------------------------------------------------------------
   568   * Definition of KHRONOS_APICALL
   569   *-------------------------------------------------------------------------
   570   * This precedes the return type of the function in the function prototype.
   571   */
   572  #if defined(KHRONOS_STATIC)
   573      /* If the preprocessor constant KHRONOS_STATIC is defined, make the
   574       * header compatible with static linking. */
   575  #   define KHRONOS_APICALL
   576  #elif defined(_WIN32)
   577  #   define KHRONOS_APICALL __declspec(dllimport)
   578  #elif defined (__SYMBIAN32__)
   579  #   define KHRONOS_APICALL IMPORT_C
   580  #elif defined(__ANDROID__)
   581  #   define KHRONOS_APICALL __attribute__((visibility("default")))
   582  #else
   583  #   define KHRONOS_APICALL
   584  #endif
   585  
   586  /*-------------------------------------------------------------------------
   587   * Definition of KHRONOS_GLAD_API_PTR
   588   *-------------------------------------------------------------------------
   589   * This follows the return type of the function  and precedes the function
   590   * name in the function prototype.
   591   */
   592  #if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
   593      /* Win32 but not WinCE */
   594  #   define KHRONOS_GLAD_API_PTR __stdcall
   595  #else
   596  #   define KHRONOS_GLAD_API_PTR
   597  #endif
   598  
   599  /*-------------------------------------------------------------------------
   600   * Definition of KHRONOS_APIATTRIBUTES
   601   *-------------------------------------------------------------------------
   602   * This follows the closing parenthesis of the function prototype arguments.
   603   */
   604  #if defined (__ARMCC_2__)
   605  #define KHRONOS_APIATTRIBUTES __softfp
   606  #else
   607  #define KHRONOS_APIATTRIBUTES
   608  #endif
   609  
   610  /*-------------------------------------------------------------------------
   611   * basic type definitions
   612   *-----------------------------------------------------------------------*/
   613  #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
   614  
   615  
   616  /*
   617   * Using <stdint.h>
   618   */
   619  #include <stdint.h>
   620  typedef int32_t                 khronos_int32_t;
   621  typedef uint32_t                khronos_uint32_t;
   622  typedef int64_t                 khronos_int64_t;
   623  typedef uint64_t                khronos_uint64_t;
   624  #define KHRONOS_SUPPORT_INT64   1
   625  #define KHRONOS_SUPPORT_FLOAT   1
   626  
   627  #elif defined(__VMS ) || defined(__sgi)
   628  
   629  /*
   630   * Using <inttypes.h>
   631   */
   632  #include <inttypes.h>
   633  typedef int32_t                 khronos_int32_t;
   634  typedef uint32_t                khronos_uint32_t;
   635  typedef int64_t                 khronos_int64_t;
   636  typedef uint64_t                khronos_uint64_t;
   637  #define KHRONOS_SUPPORT_INT64   1
   638  #define KHRONOS_SUPPORT_FLOAT   1
   639  
   640  #elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
   641  
   642  /*
   643   * Win32
   644   */
   645  typedef __int32                 khronos_int32_t;
   646  typedef unsigned __int32        khronos_uint32_t;
   647  typedef __int64                 khronos_int64_t;
   648  typedef unsigned __int64        khronos_uint64_t;
   649  #define KHRONOS_SUPPORT_INT64   1
   650  #define KHRONOS_SUPPORT_FLOAT   1
   651  
   652  #elif defined(__sun__) || defined(__digital__)
   653  
   654  /*
   655   * Sun or Digital
   656   */
   657  typedef int                     khronos_int32_t;
   658  typedef unsigned int            khronos_uint32_t;
   659  #if defined(__arch64__) || defined(_LP64)
   660  typedef long int                khronos_int64_t;
   661  typedef unsigned long int       khronos_uint64_t;
   662  #else
   663  typedef long long int           khronos_int64_t;
   664  typedef unsigned long long int  khronos_uint64_t;
   665  #endif /* __arch64__ */
   666  #define KHRONOS_SUPPORT_INT64   1
   667  #define KHRONOS_SUPPORT_FLOAT   1
   668  
   669  #elif 0
   670  
   671  /*
   672   * Hypothetical platform with no float or int64 support
   673   */
   674  typedef int                     khronos_int32_t;
   675  typedef unsigned int            khronos_uint32_t;
   676  #define KHRONOS_SUPPORT_INT64   0
   677  #define KHRONOS_SUPPORT_FLOAT   0
   678  
   679  #else
   680  
   681  /*
   682   * Generic fallback
   683   */
   684  #include <stdint.h>
   685  typedef int32_t                 khronos_int32_t;
   686  typedef uint32_t                khronos_uint32_t;
   687  typedef int64_t                 khronos_int64_t;
   688  typedef uint64_t                khronos_uint64_t;
   689  #define KHRONOS_SUPPORT_INT64   1
   690  #define KHRONOS_SUPPORT_FLOAT   1
   691  
   692  #endif
   693  
   694  
   695  /*
   696   * Types that are (so far) the same on all platforms
   697   */
   698  typedef signed   char          khronos_int8_t;
   699  typedef unsigned char          khronos_uint8_t;
   700  typedef signed   short int     khronos_int16_t;
   701  typedef unsigned short int     khronos_uint16_t;
   702  
   703  /*
   704   * Types that differ between LLP64 and LP64 architectures - in LLP64,
   705   * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
   706   * to be the only LLP64 architecture in current use.
   707   */
   708  #ifdef _WIN64
   709  typedef signed   long long int khronos_intptr_t;
   710  typedef unsigned long long int khronos_uintptr_t;
   711  typedef signed   long long int khronos_ssize_t;
   712  typedef unsigned long long int khronos_usize_t;
   713  #else
   714  typedef signed   long  int     khronos_intptr_t;
   715  typedef unsigned long  int     khronos_uintptr_t;
   716  typedef signed   long  int     khronos_ssize_t;
   717  typedef unsigned long  int     khronos_usize_t;
   718  #endif
   719  
   720  #if KHRONOS_SUPPORT_FLOAT
   721  /*
   722   * Float type
   723   */
   724  typedef          float         khronos_float_t;
   725  #endif
   726  
   727  #if KHRONOS_SUPPORT_INT64
   728  /* Time types
   729   *
   730   * These types can be used to represent a time interval in nanoseconds or
   731   * an absolute Unadjusted System Time.  Unadjusted System Time is the number
   732   * of nanoseconds since some arbitrary system event (e.g. since the last
   733   * time the system booted).  The Unadjusted System Time is an unsigned
   734   * 64 bit value that wraps back to 0 every 584 years.  Time intervals
   735   * may be either signed or unsigned.
   736   */
   737  typedef khronos_uint64_t       khronos_utime_nanoseconds_t;
   738  typedef khronos_int64_t        khronos_stime_nanoseconds_t;
   739  #endif
   740  
   741  /*
   742   * Dummy value used to pad enum types to 32 bits.
   743   */
   744  #ifndef KHRONOS_MAX_ENUM
   745  #define KHRONOS_MAX_ENUM 0x7FFFFFFF
   746  #endif
   747  
   748  /*
   749   * Enumerated boolean type
   750   *
   751   * Values other than zero should be considered to be true.  Therefore
   752   * comparisons should not be made against KHRONOS_TRUE.
   753   */
   754  typedef enum {
   755      KHRONOS_FALSE = 0,
   756      KHRONOS_TRUE  = 1,
   757      KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
   758  } khronos_boolean_enum_t;
   759  
   760  #endif /* __khrplatform_h_ */
   761  
   762  typedef unsigned int GLenum;
   763  
   764  typedef unsigned char GLboolean;
   765  
   766  typedef unsigned int GLbitfield;
   767  
   768  typedef void GLvoid;
   769  
   770  typedef khronos_int8_t GLbyte;
   771  
   772  typedef khronos_uint8_t GLubyte;
   773  
   774  typedef khronos_int16_t GLshort;
   775  
   776  typedef khronos_uint16_t GLushort;
   777  
   778  typedef int GLint;
   779  
   780  typedef unsigned int GLuint;
   781  
   782  typedef khronos_int32_t GLclampx;
   783  
   784  typedef int GLsizei;
   785  
   786  typedef khronos_float_t GLfloat;
   787  
   788  typedef khronos_float_t GLclampf;
   789  
   790  typedef double GLdouble;
   791  
   792  typedef double GLclampd;
   793  
   794  typedef void *GLeglClientBufferEXT;
   795  
   796  typedef void *GLeglImageOES;
   797  
   798  typedef char GLchar;
   799  
   800  typedef char GLcharARB;
   801  
   802  #ifdef __APPLE__
   803  typedef void *GLhandleARB;
   804  #else
   805  typedef unsigned int GLhandleARB;
   806  #endif
   807  
   808  typedef khronos_uint16_t GLhalf;
   809  
   810  typedef khronos_uint16_t GLhalfARB;
   811  
   812  typedef khronos_int32_t GLfixed;
   813  
   814  #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)
   815  typedef khronos_intptr_t GLintptr;
   816  #else
   817  typedef khronos_intptr_t GLintptr;
   818  #endif
   819  
   820  #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)
   821  typedef khronos_intptr_t GLintptrARB;
   822  #else
   823  typedef khronos_intptr_t GLintptrARB;
   824  #endif
   825  
   826  #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)
   827  typedef khronos_ssize_t GLsizeiptr;
   828  #else
   829  typedef khronos_ssize_t GLsizeiptr;
   830  #endif
   831  
   832  #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)
   833  typedef khronos_ssize_t GLsizeiptrARB;
   834  #else
   835  typedef khronos_ssize_t GLsizeiptrARB;
   836  #endif
   837  
   838  typedef khronos_int64_t GLint64;
   839  
   840  typedef khronos_int64_t GLint64EXT;
   841  
   842  typedef khronos_uint64_t GLuint64;
   843  
   844  typedef khronos_uint64_t GLuint64EXT;
   845  
   846  typedef struct __GLsync *GLsync;
   847  
   848  struct _cl_context;
   849  
   850  struct _cl_event;
   851  
   852  typedef void (GLAD_API_PTR *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
   853  
   854  typedef void (GLAD_API_PTR *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
   855  
   856  typedef void (GLAD_API_PTR *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
   857  
   858  typedef void (GLAD_API_PTR *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam);
   859  
   860  typedef unsigned short GLhalfNV;
   861  
   862  typedef GLintptr GLvdpauSurfaceNV;
   863  
   864  typedef void (GLAD_API_PTR *GLVULKANPROCNV)(void);
   865  
   866  
   867  
   868  #define GL_ES_VERSION_2_0 1
   869  GLAD_API_CALL int GLAD_GL_ES_VERSION_2_0;
   870  
   871  
   872  typedef void (GLAD_API_PTR *PFNGLACTIVETEXTUREPROC)(GLenum texture);
   873  typedef void (GLAD_API_PTR *PFNGLATTACHSHADERPROC)(GLuint program, GLuint shader);
   874  typedef void (GLAD_API_PTR *PFNGLBINDATTRIBLOCATIONPROC)(GLuint program, GLuint index, const GLchar * name);
   875  typedef void (GLAD_API_PTR *PFNGLBINDBUFFERPROC)(GLenum target, GLuint buffer);
   876  typedef void (GLAD_API_PTR *PFNGLBINDFRAMEBUFFERPROC)(GLenum target, GLuint framebuffer);
   877  typedef void (GLAD_API_PTR *PFNGLBINDRENDERBUFFERPROC)(GLenum target, GLuint renderbuffer);
   878  typedef void (GLAD_API_PTR *PFNGLBINDTEXTUREPROC)(GLenum target, GLuint texture);
   879  typedef void (GLAD_API_PTR *PFNGLBLENDCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
   880  typedef void (GLAD_API_PTR *PFNGLBLENDEQUATIONPROC)(GLenum mode);
   881  typedef void (GLAD_API_PTR *PFNGLBLENDEQUATIONSEPARATEPROC)(GLenum modeRGB, GLenum modeAlpha);
   882  typedef void (GLAD_API_PTR *PFNGLBLENDFUNCPROC)(GLenum sfactor, GLenum dfactor);
   883  typedef void (GLAD_API_PTR *PFNGLBLENDFUNCSEPARATEPROC)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
   884  typedef void (GLAD_API_PTR *PFNGLBUFFERDATAPROC)(GLenum target, GLsizeiptr size, const void * data, GLenum usage);
   885  typedef void (GLAD_API_PTR *PFNGLBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, const void * data);
   886  typedef GLenum (GLAD_API_PTR *PFNGLCHECKFRAMEBUFFERSTATUSPROC)(GLenum target);
   887  typedef void (GLAD_API_PTR *PFNGLCLEARPROC)(GLbitfield mask);
   888  typedef void (GLAD_API_PTR *PFNGLCLEARCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
   889  typedef void (GLAD_API_PTR *PFNGLCLEARDEPTHFPROC)(GLfloat d);
   890  typedef void (GLAD_API_PTR *PFNGLCLEARSTENCILPROC)(GLint s);
   891  typedef void (GLAD_API_PTR *PFNGLCOLORMASKPROC)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
   892  typedef void (GLAD_API_PTR *PFNGLCOMPILESHADERPROC)(GLuint shader);
   893  typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void * data);
   894  typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * data);
   895  typedef void (GLAD_API_PTR *PFNGLCOPYTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
   896  typedef void (GLAD_API_PTR *PFNGLCOPYTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
   897  typedef GLuint (GLAD_API_PTR *PFNGLCREATEPROGRAMPROC)(void);
   898  typedef GLuint (GLAD_API_PTR *PFNGLCREATESHADERPROC)(GLenum type);
   899  typedef void (GLAD_API_PTR *PFNGLCULLFACEPROC)(GLenum mode);
   900  typedef void (GLAD_API_PTR *PFNGLDELETEBUFFERSPROC)(GLsizei n, const GLuint * buffers);
   901  typedef void (GLAD_API_PTR *PFNGLDELETEFRAMEBUFFERSPROC)(GLsizei n, const GLuint * framebuffers);
   902  typedef void (GLAD_API_PTR *PFNGLDELETEPROGRAMPROC)(GLuint program);
   903  typedef void (GLAD_API_PTR *PFNGLDELETERENDERBUFFERSPROC)(GLsizei n, const GLuint * renderbuffers);
   904  typedef void (GLAD_API_PTR *PFNGLDELETESHADERPROC)(GLuint shader);
   905  typedef void (GLAD_API_PTR *PFNGLDELETETEXTURESPROC)(GLsizei n, const GLuint * textures);
   906  typedef void (GLAD_API_PTR *PFNGLDEPTHFUNCPROC)(GLenum func);
   907  typedef void (GLAD_API_PTR *PFNGLDEPTHMASKPROC)(GLboolean flag);
   908  typedef void (GLAD_API_PTR *PFNGLDEPTHRANGEFPROC)(GLfloat n, GLfloat f);
   909  typedef void (GLAD_API_PTR *PFNGLDETACHSHADERPROC)(GLuint program, GLuint shader);
   910  typedef void (GLAD_API_PTR *PFNGLDISABLEPROC)(GLenum cap);
   911  typedef void (GLAD_API_PTR *PFNGLDISABLEVERTEXATTRIBARRAYPROC)(GLuint index);
   912  typedef void (GLAD_API_PTR *PFNGLDRAWARRAYSPROC)(GLenum mode, GLint first, GLsizei count);
   913  typedef void (GLAD_API_PTR *PFNGLDRAWELEMENTSPROC)(GLenum mode, GLsizei count, GLenum type, const void * indices);
   914  typedef void (GLAD_API_PTR *PFNGLENABLEPROC)(GLenum cap);
   915  typedef void (GLAD_API_PTR *PFNGLENABLEVERTEXATTRIBARRAYPROC)(GLuint index);
   916  typedef void (GLAD_API_PTR *PFNGLFINISHPROC)(void);
   917  typedef void (GLAD_API_PTR *PFNGLFLUSHPROC)(void);
   918  typedef void (GLAD_API_PTR *PFNGLFRAMEBUFFERRENDERBUFFERPROC)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
   919  typedef void (GLAD_API_PTR *PFNGLFRAMEBUFFERTEXTURE2DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
   920  typedef void (GLAD_API_PTR *PFNGLFRONTFACEPROC)(GLenum mode);
   921  typedef void (GLAD_API_PTR *PFNGLGENBUFFERSPROC)(GLsizei n, GLuint * buffers);
   922  typedef void (GLAD_API_PTR *PFNGLGENFRAMEBUFFERSPROC)(GLsizei n, GLuint * framebuffers);
   923  typedef void (GLAD_API_PTR *PFNGLGENRENDERBUFFERSPROC)(GLsizei n, GLuint * renderbuffers);
   924  typedef void (GLAD_API_PTR *PFNGLGENTEXTURESPROC)(GLsizei n, GLuint * textures);
   925  typedef void (GLAD_API_PTR *PFNGLGENERATEMIPMAPPROC)(GLenum target);
   926  typedef void (GLAD_API_PTR *PFNGLGETACTIVEATTRIBPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name);
   927  typedef void (GLAD_API_PTR *PFNGLGETACTIVEUNIFORMPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name);
   928  typedef void (GLAD_API_PTR *PFNGLGETATTACHEDSHADERSPROC)(GLuint program, GLsizei maxCount, GLsizei * count, GLuint * shaders);
   929  typedef GLint (GLAD_API_PTR *PFNGLGETATTRIBLOCATIONPROC)(GLuint program, const GLchar * name);
   930  typedef void (GLAD_API_PTR *PFNGLGETBOOLEANVPROC)(GLenum pname, GLboolean * data);
   931  typedef void (GLAD_API_PTR *PFNGLGETBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint * params);
   932  typedef GLenum (GLAD_API_PTR *PFNGLGETERRORPROC)(void);
   933  typedef void (GLAD_API_PTR *PFNGLGETFLOATVPROC)(GLenum pname, GLfloat * data);
   934  typedef void (GLAD_API_PTR *PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)(GLenum target, GLenum attachment, GLenum pname, GLint * params);
   935  typedef void (GLAD_API_PTR *PFNGLGETINTEGERVPROC)(GLenum pname, GLint * data);
   936  typedef void (GLAD_API_PTR *PFNGLGETPROGRAMINFOLOGPROC)(GLuint program, GLsizei bufSize, GLsizei * length, GLchar * infoLog);
   937  typedef void (GLAD_API_PTR *PFNGLGETPROGRAMIVPROC)(GLuint program, GLenum pname, GLint * params);
   938  typedef void (GLAD_API_PTR *PFNGLGETRENDERBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint * params);
   939  typedef void (GLAD_API_PTR *PFNGLGETSHADERINFOLOGPROC)(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * infoLog);
   940  typedef void (GLAD_API_PTR *PFNGLGETSHADERPRECISIONFORMATPROC)(GLenum shadertype, GLenum precisiontype, GLint * range, GLint * precision);
   941  typedef void (GLAD_API_PTR *PFNGLGETSHADERSOURCEPROC)(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * source);
   942  typedef void (GLAD_API_PTR *PFNGLGETSHADERIVPROC)(GLuint shader, GLenum pname, GLint * params);
   943  typedef const GLubyte * (GLAD_API_PTR *PFNGLGETSTRINGPROC)(GLenum name);
   944  typedef void (GLAD_API_PTR *PFNGLGETTEXPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat * params);
   945  typedef void (GLAD_API_PTR *PFNGLGETTEXPARAMETERIVPROC)(GLenum target, GLenum pname, GLint * params);
   946  typedef GLint (GLAD_API_PTR *PFNGLGETUNIFORMLOCATIONPROC)(GLuint program, const GLchar * name);
   947  typedef void (GLAD_API_PTR *PFNGLGETUNIFORMFVPROC)(GLuint program, GLint location, GLfloat * params);
   948  typedef void (GLAD_API_PTR *PFNGLGETUNIFORMIVPROC)(GLuint program, GLint location, GLint * params);
   949  typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBPOINTERVPROC)(GLuint index, GLenum pname, void ** pointer);
   950  typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBFVPROC)(GLuint index, GLenum pname, GLfloat * params);
   951  typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBIVPROC)(GLuint index, GLenum pname, GLint * params);
   952  typedef void (GLAD_API_PTR *PFNGLHINTPROC)(GLenum target, GLenum mode);
   953  typedef GLboolean (GLAD_API_PTR *PFNGLISBUFFERPROC)(GLuint buffer);
   954  typedef GLboolean (GLAD_API_PTR *PFNGLISENABLEDPROC)(GLenum cap);
   955  typedef GLboolean (GLAD_API_PTR *PFNGLISFRAMEBUFFERPROC)(GLuint framebuffer);
   956  typedef GLboolean (GLAD_API_PTR *PFNGLISPROGRAMPROC)(GLuint program);
   957  typedef GLboolean (GLAD_API_PTR *PFNGLISRENDERBUFFERPROC)(GLuint renderbuffer);
   958  typedef GLboolean (GLAD_API_PTR *PFNGLISSHADERPROC)(GLuint shader);
   959  typedef GLboolean (GLAD_API_PTR *PFNGLISTEXTUREPROC)(GLuint texture);
   960  typedef void (GLAD_API_PTR *PFNGLLINEWIDTHPROC)(GLfloat width);
   961  typedef void (GLAD_API_PTR *PFNGLLINKPROGRAMPROC)(GLuint program);
   962  typedef void (GLAD_API_PTR *PFNGLPIXELSTOREIPROC)(GLenum pname, GLint param);
   963  typedef void (GLAD_API_PTR *PFNGLPOLYGONOFFSETPROC)(GLfloat factor, GLfloat units);
   964  typedef void (GLAD_API_PTR *PFNGLREADPIXELSPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void * pixels);
   965  typedef void (GLAD_API_PTR *PFNGLRELEASESHADERCOMPILERPROC)(void);
   966  typedef void (GLAD_API_PTR *PFNGLRENDERBUFFERSTORAGEPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
   967  typedef void (GLAD_API_PTR *PFNGLSAMPLECOVERAGEPROC)(GLfloat value, GLboolean invert);
   968  typedef void (GLAD_API_PTR *PFNGLSCISSORPROC)(GLint x, GLint y, GLsizei width, GLsizei height);
   969  typedef void (GLAD_API_PTR *PFNGLSHADERBINARYPROC)(GLsizei count, const GLuint * shaders, GLenum binaryFormat, const void * binary, GLsizei length);
   970  typedef void (GLAD_API_PTR *PFNGLSHADERSOURCEPROC)(GLuint shader, GLsizei count, const GLchar *const* string, const GLint * length);
   971  typedef void (GLAD_API_PTR *PFNGLSTENCILFUNCPROC)(GLenum func, GLint ref, GLuint mask);
   972  typedef void (GLAD_API_PTR *PFNGLSTENCILFUNCSEPARATEPROC)(GLenum face, GLenum func, GLint ref, GLuint mask);
   973  typedef void (GLAD_API_PTR *PFNGLSTENCILMASKPROC)(GLuint mask);
   974  typedef void (GLAD_API_PTR *PFNGLSTENCILMASKSEPARATEPROC)(GLenum face, GLuint mask);
   975  typedef void (GLAD_API_PTR *PFNGLSTENCILOPPROC)(GLenum fail, GLenum zfail, GLenum zpass);
   976  typedef void (GLAD_API_PTR *PFNGLSTENCILOPSEPARATEPROC)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
   977  typedef void (GLAD_API_PTR *PFNGLTEXIMAGE2DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void * pixels);
   978  typedef void (GLAD_API_PTR *PFNGLTEXPARAMETERFPROC)(GLenum target, GLenum pname, GLfloat param);
   979  typedef void (GLAD_API_PTR *PFNGLTEXPARAMETERFVPROC)(GLenum target, GLenum pname, const GLfloat * params);
   980  typedef void (GLAD_API_PTR *PFNGLTEXPARAMETERIPROC)(GLenum target, GLenum pname, GLint param);
   981  typedef void (GLAD_API_PTR *PFNGLTEXPARAMETERIVPROC)(GLenum target, GLenum pname, const GLint * params);
   982  typedef void (GLAD_API_PTR *PFNGLTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels);
   983  typedef void (GLAD_API_PTR *PFNGLUNIFORM1FPROC)(GLint location, GLfloat v0);
   984  typedef void (GLAD_API_PTR *PFNGLUNIFORM1FVPROC)(GLint location, GLsizei count, const GLfloat * value);
   985  typedef void (GLAD_API_PTR *PFNGLUNIFORM1IPROC)(GLint location, GLint v0);
   986  typedef void (GLAD_API_PTR *PFNGLUNIFORM1IVPROC)(GLint location, GLsizei count, const GLint * value);
   987  typedef void (GLAD_API_PTR *PFNGLUNIFORM2FPROC)(GLint location, GLfloat v0, GLfloat v1);
   988  typedef void (GLAD_API_PTR *PFNGLUNIFORM2FVPROC)(GLint location, GLsizei count, const GLfloat * value);
   989  typedef void (GLAD_API_PTR *PFNGLUNIFORM2IPROC)(GLint location, GLint v0, GLint v1);
   990  typedef void (GLAD_API_PTR *PFNGLUNIFORM2IVPROC)(GLint location, GLsizei count, const GLint * value);
   991  typedef void (GLAD_API_PTR *PFNGLUNIFORM3FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
   992  typedef void (GLAD_API_PTR *PFNGLUNIFORM3FVPROC)(GLint location, GLsizei count, const GLfloat * value);
   993  typedef void (GLAD_API_PTR *PFNGLUNIFORM3IPROC)(GLint location, GLint v0, GLint v1, GLint v2);
   994  typedef void (GLAD_API_PTR *PFNGLUNIFORM3IVPROC)(GLint location, GLsizei count, const GLint * value);
   995  typedef void (GLAD_API_PTR *PFNGLUNIFORM4FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
   996  typedef void (GLAD_API_PTR *PFNGLUNIFORM4FVPROC)(GLint location, GLsizei count, const GLfloat * value);
   997  typedef void (GLAD_API_PTR *PFNGLUNIFORM4IPROC)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
   998  typedef void (GLAD_API_PTR *PFNGLUNIFORM4IVPROC)(GLint location, GLsizei count, const GLint * value);
   999  typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
  1000  typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
  1001  typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
  1002  typedef void (GLAD_API_PTR *PFNGLUSEPROGRAMPROC)(GLuint program);
  1003  typedef void (GLAD_API_PTR *PFNGLVALIDATEPROGRAMPROC)(GLuint program);
  1004  typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB1FPROC)(GLuint index, GLfloat x);
  1005  typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB1FVPROC)(GLuint index, const GLfloat * v);
  1006  typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB2FPROC)(GLuint index, GLfloat x, GLfloat y);
  1007  typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB2FVPROC)(GLuint index, const GLfloat * v);
  1008  typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB3FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z);
  1009  typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB3FVPROC)(GLuint index, const GLfloat * v);
  1010  typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
  1011  typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4FVPROC)(GLuint index, const GLfloat * v);
  1012  typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBPOINTERPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void * pointer);
  1013  typedef void (GLAD_API_PTR *PFNGLVIEWPORTPROC)(GLint x, GLint y, GLsizei width, GLsizei height);
  1014  
  1015  GLAD_API_CALL PFNGLACTIVETEXTUREPROC glad_glActiveTexture;
  1016  #define glActiveTexture glad_glActiveTexture
  1017  GLAD_API_CALL PFNGLATTACHSHADERPROC glad_glAttachShader;
  1018  #define glAttachShader glad_glAttachShader
  1019  GLAD_API_CALL PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation;
  1020  #define glBindAttribLocation glad_glBindAttribLocation
  1021  GLAD_API_CALL PFNGLBINDBUFFERPROC glad_glBindBuffer;
  1022  #define glBindBuffer glad_glBindBuffer
  1023  GLAD_API_CALL PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer;
  1024  #define glBindFramebuffer glad_glBindFramebuffer
  1025  GLAD_API_CALL PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer;
  1026  #define glBindRenderbuffer glad_glBindRenderbuffer
  1027  GLAD_API_CALL PFNGLBINDTEXTUREPROC glad_glBindTexture;
  1028  #define glBindTexture glad_glBindTexture
  1029  GLAD_API_CALL PFNGLBLENDCOLORPROC glad_glBlendColor;
  1030  #define glBlendColor glad_glBlendColor
  1031  GLAD_API_CALL PFNGLBLENDEQUATIONPROC glad_glBlendEquation;
  1032  #define glBlendEquation glad_glBlendEquation
  1033  GLAD_API_CALL PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate;
  1034  #define glBlendEquationSeparate glad_glBlendEquationSeparate
  1035  GLAD_API_CALL PFNGLBLENDFUNCPROC glad_glBlendFunc;
  1036  #define glBlendFunc glad_glBlendFunc
  1037  GLAD_API_CALL PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate;
  1038  #define glBlendFuncSeparate glad_glBlendFuncSeparate
  1039  GLAD_API_CALL PFNGLBUFFERDATAPROC glad_glBufferData;
  1040  #define glBufferData glad_glBufferData
  1041  GLAD_API_CALL PFNGLBUFFERSUBDATAPROC glad_glBufferSubData;
  1042  #define glBufferSubData glad_glBufferSubData
  1043  GLAD_API_CALL PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus;
  1044  #define glCheckFramebufferStatus glad_glCheckFramebufferStatus
  1045  GLAD_API_CALL PFNGLCLEARPROC glad_glClear;
  1046  #define glClear glad_glClear
  1047  GLAD_API_CALL PFNGLCLEARCOLORPROC glad_glClearColor;
  1048  #define glClearColor glad_glClearColor
  1049  GLAD_API_CALL PFNGLCLEARDEPTHFPROC glad_glClearDepthf;
  1050  #define glClearDepthf glad_glClearDepthf
  1051  GLAD_API_CALL PFNGLCLEARSTENCILPROC glad_glClearStencil;
  1052  #define glClearStencil glad_glClearStencil
  1053  GLAD_API_CALL PFNGLCOLORMASKPROC glad_glColorMask;
  1054  #define glColorMask glad_glColorMask
  1055  GLAD_API_CALL PFNGLCOMPILESHADERPROC glad_glCompileShader;
  1056  #define glCompileShader glad_glCompileShader
  1057  GLAD_API_CALL PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D;
  1058  #define glCompressedTexImage2D glad_glCompressedTexImage2D
  1059  GLAD_API_CALL PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D;
  1060  #define glCompressedTexSubImage2D glad_glCompressedTexSubImage2D
  1061  GLAD_API_CALL PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D;
  1062  #define glCopyTexImage2D glad_glCopyTexImage2D
  1063  GLAD_API_CALL PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D;
  1064  #define glCopyTexSubImage2D glad_glCopyTexSubImage2D
  1065  GLAD_API_CALL PFNGLCREATEPROGRAMPROC glad_glCreateProgram;
  1066  #define glCreateProgram glad_glCreateProgram
  1067  GLAD_API_CALL PFNGLCREATESHADERPROC glad_glCreateShader;
  1068  #define glCreateShader glad_glCreateShader
  1069  GLAD_API_CALL PFNGLCULLFACEPROC glad_glCullFace;
  1070  #define glCullFace glad_glCullFace
  1071  GLAD_API_CALL PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers;
  1072  #define glDeleteBuffers glad_glDeleteBuffers
  1073  GLAD_API_CALL PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers;
  1074  #define glDeleteFramebuffers glad_glDeleteFramebuffers
  1075  GLAD_API_CALL PFNGLDELETEPROGRAMPROC glad_glDeleteProgram;
  1076  #define glDeleteProgram glad_glDeleteProgram
  1077  GLAD_API_CALL PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers;
  1078  #define glDeleteRenderbuffers glad_glDeleteRenderbuffers
  1079  GLAD_API_CALL PFNGLDELETESHADERPROC glad_glDeleteShader;
  1080  #define glDeleteShader glad_glDeleteShader
  1081  GLAD_API_CALL PFNGLDELETETEXTURESPROC glad_glDeleteTextures;
  1082  #define glDeleteTextures glad_glDeleteTextures
  1083  GLAD_API_CALL PFNGLDEPTHFUNCPROC glad_glDepthFunc;
  1084  #define glDepthFunc glad_glDepthFunc
  1085  GLAD_API_CALL PFNGLDEPTHMASKPROC glad_glDepthMask;
  1086  #define glDepthMask glad_glDepthMask
  1087  GLAD_API_CALL PFNGLDEPTHRANGEFPROC glad_glDepthRangef;
  1088  #define glDepthRangef glad_glDepthRangef
  1089  GLAD_API_CALL PFNGLDETACHSHADERPROC glad_glDetachShader;
  1090  #define glDetachShader glad_glDetachShader
  1091  GLAD_API_CALL PFNGLDISABLEPROC glad_glDisable;
  1092  #define glDisable glad_glDisable
  1093  GLAD_API_CALL PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray;
  1094  #define glDisableVertexAttribArray glad_glDisableVertexAttribArray
  1095  GLAD_API_CALL PFNGLDRAWARRAYSPROC glad_glDrawArrays;
  1096  #define glDrawArrays glad_glDrawArrays
  1097  GLAD_API_CALL PFNGLDRAWELEMENTSPROC glad_glDrawElements;
  1098  #define glDrawElements glad_glDrawElements
  1099  GLAD_API_CALL PFNGLENABLEPROC glad_glEnable;
  1100  #define glEnable glad_glEnable
  1101  GLAD_API_CALL PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray;
  1102  #define glEnableVertexAttribArray glad_glEnableVertexAttribArray
  1103  GLAD_API_CALL PFNGLFINISHPROC glad_glFinish;
  1104  #define glFinish glad_glFinish
  1105  GLAD_API_CALL PFNGLFLUSHPROC glad_glFlush;
  1106  #define glFlush glad_glFlush
  1107  GLAD_API_CALL PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer;
  1108  #define glFramebufferRenderbuffer glad_glFramebufferRenderbuffer
  1109  GLAD_API_CALL PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D;
  1110  #define glFramebufferTexture2D glad_glFramebufferTexture2D
  1111  GLAD_API_CALL PFNGLFRONTFACEPROC glad_glFrontFace;
  1112  #define glFrontFace glad_glFrontFace
  1113  GLAD_API_CALL PFNGLGENBUFFERSPROC glad_glGenBuffers;
  1114  #define glGenBuffers glad_glGenBuffers
  1115  GLAD_API_CALL PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers;
  1116  #define glGenFramebuffers glad_glGenFramebuffers
  1117  GLAD_API_CALL PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers;
  1118  #define glGenRenderbuffers glad_glGenRenderbuffers
  1119  GLAD_API_CALL PFNGLGENTEXTURESPROC glad_glGenTextures;
  1120  #define glGenTextures glad_glGenTextures
  1121  GLAD_API_CALL PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap;
  1122  #define glGenerateMipmap glad_glGenerateMipmap
  1123  GLAD_API_CALL PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib;
  1124  #define glGetActiveAttrib glad_glGetActiveAttrib
  1125  GLAD_API_CALL PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform;
  1126  #define glGetActiveUniform glad_glGetActiveUniform
  1127  GLAD_API_CALL PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders;
  1128  #define glGetAttachedShaders glad_glGetAttachedShaders
  1129  GLAD_API_CALL PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation;
  1130  #define glGetAttribLocation glad_glGetAttribLocation
  1131  GLAD_API_CALL PFNGLGETBOOLEANVPROC glad_glGetBooleanv;
  1132  #define glGetBooleanv glad_glGetBooleanv
  1133  GLAD_API_CALL PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv;
  1134  #define glGetBufferParameteriv glad_glGetBufferParameteriv
  1135  GLAD_API_CALL PFNGLGETERRORPROC glad_glGetError;
  1136  #define glGetError glad_glGetError
  1137  GLAD_API_CALL PFNGLGETFLOATVPROC glad_glGetFloatv;
  1138  #define glGetFloatv glad_glGetFloatv
  1139  GLAD_API_CALL PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv;
  1140  #define glGetFramebufferAttachmentParameteriv glad_glGetFramebufferAttachmentParameteriv
  1141  GLAD_API_CALL PFNGLGETINTEGERVPROC glad_glGetIntegerv;
  1142  #define glGetIntegerv glad_glGetIntegerv
  1143  GLAD_API_CALL PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog;
  1144  #define glGetProgramInfoLog glad_glGetProgramInfoLog
  1145  GLAD_API_CALL PFNGLGETPROGRAMIVPROC glad_glGetProgramiv;
  1146  #define glGetProgramiv glad_glGetProgramiv
  1147  GLAD_API_CALL PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv;
  1148  #define glGetRenderbufferParameteriv glad_glGetRenderbufferParameteriv
  1149  GLAD_API_CALL PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog;
  1150  #define glGetShaderInfoLog glad_glGetShaderInfoLog
  1151  GLAD_API_CALL PFNGLGETSHADERPRECISIONFORMATPROC glad_glGetShaderPrecisionFormat;
  1152  #define glGetShaderPrecisionFormat glad_glGetShaderPrecisionFormat
  1153  GLAD_API_CALL PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource;
  1154  #define glGetShaderSource glad_glGetShaderSource
  1155  GLAD_API_CALL PFNGLGETSHADERIVPROC glad_glGetShaderiv;
  1156  #define glGetShaderiv glad_glGetShaderiv
  1157  GLAD_API_CALL PFNGLGETSTRINGPROC glad_glGetString;
  1158  #define glGetString glad_glGetString
  1159  GLAD_API_CALL PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv;
  1160  #define glGetTexParameterfv glad_glGetTexParameterfv
  1161  GLAD_API_CALL PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv;
  1162  #define glGetTexParameteriv glad_glGetTexParameteriv
  1163  GLAD_API_CALL PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation;
  1164  #define glGetUniformLocation glad_glGetUniformLocation
  1165  GLAD_API_CALL PFNGLGETUNIFORMFVPROC glad_glGetUniformfv;
  1166  #define glGetUniformfv glad_glGetUniformfv
  1167  GLAD_API_CALL PFNGLGETUNIFORMIVPROC glad_glGetUniformiv;
  1168  #define glGetUniformiv glad_glGetUniformiv
  1169  GLAD_API_CALL PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv;
  1170  #define glGetVertexAttribPointerv glad_glGetVertexAttribPointerv
  1171  GLAD_API_CALL PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv;
  1172  #define glGetVertexAttribfv glad_glGetVertexAttribfv
  1173  GLAD_API_CALL PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv;
  1174  #define glGetVertexAttribiv glad_glGetVertexAttribiv
  1175  GLAD_API_CALL PFNGLHINTPROC glad_glHint;
  1176  #define glHint glad_glHint
  1177  GLAD_API_CALL PFNGLISBUFFERPROC glad_glIsBuffer;
  1178  #define glIsBuffer glad_glIsBuffer
  1179  GLAD_API_CALL PFNGLISENABLEDPROC glad_glIsEnabled;
  1180  #define glIsEnabled glad_glIsEnabled
  1181  GLAD_API_CALL PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer;
  1182  #define glIsFramebuffer glad_glIsFramebuffer
  1183  GLAD_API_CALL PFNGLISPROGRAMPROC glad_glIsProgram;
  1184  #define glIsProgram glad_glIsProgram
  1185  GLAD_API_CALL PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer;
  1186  #define glIsRenderbuffer glad_glIsRenderbuffer
  1187  GLAD_API_CALL PFNGLISSHADERPROC glad_glIsShader;
  1188  #define glIsShader glad_glIsShader
  1189  GLAD_API_CALL PFNGLISTEXTUREPROC glad_glIsTexture;
  1190  #define glIsTexture glad_glIsTexture
  1191  GLAD_API_CALL PFNGLLINEWIDTHPROC glad_glLineWidth;
  1192  #define glLineWidth glad_glLineWidth
  1193  GLAD_API_CALL PFNGLLINKPROGRAMPROC glad_glLinkProgram;
  1194  #define glLinkProgram glad_glLinkProgram
  1195  GLAD_API_CALL PFNGLPIXELSTOREIPROC glad_glPixelStorei;
  1196  #define glPixelStorei glad_glPixelStorei
  1197  GLAD_API_CALL PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset;
  1198  #define glPolygonOffset glad_glPolygonOffset
  1199  GLAD_API_CALL PFNGLREADPIXELSPROC glad_glReadPixels;
  1200  #define glReadPixels glad_glReadPixels
  1201  GLAD_API_CALL PFNGLRELEASESHADERCOMPILERPROC glad_glReleaseShaderCompiler;
  1202  #define glReleaseShaderCompiler glad_glReleaseShaderCompiler
  1203  GLAD_API_CALL PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage;
  1204  #define glRenderbufferStorage glad_glRenderbufferStorage
  1205  GLAD_API_CALL PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage;
  1206  #define glSampleCoverage glad_glSampleCoverage
  1207  GLAD_API_CALL PFNGLSCISSORPROC glad_glScissor;
  1208  #define glScissor glad_glScissor
  1209  GLAD_API_CALL PFNGLSHADERBINARYPROC glad_glShaderBinary;
  1210  #define glShaderBinary glad_glShaderBinary
  1211  GLAD_API_CALL PFNGLSHADERSOURCEPROC glad_glShaderSource;
  1212  #define glShaderSource glad_glShaderSource
  1213  GLAD_API_CALL PFNGLSTENCILFUNCPROC glad_glStencilFunc;
  1214  #define glStencilFunc glad_glStencilFunc
  1215  GLAD_API_CALL PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate;
  1216  #define glStencilFuncSeparate glad_glStencilFuncSeparate
  1217  GLAD_API_CALL PFNGLSTENCILMASKPROC glad_glStencilMask;
  1218  #define glStencilMask glad_glStencilMask
  1219  GLAD_API_CALL PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate;
  1220  #define glStencilMaskSeparate glad_glStencilMaskSeparate
  1221  GLAD_API_CALL PFNGLSTENCILOPPROC glad_glStencilOp;
  1222  #define glStencilOp glad_glStencilOp
  1223  GLAD_API_CALL PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate;
  1224  #define glStencilOpSeparate glad_glStencilOpSeparate
  1225  GLAD_API_CALL PFNGLTEXIMAGE2DPROC glad_glTexImage2D;
  1226  #define glTexImage2D glad_glTexImage2D
  1227  GLAD_API_CALL PFNGLTEXPARAMETERFPROC glad_glTexParameterf;
  1228  #define glTexParameterf glad_glTexParameterf
  1229  GLAD_API_CALL PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv;
  1230  #define glTexParameterfv glad_glTexParameterfv
  1231  GLAD_API_CALL PFNGLTEXPARAMETERIPROC glad_glTexParameteri;
  1232  #define glTexParameteri glad_glTexParameteri
  1233  GLAD_API_CALL PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv;
  1234  #define glTexParameteriv glad_glTexParameteriv
  1235  GLAD_API_CALL PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D;
  1236  #define glTexSubImage2D glad_glTexSubImage2D
  1237  GLAD_API_CALL PFNGLUNIFORM1FPROC glad_glUniform1f;
  1238  #define glUniform1f glad_glUniform1f
  1239  GLAD_API_CALL PFNGLUNIFORM1FVPROC glad_glUniform1fv;
  1240  #define glUniform1fv glad_glUniform1fv
  1241  GLAD_API_CALL PFNGLUNIFORM1IPROC glad_glUniform1i;
  1242  #define glUniform1i glad_glUniform1i
  1243  GLAD_API_CALL PFNGLUNIFORM1IVPROC glad_glUniform1iv;
  1244  #define glUniform1iv glad_glUniform1iv
  1245  GLAD_API_CALL PFNGLUNIFORM2FPROC glad_glUniform2f;
  1246  #define glUniform2f glad_glUniform2f
  1247  GLAD_API_CALL PFNGLUNIFORM2FVPROC glad_glUniform2fv;
  1248  #define glUniform2fv glad_glUniform2fv
  1249  GLAD_API_CALL PFNGLUNIFORM2IPROC glad_glUniform2i;
  1250  #define glUniform2i glad_glUniform2i
  1251  GLAD_API_CALL PFNGLUNIFORM2IVPROC glad_glUniform2iv;
  1252  #define glUniform2iv glad_glUniform2iv
  1253  GLAD_API_CALL PFNGLUNIFORM3FPROC glad_glUniform3f;
  1254  #define glUniform3f glad_glUniform3f
  1255  GLAD_API_CALL PFNGLUNIFORM3FVPROC glad_glUniform3fv;
  1256  #define glUniform3fv glad_glUniform3fv
  1257  GLAD_API_CALL PFNGLUNIFORM3IPROC glad_glUniform3i;
  1258  #define glUniform3i glad_glUniform3i
  1259  GLAD_API_CALL PFNGLUNIFORM3IVPROC glad_glUniform3iv;
  1260  #define glUniform3iv glad_glUniform3iv
  1261  GLAD_API_CALL PFNGLUNIFORM4FPROC glad_glUniform4f;
  1262  #define glUniform4f glad_glUniform4f
  1263  GLAD_API_CALL PFNGLUNIFORM4FVPROC glad_glUniform4fv;
  1264  #define glUniform4fv glad_glUniform4fv
  1265  GLAD_API_CALL PFNGLUNIFORM4IPROC glad_glUniform4i;
  1266  #define glUniform4i glad_glUniform4i
  1267  GLAD_API_CALL PFNGLUNIFORM4IVPROC glad_glUniform4iv;
  1268  #define glUniform4iv glad_glUniform4iv
  1269  GLAD_API_CALL PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv;
  1270  #define glUniformMatrix2fv glad_glUniformMatrix2fv
  1271  GLAD_API_CALL PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv;
  1272  #define glUniformMatrix3fv glad_glUniformMatrix3fv
  1273  GLAD_API_CALL PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv;
  1274  #define glUniformMatrix4fv glad_glUniformMatrix4fv
  1275  GLAD_API_CALL PFNGLUSEPROGRAMPROC glad_glUseProgram;
  1276  #define glUseProgram glad_glUseProgram
  1277  GLAD_API_CALL PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram;
  1278  #define glValidateProgram glad_glValidateProgram
  1279  GLAD_API_CALL PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f;
  1280  #define glVertexAttrib1f glad_glVertexAttrib1f
  1281  GLAD_API_CALL PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv;
  1282  #define glVertexAttrib1fv glad_glVertexAttrib1fv
  1283  GLAD_API_CALL PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f;
  1284  #define glVertexAttrib2f glad_glVertexAttrib2f
  1285  GLAD_API_CALL PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv;
  1286  #define glVertexAttrib2fv glad_glVertexAttrib2fv
  1287  GLAD_API_CALL PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f;
  1288  #define glVertexAttrib3f glad_glVertexAttrib3f
  1289  GLAD_API_CALL PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv;
  1290  #define glVertexAttrib3fv glad_glVertexAttrib3fv
  1291  GLAD_API_CALL PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f;
  1292  #define glVertexAttrib4f glad_glVertexAttrib4f
  1293  GLAD_API_CALL PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv;
  1294  #define glVertexAttrib4fv glad_glVertexAttrib4fv
  1295  GLAD_API_CALL PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer;
  1296  #define glVertexAttribPointer glad_glVertexAttribPointer
  1297  GLAD_API_CALL PFNGLVIEWPORTPROC glad_glViewport;
  1298  #define glViewport glad_glViewport
  1299  
  1300  
  1301  
  1302  
  1303  
  1304  GLAD_API_CALL int gladLoadGLES2UserPtr( GLADuserptrloadfunc load, void *userptr);
  1305  GLAD_API_CALL int gladLoadGLES2( GLADloadfunc load);
  1306  
  1307  
  1308  
  1309  #ifdef __cplusplus
  1310  }
  1311  #endif
  1312  #endif
  1313  
  1314  /* Source */
  1315  #ifdef GLAD_GLES2_IMPLEMENTATION
  1316  #include <stdio.h>
  1317  #include <stdlib.h>
  1318  #include <string.h>
  1319  
  1320  #ifndef GLAD_IMPL_UTIL_C_
  1321  #define GLAD_IMPL_UTIL_C_
  1322  
  1323  #ifdef _MSC_VER
  1324  #define GLAD_IMPL_UTIL_SSCANF sscanf_s
  1325  #else
  1326  #define GLAD_IMPL_UTIL_SSCANF sscanf
  1327  #endif
  1328  
  1329  #endif /* GLAD_IMPL_UTIL_C_ */
  1330  
  1331  #ifdef __cplusplus
  1332  extern "C" {
  1333  #endif
  1334  
  1335  
  1336  
  1337  int GLAD_GL_ES_VERSION_2_0 = 0;
  1338  
  1339  
  1340  
  1341  PFNGLACTIVETEXTUREPROC glad_glActiveTexture = NULL;
  1342  PFNGLATTACHSHADERPROC glad_glAttachShader = NULL;
  1343  PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation = NULL;
  1344  PFNGLBINDBUFFERPROC glad_glBindBuffer = NULL;
  1345  PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer = NULL;
  1346  PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer = NULL;
  1347  PFNGLBINDTEXTUREPROC glad_glBindTexture = NULL;
  1348  PFNGLBLENDCOLORPROC glad_glBlendColor = NULL;
  1349  PFNGLBLENDEQUATIONPROC glad_glBlendEquation = NULL;
  1350  PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate = NULL;
  1351  PFNGLBLENDFUNCPROC glad_glBlendFunc = NULL;
  1352  PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate = NULL;
  1353  PFNGLBUFFERDATAPROC glad_glBufferData = NULL;
  1354  PFNGLBUFFERSUBDATAPROC glad_glBufferSubData = NULL;
  1355  PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus = NULL;
  1356  PFNGLCLEARPROC glad_glClear = NULL;
  1357  PFNGLCLEARCOLORPROC glad_glClearColor = NULL;
  1358  PFNGLCLEARDEPTHFPROC glad_glClearDepthf = NULL;
  1359  PFNGLCLEARSTENCILPROC glad_glClearStencil = NULL;
  1360  PFNGLCOLORMASKPROC glad_glColorMask = NULL;
  1361  PFNGLCOMPILESHADERPROC glad_glCompileShader = NULL;
  1362  PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D = NULL;
  1363  PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D = NULL;
  1364  PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D = NULL;
  1365  PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D = NULL;
  1366  PFNGLCREATEPROGRAMPROC glad_glCreateProgram = NULL;
  1367  PFNGLCREATESHADERPROC glad_glCreateShader = NULL;
  1368  PFNGLCULLFACEPROC glad_glCullFace = NULL;
  1369  PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers = NULL;
  1370  PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers = NULL;
  1371  PFNGLDELETEPROGRAMPROC glad_glDeleteProgram = NULL;
  1372  PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers = NULL;
  1373  PFNGLDELETESHADERPROC glad_glDeleteShader = NULL;
  1374  PFNGLDELETETEXTURESPROC glad_glDeleteTextures = NULL;
  1375  PFNGLDEPTHFUNCPROC glad_glDepthFunc = NULL;
  1376  PFNGLDEPTHMASKPROC glad_glDepthMask = NULL;
  1377  PFNGLDEPTHRANGEFPROC glad_glDepthRangef = NULL;
  1378  PFNGLDETACHSHADERPROC glad_glDetachShader = NULL;
  1379  PFNGLDISABLEPROC glad_glDisable = NULL;
  1380  PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray = NULL;
  1381  PFNGLDRAWARRAYSPROC glad_glDrawArrays = NULL;
  1382  PFNGLDRAWELEMENTSPROC glad_glDrawElements = NULL;
  1383  PFNGLENABLEPROC glad_glEnable = NULL;
  1384  PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray = NULL;
  1385  PFNGLFINISHPROC glad_glFinish = NULL;
  1386  PFNGLFLUSHPROC glad_glFlush = NULL;
  1387  PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer = NULL;
  1388  PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D = NULL;
  1389  PFNGLFRONTFACEPROC glad_glFrontFace = NULL;
  1390  PFNGLGENBUFFERSPROC glad_glGenBuffers = NULL;
  1391  PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers = NULL;
  1392  PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers = NULL;
  1393  PFNGLGENTEXTURESPROC glad_glGenTextures = NULL;
  1394  PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap = NULL;
  1395  PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib = NULL;
  1396  PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform = NULL;
  1397  PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders = NULL;
  1398  PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation = NULL;
  1399  PFNGLGETBOOLEANVPROC glad_glGetBooleanv = NULL;
  1400  PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv = NULL;
  1401  PFNGLGETERRORPROC glad_glGetError = NULL;
  1402  PFNGLGETFLOATVPROC glad_glGetFloatv = NULL;
  1403  PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv = NULL;
  1404  PFNGLGETINTEGERVPROC glad_glGetIntegerv = NULL;
  1405  PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog = NULL;
  1406  PFNGLGETPROGRAMIVPROC glad_glGetProgramiv = NULL;
  1407  PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv = NULL;
  1408  PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog = NULL;
  1409  PFNGLGETSHADERPRECISIONFORMATPROC glad_glGetShaderPrecisionFormat = NULL;
  1410  PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource = NULL;
  1411  PFNGLGETSHADERIVPROC glad_glGetShaderiv = NULL;
  1412  PFNGLGETSTRINGPROC glad_glGetString = NULL;
  1413  PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv = NULL;
  1414  PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv = NULL;
  1415  PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation = NULL;
  1416  PFNGLGETUNIFORMFVPROC glad_glGetUniformfv = NULL;
  1417  PFNGLGETUNIFORMIVPROC glad_glGetUniformiv = NULL;
  1418  PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv = NULL;
  1419  PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv = NULL;
  1420  PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv = NULL;
  1421  PFNGLHINTPROC glad_glHint = NULL;
  1422  PFNGLISBUFFERPROC glad_glIsBuffer = NULL;
  1423  PFNGLISENABLEDPROC glad_glIsEnabled = NULL;
  1424  PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer = NULL;
  1425  PFNGLISPROGRAMPROC glad_glIsProgram = NULL;
  1426  PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer = NULL;
  1427  PFNGLISSHADERPROC glad_glIsShader = NULL;
  1428  PFNGLISTEXTUREPROC glad_glIsTexture = NULL;
  1429  PFNGLLINEWIDTHPROC glad_glLineWidth = NULL;
  1430  PFNGLLINKPROGRAMPROC glad_glLinkProgram = NULL;
  1431  PFNGLPIXELSTOREIPROC glad_glPixelStorei = NULL;
  1432  PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset = NULL;
  1433  PFNGLREADPIXELSPROC glad_glReadPixels = NULL;
  1434  PFNGLRELEASESHADERCOMPILERPROC glad_glReleaseShaderCompiler = NULL;
  1435  PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage = NULL;
  1436  PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage = NULL;
  1437  PFNGLSCISSORPROC glad_glScissor = NULL;
  1438  PFNGLSHADERBINARYPROC glad_glShaderBinary = NULL;
  1439  PFNGLSHADERSOURCEPROC glad_glShaderSource = NULL;
  1440  PFNGLSTENCILFUNCPROC glad_glStencilFunc = NULL;
  1441  PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate = NULL;
  1442  PFNGLSTENCILMASKPROC glad_glStencilMask = NULL;
  1443  PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate = NULL;
  1444  PFNGLSTENCILOPPROC glad_glStencilOp = NULL;
  1445  PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate = NULL;
  1446  PFNGLTEXIMAGE2DPROC glad_glTexImage2D = NULL;
  1447  PFNGLTEXPARAMETERFPROC glad_glTexParameterf = NULL;
  1448  PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv = NULL;
  1449  PFNGLTEXPARAMETERIPROC glad_glTexParameteri = NULL;
  1450  PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv = NULL;
  1451  PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D = NULL;
  1452  PFNGLUNIFORM1FPROC glad_glUniform1f = NULL;
  1453  PFNGLUNIFORM1FVPROC glad_glUniform1fv = NULL;
  1454  PFNGLUNIFORM1IPROC glad_glUniform1i = NULL;
  1455  PFNGLUNIFORM1IVPROC glad_glUniform1iv = NULL;
  1456  PFNGLUNIFORM2FPROC glad_glUniform2f = NULL;
  1457  PFNGLUNIFORM2FVPROC glad_glUniform2fv = NULL;
  1458  PFNGLUNIFORM2IPROC glad_glUniform2i = NULL;
  1459  PFNGLUNIFORM2IVPROC glad_glUniform2iv = NULL;
  1460  PFNGLUNIFORM3FPROC glad_glUniform3f = NULL;
  1461  PFNGLUNIFORM3FVPROC glad_glUniform3fv = NULL;
  1462  PFNGLUNIFORM3IPROC glad_glUniform3i = NULL;
  1463  PFNGLUNIFORM3IVPROC glad_glUniform3iv = NULL;
  1464  PFNGLUNIFORM4FPROC glad_glUniform4f = NULL;
  1465  PFNGLUNIFORM4FVPROC glad_glUniform4fv = NULL;
  1466  PFNGLUNIFORM4IPROC glad_glUniform4i = NULL;
  1467  PFNGLUNIFORM4IVPROC glad_glUniform4iv = NULL;
  1468  PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv = NULL;
  1469  PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv = NULL;
  1470  PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv = NULL;
  1471  PFNGLUSEPROGRAMPROC glad_glUseProgram = NULL;
  1472  PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram = NULL;
  1473  PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f = NULL;
  1474  PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv = NULL;
  1475  PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f = NULL;
  1476  PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv = NULL;
  1477  PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f = NULL;
  1478  PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv = NULL;
  1479  PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f = NULL;
  1480  PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv = NULL;
  1481  PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer = NULL;
  1482  PFNGLVIEWPORTPROC glad_glViewport = NULL;
  1483  
  1484  
  1485  static void glad_gl_load_GL_ES_VERSION_2_0( GLADuserptrloadfunc load, void* userptr) {
  1486      if(!GLAD_GL_ES_VERSION_2_0) return;
  1487      glad_glActiveTexture = (PFNGLACTIVETEXTUREPROC) load(userptr, "glActiveTexture");
  1488      glad_glAttachShader = (PFNGLATTACHSHADERPROC) load(userptr, "glAttachShader");
  1489      glad_glBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC) load(userptr, "glBindAttribLocation");
  1490      glad_glBindBuffer = (PFNGLBINDBUFFERPROC) load(userptr, "glBindBuffer");
  1491      glad_glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC) load(userptr, "glBindFramebuffer");
  1492      glad_glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC) load(userptr, "glBindRenderbuffer");
  1493      glad_glBindTexture = (PFNGLBINDTEXTUREPROC) load(userptr, "glBindTexture");
  1494      glad_glBlendColor = (PFNGLBLENDCOLORPROC) load(userptr, "glBlendColor");
  1495      glad_glBlendEquation = (PFNGLBLENDEQUATIONPROC) load(userptr, "glBlendEquation");
  1496      glad_glBlendEquationSeparate = (PFNGLBLENDEQUATIONSEPARATEPROC) load(userptr, "glBlendEquationSeparate");
  1497      glad_glBlendFunc = (PFNGLBLENDFUNCPROC) load(userptr, "glBlendFunc");
  1498      glad_glBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC) load(userptr, "glBlendFuncSeparate");
  1499      glad_glBufferData = (PFNGLBUFFERDATAPROC) load(userptr, "glBufferData");
  1500      glad_glBufferSubData = (PFNGLBUFFERSUBDATAPROC) load(userptr, "glBufferSubData");
  1501      glad_glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC) load(userptr, "glCheckFramebufferStatus");
  1502      glad_glClear = (PFNGLCLEARPROC) load(userptr, "glClear");
  1503      glad_glClearColor = (PFNGLCLEARCOLORPROC) load(userptr, "glClearColor");
  1504      glad_glClearDepthf = (PFNGLCLEARDEPTHFPROC) load(userptr, "glClearDepthf");
  1505      glad_glClearStencil = (PFNGLCLEARSTENCILPROC) load(userptr, "glClearStencil");
  1506      glad_glColorMask = (PFNGLCOLORMASKPROC) load(userptr, "glColorMask");
  1507      glad_glCompileShader = (PFNGLCOMPILESHADERPROC) load(userptr, "glCompileShader");
  1508      glad_glCompressedTexImage2D = (PFNGLCOMPRESSEDTEXIMAGE2DPROC) load(userptr, "glCompressedTexImage2D");
  1509      glad_glCompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) load(userptr, "glCompressedTexSubImage2D");
  1510      glad_glCopyTexImage2D = (PFNGLCOPYTEXIMAGE2DPROC) load(userptr, "glCopyTexImage2D");
  1511      glad_glCopyTexSubImage2D = (PFNGLCOPYTEXSUBIMAGE2DPROC) load(userptr, "glCopyTexSubImage2D");
  1512      glad_glCreateProgram = (PFNGLCREATEPROGRAMPROC) load(userptr, "glCreateProgram");
  1513      glad_glCreateShader = (PFNGLCREATESHADERPROC) load(userptr, "glCreateShader");
  1514      glad_glCullFace = (PFNGLCULLFACEPROC) load(userptr, "glCullFace");
  1515      glad_glDeleteBuffers = (PFNGLDELETEBUFFERSPROC) load(userptr, "glDeleteBuffers");
  1516      glad_glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC) load(userptr, "glDeleteFramebuffers");
  1517      glad_glDeleteProgram = (PFNGLDELETEPROGRAMPROC) load(userptr, "glDeleteProgram");
  1518      glad_glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC) load(userptr, "glDeleteRenderbuffers");
  1519      glad_glDeleteShader = (PFNGLDELETESHADERPROC) load(userptr, "glDeleteShader");
  1520      glad_glDeleteTextures = (PFNGLDELETETEXTURESPROC) load(userptr, "glDeleteTextures");
  1521      glad_glDepthFunc = (PFNGLDEPTHFUNCPROC) load(userptr, "glDepthFunc");
  1522      glad_glDepthMask = (PFNGLDEPTHMASKPROC) load(userptr, "glDepthMask");
  1523      glad_glDepthRangef = (PFNGLDEPTHRANGEFPROC) load(userptr, "glDepthRangef");
  1524      glad_glDetachShader = (PFNGLDETACHSHADERPROC) load(userptr, "glDetachShader");
  1525      glad_glDisable = (PFNGLDISABLEPROC) load(userptr, "glDisable");
  1526      glad_glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC) load(userptr, "glDisableVertexAttribArray");
  1527      glad_glDrawArrays = (PFNGLDRAWARRAYSPROC) load(userptr, "glDrawArrays");
  1528      glad_glDrawElements = (PFNGLDRAWELEMENTSPROC) load(userptr, "glDrawElements");
  1529      glad_glEnable = (PFNGLENABLEPROC) load(userptr, "glEnable");
  1530      glad_glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC) load(userptr, "glEnableVertexAttribArray");
  1531      glad_glFinish = (PFNGLFINISHPROC) load(userptr, "glFinish");
  1532      glad_glFlush = (PFNGLFLUSHPROC) load(userptr, "glFlush");
  1533      glad_glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC) load(userptr, "glFramebufferRenderbuffer");
  1534      glad_glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC) load(userptr, "glFramebufferTexture2D");
  1535      glad_glFrontFace = (PFNGLFRONTFACEPROC) load(userptr, "glFrontFace");
  1536      glad_glGenBuffers = (PFNGLGENBUFFERSPROC) load(userptr, "glGenBuffers");
  1537      glad_glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC) load(userptr, "glGenFramebuffers");
  1538      glad_glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC) load(userptr, "glGenRenderbuffers");
  1539      glad_glGenTextures = (PFNGLGENTEXTURESPROC) load(userptr, "glGenTextures");
  1540      glad_glGenerateMipmap = (PFNGLGENERATEMIPMAPPROC) load(userptr, "glGenerateMipmap");
  1541      glad_glGetActiveAttrib = (PFNGLGETACTIVEATTRIBPROC) load(userptr, "glGetActiveAttrib");
  1542      glad_glGetActiveUniform = (PFNGLGETACTIVEUNIFORMPROC) load(userptr, "glGetActiveUniform");
  1543      glad_glGetAttachedShaders = (PFNGLGETATTACHEDSHADERSPROC) load(userptr, "glGetAttachedShaders");
  1544      glad_glGetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC) load(userptr, "glGetAttribLocation");
  1545      glad_glGetBooleanv = (PFNGLGETBOOLEANVPROC) load(userptr, "glGetBooleanv");
  1546      glad_glGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC) load(userptr, "glGetBufferParameteriv");
  1547      glad_glGetError = (PFNGLGETERRORPROC) load(userptr, "glGetError");
  1548      glad_glGetFloatv = (PFNGLGETFLOATVPROC) load(userptr, "glGetFloatv");
  1549      glad_glGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) load(userptr, "glGetFramebufferAttachmentParameteriv");
  1550      glad_glGetIntegerv = (PFNGLGETINTEGERVPROC) load(userptr, "glGetIntegerv");
  1551      glad_glGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC) load(userptr, "glGetProgramInfoLog");
  1552      glad_glGetProgramiv = (PFNGLGETPROGRAMIVPROC) load(userptr, "glGetProgramiv");
  1553      glad_glGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC) load(userptr, "glGetRenderbufferParameteriv");
  1554      glad_glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC) load(userptr, "glGetShaderInfoLog");
  1555      glad_glGetShaderPrecisionFormat = (PFNGLGETSHADERPRECISIONFORMATPROC) load(userptr, "glGetShaderPrecisionFormat");
  1556      glad_glGetShaderSource = (PFNGLGETSHADERSOURCEPROC) load(userptr, "glGetShaderSource");
  1557      glad_glGetShaderiv = (PFNGLGETSHADERIVPROC) load(userptr, "glGetShaderiv");
  1558      glad_glGetString = (PFNGLGETSTRINGPROC) load(userptr, "glGetString");
  1559      glad_glGetTexParameterfv = (PFNGLGETTEXPARAMETERFVPROC) load(userptr, "glGetTexParameterfv");
  1560      glad_glGetTexParameteriv = (PFNGLGETTEXPARAMETERIVPROC) load(userptr, "glGetTexParameteriv");
  1561      glad_glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC) load(userptr, "glGetUniformLocation");
  1562      glad_glGetUniformfv = (PFNGLGETUNIFORMFVPROC) load(userptr, "glGetUniformfv");
  1563      glad_glGetUniformiv = (PFNGLGETUNIFORMIVPROC) load(userptr, "glGetUniformiv");
  1564      glad_glGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC) load(userptr, "glGetVertexAttribPointerv");
  1565      glad_glGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC) load(userptr, "glGetVertexAttribfv");
  1566      glad_glGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC) load(userptr, "glGetVertexAttribiv");
  1567      glad_glHint = (PFNGLHINTPROC) load(userptr, "glHint");
  1568      glad_glIsBuffer = (PFNGLISBUFFERPROC) load(userptr, "glIsBuffer");
  1569      glad_glIsEnabled = (PFNGLISENABLEDPROC) load(userptr, "glIsEnabled");
  1570      glad_glIsFramebuffer = (PFNGLISFRAMEBUFFERPROC) load(userptr, "glIsFramebuffer");
  1571      glad_glIsProgram = (PFNGLISPROGRAMPROC) load(userptr, "glIsProgram");
  1572      glad_glIsRenderbuffer = (PFNGLISRENDERBUFFERPROC) load(userptr, "glIsRenderbuffer");
  1573      glad_glIsShader = (PFNGLISSHADERPROC) load(userptr, "glIsShader");
  1574      glad_glIsTexture = (PFNGLISTEXTUREPROC) load(userptr, "glIsTexture");
  1575      glad_glLineWidth = (PFNGLLINEWIDTHPROC) load(userptr, "glLineWidth");
  1576      glad_glLinkProgram = (PFNGLLINKPROGRAMPROC) load(userptr, "glLinkProgram");
  1577      glad_glPixelStorei = (PFNGLPIXELSTOREIPROC) load(userptr, "glPixelStorei");
  1578      glad_glPolygonOffset = (PFNGLPOLYGONOFFSETPROC) load(userptr, "glPolygonOffset");
  1579      glad_glReadPixels = (PFNGLREADPIXELSPROC) load(userptr, "glReadPixels");
  1580      glad_glReleaseShaderCompiler = (PFNGLRELEASESHADERCOMPILERPROC) load(userptr, "glReleaseShaderCompiler");
  1581      glad_glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC) load(userptr, "glRenderbufferStorage");
  1582      glad_glSampleCoverage = (PFNGLSAMPLECOVERAGEPROC) load(userptr, "glSampleCoverage");
  1583      glad_glScissor = (PFNGLSCISSORPROC) load(userptr, "glScissor");
  1584      glad_glShaderBinary = (PFNGLSHADERBINARYPROC) load(userptr, "glShaderBinary");
  1585      glad_glShaderSource = (PFNGLSHADERSOURCEPROC) load(userptr, "glShaderSource");
  1586      glad_glStencilFunc = (PFNGLSTENCILFUNCPROC) load(userptr, "glStencilFunc");
  1587      glad_glStencilFuncSeparate = (PFNGLSTENCILFUNCSEPARATEPROC) load(userptr, "glStencilFuncSeparate");
  1588      glad_glStencilMask = (PFNGLSTENCILMASKPROC) load(userptr, "glStencilMask");
  1589      glad_glStencilMaskSeparate = (PFNGLSTENCILMASKSEPARATEPROC) load(userptr, "glStencilMaskSeparate");
  1590      glad_glStencilOp = (PFNGLSTENCILOPPROC) load(userptr, "glStencilOp");
  1591      glad_glStencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC) load(userptr, "glStencilOpSeparate");
  1592      glad_glTexImage2D = (PFNGLTEXIMAGE2DPROC) load(userptr, "glTexImage2D");
  1593      glad_glTexParameterf = (PFNGLTEXPARAMETERFPROC) load(userptr, "glTexParameterf");
  1594      glad_glTexParameterfv = (PFNGLTEXPARAMETERFVPROC) load(userptr, "glTexParameterfv");
  1595      glad_glTexParameteri = (PFNGLTEXPARAMETERIPROC) load(userptr, "glTexParameteri");
  1596      glad_glTexParameteriv = (PFNGLTEXPARAMETERIVPROC) load(userptr, "glTexParameteriv");
  1597      glad_glTexSubImage2D = (PFNGLTEXSUBIMAGE2DPROC) load(userptr, "glTexSubImage2D");
  1598      glad_glUniform1f = (PFNGLUNIFORM1FPROC) load(userptr, "glUniform1f");
  1599      glad_glUniform1fv = (PFNGLUNIFORM1FVPROC) load(userptr, "glUniform1fv");
  1600      glad_glUniform1i = (PFNGLUNIFORM1IPROC) load(userptr, "glUniform1i");
  1601      glad_glUniform1iv = (PFNGLUNIFORM1IVPROC) load(userptr, "glUniform1iv");
  1602      glad_glUniform2f = (PFNGLUNIFORM2FPROC) load(userptr, "glUniform2f");
  1603      glad_glUniform2fv = (PFNGLUNIFORM2FVPROC) load(userptr, "glUniform2fv");
  1604      glad_glUniform2i = (PFNGLUNIFORM2IPROC) load(userptr, "glUniform2i");
  1605      glad_glUniform2iv = (PFNGLUNIFORM2IVPROC) load(userptr, "glUniform2iv");
  1606      glad_glUniform3f = (PFNGLUNIFORM3FPROC) load(userptr, "glUniform3f");
  1607      glad_glUniform3fv = (PFNGLUNIFORM3FVPROC) load(userptr, "glUniform3fv");
  1608      glad_glUniform3i = (PFNGLUNIFORM3IPROC) load(userptr, "glUniform3i");
  1609      glad_glUniform3iv = (PFNGLUNIFORM3IVPROC) load(userptr, "glUniform3iv");
  1610      glad_glUniform4f = (PFNGLUNIFORM4FPROC) load(userptr, "glUniform4f");
  1611      glad_glUniform4fv = (PFNGLUNIFORM4FVPROC) load(userptr, "glUniform4fv");
  1612      glad_glUniform4i = (PFNGLUNIFORM4IPROC) load(userptr, "glUniform4i");
  1613      glad_glUniform4iv = (PFNGLUNIFORM4IVPROC) load(userptr, "glUniform4iv");
  1614      glad_glUniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC) load(userptr, "glUniformMatrix2fv");
  1615      glad_glUniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC) load(userptr, "glUniformMatrix3fv");
  1616      glad_glUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC) load(userptr, "glUniformMatrix4fv");
  1617      glad_glUseProgram = (PFNGLUSEPROGRAMPROC) load(userptr, "glUseProgram");
  1618      glad_glValidateProgram = (PFNGLVALIDATEPROGRAMPROC) load(userptr, "glValidateProgram");
  1619      glad_glVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC) load(userptr, "glVertexAttrib1f");
  1620      glad_glVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC) load(userptr, "glVertexAttrib1fv");
  1621      glad_glVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC) load(userptr, "glVertexAttrib2f");
  1622      glad_glVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC) load(userptr, "glVertexAttrib2fv");
  1623      glad_glVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC) load(userptr, "glVertexAttrib3f");
  1624      glad_glVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC) load(userptr, "glVertexAttrib3fv");
  1625      glad_glVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC) load(userptr, "glVertexAttrib4f");
  1626      glad_glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC) load(userptr, "glVertexAttrib4fv");
  1627      glad_glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC) load(userptr, "glVertexAttribPointer");
  1628      glad_glViewport = (PFNGLVIEWPORTPROC) load(userptr, "glViewport");
  1629  }
  1630  
  1631  
  1632  
  1633  #if defined(GL_ES_VERSION_3_0) || defined(GL_VERSION_3_0)
  1634  #define GLAD_GL_IS_SOME_NEW_VERSION 1
  1635  #else
  1636  #define GLAD_GL_IS_SOME_NEW_VERSION 0
  1637  #endif
  1638  
  1639  static int glad_gl_get_extensions( int version, const char **out_exts, unsigned int *out_num_exts_i, char ***out_exts_i) {
  1640  #if GLAD_GL_IS_SOME_NEW_VERSION
  1641      if(GLAD_VERSION_MAJOR(version) < 3) {
  1642  #else
  1643      (void) version;
  1644      (void) out_num_exts_i;
  1645      (void) out_exts_i;
  1646  #endif
  1647          if (glad_glGetString == NULL) {
  1648              return 0;
  1649          }
  1650          *out_exts = (const char *)glad_glGetString(GL_EXTENSIONS);
  1651  #if GLAD_GL_IS_SOME_NEW_VERSION
  1652      } else {
  1653          unsigned int index = 0;
  1654          unsigned int num_exts_i = 0;
  1655          char **exts_i = NULL;
  1656          if (glad_glGetStringi == NULL || glad_glGetIntegerv == NULL) {
  1657              return 0;
  1658          }
  1659          glad_glGetIntegerv(GL_NUM_EXTENSIONS, (int*) &num_exts_i);
  1660          if (num_exts_i > 0) {
  1661              exts_i = (char **) malloc(num_exts_i * (sizeof *exts_i));
  1662          }
  1663          if (exts_i == NULL) {
  1664              return 0;
  1665          }
  1666          for(index = 0; index < num_exts_i; index++) {
  1667              const char *gl_str_tmp = (const char*) glad_glGetStringi(GL_EXTENSIONS, index);
  1668              size_t len = strlen(gl_str_tmp) + 1;
  1669  
  1670              char *local_str = (char*) malloc(len * sizeof(char));
  1671              if(local_str != NULL) {
  1672                  memcpy(local_str, gl_str_tmp, len * sizeof(char));
  1673              }
  1674  
  1675              exts_i[index] = local_str;
  1676          }
  1677  
  1678          *out_num_exts_i = num_exts_i;
  1679          *out_exts_i = exts_i;
  1680      }
  1681  #endif
  1682      return 1;
  1683  }
  1684  static void glad_gl_free_extensions(char **exts_i, unsigned int num_exts_i) {
  1685      if (exts_i != NULL) {
  1686          unsigned int index;
  1687          for(index = 0; index < num_exts_i; index++) {
  1688              free((void *) (exts_i[index]));
  1689          }
  1690          free((void *)exts_i);
  1691          exts_i = NULL;
  1692      }
  1693  }
  1694  static int glad_gl_has_extension(int version, const char *exts, unsigned int num_exts_i, char **exts_i, const char *ext) {
  1695      if(GLAD_VERSION_MAJOR(version) < 3 || !GLAD_GL_IS_SOME_NEW_VERSION) {
  1696          const char *extensions;
  1697          const char *loc;
  1698          const char *terminator;
  1699          extensions = exts;
  1700          if(extensions == NULL || ext == NULL) {
  1701              return 0;
  1702          }
  1703          while(1) {
  1704              loc = strstr(extensions, ext);
  1705              if(loc == NULL) {
  1706                  return 0;
  1707              }
  1708              terminator = loc + strlen(ext);
  1709              if((loc == extensions || *(loc - 1) == ' ') &&
  1710                  (*terminator == ' ' || *terminator == '\0')) {
  1711                  return 1;
  1712              }
  1713              extensions = terminator;
  1714          }
  1715      } else {
  1716          unsigned int index;
  1717          for(index = 0; index < num_exts_i; index++) {
  1718              const char *e = exts_i[index];
  1719              if(strcmp(e, ext) == 0) {
  1720                  return 1;
  1721              }
  1722          }
  1723      }
  1724      return 0;
  1725  }
  1726  
  1727  static GLADapiproc glad_gl_get_proc_from_userptr(void *userptr, const char* name) {
  1728      return (GLAD_GNUC_EXTENSION (GLADapiproc (*)(const char *name)) userptr)(name);
  1729  }
  1730  
  1731  static int glad_gl_find_extensions_gles2( int version) {
  1732      const char *exts = NULL;
  1733      unsigned int num_exts_i = 0;
  1734      char **exts_i = NULL;
  1735      if (!glad_gl_get_extensions(version, &exts, &num_exts_i, &exts_i)) return 0;
  1736  
  1737      (void) glad_gl_has_extension;
  1738  
  1739      glad_gl_free_extensions(exts_i, num_exts_i);
  1740  
  1741      return 1;
  1742  }
  1743  
  1744  static int glad_gl_find_core_gles2(void) {
  1745      int i;
  1746      const char* version;
  1747      const char* prefixes[] = {
  1748          "OpenGL ES-CM ",
  1749          "OpenGL ES-CL ",
  1750          "OpenGL ES ",
  1751          "OpenGL SC ",
  1752          NULL
  1753      };
  1754      int major = 0;
  1755      int minor = 0;
  1756      version = (const char*) glad_glGetString(GL_VERSION);
  1757      if (!version) return 0;
  1758      for (i = 0;  prefixes[i];  i++) {
  1759          const size_t length = strlen(prefixes[i]);
  1760          if (strncmp(version, prefixes[i], length) == 0) {
  1761              version += length;
  1762              break;
  1763          }
  1764      }
  1765  
  1766      GLAD_IMPL_UTIL_SSCANF(version, "%d.%d", &major, &minor);
  1767  
  1768      GLAD_GL_ES_VERSION_2_0 = (major == 2 && minor >= 0) || major > 2;
  1769  
  1770      return GLAD_MAKE_VERSION(major, minor);
  1771  }
  1772  
  1773  int gladLoadGLES2UserPtr( GLADuserptrloadfunc load, void *userptr) {
  1774      int version;
  1775  
  1776      glad_glGetString = (PFNGLGETSTRINGPROC) load(userptr, "glGetString");
  1777      if(glad_glGetString == NULL) return 0;
  1778      if(glad_glGetString(GL_VERSION) == NULL) return 0;
  1779      version = glad_gl_find_core_gles2();
  1780  
  1781      glad_gl_load_GL_ES_VERSION_2_0(load, userptr);
  1782  
  1783      if (!glad_gl_find_extensions_gles2(version)) return 0;
  1784  
  1785  
  1786  
  1787      return version;
  1788  }
  1789  
  1790  
  1791  int gladLoadGLES2( GLADloadfunc load) {
  1792      return gladLoadGLES2UserPtr( glad_gl_get_proc_from_userptr, GLAD_GNUC_EXTENSION (void*) load);
  1793  }
  1794  
  1795  
  1796  
  1797   
  1798  
  1799  
  1800  #ifdef __cplusplus
  1801  }
  1802  #endif
  1803  
  1804  #endif /* GLAD_GLES2_IMPLEMENTATION */
  1805